DAG topologikus rendezés Készítette: Hanics Anikó
DAG Ha a gráf egy mélységi bejárása során találunk visszaélet akkor a gráf nyilván tartalmaz irányított kört, azaz nem DAG. Tétel: Legyen G = (V;E) egy irányított gráf. Ha G egy DAG, akkor egyetlen mélységi bejárása során sincs visszaél. Fordítva: ha G-nek van olyan mélységi bejárása, amelyre nézve nincs visszaél, akkor G egy DAG. Bizonyítás: => <= tegyük fel, hogy G nem DAG => van benne irányított kör => vegyük ennek a legkisebb mélységi számú v csúcsát, a kör előző pontja legyen u => mszám[v] < mszám[u] => vissza- vagy keresztél, de u elérhető v-ből irányított úton. (részfa lemma) => u a v leszármazottja => visszaél.
DAG topologikus rendezése Definíció: Egy G irányított gráf DAG, ha nem tartalmaz irányított kört. Definíció: Legyen G=(V,E) irányított, véges gráf, továbbá legyen n = V . G csúcsainak egy v1,…,vn felsorolása, G egy topologikus rendezése, ha: ∀x → y∈ E él esetén a felsorolásban x előbb áll, mint y, azaz x=vi és y=vj, akkor i<j. Tétel: Egy irányított gráfnak akkor és csak akkor van topologikus rendezése, ha DAG.
DAG topologikus rendezése mélységi bejárás segítségével: Futassuk le a mélységi bejárást a G DAG-on, majd a csúcsokat írjuk ki a csúcsok befejezési számainak (bszám[u]) csökkenő sorrendjében. Megvalósítás: G mélységi bejárása során, amikor egy csúcsot elhagyunk, rakjuk a csúcs címkéjét egy veremben, majd a bejárás befejeztével ürítsük ki vermet. A bejárás alatt a DAG tulajdonságot is ellenőrizzük.
Most vizsgáljuk meg az algoritmus működését ADS szinten, egy példán! 1 2 3 4 5 6
1 (1) 2 3 4 5 6
1 (1) (2) 2 3 4 5 6
1 (1) (2) 2 3 (3) 4 5 6
1 (1) (2) 2 3 (3) 4 5 6 (4)
1 (1) (2) 2 3 (3) 4 5 (5) 6 (4)
1 (1) (2) 2 3 5 (3) 4 5 (5) 6 1 (4)
1 (1) (2) 2 3 6 5 (3) 4 5 (5) 6 1 (4) 2
1 (1) (2) (6) 2 3 6 5 (3) 4 5 (5) 6 1 (4) 2
1 (1) 3 (2) (6) 2 3 3 6 5 (3) 4 5 (5) 6 1 (4) 2
1 (1) 3 (2) (6) 2 3 4 3 6 5 4 (3) 4 5 (5) 6 1 (4) 2
1 (1) 5 3 (2) (6) 2 3 2 4 3 6 5 4 (3) 4 5 (5) 6 1 (4) 2
6 1 (1) 5 3 (2) (6) 2 3 1 2 4 3 6 5 4 (3) 4 5 (5) 6 1 (4) 2
1 2 4 3 6 5 1 2 4 3 6 5 (topologikus rendezés)
Köszönöm a figyelmet! 2011. 04. 08.