Algoritmo di Edmonds: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Etichetta: Probabile click accidentale sulla toolbar
Nessun oggetto della modifica
Riga 11:
;'''passo 1.''':Per ogni nodo si seleziona l'arco entrante di peso inferiore. Dal momento che la radice non ha archi entranti abbiamo ''card(V ) - 1'' archi. Se non ci sono cicli termina la contrazione e si restituisce l’albero ''H = (V<sup>#</sup>, A<sup>#</sup>,w)'' ottenuto.
;'''passo 2'''.:Se ci sono cicli se ne considera uno qualsiasi:
:::'''a.'''&nbsp;&nbsp; Ulteriori eventuali archi del grafo di partenza che congiungono i nodi del ciclo sono eliminati dall’insieme degli archi.
:::'''b.'''&nbsp;&nbsp; Tutti gli archi che entrano in uno dei nodi del ciclo vanno rietichettati secondo il seguente criterio: siano ''j'' ed ''i'' rispettivamente un nodo del ciclo e un nodo che non vi appartiene tali che esista l'arco ''(i,j)'' con peso ''w<sub>i,j</sub>''; sia inoltre ''(k,j)'' l'arco del ciclo che termina in ''j'' (avente peso ''w<sub>k,j</sub>''); allora il peso rietichettato associato all'arco ''(i,j)'' sarà:
::::::::''w<sub>i,j</sub>'' = ''w<sub>i,j</sub> - w<sub>k,j</sub>''
:::cioè dal peso di ogni arco entrante nel ciclo si sottrae il peso dell'arco del ciclo diretto allo stesso nodo in cui entra l'arco che si sta rietichettando.
:::'''c.'''&nbsp;&nbsp; Si fanno collassare i nodi del ciclo in un super-nodo.
:::'''d.'''&nbsp;&nbsp; Tra tutti gli archi rietichettati e paralleli che entrano in un super-nodo si conserva quello di peso inferiore e si eliminano tutti gli altri.
:::'''e.'''&nbsp;&nbsp; Ripetiamo questo procedimento per ogni ciclo.
;'''passo 3.''':Torniamo al passo 1 e applichiamo la contrazione sul grafo ridotto ''H = (V<sup>#</sup>, A<sup>#</sup>,w)'' che abbiamo ottenuto.