• Nem Talált Eredményt

Algoritmuselmélet 9. el ˝oadás

N/A
N/A
Protected

Academic year: 2022

Ossza meg "Algoritmuselmélet 9. el ˝oadás"

Copied!
136
0
0

Teljes szövegt

(1)

Algoritmuselmélet 9. el ˝ oadás

Katona Gyula Y.

Budapesti M ˝uszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz.

I. B. 137/b

kiskat@cs.bme.hu

2002 Március 18.

(2)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 1

Mélységi feszít ˝ oerd ˝ o

Legyen T a G = (V, E) irányított gráf egy feszít ˝o erdeje. Legyen x ∈ V egy tetsz ˝oleges csúcs, és jelölje Tx a feszít ˝o erd ˝o x-gyöker ˝u részfájának a

csúcshalmazát.

(3)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 1

Mélységi feszít ˝ oerd ˝ o

Legyen T a G = (V, E) irányított gráf egy feszít ˝o erdeje. Legyen x ∈ V egy tetsz ˝oleges csúcs, és jelölje Tx a feszít ˝o erd ˝o x-gyöker ˝u részfájának a

csúcshalmazát. Legyen

Sx =

y ∈ V

van olyan G-beli x y irányított út, amelyen a csúcsok mélységi száma legalább mszám[x]

.

(4)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 1

Mélységi feszít ˝ oerd ˝ o

Legyen T a G = (V, E) irányított gráf egy feszít ˝o erdeje. Legyen x ∈ V egy tetsz ˝oleges csúcs, és jelölje Tx a feszít ˝o erd ˝o x-gyöker ˝u részfájának a

csúcshalmazát. Legyen

Sx =

y ∈ V

van olyan G-beli x y irányított út, amelyen a csúcsok mélységi száma legalább mszám[x]

.

Tétel. Tetsz ˝oleges x ∈ V csúcs esetén érvényes a Tx = Sx egyenl ˝oség.

(5)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 2

Tétel. Tetsz ˝oleges x ∈ V csúcs esetén érvényes a Tx = Sx egyenl ˝oség.

Bizonyítás: Tx éppen azokból a pontokból áll, amelyek x-b ˝ol faélek mentén elérhet ˝ok. =⇒ faélekre mindig n ˝o a mélységi szám

(6)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 2

Tétel. Tetsz ˝oleges x ∈ V csúcs esetén érvényes a Tx = Sx egyenl ˝oség.

Bizonyítás: Tx éppen azokból a pontokból áll, amelyek x-b ˝ol faélek mentén elérhet ˝ok. =⇒ faélekre mindig n ˝o a mélységi szám =⇒ Tx ⊆ Sx

(7)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 2

Tétel. Tetsz ˝oleges x ∈ V csúcs esetén érvényes a Tx = Sx egyenl ˝oség.

Bizonyítás: Tx éppen azokból a pontokból áll, amelyek x-b ˝ol faélek mentén elérhet ˝ok. =⇒ faélekre mindig n ˝o a mélységi szám =⇒ Tx ⊆ Sx

Fordított irány indirekt:

(8)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 2

Tétel. Tetsz ˝oleges x ∈ V csúcs esetén érvényes a Tx = Sx egyenl ˝oség.

Bizonyítás: Tx éppen azokból a pontokból áll, amelyek x-b ˝ol faélek mentén elérhet ˝ok. =⇒ faélekre mindig n ˝o a mélységi szám =⇒ Tx ⊆ Sx

Fordított irány indirekt:

tegyük fel indirekt, hogy létezik egy y ∈ Sx \ Tx

(9)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 2

Tétel. Tetsz ˝oleges x ∈ V csúcs esetén érvényes a Tx = Sx egyenl ˝oség.

Bizonyítás: Tx éppen azokból a pontokból áll, amelyek x-b ˝ol faélek mentén elérhet ˝ok. =⇒ faélekre mindig n ˝o a mélységi szám =⇒ Tx ⊆ Sx

Fordított irány indirekt:

tegyük fel indirekt, hogy létezik egy y ∈ Sx \ Tx

Legyen x y egy az Sx meghatározásában szerepl ˝o irányított út, feltehetjük, hogy az út utolsó el ˝otti v pontja Tx-ben van.

(10)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 2

Tétel. Tetsz ˝oleges x ∈ V csúcs esetén érvényes a Tx = Sx egyenl ˝oség.

Bizonyítás: Tx éppen azokból a pontokból áll, amelyek x-b ˝ol faélek mentén elérhet ˝ok. =⇒ faélekre mindig n ˝o a mélységi szám =⇒ Tx ⊆ Sx

Fordított irány indirekt:

tegyük fel indirekt, hogy létezik egy y ∈ Sx \ Tx

Legyen x y egy az Sx meghatározásában szerepl ˝o irányított út, feltehetjük, hogy az út utolsó el ˝otti v pontja Tx-ben van.

Az y ∈ Sx feltétel szerint mszám[y] >mszám[x]

(11)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 2

Tétel. Tetsz ˝oleges x ∈ V csúcs esetén érvényes a Tx = Sx egyenl ˝oség.

Bizonyítás: Tx éppen azokból a pontokból áll, amelyek x-b ˝ol faélek mentén elérhet ˝ok. =⇒ faélekre mindig n ˝o a mélységi szám =⇒ Tx ⊆ Sx

Fordított irány indirekt:

tegyük fel indirekt, hogy létezik egy y ∈ Sx \ Tx

Legyen x y egy az Sx meghatározásában szerepl ˝o irányított út, feltehetjük, hogy az út utolsó el ˝otti v pontja Tx-ben van.

Az y ∈ Sx feltétel szerint mszám[y] >mszám[x] =⇒ y 6∈ Tx miatt azt jelenti, hogy y-t valamikor a Tx pontjai után látogatjuk meg

(12)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 2

Tétel. Tetsz ˝oleges x ∈ V csúcs esetén érvényes a Tx = Sx egyenl ˝oség.

Bizonyítás: Tx éppen azokból a pontokból áll, amelyek x-b ˝ol faélek mentén elérhet ˝ok. =⇒ faélekre mindig n ˝o a mélységi szám =⇒ Tx ⊆ Sx

Fordított irány indirekt:

tegyük fel indirekt, hogy létezik egy y ∈ Sx \ Tx

Legyen x y egy az Sx meghatározásában szerepl ˝o irányított út, feltehetjük, hogy az út utolsó el ˝otti v pontja Tx-ben van.

Az y ∈ Sx feltétel szerint mszám[y] >mszám[x] =⇒ y 6∈ Tx miatt azt jelenti, hogy y-t valamikor a Tx pontjai után látogatjuk meg =⇒ (v, y) faél vagy el ˝ore él =⇒ y ∈ Tx

(13)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 2

Tétel. Tetsz ˝oleges x ∈ V csúcs esetén érvényes a Tx = Sx egyenl ˝oség.

Bizonyítás: Tx éppen azokból a pontokból áll, amelyek x-b ˝ol faélek mentén elérhet ˝ok. =⇒ faélekre mindig n ˝o a mélységi szám =⇒ Tx ⊆ Sx

Fordított irány indirekt:

tegyük fel indirekt, hogy létezik egy y ∈ Sx \ Tx

Legyen x y egy az Sx meghatározásában szerepl ˝o irányított út, feltehetjük, hogy az út utolsó el ˝otti v pontja Tx-ben van.

Az y ∈ Sx feltétel szerint mszám[y] >mszám[x] =⇒ y 6∈ Tx miatt azt jelenti, hogy y-t valamikor a Tx pontjai után látogatjuk meg =⇒ (v, y) faél vagy el ˝ore él =⇒ y ∈ Tx =⇒ Sx ⊆ Tx

(14)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 2

Tétel. Tetsz ˝oleges x ∈ V csúcs esetén érvényes a Tx = Sx egyenl ˝oség.

Bizonyítás: Tx éppen azokból a pontokból áll, amelyek x-b ˝ol faélek mentén elérhet ˝ok. =⇒ faélekre mindig n ˝o a mélységi szám =⇒ Tx ⊆ Sx

Fordított irány indirekt:

tegyük fel indirekt, hogy létezik egy y ∈ Sx \ Tx

Legyen x y egy az Sx meghatározásában szerepl ˝o irányított út, feltehetjük, hogy az út utolsó el ˝otti v pontja Tx-ben van.

Az y ∈ Sx feltétel szerint mszám[y] >mszám[x] =⇒ y 6∈ Tx miatt azt jelenti, hogy y-t valamikor a Tx pontjai után látogatjuk meg =⇒ (v, y) faél vagy el ˝ore él =⇒ y ∈ Tx =⇒ Sx ⊆ Tx

Következmény. Tegyük fel, hogy a G = (V, E) gráf x csúcsából minden

pont elérhet ˝o irányított úton. Tegyük fel továbbá, hogy a G mélységi bejárását x-szel kezdjük. Ekkor a mélységi feszít ˝o erd ˝o egyetlen fából áll.

(15)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 2

Tétel. Tetsz ˝oleges x ∈ V csúcs esetén érvényes a Tx = Sx egyenl ˝oség.

Bizonyítás: Tx éppen azokból a pontokból áll, amelyek x-b ˝ol faélek mentén elérhet ˝ok. =⇒ faélekre mindig n ˝o a mélységi szám =⇒ Tx ⊆ Sx

Fordított irány indirekt:

tegyük fel indirekt, hogy létezik egy y ∈ Sx \ Tx

Legyen x y egy az Sx meghatározásában szerepl ˝o irányított út, feltehetjük, hogy az út utolsó el ˝otti v pontja Tx-ben van.

Az y ∈ Sx feltétel szerint mszám[y] >mszám[x] =⇒ y 6∈ Tx miatt azt jelenti, hogy y-t valamikor a Tx pontjai után látogatjuk meg =⇒ (v, y) faél vagy el ˝ore él =⇒ y ∈ Tx =⇒ Sx ⊆ Tx

Következmény. Tegyük fel, hogy a G = (V, E) gráf x csúcsából minden

pont elérhet ˝o irányított úton. Tegyük fel továbbá, hogy a G mélységi bejárását x-szel kezdjük. Ekkor a mélységi feszít ˝o erd ˝o egyetlen fából áll.

Bizonyítás: mszám[x] = 1 =⇒ Sx = V

(16)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 2

Tétel. Tetsz ˝oleges x ∈ V csúcs esetén érvényes a Tx = Sx egyenl ˝oség.

Bizonyítás: Tx éppen azokból a pontokból áll, amelyek x-b ˝ol faélek mentén elérhet ˝ok. =⇒ faélekre mindig n ˝o a mélységi szám =⇒ Tx ⊆ Sx

Fordított irány indirekt:

tegyük fel indirekt, hogy létezik egy y ∈ Sx \ Tx

Legyen x y egy az Sx meghatározásában szerepl ˝o irányított út, feltehetjük, hogy az út utolsó el ˝otti v pontja Tx-ben van.

Az y ∈ Sx feltétel szerint mszám[y] >mszám[x] =⇒ y 6∈ Tx miatt azt jelenti, hogy y-t valamikor a Tx pontjai után látogatjuk meg =⇒ (v, y) faél vagy el ˝ore él =⇒ y ∈ Tx =⇒ Sx ⊆ Tx

Következmény. Tegyük fel, hogy a G = (V, E) gráf x csúcsából minden

pont elérhet ˝o irányított úton. Tegyük fel továbbá, hogy a G mélységi bejárását x-szel kezdjük. Ekkor a mélységi feszít ˝o erd ˝o egyetlen fából áll.

Bizonyítás: mszám[x] = 1 =⇒ Sx = V =⇒ Tx = V

(17)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 3

Irányított körmentes gráfok

Definíció. Egy G irányított gráf DAG, ha nem tartalmaz irányított kört.

(18)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 3

Irányított körmentes gráfok

Definíció. Egy G irányított gráf DAG, ha nem tartalmaz irányított kört.

Directed Acyclic Graph

(19)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 3

Irányított körmentes gráfok

Definíció. Egy G irányított gráf DAG, ha nem tartalmaz irányított kört.

Directed Acyclic Graph Alkalmazásai például:

• Teend ˝ok ütemezése

(20)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 3

Irányított körmentes gráfok

Definíció. Egy G irányított gráf DAG, ha nem tartalmaz irányított kört.

Directed Acyclic Graph Alkalmazásai például:

• Teend ˝ok ütemezése =⇒ PERT

(21)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 3

Irányított körmentes gráfok

Definíció. Egy G irányított gráf DAG, ha nem tartalmaz irányított kört.

Directed Acyclic Graph Alkalmazásai például:

• Teend ˝ok ütemezése =⇒ PERT

• Várakozási gráfok

(22)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 3

Irányított körmentes gráfok

Definíció. Egy G irányított gráf DAG, ha nem tartalmaz irányított kört.

Directed Acyclic Graph Alkalmazásai például:

• Teend ˝ok ütemezése =⇒ PERT

• Várakozási gráfok =⇒ adatbázisok

(23)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 3

Irányított körmentes gráfok

Definíció. Egy G irányított gráf DAG, ha nem tartalmaz irányított kört.

Directed Acyclic Graph Alkalmazásai például:

• Teend ˝ok ütemezése =⇒ PERT

• Várakozási gráfok =⇒ adatbázisok

Fontos, hogy egy irányított gráfról el tudjuk dönteni, tartalmaz-e irányított kört.

(24)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 4

DAG

visszaél keresztél faél

el˝oreél

1

2 3

4 5

6

7

8 9

10

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.

(25)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 4

DAG

visszaél keresztél faél

el˝oreél

1

2 3

4 5

6

7

8 9

10

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.

(26)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 4

DAG

visszaél keresztél faél

el˝oreél

1

2 3

4 5

6

7

8 9

10

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: =⇒

(27)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 4

DAG

visszaél keresztél faél

el˝oreél

1

2 3

4 5

6

7

8 9

10

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

(28)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 4

DAG

visszaél keresztél faél

el˝oreél

1

2 3

4 5

6

7

8 9

10

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

(29)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 4

DAG

visszaél keresztél faél

el˝oreél

1

2 3

4 5

6

7

8 9

10

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 ˝oz ˝o pontja legyen u

(30)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 4

DAG

visszaél keresztél faél

el˝oreél

1

2 3

4 5

6

7

8 9

10

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 ˝oz ˝o pontja legyen u

=⇒ mszám[v] < mszám[u] =⇒ vissza- vagy keresztél

(31)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 4

DAG

visszaél keresztél faél

el˝oreél

1

2 3

4 5

6

7

8 9

10

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 ˝oz ˝o pontja legyen u

=⇒ mszám[v] < mszám[u] =⇒ vissza- vagy keresztél de u elérhet ˝o v-b ˝ol irányított úton

(32)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 4

DAG

visszaél keresztél faél

el˝oreél

1

2 3

4 5

6

7

8 9

10

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 ˝oz ˝o pontja legyen u

=⇒ mszám[v] < mszám[u] =⇒ vissza- vagy keresztél

de u elérhet ˝o v-b ˝ol irányított úton ; (részfa lemma) =⇒ u a v leszármazottja

=⇒ visszaél

(33)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 5

DAG topologikus rendezése

Definíció. Legyen G = (V, E) (|V | = n) egy irányított gráf. G egy topologikus rendezése a csúcsoknak egy olyan v1, . . . , vn sorrendje,

melyben x → y ∈ E esetén x el ˝obb van, mint y (azaz ha x = vi, y = vj, akkor i < j).

(34)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 5

DAG topologikus rendezése

Definíció. Legyen G = (V, E) (|V | = n) egy irányított gráf. G egy topologikus rendezése a csúcsoknak egy olyan v1, . . . , vn sorrendje,

melyben x → y ∈ E esetén x el ˝obb van, mint y (azaz ha x = vi, y = vj, akkor i < j).

Tétel. Egy irányított gráfnak akkor és csak akkor van topologikus rendezése, ha DAG.

(35)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 5

DAG topologikus rendezése

Definíció. Legyen G = (V, E) (|V | = n) egy irányított gráf. G egy topologikus rendezése a csúcsoknak egy olyan v1, . . . , vn sorrendje,

melyben x → y ∈ E esetén x el ˝obb van, mint y (azaz ha x = vi, y = vj, akkor i < j).

Tétel. Egy irányított gráfnak akkor és csak akkor van topologikus rendezése, ha DAG.

Bizonyítás: ⇒: Ha G nem DAG, akkor nem lehet topologikus rendezése, mert egy irányított kör csúcsainak nyilván nincs megfelel ˝o sorrendje.

(36)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 5

DAG topologikus rendezése

Definíció. Legyen G = (V, E) (|V | = n) egy irányított gráf. G egy topologikus rendezése a csúcsoknak egy olyan v1, . . . , vn sorrendje,

melyben x → y ∈ E esetén x el ˝obb van, mint y (azaz ha x = vi, y = vj, akkor i < j).

Tétel. Egy irányított gráfnak akkor és csak akkor van topologikus rendezése, ha DAG.

Bizonyítás: ⇒: Ha G nem DAG, akkor nem lehet topologikus rendezése, mert egy irányított kör csúcsainak nyilván nincs megfelel ˝o sorrendje.

⇐: G-ben van olyan csúcs, amibe nem fut be él (forrás)

(37)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 5

DAG topologikus rendezése

Definíció. Legyen G = (V, E) (|V | = n) egy irányított gráf. G egy topologikus rendezése a csúcsoknak egy olyan v1, . . . , vn sorrendje,

melyben x → y ∈ E esetén x el ˝obb van, mint y (azaz ha x = vi, y = vj, akkor i < j).

Tétel. Egy irányított gráfnak akkor és csak akkor van topologikus rendezése, ha DAG.

Bizonyítás: ⇒: Ha G nem DAG, akkor nem lehet topologikus rendezése, mert egy irányított kör csúcsainak nyilván nincs megfelel ˝o sorrendje.

⇐: G-ben van olyan csúcs, amibe nem fut be él (forrás) Indukció pontszámra

(38)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 5

DAG topologikus rendezése

Definíció. Legyen G = (V, E) (|V | = n) egy irányított gráf. G egy topologikus rendezése a csúcsoknak egy olyan v1, . . . , vn sorrendje,

melyben x → y ∈ E esetén x el ˝obb van, mint y (azaz ha x = vi, y = vj, akkor i < j).

Tétel. Egy irányított gráfnak akkor és csak akkor van topologikus rendezése, ha DAG.

Bizonyítás: ⇒: Ha G nem DAG, akkor nem lehet topologikus rendezése, mert egy irányított kör csúcsainak nyilván nincs megfelel ˝o sorrendje.

⇐: G-ben van olyan csúcs, amibe nem fut be él (forrás)

Indukció pontszámra =⇒ hagyjunk el egy forrást, ez legyen az els ˝o pont

(39)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 5

DAG topologikus rendezése

Definíció. Legyen G = (V, E) (|V | = n) egy irányított gráf. G egy topologikus rendezése a csúcsoknak egy olyan v1, . . . , vn sorrendje,

melyben x → y ∈ E esetén x el ˝obb van, mint y (azaz ha x = vi, y = vj, akkor i < j).

Tétel. Egy irányított gráfnak akkor és csak akkor van topologikus rendezése, ha DAG.

Bizonyítás: ⇒: Ha G nem DAG, akkor nem lehet topologikus rendezése, mert egy irányított kör csúcsainak nyilván nincs megfelel ˝o sorrendje.

⇐: G-ben van olyan csúcs, amibe nem fut be él (forrás)

Indukció pontszámra =⇒ hagyjunk el egy forrást, ez legyen az els ˝o pont

=⇒ a többit az indukció miatt rendezhet ˝o w1, . . . , wn1

(40)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 5

DAG topologikus rendezése

Definíció. Legyen G = (V, E) (|V | = n) egy irányított gráf. G egy topologikus rendezése a csúcsoknak egy olyan v1, . . . , vn sorrendje,

melyben x → y ∈ E esetén x el ˝obb van, mint y (azaz ha x = vi, y = vj, akkor i < j).

Tétel. Egy irányított gráfnak akkor és csak akkor van topologikus rendezése, ha DAG.

Bizonyítás: ⇒: Ha G nem DAG, akkor nem lehet topologikus rendezése, mert egy irányított kör csúcsainak nyilván nincs megfelel ˝o sorrendje.

⇐: G-ben van olyan csúcs, amibe nem fut be él (forrás)

Indukció pontszámra =⇒ hagyjunk el egy forrást, ez legyen az els ˝o pont

=⇒ a többit az indukció miatt rendezhet ˝o w1, . . . , wn1

=⇒ x, w1, . . . , wn1

(41)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 6

Topologikus rendezés mélységi kereséssel

Tétel. Végezzük el a G DAG egy mélységi bejárását és írjuk ki G csúcsait a befejezési számaik szerint növekv ˝o w1, . . . , wn sorrendben. A

wn, wn1, . . . , w1 sorrend a G DAG egy topologikus rendezése.

(42)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 6

Topologikus rendezés mélységi kereséssel

Tétel. Végezzük el a G DAG egy mélységi bejárását és írjuk ki G csúcsait a befejezési számaik szerint növekv ˝o w1, . . . , wn sorrendben. A

wn, wn1, . . . , w1 sorrend a G DAG egy topologikus rendezése.

Bizonyítás: Azt kell belátnunk, hogy ha wi → wj éle G-nek, akkor i > j.

(43)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 6

Topologikus rendezés mélységi kereséssel

Tétel. Végezzük el a G DAG egy mélységi bejárását és írjuk ki G csúcsait a befejezési számaik szerint növekv ˝o w1, . . . , wn sorrendben. A

wn, wn1, . . . , w1 sorrend a G DAG egy topologikus rendezése.

Bizonyítás: Azt kell belátnunk, hogy ha wi → wj éle G-nek, akkor i > j. Ha volna olyan wi → wj, amire j = bszám[wj] > bszám[wi] = i, akkor az csak visszaél lehetne.

(44)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 6

Topologikus rendezés mélységi kereséssel

Tétel. Végezzük el a G DAG egy mélységi bejárását és írjuk ki G csúcsait a befejezési számaik szerint növekv ˝o w1, . . . , wn sorrendben. A

wn, wn1, . . . , w1 sorrend a G DAG egy topologikus rendezése.

Bizonyítás: Azt kell belátnunk, hogy ha wi → wj éle G-nek, akkor i > j. Ha volna olyan wi → wj, amire j = bszám[wj] > bszám[wi] = i, akkor az csak visszaél lehetne.

Lépésszám: O(n + e)

(45)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 7

Legrövidebb utak DAG-ban

Legrövidebb utak egy forrásból:

Bellman-Ford =⇒ O(n3)

(46)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 7

Legrövidebb utak DAG-ban

Legrövidebb utak egy forrásból:

Bellman-Ford =⇒ O(n3) Ha nincs negatív élsúly:

Dijkstra: =⇒ O(n2)

(47)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 7

Legrövidebb utak DAG-ban

Legrövidebb utak egy forrásból:

Bellman-Ford =⇒ O(n3) Ha nincs negatív élsúly:

Dijkstra: =⇒ O(n2)

Vegyünk egy topologikus rendezést: x1, x2, . . . , xn

(48)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 7

Legrövidebb utak DAG-ban

Legrövidebb utak egy forrásból:

Bellman-Ford =⇒ O(n3) Ha nincs negatív élsúly:

Dijkstra: =⇒ O(n2)

Vegyünk egy topologikus rendezést: x1, x2, . . . , xn Feltehetjük, hogy s = x1

(49)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 7

Legrövidebb utak DAG-ban

Legrövidebb utak egy forrásból:

Bellman-Ford =⇒ O(n3) Ha nincs negatív élsúly:

Dijkstra: =⇒ O(n2)

Vegyünk egy topologikus rendezést: x1, x2, . . . , xn Feltehetjük, hogy s = x1 =⇒

d(s, xi) = min

(xj,xi)E{d(s, xj) + c(xj, xi)},

(50)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 7

Legrövidebb utak DAG-ban

Legrövidebb utak egy forrásból:

Bellman-Ford =⇒ O(n3) Ha nincs negatív élsúly:

Dijkstra: =⇒ O(n2)

Vegyünk egy topologikus rendezést: x1, x2, . . . , xn Feltehetjük, hogy s = x1 =⇒

d(s, xi) = min

(xj,xi)E{d(s, xj) + c(xj, xi)},

. . . xi

s

(51)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 7

Legrövidebb utak DAG-ban

Legrövidebb utak egy forrásból:

Bellman-Ford =⇒ O(n3) Ha nincs negatív élsúly:

Dijkstra: =⇒ O(n2)

Vegyünk egy topologikus rendezést: x1, x2, . . . , xn Feltehetjük, hogy s = x1 =⇒

d(s, xi) = min

(xj,xi)E{d(s, xj) + c(xj, xi)},

. . . xi

s

Ezt sorban elvégezzük minden i-re.

(52)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 7

Legrövidebb utak DAG-ban

Legrövidebb utak egy forrásból:

Bellman-Ford =⇒ O(n3) Ha nincs negatív élsúly:

Dijkstra: =⇒ O(n2)

Vegyünk egy topologikus rendezést: x1, x2, . . . , xn Feltehetjük, hogy s = x1 =⇒

d(s, xi) = min

(xj,xi)E{d(s, xj) + c(xj, xi)},

. . . xi

s

Ezt sorban elvégezzük minden i-re.

Lépésszám: O(n + e)

(53)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 8

Leghosszabb utak DAG-ban

Leghosszabb út =⇒ egyszer ˝u út

(54)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 8

Leghosszabb utak DAG-ban

Leghosszabb út =⇒ egyszer ˝u út

Általában nehéz, nem ismert rá gyors algoritmus.

(55)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 8

Leghosszabb utak DAG-ban

Leghosszabb út =⇒ egyszer ˝u út

Általában nehéz, nem ismert rá gyors algoritmus.

DAG-ban van:

Tétel. Ha G egy éllistával adott súlyozott él ˝u DAG, akkor az egy forrásból induló legrövidebb és leghosszabb utak meghatározásának feladatai

O(n + e) lépésben megoldhatók.

(56)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 8

Leghosszabb utak DAG-ban

Leghosszabb út =⇒ egyszer ˝u út

Általában nehéz, nem ismert rá gyors algoritmus.

DAG-ban van:

Tétel. Ha G egy éllistával adott súlyozott él ˝u DAG, akkor az egy forrásból induló legrövidebb és leghosszabb utak meghatározásának feladatai

O(n + e) lépésben megoldhatók.

Bizonyítás: DAG-ban minden út csak el ˝ore megy

(57)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 8

Leghosszabb utak DAG-ban

Leghosszabb út =⇒ egyszer ˝u út

Általában nehéz, nem ismert rá gyors algoritmus.

DAG-ban van:

Tétel. Ha G egy éllistával adott súlyozott él ˝u DAG, akkor az egy forrásból induló legrövidebb és leghosszabb utak meghatározásának feladatai

O(n + e) lépésben megoldhatók.

Bizonyítás: DAG-ban minden út csak el ˝ore megy =⇒

l(s, xi) = max

(xj,xi)E{l(s, xj) + c(xj, xi)}.

ahol l(s, xi) a leghosszabb s xi út hossza

(58)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 8

Leghosszabb utak DAG-ban

Leghosszabb út =⇒ egyszer ˝u út

Általában nehéz, nem ismert rá gyors algoritmus.

DAG-ban van:

Tétel. Ha G egy éllistával adott súlyozott él ˝u DAG, akkor az egy forrásból induló legrövidebb és leghosszabb utak meghatározásának feladatai

O(n + e) lépésben megoldhatók.

Bizonyítás: DAG-ban minden út csak el ˝ore megy =⇒

l(s, xi) = max

(xj,xi)E{l(s, xj) + c(xj, xi)}.

ahol l(s, xi) a leghosszabb s xi út hossza Alkalmazás: PERT

(59)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 9

Er ˝ osen összefügg ˝ o (er ˝ os) komponensek

Definíció. Egy G = (V, E) irányított gráf er ˝osen összefügg ˝o, ha bármely u, v ∈ V pontpárra létezik u v irányított út.

(60)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 9

Er ˝ osen összefügg ˝ o (er ˝ os) komponensek

Definíció. Egy G = (V, E) irányított gráf er ˝osen összefügg ˝o, ha bármely u, v ∈ V pontpárra létezik u v irányított út.

s

(61)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 9

Er ˝ osen összefügg ˝ o (er ˝ os) komponensek

Definíció. Egy G = (V, E) irányított gráf er ˝osen összefügg ˝o, ha bármely u, v ∈ V pontpárra létezik u v irányított út.

s

Definíció. Legyen G = (V, E) egy irányított gráf. Bevezetünk egy relációt V -n: u, v ∈ V -re legyen u ≈ v, ha G-ben léteznek u v és v u

irányított utak.

(62)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 9

Er ˝ osen összefügg ˝ o (er ˝ os) komponensek

Definíció. Egy G = (V, E) irányított gráf er ˝osen összefügg ˝o, ha bármely u, v ∈ V pontpárra létezik u v irányított út.

s

Definíció. Legyen G = (V, E) egy irányított gráf. Bevezetünk egy relációt V -n: u, v ∈ V -re legyen u ≈ v, ha G-ben léteznek u v és v u

irányított utak.

Ez ekvivalenciareláció =⇒

(63)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 9

Er ˝ osen összefügg ˝ o (er ˝ os) komponensek

Definíció. Egy G = (V, E) irányított gráf er ˝osen összefügg ˝o, ha bármely u, v ∈ V pontpárra létezik u v irányított út.

s

Definíció. Legyen G = (V, E) egy irányított gráf. Bevezetünk egy relációt V -n: u, v ∈ V -re legyen u ≈ v, ha G-ben léteznek u v és v u

irányított utak.

Ez ekvivalenciareláció =⇒

Definíció. Areláció ekvivalenciaosztályait a G er ˝osen összefügg ˝o (er ˝os) komponenseinek nevezzük.

(64)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 9

Er ˝ osen összefügg ˝ o (er ˝ os) komponensek

Definíció. Egy G = (V, E) irányított gráf er ˝osen összefügg ˝o, ha bármely u, v ∈ V pontpárra létezik u v irányított út.

s

Definíció. Legyen G = (V, E) egy irányított gráf. Bevezetünk egy relációt V -n: u, v ∈ V -re legyen u ≈ v, ha G-ben léteznek u v és v u

irányított utak.

Ez ekvivalenciareláció =⇒

Definíció. Areláció ekvivalenciaosztályait a G er ˝osen összefügg ˝o (er ˝os) komponenseinek nevezzük.

(65)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 10

Tétel. Egy irányított gráf két er ˝os komponense között az élek csak egy irányba mehetnek.

C1

C2

C3

(66)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 10

Tétel. Egy irányított gráf két er ˝os komponense között az élek csak egy irányba mehetnek.

Bizonyítás: Ha menne él a C1 → C2 és C2 → C1-be is, akkor C1 és C2 ugyanabban az er ˝os komponensben volna.

C1

C2

C3

(67)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 10

Tétel. Egy irányított gráf két er ˝os komponense között az élek csak egy irányba mehetnek.

Bizonyítás: Ha menne él a C1 → C2 és C2 → C1-be is, akkor C1 és C2 ugyanabban az er ˝os komponensben volna.

C1

C2

C3

C2

C3 C1

Definíció. Legyen G = (V, E) irányított gráf. G redukált gráfja egy irányított gráf, melynek pontjai a G er ˝os komponensei; a C1, C2 komponensek között akkor van C1 → C2 él, ha G-ben a C1 komponens valamely pontjából vezet él a C2 komponensbe.

(68)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 10

Tétel. Egy irányított gráf két er ˝os komponense között az élek csak egy irányba mehetnek.

Bizonyítás: Ha menne él a C1 → C2 és C2 → C1-be is, akkor C1 és C2 ugyanabban az er ˝os komponensben volna.

C1

C2

C3

C2

C3 C1

Definíció. Legyen G = (V, E) irányított gráf. G redukált gráfja egy irányított gráf, melynek pontjai a G er ˝os komponensei; a C1, C2 komponensek között akkor van C1 → C2 él, ha G-ben a C1 komponens valamely pontjából vezet él a C2 komponensbe.

A redukált gráf mindig DAG lesz.

(69)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 10

Tétel. Egy irányított gráf két er ˝os komponense között az élek csak egy irányba mehetnek.

Bizonyítás: Ha menne él a C1 → C2 és C2 → C1-be is, akkor C1 és C2 ugyanabban az er ˝os komponensben volna.

C1

C2

C3

C2

C3 C1

Definíció. Legyen G = (V, E) irányított gráf. G redukált gráfja egy irányított gráf, melynek pontjai a G er ˝os komponensei; a C1, C2 komponensek között akkor van C1 → C2 él, ha G-ben a C1 komponens valamely pontjából vezet él a C2 komponensbe.

A redukált gráf mindig DAG lesz. ⇐= C1 → C2 → · · · → Ck → C1

irányított kör a redukált gráfban azt jelentené, hogy C1 ∪ C2 ∪ · · · ∪ Ck a G ugyanazon er ˝os komponensében van.

(70)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 11

Er ˝ osen összefügg ˝ o komponensek meghatározása

(1) Mélységi bejárással végigmegyünk G-n, közben minden pontnak sorszámot adunk: a befejezési számát

(71)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 11

Er ˝ osen összefügg ˝ o komponensek meghatározása

(1) Mélységi bejárással végigmegyünk G-n, közben minden pontnak sorszámot adunk: a befejezési számát

(2) Elkészítjük a Gford gráfot, melyet úgy kapunk G-b ˝ol, hogy minden él irányítását megfordítjuk. Pontosabban: Gford := (V, E0), ahol

u → v ∈ E0 akkor és csak akkor, ha v → u ∈ E.

(72)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 11

Er ˝ osen összefügg ˝ o komponensek meghatározása

(1) Mélységi bejárással végigmegyünk G-n, közben minden pontnak sorszámot adunk: a befejezési számát

(2) Elkészítjük a Gford gráfot, melyet úgy kapunk G-b ˝ol, hogy minden él irányítását megfordítjuk. Pontosabban: Gford := (V, E0), ahol

u → v ∈ E0 akkor és csak akkor, ha v → u ∈ E.

(3) Bejárjuk a Gford gráfot mélységi bejárással, a legnagyobb sorszámú csúccsal kezdve (az (1)-beli befejezési számozás szerint). Új gyökérpont választásakor mindig a legnagyobb sorszámú csúcsot vesszük a

maradékból.

(73)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 12

Tétel. A (3) pontban kapott fák lesznek G er ˝os komponensei, azaz G-ben x ≈ y pontosan akkor igaz, ha x és y egy fában vannak.

(74)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 12

Tétel. A (3) pontban kapott fák lesznek G er ˝os komponensei, azaz G-ben x ≈ y pontosan akkor igaz, ha x és y egy fában vannak.

Bizonyítás: ⇒: Azt kell belátni, hogy egy er ˝os komponens pontjai egy fába kerülnek

(75)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 12

Tétel. A (3) pontban kapott fák lesznek G er ˝os komponensei, azaz G-ben x ≈ y pontosan akkor igaz, ha x és y egy fában vannak.

Bizonyítás: ⇒: Azt kell belátni, hogy egy er ˝os komponens pontjai egy fába kerülnek

Legyen K egy er ˝os komponens, és legyen x a K legkisebb mélységi számú pontja.

(76)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 12

Tétel. A (3) pontban kapott fák lesznek G er ˝os komponensei, azaz G-ben x ≈ y pontosan akkor igaz, ha x és y egy fában vannak.

Bizonyítás: ⇒: Azt kell belátni, hogy egy er ˝os komponens pontjai egy fába kerülnek

Legyen K egy er ˝os komponens, és legyen x a K legkisebb mélységi számú pontja.

=⇒ K ⊆ Sx ⇐= részfa-lemma

(77)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 12

Tétel. A (3) pontban kapott fák lesznek G er ˝os komponensei, azaz G-ben x ≈ y pontosan akkor igaz, ha x és y egy fában vannak.

Bizonyítás: ⇒: Azt kell belátni, hogy egy er ˝os komponens pontjai egy fába kerülnek

Legyen K egy er ˝os komponens, és legyen x a K legkisebb mélységi számú pontja.

=⇒ K ⊆ Sx ⇐= részfa-lemma

v

x

y Gford

⇐: Tegyük fel, hogy x és y egy fában vannak a (3) pont szerinti mélységi bejárás után. Azt kell belátnunk, hogy ekkor x ≈ y a G gráfban, azaz x és y egymásból irányított úton elérhet ˝ok.

(78)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 12

Tétel. A (3) pontban kapott fák lesznek G er ˝os komponensei, azaz G-ben x ≈ y pontosan akkor igaz, ha x és y egy fában vannak.

Bizonyítás: ⇒: Azt kell belátni, hogy egy er ˝os komponens pontjai egy fába kerülnek

Legyen K egy er ˝os komponens, és legyen x a K legkisebb mélységi számú pontja.

=⇒ K ⊆ Sx ⇐= részfa-lemma

v

x

y Gford

⇐: Tegyük fel, hogy x és y egy fában vannak a (3) pont szerinti mélységi bejárás után. Azt kell belátnunk, hogy ekkor x ≈ y a G gráfban, azaz x és y egymásból irányított úton elérhet ˝ok.

Legyen a v csúcs a gyökere annak a fának, mely x-et és y-t is tartalmazza.

(79)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 12

Tétel. A (3) pontban kapott fák lesznek G er ˝os komponensei, azaz G-ben x ≈ y pontosan akkor igaz, ha x és y egy fában vannak.

Bizonyítás: ⇒: Azt kell belátni, hogy egy er ˝os komponens pontjai egy fába kerülnek

Legyen K egy er ˝os komponens, és legyen x a K legkisebb mélységi számú pontja.

=⇒ K ⊆ Sx ⇐= részfa-lemma

v

x

y Gford

⇐: Tegyük fel, hogy x és y egy fában vannak a (3) pont szerinti mélységi bejárás után. Azt kell belátnunk, hogy ekkor x ≈ y a G gráfban, azaz x és y egymásból irányított úton elérhet ˝ok.

Legyen a v csúcs a gyökere annak a fának, mely x-et és y-t is tartalmazza.

=⇒ Gford gráfban van v x irányított út, =⇒ G gráfban van egy L irányított út x v-be.

(80)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 12

Tétel. A (3) pontban kapott fák lesznek G er ˝os komponensei, azaz G-ben x ≈ y pontosan akkor igaz, ha x és y egy fában vannak.

Bizonyítás: ⇒: Azt kell belátni, hogy egy er ˝os komponens pontjai egy fába kerülnek

Legyen K egy er ˝os komponens, és legyen x a K legkisebb mélységi számú pontja.

=⇒ K ⊆ Sx ⇐= részfa-lemma

v

x

y Gford

⇐: Tegyük fel, hogy x és y egy fában vannak a (3) pont szerinti mélységi bejárás után. Azt kell belátnunk, hogy ekkor x ≈ y a G gráfban, azaz x és y egymásból irányított úton elérhet ˝ok.

Legyen a v csúcs a gyökere annak a fának, mely x-et és y-t is tartalmazza.

=⇒ Gford gráfban van v x irányított út, =⇒ G gráfban van egy L irányított út x v-be.

Legyen x0 az L-nek az a pontja, amelynek az els ˝o bejárás szerinti mélységi száma a legkisebb.

(81)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 12

Tétel. A (3) pontban kapott fák lesznek G er ˝os komponensei, azaz G-ben x ≈ y pontosan akkor igaz, ha x és y egy fában vannak.

Bizonyítás: ⇒: Azt kell belátni, hogy egy er ˝os komponens pontjai egy fába kerülnek

Legyen K egy er ˝os komponens, és legyen x a K legkisebb mélységi számú pontja.

=⇒ K ⊆ Sx ⇐= részfa-lemma

v

x

y Gford

⇐: Tegyük fel, hogy x és y egy fában vannak a (3) pont szerinti mélységi bejárás után. Azt kell belátnunk, hogy ekkor x ≈ y a G gráfban, azaz x és y egymásból irányított úton elérhet ˝ok.

Legyen a v csúcs a gyökere annak a fának, mely x-et és y-t is tartalmazza.

=⇒ Gford gráfban van v x irányított út, =⇒ G gráfban van egy L irányított út x v-be.

Legyen x0 az L-nek az a pontja, amelynek az els ˝o bejárás szerinti mélységi száma a legkisebb.

részfa-lemma =⇒ L-nek az x0 v darabjában lev ˝o csúcsok az (1) bejárásnál x0 leszármazottjai lesznek.

(82)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 13

Az x0 gyöker ˝u részfában x0 befejezési száma a legnagyobb =⇒ v nem választhattuk v-t gyökérnek =⇒ x0 = v.

(83)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 13

Az x0 gyöker ˝u részfában x0 befejezési száma a legnagyobb =⇒ v nem választhattuk v-t gyökérnek =⇒ x0 = v.

Az L pontjai közül tehát v-t látogattuk meg legel ˝oször, és v-nek a befejezési száma volt a legnagyobb.

(84)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 13

Az x0 gyöker ˝u részfában x0 befejezési száma a legnagyobb =⇒ v nem választhattuk v-t gyökérnek =⇒ x0 = v.

Az L pontjai közül tehát v-t látogattuk meg legel ˝oször, és v-nek a befejezési száma volt a legnagyobb. =⇒ Így G-ben van v x

(85)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 13

Az x0 gyöker ˝u részfában x0 befejezési száma a legnagyobb =⇒ v nem választhattuk v-t gyökérnek =⇒ x0 = v.

Az L pontjai közül tehát v-t látogattuk meg legel ˝oször, és v-nek a befejezési száma volt a legnagyobb. =⇒ Így G-ben van v x

=⇒ x ≈ v, hasonlóan y ≈ v =⇒ x ≈ y

(86)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 13

Az x0 gyöker ˝u részfában x0 befejezési száma a legnagyobb =⇒ v nem választhattuk v-t gyökérnek =⇒ x0 = v.

Az L pontjai közül tehát v-t látogattuk meg legel ˝oször, és v-nek a befejezési száma volt a legnagyobb. =⇒ Így G-ben van v x

=⇒ x ≈ v, hasonlóan y ≈ v =⇒ x ≈ y

Lépésszám: O(n + e) + O(e) + O(n + e) = O(n + e)

(87)

ALGORITMUSELMÉLET 9. EL ˝OADÁS 14

Példa

6 1 2

3

4 5

Hivatkozások

KAPCSOLÓDÓ DOKUMENTUMOK

Ha egy ilyen nyelvr ˝ol kiderülne, hogy P-beli (coNP-beli), akkor ugyanez igaz lenne minden NP-beli nyelvre.. Van-e

Elvégezhet ˝o pusztán az egybet ˝us szavak kódjainak, valamint a kódok képzési szabályának ismeretében, nem kell tárolni S -et.... EL ˝

A billenty ˝uk száma véges = ⇒ ezen számok halmaza is véges = ⇒ Van tehát egy legkisebb természetes szám, amit nem lehet definiálni a fenti módon... EL ˝

A második követelmény elég nehezen megfogható, mert a gyakorlatban el ˝oforduló kulcshalmazok egyáltalán nem véletlenszer ˝uek.... EL ˝

Az ellenség úgy válaszol, hogy minél több lehet ˝oség maradjon, így el tudja érni, hogy legalább

Ahhoz, hogy belássuk, hogy i szuperforrás, meg kell vizsgálni az i-edik sor és i-edik oszlop minden elemét.... Ahhoz, hogy belássuk, hogy i szuperforrás, meg kell vizsgálni az

Mindig a legkisebb súlyú olyan élet színezzük kékre, ami még nem alkot kört az eddigi kék élekkel.. = ⇒ A kék élek végig egy erd ˝ot határoznak meg, akkor van kész,

Az M Turing-gép számolási ideje az s inputon a megállásáig végrehajtott lépések száma tárigénye pedig a felhasznált (olvasott) szalagcellák száma.... Id ˝ o-