Algoritmo di Edmonds: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m Annullata la modifica 29886323 di Daniela Mevi (discussione) |
Nessun oggetto della modifica |
||
Riga 5:
== Descrizione ==
L'algoritmo accetta in ingresso un grafo orientato e pesato ''G'' = ''(V,A,w,a)'', dove ''V'' è l'insieme dei nodi, ''A'' l'insieme degli archi, ''w: A'' → ''R<sup>+</sup>'' una funzione dall’insieme degli archi all’insieme dei numeri reali e ''a'' il nodo che si richiede
Consideriamo i '''passi della contrazione''' che accetta in ingresso il grafo ''G = (V,A,w,a)'' :
;'''passo 1.''':Per ogni nodo
;'''passo 2'''.:Se ci sono cicli se ne considera uno qualsiasi:
:::'''
:::'''b.''' 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.'''
:::'''d.'''
:::'''e.'''
;'''passo 3.''':Torniamo al passo 1 e applichiamo la contrazione sul grafo ridotto
Consideriamo ora i '''passi dell'espansione''' che accetta in ingresso l’albero ''H = (V<sup>#</sup>, A<sup>#</sup>,w)'' ottenuto al termine della contrazione:
;'''passo 1.''':Consideriamo un super-nodo e l'arco entrante, l'arco entrante appartiene alla soluzione finale ''T = (V,A*,w)'' e viene etichettato come era in origine.
;'''passo 2.''':Il super-nodo viene espanso nei nodi originali e tra gli archi del ciclo bisogna eliminarne uno; tra i nodi del ciclo uno ha due archi entranti: l'arco appena aggiunto alla soluzione e l'arco del ciclo, quest'ultimo viene eliminato, gli altri archi del ciclo vengono aggiunti alla soluzione.
;'''passo 3.''':Si torna al passo 1 finché abbiamo espanso tutti i super-nodi.
|