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

Hasonló előadás


Az előadások a következő témára: "Dijkstra-algoritmus ismertetése"— 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(V2) 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"

Hasonló előadás


Google Hirdetések