Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

1. Univerzális nyelő Csúcsmátrixos ábrázolás esetén a legtöbb gráfalgoritmus futási ideje O(n2) azonban van kivétel. Egy irányított gráf egy csúcsa univerzális.

Hasonló előadás


Az előadások a következő témára: "1. Univerzális nyelő Csúcsmátrixos ábrázolás esetén a legtöbb gráfalgoritmus futási ideje O(n2) azonban van kivétel. Egy irányított gráf egy csúcsa univerzális."— Előadás másolata:

1 Három érdekes feladat: univerzális nyelő, abszolút győztes és teljes pont

2 1. Univerzális nyelő Csúcsmátrixos ábrázolás esetén a legtöbb gráfalgoritmus futási ideje O(n2) azonban van kivétel. Egy irányított gráf egy csúcsa univerzális nyelő, ha bemeneti foka (n-1) és kimeneti foka 0. Egy csúcsmátrix-al megadott irányított gráfban eldönthető O(n) idő alatt, hogy van-e benne univerzális nyelő.

3 Megoldás: Vegyük a gráf két csúcsát. 2 eset lehetséges: a) (u,v) є E
Ebben az esetben az u csúcs nem lehet univerzális nyelő, kizárhatjuk. u v u v

4 Ebben az esetben a v csúcs nem lehet univerzális nyelő, kizárhatjuk.
b) (u,v) є E Ebben az esetben a v csúcs nem lehet univerzális nyelő, kizárhatjuk. u v u v

5 Bármelyik eset áll fenn, mindenképpen 1 összehasonlítást végzünk és eggyel kevesebb csúcs marad az összehasonlítások végére. Az előző 2 pontban leírt összehasonlításokat maximum (n-1)-szer kell végrehajtani. (T=O(n-1)) A végén marad egy csúcs, ami lehet univerzális nyelő, meg kell vizsgálni, hogy ténylegesen az-e. Ez O(n-1)-es műveletigényű. Így kapjuk, hogy a feladatot O(2n-2) műveletigényű algoritmussal meg lehet oldani. O(2n-2)=O(n), def. szerint.

6

7 Egy egyszerű példa: A: 0 1 0 1 0 A[1,2]=1, ekkor: e=2, i=3, k=4
i=1, j=2, k=3, e=1 A[1,2]=1, ekkor: e=2, i=3, k=4 1 2 5 3 4 1 2 5 3 4

8 A[3,2]=1, ekkor: i=4, k=5, e=2 i=4, j=2, k=5, e=2 A[4,2]=0 :
k=7 -> az első ciklus vége 1 2 5 3 4 1 2 5 3 4 1 2 5 3 4

9 ok = ( Σ A[ i, e ]=n-1) Λ (Σ A[ e, i ]=0)
A második ciklusban megvizsgáljuk, hogy a lehetséges e csúcs univerzális nyelő-e. Megjegyzés: n n ok = ( Σ A[ i, e ]=n-1) Λ (Σ A[ e, i ]=0) i= i=1

10 2. Abszolút győztes Tournamentnek hívunk egy olyan irányított gráfot, melyben bármely két pontot pontosan egy él köt össze. Amennyiben teljes körmérkőzést játszik n versenyző, olyan sportágban, ahol nincs döntetlen (pl.: ping-pong), akkor az eredményeket egy n pontú tournamenttel ábrázolhatjuk, ahol i-ből j-be vezet él, ha i-edik versenyző legyőzte a j-edik versenyzőt. Adjon algoritmust, amely eldönti, hogy van-e abszolút győztes (aki mindenki mást legyőzött)!

11 Megoldás: A feladat megoldása ugyanaz, mint az előzőé, kevés eltéréssel. Eltérések: 1) forrást keresünk, nem nyelőt univerzális forrás: olyan uєV csúcs, amelyre n n (Σ A[ i, u ]=0) Λ (Σ A[ u, i ]=n-1) i=1 i=1 2) Két csúcs összehasonlításakor:

12 Ebben az esetben az u csúcs nem lehet univerzális forrás, kizárhatjuk.
a) (u,v) є E Ebben az esetben az u csúcs nem lehet univerzális forrás, kizárhatjuk. b) (u,v) є E Ebben az esetben a v csúcs nem lehet univerzális forrás, kizárhatjuk. u v u v u v u v

13

14 Egy egyszerű példa: 1 2 C: i j köv l (init) C[1,2]=1 => C[1,3]=0 => C[4,3]=1 => C[4,5]=1 => 4 5 3

15 3. Teljes pont Adott egy n pontú irányítatlan gráf. Adjunk algoritmust, amely eldönti, hogy van-e a gráfnak olyan pontja, amely minden más ponttal össze van kötve! Nevezzük ezt a pontot röviden teljes pontnak. Erre nem adható O(n)-es algoritmus…

16 Megoldás: “favágó”-módon:
Minden j є [1..n] : Σ C[i,j] –k közt keresünk i є [1..n] egy olyat, ami egyenlő (n-1)-el. Ez O(n2)-es algoritmus.

17

18 Lehet-e jobban? Lényegesen jobban: Nem… Akkor az előbb miért lehetett?
Irányított gráfnál két csúcs összehasonlítá- sakor egy csúcsot mindig ki tudtunk zárni. Irányítatlan gráfnál két csúcs “viszonya”: Van köztük él: Nincs köztük él: u v u v

19 Ha nincs a két csúcs közt él, akkor egyik se lehet teljes pont.
Ha a két csúcs közt van él, akkor mindkettő lehet teljes pont, egyiket se zárhatjuk ki…


Letölteni ppt "1. Univerzális nyelő Csúcsmátrixos ábrázolás esetén a legtöbb gráfalgoritmus futási ideje O(n2) azonban van kivétel. Egy irányított gráf egy csúcsa univerzális."

Hasonló előadás


Google Hirdetések