Szélességi bejárás A szélességi bejárással egy irányított vagy irányítás nélküli véges gráfot járhatunk be a kezdőcsúcstól való távolságuk növekvő sorrendjében.

Slides:



Advertisements
Hasonló előadás
GRIN: Gráf alapú RDF index
Advertisements

A Floyd-Warshall algoritmus
A Dijkstra algoritmus.
Nevezetes algoritmusok
Készítette: Mester Tamás METRABI.ELTE.  Adott egy G irányított vagy irányítás nélküli, véges gráf. Az eljárás célja a G gráf összes csúcsának bejárása.
Készítette: Major Máté
Készítette: Mester Tamás METRABI.ELTE.  Adott egy G irányított vagy irányítás nélküli, véges gráf. Az eljárás célja a G gráf összes csúcsának bejárása.
Matematika II. 4. előadás Geodézia szakmérnöki szak 2010/2011. tanév Műszaki térinformatika ágazat tavaszi félév.
DAG topologikus rendezése
Dijkstra algoritmus Irányított gráfban.
Szélességi bejárás Párhuzamosítása.
Szélességi bejárás , 0.
Dijkstra algoritmus Baranyás Bence. Feladat Adott egy G=(V,E) élsúlyozott, irányított vagy irányítás nélküli, negatív élsúlyokat nem tartalmazó, véges.
Gráfok szélességi bejárása
Gráf Szélességi bejárás
Készítette Schlezák Márton
Gráfok szélességi bejárása Algoritmus bemutatása egy gráfon példa.
Gráf szélességi bejárása. Alapfogalmak G = (V,E)irányított, véges, nem üres gráf d (s,u)két csúcs távolsága lút hossza, élek száma Qsor adatszerkezet.
Prím algoritmus.
Dijkstra algoritmus. Kiválasszuk a legkisebb csúcsot, ez lesz a kezdőcsúcs, amit 0-val címkézünk és megjelöljük sárgaszínnel. Szomszédjai átcímkézése.
Dijkstra algoritmus Algoritmusok és adatszerkezetek 2. Újvári Zsuzsanna.
Dijkstra algoritmusa Egy csúcsból a többibe vezető legkisebb költségű út megkeresése Az algoritmus működésének leírása és bemutatása LL.
Gráf szélességi bejárása
Készítette: Lakos Péter.  Adott egy élsúlyozott, véges gráf  Negatív élsúlyokat nem tartalmaz  Lehet irányított vagy irányítatlan  Továbbá adott egy.
Készítette: Lakos Péter.  Adott egy irányított vagy irányítatlan, véges gráf.  Írjuk ki a csúcsokat egy kezdőcsúcstól való távolságuk növekvő sorrendjében.
Dijkstra-algoritmus ismertetése
Algoritmusok II. Gyakorlat 2. Feladat Pup Márton.
Algoritmusok II. Gyakorlat 3. Feladat Pup Márton.
Hierarchikus lista Kétféle értelemezése van:
I276 Antal János Benjamin 12. osztály Nyíregyháza, Széchenyi I. Közg. Szki. Huffman kódolás.
Gráf Szélességi bejárás/keresés algoritmusa
Készítette: Mester Tamás METRABI.ELTE.  Adott egy G=(V,E) élsúlyozott, irányított vagy irányítás nélküli, negatív élsúlyokat nem tartalmazó, véges gráf.
A Dijkstra algoritmus.
Gráf szélességi bejárása SzB(G,p). Tetszőleges gráf, melyben a p csúcsot választottam kiindulónak: A gráfnak megfelelő fa:
Feladat: Adott egy város, benne metrók és állomások. Írjunk algoritmust amely megszámolja hogy mennyi az a legkevesebb átszállás amellyel egy tetszőleges.
SZÉLESSÉGI BEJÁRÁS Gréczy Ákos – JKR7ZR. MESE Van egy középkori kisváros, ahol az utcai lámpákat egy korosodó lámpagyújtogató ember gyújtja fel. Egyik.
Készítette: Hanics Anikó. Az algoritmus elve: Kezdetben legyen n db kék fa, azaz a gráf minden csúcsa egy-egy (egy pontból álló) kék fa, és legyen minden.
Nevezetes algoritmusok: Fa megvalósítása Készítette: Várkonyi Tibor Zoltán.
Dijkstra algoritmusa Gubicza József (GUJQAAI.ELTE)
1 Szélességi Bejárás Györgyi Tamás – GYTNAAI.ELTE 2007 Március 22 Algoritmusok És Adatszerkezetek 2 Gráfalgoritmus S b a d e f h g c.
Az ábrán az inicializáló blokk lefutása utáni állapotot láthatjuk. A KÉSZ halmazhoz való tartozást színezéssel valósítjuk meg. A nem KÉSZ csúcsok fehérek,
Mélységi bejárás Az algoritmus elve: Egy kezdőpontból kiindulva addig megyünk egy él mentén, ameddig el nem jutunk egy olyan csúcsba, amelyből már nem.
Szélességi bejárás. Kezdőcsúcsból felvétele Innen haladunk egy szinttel mélyebbre, felvesszük az összes olyan csúcsot, amit így elérhetünk Ha elfogytak,
Kruskal-algoritmus.
Szélességi bejárás. Kezdőcsúcs felvétele Innen haladunk egy szinttel lejebb, itt felvesszük az összes olyan csúcsot, amit elérünk Ha elfogytak, akkor.
Bellmann-Ford Algoritmus
Horváth Bettina VZSRA6.  Célja: Az eljárás célja egy véges gráf összes csúcsának bejárása a kezdőcsúcstól való távolságuk szerinti növekvő sorrendben.
Útkeresések.
SZÉLESSÉGI BEJÁRÁS Pap Imre DVX468. A bejárás Meglátogatjuk az első csúcsot, majd ennek a csúcsnak az összes szomszédját. Aztán ezen szomszédok összes.
Algoritmusok és Adatszerkezetek Egy kifejezés lengyelformára hozása - bemutató.
Morvai Mária-Júlia F3D3D4.  Adott egy G=(V,E)élsúlyozott, irányított vagy irányítás nélküli, negatív élsúlyokat nem tartalmazó,véges gráf. Továbbá adott.
Gráf szélességi bejárása. Cél Az algoritmus célja az, hogy bejárjuk egy véges gráf összes csúcsát és kiírjuk őket a kezdőcsúcstól való távolságuk szerint.
DIJKSTRA- ALGORITMUS. A Dijkstra-algoritmus egy mohó algoritmus, amivel irányított vagy irányítás nélküli, negatív élsúlyokat nem tartalmazó, véges gráfokban.
Gráf szélességi bejárása. A szélességi bejárás elmélete Célja egy véges gráf összes csúcsának bejárása a kezdőcsúcstól való távolságuk szerinti növekvő.
Szélességi bejárás Gráf-algoritmusok Algoritmusok és adatszerkezetek II. Gergály Gábor WZBNCH1.
Készítette : Giligor Dávid Neptun : HSYGGS
Prim algoritmus Algoritmusok és adatszerkezetek 2. Újvári Zsuzsanna.
INFOÉRA Gráfok, gráfalgoritmusok II. (Horváth Gyula és Szlávi Péter előadásai felhasználásával) Juhász István-Zsakó László: Informatikai.
Szélességi bejárás. Véges gráf összes csúcsának bejárása a kezdőcsúcstól való távolságuk szerinti növekvő sorrendben Egy csúcsot egyszer járunk be Egyenlő.
Gráf Szélességi bejárás Készítette: Giligor Dávid Neptun : HSYGGS.
3. Feladat Szélességi Bejárás FZGAF0 – Pintér László.
Szélességi bejárás Pátyerkó Dorina (VTYX9O). Szélességi bejárás algoritmusa Kijelölünk egy kezdőcsúcsot. A csúcs szomszédjait megkeressük, majd betesszük.
Gráfalgoritmusok Tassy Gergely Veres Péter Gimnázium, Budapest június 30.
A Dijkstra algoritmus.
Gráfok szélességi bejárása Dijkstra algoritmus
Készítette Tácsik Attila
Gráfalgoritmusok G=(V,E) gráf ábrázolása
Dijkstra algoritmusa: legrövidebb utak
Dijkstra algoritmusa: legrövidebb utak
Gráfalgoritmusok G=(V,E) gráf ábrázolása
Előadás másolata:

Szélességi bejárás A szélességi bejárással egy irányított vagy irányítás nélküli véges gráfot járhatunk be a kezdőcsúcstól való távolságuk növekvő sorrendjében. Először lássuk az algoritmus elvi hátterét, a következő diákon pedig grafikusan egy példán keresztül az algoritmus működését!  Először elérjük a kezdőcsúcsot.  Majd elérjük a kezdőcsúcstól 1 távolságra lévő csúcsokat (a kezdőcsúcs szomszédait)  Ezután elérjük a kezdőponttól 2 távolságra lévő csúcsokat (a kezdőcsúcs szomszédainak a szomszédait), és így tovább.  Ha egy csúcsot már bejártunk, akkor a későbbi odajutásoktól el kell tekinteni A következő diára lépéshez kattints az egérrel

Az algoritmus elve* Az elérési sorrend biztosítása Az elérési sorrendnél azt kell figyelembe venni, hogy amíg az összes kezdőcsúcstól k távolságra lévő csúcsot ki nem írtuk, addig nem szabad k- nál kisebb vagy nagyobb távolságú csúcsokat kiírni, sőt mire egy k távolságú csúcsot kiírunk, már az összes k-nál kisebb távolságú csúcsot ki kellett írnunk. Egy k+1 távolságú csúcs biztosan egy k távolságú csúcs szomszédja (az egyik legrövidebb úton a megelőző csúcs biztosan k távolságra van a kezdőcsúcstól).A k+1 távolságú csúcsokat a k távolságú csúcsok szomszédai között kell keresni (nem biztos, hogy az összes szomszéd k+1 távolságú, lehet, hogy egy rövidebb úton már elértük.). Használjunk sor adattípust és biztosítsuk azt az invariáns tulajdonságot, hogy a sorba csak k vagy k+1 távolságú csúcsok lehetnek az elérésük sorrendjében, amely egyben az s-től való távolságuk szerinti (növekedő) sorrendnek is megfelel. Ameddig ki nem ürül a sor, vegyünk ki az első elemet, írjuk ki és terjesszük ki, azaz a még "meg nem látogatott" szomszédait érjük el és rakjuk be a sorba. (*forrás: jegyzet) A következő diára lépéshez kattints az egérrel

Előkészületek Először lássuk a gráfot, amelyen reprezentáljuk a szélességi bejárást, majd a lap alján a jelölésekhez tartozó jelmagyarázatot. 1 (-1, -1) 2 (-1, -1)3 (-1, -1)4 (-1, -1) 5 (-1, -1) 6 (-1, -1) 7 (-1, -1)8 (-1, -1)9 (-1, -1) A zárójelben található számpár jelentése: az első szám megadja, hogy az adott csúcsot hányadikként jártuk be, a második pedig a kezdőcsúcstól való távolságot jelenti (kezdetben mindkettő -1). A szimuláció elkezdéséhez kattints az egérrel

Grafikus megjelenítés Az algoritmus indításakor a következő állásban vagyunk: 1 (-1, -1) 2 (-1, -1)3 (-1, -1)4 (-1, -1) 5 (-1, -1) 6 (-1, -1) 7 (-1, -1)8 (-1, -1)9 (-1, -1) Ha egy csúcsot nem értünk még el, legyen fehér színű Ha egy csúcsot elérünk és bedobjuk a sorba, legyen szürke. Ha egy csúcsot elértünk és kiterjesztettük (elértük a szomszédait), legyen sárga. A következő lépéshez kattints az egérrel

Grafikus megjelenítés Kezdetben minden csúcs fehér, kivéve az 1-es csúcsot, amely szürke: 1 (1, 0) 2 (-1, -1)3 (-1, -1)4 (-1, -1) 5 (-1, -1) 6 (-1, -1) 7 (-1, -1)8 (-1, -1)9 (-1, -1) A következő lépéshez kattints az egérrel A sorban is csak az 1-es csúcs szerepel. Az első lépésben kivesszük az 1-es csúcsot a sorból, majd kiterjesztjük, tehát elérjük a még fehér szomszédait (2, 3, 4).

Grafikus megjelenítés Az egyes csúcs kiterjesztése: 1 (1, 0) 2 (2, 1)3 (3, 1)4 (4, 1) 5 (-1, -1) 6 (-1, -1) 7 (-1, -1)8 (-1, -1)9 (-1, -1) A következő lépéshez kattints az egérrel Ezen csúcsokat szürkére színezzük és bedobjuk őket a sorba. Az egyes csúcsot kiterjesztettük, tehát készen vagyunk vele, sárgára színezhetjük. A sorba a szürke csúcsok szerepelnek, az elérési szám szerint rendezve!

Grafikus megjelenítés A kettes csúcs kiterjesztése: 1 (1, 0) 2 (2, 1)3 (3, 1)4 (4, 1) 5 (5, 2) 6 (6, 2) 7 (-1, -1)8 (-1, -1)9 (-1, -1) A következő lépéshez kattints az egérrel A kettes csúcsot terjesztjük ki eztán. Ezzel is készen vagyunk, tehát sárgára színezhetjük. A két szomszédját (5, 6) szürkére színeztük. A sorba a szürke csúcsok szerepelnek, az elérési szám szerint rendezve!

Grafikus megjelenítés A hármas csúcs kiterjesztésekor egy észrevétel: 1 (1, 0) 2 (2, 1)3 (3, 1)4 (4, 1) 5 (5, 2) 6 (6, 2) 7 (-1, -1)8 (-1, -1)9 (-1, -1) A következő lépéshez kattints az egérrel A hármas csúcs kiterjesztésekor nem kerül újabb csúcs a sorba, mivel a 3-as csúcs minden szomszédját elértük már. Tehát színezzük a 3-as csúcsot sárgára.

Grafikus megjelenítés A négyes csúcs kiterjesztése a 9-es csúcs szürkére színezése 1 (1, 0) 2 (2, 1)3 (3, 1)4 (4, 1) 5 (5, 2) 6 (6, 2) 7 (-1, -1)8 (-1, -1)9 (7, 2) A következő lépéshez kattints az egérrel A négyes csúcsot terjesztjük ki, hiszen ez a sorban a következő elem. Színezzük őt is sárgára, a szomszéd csúcsot (9) pedig szürkére. Figyeljük meg a 9-es csúcsot: ő a 7. bejárt csúcs és kettő hosszú úttal elérhető a kezdőcsúcsból.

Grafikus megjelenítés 5-ös és 6-os csúcs kiterjesztése 1 (1, 0) 2 (2, 1)3 (3, 1)4 (4, 1) 5 (5, 2) 6 (6, 2) 7 (8, 3)8 (9, 3)9 (7, 2) A következő lépéshez kattints az egérrel Az 5-ös és 6-os csúcs kiterjesztése hasonlóképpen történik. Színezzük őket sárgára, a szomszédaikat pedig szürkére  ezen lépés után nem marad több fehér színű csúcs. Figyeljük meg a 7-es és 8-as csúcs elérési száma miként változik

Grafikus megjelenítés Az algoritmus vége, majd a végeredmény kiírása: 1 (1, 0) 2 (2, 1)3 (3, 1)4 (4, 1) 5 (5, 2) 6 (6, 2) 7 (8, 3)8 (9, 3)9 (7, 2) A végeredmény kiírásához kattints az egérrel Mivel már nincsen fehér csúcs, így most már csupán a sorból kivesszük a csúcsokat és sárgára színezzük őket. Ezzel az algoritmus futása véget ért. A záró dián látható a végeredmény.

Végeredmény 1 (1, 0) 2 (2, 1)3 (3, 1)4 (4, 1) 5 (5, 2) 6 (6, 2) 7 (8, 3)8 (9, 3)9 (7, 2) A bemutatóból való kilépéshez kattints az egérrel. A algoritmus által megkaptuk a kezdő csúcsból a többi csúcsba való legrövidebb utat. A csúcsok, és a berajzolt élek alkotta részgráfot jobban megnézve látható, hogy egy kezdőcsúcs gyökerű fát alkot, amely mentén minden csúcs a legrövidebb úton érhető el. Készítette: Hardi Péter