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

Algoritmusok és Adatszerkezetek I.

Hasonló előadás


Az előadások a következő témára: "Algoritmusok és Adatszerkezetek I."— Előadás másolata:

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

32

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)

39

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


Letölteni ppt "Algoritmusok és Adatszerkezetek I."

Hasonló előadás


Google Hirdetések