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

A legrövidebb útkeresés relációs megközelítése nagyméretű gráfokban Készítette: Morvai Mihály, Szücs Ádám, Verő Anita Cikk szerzője: Jun Gao, Ruoming Jin,

Hasonló előadás


Az előadások a következő témára: "A legrövidebb útkeresés relációs megközelítése nagyméretű gráfokban Készítette: Morvai Mihály, Szücs Ádám, Verő Anita Cikk szerzője: Jun Gao, Ruoming Jin,"— Előadás másolata:

1 A legrövidebb útkeresés relációs megközelítése nagyméretű gráfokban Készítette: Morvai Mihály, Szücs Ádám, Verő Anita Cikk szerzője: Jun Gao, Ruoming Jin, Jiashuai Zhou, Jeffrey Xu Yu, Xiao Jiang, Tengjiao Wang Cikk eredeti címe: Relational Approach for Shortest Path Discovery over Large Graphs

2 T ARTALOMJEGYZÉK Áttekintés röviden FEM Framework Kétirányú Dijkstra algoritmus SegTable index bevezetése optimalizációhoz

3 Á TTEKINTÉS Gráfok hirtelen növekedése → elkerülhetetlen a gráfok lemezen tárolása Relációs FEM framework RDB környezetben Kétirányú Dijkstra algoritmus SegTable index bevezetése optimalizációhoz

4 Á TTEKINTÉS Miért van erre szükség? Jelenlegi lemez-alapú technológiák:  Drága az eredeti gráf dinamikus módosítása  Nem lehet elérni a gráfokat egyszerűen (hiányzó sémák és index mechanizmusok)  Hadoop és MapReduce – elosztott fájlrendszereken

5 Á TTEKINTÉS RDB – ígéretes infrastruktúra a gráf tárolása, módosítása szempontjából Ezért RDB táblákban tároljuk a gráf és a futási idejű adatokat Ezeken csak korlátozott műveleteket hajthatunk végre  Projekció  Szelekció  Összekapcsolás ...

6 Á TTEKINTÉS Két fontos SQL feature-t használunk Window function: Aggregált eredmény Viszont nem csak egy eredmény egy sorhalmazhoz Táblán partíciókat (window) képzünk és az aggregáló fv. eredménye csak ezektől függ Nem tudja helyettesíteni a Group By (teljes tábla) Merge Statement: Forrásból beszúrás, frissítés Lényegében insert, delete, update Végrehajtása gyorsabb, mint a hagyományos DML műveletek

7 FEM framework

8 FEM FRAMEWORK Gráfelméleti alapismeretek Sok gráfkereső algoritmus hasonló egymáshoz  Pl.: legrövidebb útkeresés – egy csúcsból elérhető-e egy másik Mivel általában nagy a keresési tér, ezért mohó ötleteken alapulnak Ezek a mohó ötletek átültethetők egy általános iteratív feldolgozó struktúrára

9 FEM FRAMEWORK Legyen A a bejárt csúcsok halmaza, A k a k. iterációs lépés utáni állapot. Legyen F a határcsúcsok halmaza Legyen E a kiterjesztett csúcsok halmaza

10 FEM FRAMEWORK

11 FEM FRAMEWORK – D IJKSTRA ALG.- RA  csúcsot megjelölünk d2s és f értékekkel Kezdetben s.d2s = 0 és f = False Ezután elkezdjük az iteratív útkiterjesztést a célcsúcs felé Minden lépésben u csúcs:  Minimális d2s és f = False u.f = True, u-t kiterjesztjük, a kapott csúcsokat az eddigi bejárt csúcsokkal egybevonjuk

12 FEM FRAMEWORK Nem csak select, expand, merge Feladatfüggő operátorok a FEM-ben Ezek műveletigénye viszont elhanyagolható

13 FEM FRAMEWORK

14 Kétirányú Dijkstra algoritmus

15 K ÉTIRÁNYÚ D ISKSTRA Tipikus optimalizációs lépés a keresési tér csökkentés FEM-ben: a meglátogatott csúcsok számának minimalizálása Ehhez a kétirányú Dijkstra alg.-ot ültetjük FEM-be Csökkenti F-, E- és M-operátorok számolási költségeit

16 K ÉTIRÁNYÚ D ISKSTRA Megpróbál sok adatot vizsgálni, a keresési teret redukálni Az utat megtalálhatjuk a startból (s) és célból (t) egyaránt Kiválasztásnál nem csak egy csúcs Ez „RDB-barát” – több csúcs egy művelet elvégzése alatt – így kisebb I/O költség az egyes csúcsokra

17 K ÉTIRÁNYÚ D ISKSTRA Kezdetben azok a határcsúcsok kerülnek kiválasztásra, ahol d2s = mind2s és f = False Szükség van d2t és b adatokra is a csúcsokhoz Kiválasztunk t csúcs felől is Abba az irányba terjesztünk ki, amelyik irányba kevesebb határcsúcs van Hogyan terminál az algritmus?

18 K ÉTIRÁNYÚ D ISKSTRA Vezessük be l f és l b változókat A minCost a legrövidebb távolság s és t között Legrövidebb: minCost  l f + lb Nálunk: – MinCost a min. d2s és d2t összege – l f a min. d2s – l b a min. d2t Ezekkel eldönthető, hogy terminál vagy sem

19 SegTable index bevezetése optimalizációhoz

20 S EG T ABLE INDEX BEVEZETÉSE Az előbbi algoritmus csúcshalmazokon megy végig A műveletek száma még mindig nagy, bár csökkent Bevezetjük a SegTable indexet Megőrzi az előre kiszámított legrövidebb szakaszokat Ezeket felhasználjuk részcsúcsok kiválasztásához, jövőbeni kiterjesztésekhez Ezzel próbáljuk csökkenteni az iterációk számát a keresési tér minimális növekedésével

21 S EG T ABLE INDEX BEVEZETÉSE Legrövidebb szakaszok? Kisebb súlyú élek, nagyobb esély Egy adott küszöbnél nem hosszabb távolságú „legrövidebb” szakaszokat kiszámolhatjuk Ezeket tároljuk el a SegTable táblában Tehát a SegTable valójában a legrövidebb részút indexe Ezeknek a szakaszoknak nagyobb az esélye bent lenni a legrövidebb útban

22 S EG T ABLE INDEX BEVEZETÉSE Szelektív útvonal kiterjesztés: a SegTable szakaszai alapján válasszunk ki csúcsokat kiterjesztésre Beépítjük a kétirányú Dijkstra algoritmusba Műveletigénye legfeljebb olyan lesz, mint a korábbi algoritmusé Viszont a keresési tér növekszik, mérete függ a küszöbtől

23 Köszönöm a figyelmet! Részletesebb leírást, eredményeket a cikkben olvashattok!


Letölteni ppt "A legrövidebb útkeresés relációs megközelítése nagyméretű gráfokban Készítette: Morvai Mihály, Szücs Ádám, Verő Anita Cikk szerzője: Jun Gao, Ruoming Jin,"

Hasonló előadás


Google Hirdetések