Sto costruendo un NFA epsilon per riconoscere un'espressione regolare utilizzando la costruzione canonica. Sto usando i sottografi per raggruppare varie parti dell'espressione regolare. L'operatore * mi sta dando problemi particolari dato che dot ha deciso di spostare l'ordine dei nodi. Ho provato ad aggiungere i pesi dei bordi per forzare i bordi particolari a essere brevi per mantenere l'ordine dei bordi in linea, ma non sembra funzionare.Graphviz. Ordinamento nodo finale
Quello che mi piacerebbe fare è forzare i nodi in un sottografo in per essere inseriti in un ordine particolare in modo che il grafico di output sia riconoscibile come un particolare tipo di costruzione (ben nota). Nell'esempio seguente vorrei che i bordi 3, 4, 5 e 6 fossero posizionati in quell'ordine, tuttavia il punto li colloca nell'ordine 6, 3, 4, 5. Qualsiasi suggerimento è apprezzato.
Si noti che il parametro peso attuale non produce alcuna differenza rispetto a nessun parametro di peso.
Ho il seguente
digraph G {
rankdir = LR;
node [shape = none];
0 [label = "start"];
node [shape = circle];
1 [label = "q1"];
2 [label = "q2"];
3 [label = "q3"];
4 [label = "q4"];
5 [label = "q5"];
node [shape = doublecircle];
6 [label = "q6"];
subgraph re1 {
rank = same;
edge[label = "0"];
1 -> 2;
};
subgraph re2 {
rank = same;
edge[label = "ε"];
3 -> 4 [weight = 10];
edge[label = "1"];
4 -> 5 [weight = 10];
edge[label = "ε"];
5 -> 6 [weight = 10];
5 -> 4 [weight = 1];
6 -> 3 [weight = 1];
};
edge[color=black];
0 -> 1
edge[label = "ε"];
2 -> 3;
}
Ci scusiamo per il ritardo, grazie per l'aiuto! –