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

Dijkstra-algoritmus ismertetése Algoritmusok és adatszerkezetek 2 Készítette: Tóth István (S23R35)

Hasonló előadás


Az előadások a következő témára: "Dijkstra-algoritmus ismertetése Algoritmusok és adatszerkezetek 2 Készítette: Tóth István (S23R35)"— Előadás másolata:

1 Dijkstra-algoritmus ismertetése Algoritmusok és adatszerkezetek 2 Készítette: Tóth István (S23R35)

2 Általános ismertető Mohó algoritmus Lényege: gráfban (irányított v. irányítatlan) a legrövidebb út megtalálása adott csúcsból ▫Feltétel: élek súlya nemnegatív ▫Minden pontra megadja a legrövidebb utat a kezdőcsúcsból nézve

3 Működési elv - általános állandó (vizsgált) és ideiglenes címkéjű (nem vizsgált) csúcsok kiszámolja az adott csúcs minden ideiglenes szomszédjának távolságát: ▫ha kisebb érték jön ki (alapból mindegyik végtelen), átírja arra vizsgált csúcs megjelölése állandóként továbblépés a legkisebb távú ideiglenes csúcsra folytatás a második lépéstől addig, amíg: ▫be nem járta az egészet, vagy ▫ki nem számolta a kívánt célcsúcs távolságát

4 Működési elv - részletes Input: ▫G súlyozott gráf (irányított/irányítatlan) ▫s pont a gráfban (kezdőcsúcs) Élek súlyozása: ▫E élhalmaz: w: E → [0,∞] a súlyfüggvény ▫u, v csúcsok: w(u,v) u-ból v-be eljutás „költsége” ▫Két pont közötti út költsége: az úton lévő élek költségeinek összege

5 Működési elv - részletes Futási idő alatt minden pontra nyilvántartja a távolságát ▫Kezdőcsúcsé (s): d[s] = 0 ▫Minden más csúcsra (v): d[v] = ∞ Halmazok: ▫S: csúcsok, melyeknél már kiszámolta a legrövidebb távot („címkézett/állandó” csúcsok)  Kezdetben: üres ▫Q: csúcsok, melyeknél a távolság értéke még ideiglenes  Kezdetben: minden csúcs itt van

6 Működési elv – részletes Iterációnként egy csúcspont (u) átkerül Q-ból S-be ▫Az a csúcs, melynek legkisebb a „költsége” u összes szomszédjának kiszámolja a távolságát ▫Metódus: d[u] + w(u,v), ahol d[u] az u pont kiindulási pontból vett távolsága, v szomszédja u-nak Ha kisebb az így kijött út, felülírja az új értékkel Folytatás, amíg: ▫Az összes csúcsot ki nem számolta, vagy ▫A célcsúcsot ki nem számolta (célcsúcs nincs Q-ban)

7 Működés - animáció forrás:

8 Pszeudokód

9 Működés - elemzés Fő műveletek: minimumkiválasztás, csökkentés E élhalmaz, V csúcshalmaz Implementációk: ▫Tömb: O(V 2 ) ▫Bináris heap: Ɵ ((V+E) lgV) ▫Fibonacci heap: O((V+E) lgV) Hibái: ▫Vakon keres: erőforráspazarló ▫Negatív élsúlyozást nem támogat

10 Alkalmazása Hálózati útvonalválasztó protokollok: ▫IS-IS ▫OSFP Útvonalkeresés úthálózatokon, térképeken ▫Módosított, bővített változatok ▫A* algoritmus


Letölteni ppt "Dijkstra-algoritmus ismertetése Algoritmusok és adatszerkezetek 2 Készítette: Tóth István (S23R35)"

Hasonló előadás


Google Hirdetések