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

Adott hosszúságú utak létezése gráfban avagy k ugrással elérhetőség vizsgálata, k-elérés index Forráscikk: „K-Reach: Who is in Your Small World” Szerzők:

Hasonló előadás


Az előadások a következő témára: "Adott hosszúságú utak létezése gráfban avagy k ugrással elérhetőség vizsgálata, k-elérés index Forráscikk: „K-Reach: Who is in Your Small World” Szerzők:"— Előadás másolata:

1 Adott hosszúságú utak létezése gráfban avagy k ugrással elérhetőség vizsgálata, k-elérés index Forráscikk: „K-Reach: Who is in Your Small World” Szerzők: James Cheng, Zechao Shang, Hong Cheng, Haixun Wang, Jeffrey Xu Yu http://vldb.org/pvldb/vol5/p1292_jamescheng_vldb2012.pdf

2 Feladat Adott egy súlyozatlan, irányított gráf Kérdés: van-e legfeljebb k hosszú irányított út egy startcsúcs és egy célcsúcs között? Hogyan lehetne hatékonyan megválaszolni a kérdést? ▫ Alacsony műveletigénnyel ▫ Alacsony tárigénnyel Megoldás: index építése (elnevezés: k-elérés) 2

3 Alkalmazás adatbázisokban Gráf szerkezetű adatbázisok (pl. közösségi hálók) Gyakori kérdés: elérhető-e egyik csúcs a másikból? ▫ A k ugrással elérhetőség speciális esete (k= ∞ )-re Erre többféle index létezik (DAG-on, bejáráson, legrövidebb út keresésén stb. alapulók) ▫ Ám ezek nem vagy nem elég hatékonyan válaszolják meg a k ugrással elérhetőség kérdését! Miért érdemes csak kis k-ra lekérdezni? ▫ Közösségi hálók: közismert elmélet, hogy bármely két ember közt található max. 6 hosszú ismeretségi lánc ▫ Valódi, nagy gráfadatbázisok átmérője ≈10 3

4 Indexépítés algoritmusa Input: súlyozatlan, irányított G gráf ill. k ≥ 2 egész Output: k-elérés index a gráfhoz 1.Egy S csúcslefedés készítése a gráfhoz ▫ S a G csúcsainak részhalmaza ▫ Közel minimális csúcslefedés (2-közelítő) 2.Egy súlyozott, irányított I indexgráf inicializálása 3.Indexgráf éleinek meghatározása ▫ Szélességi bejárás: van-e S-en belül legfeljebb k–2, k–1 ill. k hosszú út egy-egy csúcspár között? ▫ Ez alapján I indexgráf súlyozása 4

5 Indexépítés algoritmusa 1. S csúcslefedés készítése Csúcslefedés: ha G-ben u → G v egy él ⇒ S-ben szerepel u és v közül legalább az egyik Minimális csúcslefedés: |S| a lehető legkisebb Amíg van él G-ben: Véletlenszerűen választott él végpontjai bekerülnek S- be, a hozzájuk tartozó élek törlődnek (Magas fokszámú csúcsok éleihez nagyobb valószínűség) Végül S csúcslefedés, és |S| legfeljebb a 2-szerese egy minimális csúcslefedés számosságának 5

6 Indexépítés algoritmusa 2. I indexgráf inicializálása Csúcshalmaz = S csúcslefedés Elvárások: Élhalmaz: u → I v akkor, ha G-ben létezik u és v között k-nál nem hosszabb irányított út Súlyozás: w I (u, v) = (k–2),ha u-ból v elérhető k–2 vagy kevesebb lépésben (k–1),ha u-ból v elérhető k–1 lépésben, de kevesebb lépésben nem k,ha u-ból v elérhető k lépésben, de kevesebb lépésben nem 6

7 Indexépítés algoritmusa 3. Indexgráf éleinek meghatározása k–2 (vagy rövidebb), k–1 és k hosszú utak keresése egyszerű szélességi bejárással Élek, címkézés megvalósítása Akkor hatékony, ha G ritka gráf és S csúcslefedés kis méretű I indexgráf: k = 3 7

8 k ugrással elérhetőség lekérdezése Input: ▫ G gráf ▫ I k-elérés index ▫ s, t G-beli csúcsok Output: ▫ logikai érték: elérhető-e s-ből t legfeljebb k lépésben? Az algoritmus egy 4 ágú esetszétválasztás 8

9 k ugrással elérhetőség lekérdezése 1. eset: s,t ∈ S ha van s → I t él I -ben, akkor válasz = igaz különben válasz = hamis Pl.:(b, g) ⇒ igaz (b, i) ⇒ hamis I:I: G: k = 3 9

10 k ugrással elérhetőség lekérdezése 2. eset: s ∈ S, t ∉ S ha van olyan v él G-ben, v → G t, melyre s → I v és w I (s, v) ≤ (k – 1), akkor válasz = igaz különben válasz = hamis s... v S t k – 1 k 10 G GG I

11 k ugrással elérhetőség lekérdezése 3. eset: s ∉ S, t ∈ S ha van olyan v él G-ben, s → G v, melyre v → I t és w I (v, t) ≤ (k – 1), akkor válasz = igaz különben válasz = hamis v... t S s k – 1 k 11 I G GG

12 k ugrással elérhetőség lekérdezése 4. eset: s,t ∉ S ha van olyan u és v él G-ben, s → G u, v → G t, melyekre u → I v és w I (u, v) ≤ (k – 2), akkor válasz = igaz különben válasz = hamis u... v S s k – 2 k t 12 G GG G I

13 Index létrehozásának költsége Időigény: ▫ 2-közelítő minimális csúcslefedés: O(m + n) ▫ I gráf készítése: O(Σ u ∈ S |G k (u)|)  ahol G k (u) az u-ból k lépésben elérhető csúcsok halmaza G-ben  Párhuzamosítható Memóriaigény: O(m + n) 13

14 k ugrással elérhetőség lekérdezésének műveletigénye 1. eset: s,t ∈ S ▫ O(log kifok(s, I )) 2. eset: s ∈ S, t ∉ S ▫ O(kifok(s, I ) + befok(t, G) 3. eset: s ∉ S, t ∈ S ▫ O(kifok(s, G) + befok(t, I )) 4. eset: s,t ∉ S ▫ O(Σ u ∈ kiSzomszéd(s, G) (kifok(u, I ) + befok(t, G))) 14

15 Index létrehozásának ideje (ms) Elérhetőség vizsgálata – összehasonlítás más indexekkel Adatbázisn-elérésPTree3-hopGRAILPWAH AgroCyc27.71129.14-10.864.40 aMaze18.09476.699598212.927.01 Anthra24.08123.43-10.743.90 ArXiv352.516319.66-10.58111.00 CiteSeer245.46403.354432816.0493.26 Ecoo26.70129.74-10.884.47 GO106.84110.83119146.5019.57 Human67.78397.05-41.456.71 Kegg21.01537.17-2.926.77 Mtbrv20.2498.13-7.923.86 Nasa57.9362.22137394.5110.54 PubMed166.23437.167324311.6370.63 Vchocyc19.7797.34-7.604.00 Xmark44.50136.87682194.9611.53 YAGO32.47282.4550069.4736.49 15

16 Index mérete (MB) Elérhetőség vizsgálata – összehasonlítás más indexekkel Adatbázisn-elérésPTree3-hopGRAILPWAH AgroCyc0.390.29-0.190.44 aMaze0.130.095.410.060.22 Anthra0.360.29-0.190.42 ArXiv1.610.38-0.092.46 CiteSeer3.170.450.200.163.08 Ecoo0.400.29-0.190.43 GO1.280.200.110.100.63 Human1.170.89-0.591.25 Kegg0.160.08-0.060.23 Mtbrv0.290.22-0.150.34 Nasa0.660.130.060.090.40 PubMed2.030.500.290.142.80 Vchocyc0.280.22-0.140.33 Xmark0.490.130.430.090.45 YAGO0.480.220.090.100.96 16

17 Teljes futási idő (ms) Elérhetőség vizsgálata – összehasonlítás más indexekkel Adatbázisn-elérésPTree3-hopGRAILPWAH AgroCyc5.5017.74-135.1415.68 aMaze14.3920.6828404.202982.6139.71 Anthra5.3917.66-121.1214.92 ArXiv87.8675.28-2032.96311.55 CiteSeer115.6458.281225.25268.33339.23 Ecoo5.4717.73-154.4115.77 GO27.0035.77455.83113.4659.10 Human5.9528.48-300.2313.35 Kegg16.2722.51-4030.8944.52 Mtbrv5.4717.48-104.1516.12 Nasa18.2623.62359.1664.2743.94 PubMed39.31103.441198.70239.40368.44 Vchocyc5.4917.72-103.2316.13 Xmark14.4922.02491.44245.1169.78 YAGO106.2542.32705.09116.43137.09 17

18 Összefoglalás A k-elérés index használható mind k ugrással elérhetőség, mind elérhetőség (k = ∞ ) vizsgálatára A k ugrással elérhetőség megválaszolására tudomásunk szerint a k-elérés index az egyetlen alkalmas index Elérhetőségi vizsgálatok esetén a k-elérés index hatékonyabb, mint az általánosan használt indexek 18


Letölteni ppt "Adott hosszúságú utak létezése gráfban avagy k ugrással elérhetőség vizsgálata, k-elérés index Forráscikk: „K-Reach: Who is in Your Small World” Szerzők:"

Hasonló előadás


Google Hirdetések