Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
1
Algoritmusok és Adatszerkezetek I.
Elemi gráfalgoritmusok 2017. november 7.
2
Gráf Dolgok (csúcsok) és köztük fennálló kapcsolatok (élek) reprezentációja
3
Valós életbeli gráfok (hálózatok)
4
Valós életbeli gráfok (hálózatok)
5
Valós életbeli gráfok (hálózatok)
6
Gráfok absztrakt reprezentációra
7
Gráfok G=(V,E) G a gráf V: csúcsok halmaza (általában azonosítóval ellátva, gyakorlatban egyéb tulajdonságokkal is) E: élek halmaza. Egy él két csúcs közti kapcsolatot ír le. A kapcsolat lehet irányított vagy irányítatlan ill. lehet súlyozott (gyakorlatban egyéb tulajdonságok is)
8
Irányítatlan és irányított gráfok
9
Egyszerű gráfok Egy gráf egyszerű ha nincsenek benne sem hurokélek sem többszörös élek.
10
Gráfok számítógépes reprezentációja
11
Gráfok számítógépes reprezentációja
Csúcsok halmaza és élek halmaza matematikai definíció ez, de nagyon előnytelen a gyakorlatban, nem használjuk Szomszédsági listás ábrázolás Szomszédsági mátrix ábrázolás
12
Gráfok számítógépes reprezentációja
13
Gráfok számítógépes reprezentációja
14
Gráfok sűrűsége Teljes gráf ha |E|=|V|(|V|-1)/2 Ritka gráf ha |E|~|V| Sűrű gráf ha |E|~|V|2
15
Adatszerkezetet a feladathoz!
Létezik (u,v) él? összes él listázása egy csúcs szomszédainak listája csúcsok+élek halmaza Θ(|E|) szomszédsági mátrix Θ(1) Θ(|V|2) Θ(|V|) szomszédsági lista Θ(fokszám) Θ((fokszám) Ritka, hogy nem szomszédsági listát használunk.
16
Gráfalgoritmusok hatékonysága
Futásidő és tárigény szempontjából mind |V| és |E| számít(hat) Különböző karakterisztikájú gráfokon (pl. ritka vs sűrű) más és más algoritmusok lehetnek előnyösek
17
Szélességi keresés
18
Szélességi keresés (SzK) Breadth First Search (BFS)
Feladat: Járjuk be az összes csúcsot ami egy s kezdő csúcsból elérhető. Mindeközben kiszámoljuk az elérhető csúcsok távolságát s-től távolság: legkevesebb élt tartalmazó út élszáma
19
Szélességi keresés (SzK) Breadth First Search (BFS)
Bemenet: Irányítatlan vagy irányított G gráf és annak egy s csúcsa Kimenet: Egy szótár, ami tartalmazza az sből elérhető csúcsokat és azok távolságát
20
SzK alkalmazások social network: k távolságban lévő ismerőseim
Navigáció: közelben lévő helyek listázása Broadcasting: üzenet elküldése (pl. peer-to-peer hálózatokban)
21
felfedezetlen futásidő: Θ (V+E) elért bejárt
22
SzK helyessége δ(s,v) v legrövidebb út távolsága s-től
23
Breadth First Search - A G C I B F G A STOP FIFO Queue front A B C D E
24
Breadth First Search - A G C I B F G A STOP FIFO Queue front A B C D E
25
Szélességi fa - A B I F G E H C D
26
Szélességi fa Egy G gráf szélességi fája függ a kimenő élek bejárási sorrendjétől, de távolságok egyértelműek s-ből v-be vezető egy legrövidebb út:
27
Mélységi keresés
28
Mélységi keresés (MK) Depth First Search (DFS)
futásidő: Θ (V+E) elérési idő elhagyási idő
29
MK alkalmazásai Amikor egy megoldást megtalálni elégséges, nincs szükség mindre/ optimálisra, pl. (ki)útkeresés Topológikus rendezés Erősen összefüggő komponensek
30
Mélységi erdő A B F E I H D G C 30
31
Elérési és elhagyási idők
33
MK élek osztályozása
34
Topológikus rendezés
35
Topológikus rendezés Egy G = (V, E) irányított gráf topologikus rendezése a csúcsainak sorba rendezése úgy, hogy ha G-ben szerepel az (u, v) él, akkor u előzze meg v-t a sorban. (Ha a gráf tartalmaz irányított kört, akkor nincs ilyen sorba rendezés.)
36
Gráf körmentessége
37
Erősen összefüggő komponensek
G = (V, E) irányított gráf egy erősen összefüggő komponense a csúcsok egy maximális C ⊆ V halmaza, amelynek bármely u, v ∈ C csúcsára u és v kölcsönösen elérhetők egymásból. komponens gráf
38
Erősen összefüggő komponensek
élek irányításának megfordítása futásidő: Θ (V+E)
40
Erősen-összefüggő- komponensek helyessége
Első MK célja csak az elhagyási idők kiszámítása A transzponált gráfban az elhagyási idők szerint haladunk akkor MK főciklusa éppen az erősen összefüggő komponenseken iterál végig komponens gráf körmentes erősen összefüggő komponensek topológikusan rendezetten kerülnek kiíratásra
41
Szélességi vs mélységi keresés
Mindkettő bejárja a teljes gráfot (gráfbejárások) Bejárási erdők mást fejeznek ki Futásidő Tárigény átlagos esetben Teljes Optimális Szélességi Θ (V+E) Θ (V) Mélységi Θ(átmérő)
42
Összegzés Gráfok (hálózatok) Gráf reprezentációk Szélességi keresés
optimális megoldás Mélységi keresés kevés memória zárójelezési tulajdonság
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.