Tranzitív lezárt és Warshall algoritmus
Download
Report
Transcript Tranzitív lezárt és Warshall algoritmus
Egy G=(V,E) gráf tranzitív lezárása G'(V',E')
gráf, ahol V'=V és (u,v)∈E'⇔ ∃u ->v út a
gráfban.
Célja: Egy véges, súlyozatlan, irányított vagy
irányítatlan gráf tranzitív lezártjának
meghatározása.
Az algoritmus alapja a Floyd algoritmus lesz, ám
logikai műveletekkel értelmezve.
A kiindulási mátrixot (W) töltsük fel a köv. szerint:
1, ha i j vagy (i, j) E
i , j re (1 i , j n ) : W [ i , j ] :
0 , különben
A ciklusban végzett művelet pedig legyen a
következő:
W[i, j] : W[i, j] (W[i, k] W[k, j])
1
2
3
4
5
1
2
3
4
5
1
1
1
0
1
0
2
1
1
1
0
0
3
0
0
1
0
1
4
0
0
0
1
0
5
0
0
1
0
1
1
2
3
4
5
1
2
3
4
5
1
1
1
1
1
0
2
1
1
1
0
0
3
0
0
1
0
1
4
0
0
0
1
0
5
0
0
1
0
1
1
2
3
4
5
1
2
3
4
5
1
1
1
1
1
1
2
1
1
1
1
0
3
0
0
1
0
1
4
0
0
0
1
0
5
0
0
1
0
1
1
2
3
4
5
1
2
3
4
5
1
1
1
1
1
1
2
1
1
1
1
1
3
0
0
1
0
1
4
0
0
0
1
0
5
0
0
1
0
1
1
2
3
4
5
1
2
3
4
5
1
1
1
1
1
1
2
1
1
1
1
1
3
0
0
1
0
1
4
0
0
0
1
0
5
0
0
1
0
1