Streaming Algorithms for k-core Decomposition. K-mag dekompozíció Maximális részgráf, amiben minden csúcshoz legalább k részgráfbeli csúcs csatlakozik.

Slides:



Advertisements
Hasonló előadás
A Floyd-Warshall algoritmus
Advertisements

Készítette: Kosztyán Zsolt Tibor
Tranzitív lezárt és Warshall algoritmus
Illés Tibor – Hálózati folyamok
Gazdi László – mérnök informatikus Bsc. Tipikus viselkedési minták felismerése Bsc. Önálló labor téma Készítette: Gazdi László Konzulens:
Erősen összefüggő komponensek meghatározása
DAG topologikus rendezése
Szélességi bejárás Párhuzamosítása.
Szélességi bejárás , 0.
Gráf Szélességi bejárás
Ág és korlát algoritmus
Objektum osztályozás Képfeldolgozás 2. Blaskovics Viktor, Hantos Norbert, Papp Róbert Sándor.
Készítette: Pető László
AVL fák.
A digitális számítás elmélete
Számoljuk meg rekurzív függvénnyel egy bináris fa leveleit!
1. Univerzális nyelő Csúcsmátrixos ábrázolás esetén a legtöbb gráfalgoritmus futási ideje O(n2) azonban van kivétel. Egy irányított gráf egy csúcsa univerzális.
DAG topologikus rendezés
Trajectori Adatok feldolgozása DirectionPreserving Trajectory Simplification (Cheng Long, Raymond ChiWing Wong, H. V. Jagadish) Forrás: Készítette: Béleczki.
Régióközi tudáshálózatok minőségének hatása a kutatási teljesítményre Sebestyén Tamás és Varga Attila.
Készítette: Kosztyán Zsolt Tibor
Kvantitatív módszerek
Dijkstra-algoritmus ismertetése
GRÁFELMÉLET Alapfogalmak 1..
Gráf Szélességi bejárás/keresés algoritmusa
GRÁFELMÉLET.
Fák.
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:
Nevezetes algoritmusok: Fa megvalósítása Készítette: Várkonyi Tibor Zoltán.
Gráfok 1. Szlávi Péter ELTE IK Média- és Oktatásinformatika Tanszék
Előadó: Nagy Sára Mesterséges intelligencia Kereső rendszerek.
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.
1 Dijkstra Algoritmusa Györgyi Tamás – GYTNAAI.ELTE 2007 Április 02 Algoritmusok És Adatszerkezetek 2 Gráfalgoritmus S a b c d e
Programozás I. Típus algoritmusok
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.
Business Mathematics A legrövidebb út.
A legrövidebb útkeresés relációs megközelítése nagyméretű gráfokban
Algoritmus és adatszerkezet Tavaszi félév Tóth Norbert1 Floyd-Warshall-algoritmus Legrövidebb utak keresése.
Bellmann-Ford Algoritmus
GRÁFOK Definíció: Gráfnak nevezzük véges vagy megszámlálhatóan végtelen sok pont és azokat összekötő szintén véges vagy megszámlálhatóan végtelen sok.
Gráfok ábrázolása teljesen láncoltan
Szélességi bejárás. Feladat  Szélességi bejárás módszerrel menjünk végig egy tetszőleges gráfon.  Kikötés: A gráf egyszerű, azaz hurok- és többszörös.
Útkeresések.
Projektmenedzsment gráf általában súlyozott irányított
Bináris kereső fák Itterátorok.
Diszjunkt halmazok adatszerkezete A diszjunkt halmaz adatszerkezet diszjunkt dinamikus halmazok S={S 1,…,S n } halmaza. Egy halmazt egy képviselője azonosít.
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.
Algoritmusok és adatszerkezetek
Gráfalgoritmusok Szélességi bejárás.
Szélességi bejárás Gráf-algoritmusok Algoritmusok és adatszerkezetek II. Gergály Gábor WZBNCH1.
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ő.
Dijkstra algoritmus. Egy minimális költségű utat keres élsúlyozott gráfban A gráf lehet irányított vagy irányítás nélküli Feltétele, hogy pozitív élsúlyok.
Gráf Szélességi bejárás Készítette: Giligor Dávid Neptun : HSYGGS.
PhD beszámoló 2003/2004 I. félév Készítette: Iváncsy Renáta Konzulens: Dr. Vajk István.
Eötvös Konferencia, 2008 április 26. Kovács Máté 1 Útkeresések optimalizálása számítógépes játékokban.
Algoritmus DAG = irányított körmentes gráf. Először ezt a tulajdonságot ellenőrizzük (mélységi bejárással), aztán rendezzük: Q: Sor adatszerkezet, kezdetben.
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.
Kvantitatív módszerek
Hálózatok: új nyelv a tudományban Lovász László Eötvös Loránd Tudományegyetem
Gráfalgoritmusok Tassy Gergely Veres Péter Gimnázium, Budapest június 30.
BFák Kiegyensúlyozott keresőfák
Gráfalgoritmusok G=(V,E) gráf ábrázolása
Gráfok - 1 Definíció: Irányított gráf (digráf) G=(V,E) rendezett pár.
Gráfalgoritmusok G=(V,E) gráf ábrázolása
2-3-fák A 2-3-fa egy gyökeres fa az alábbi tulajdonságokkal:
Algoritmusok és Adatszerkezetek I.
Absztrakt problémák Q  I  S, az absztrakt probléma kétváltozós reláció az esetek (I) és a megoldások (S) halmazán Példa: legrövidebb út Eset: gráf és.
Előadás másolata:

Streaming Algorithms for k-core Decomposition

K-mag dekompozíció Maximális részgráf, amiben minden csúcshoz legalább k részgráfbeli csúcs csatlakozik Gyakori használat nagyméretű hálózatok elemzésében Közösségek detektálás Fehérjék viselkedésének becslése NP problémák Első inkrementális k-mag dekompozíció (gráfadatfolyam alapján) Él változásra olyan részgráfot keres, aminek a maximális k magját érintheti a változás Időbeli gyorsítás: 16 M csúcsú gráf esetén milliós nagyságrendű gyorsítás 2

Motiváció és kihívások Dinamikus gráfok a gyakorlatban Folyamatosan él mozgatás (törlés, beszúrás) Szociális hálózatok (felhasználók/kapcsolatok) Time window K-mag alkalmazások: Összefüggő komponensek Közösség detektálás Kihívások: Maximális részgráf keresése a megadott feltétellel Hatékony frissítési algoritmus 3

Matematikai háttér (1) G=(V,E) súlyozatlan, irányítatlan gráf H=(V’, E’) G egy részgráfja; δ(H) minimális fokszám 4

Matematikai háttér (2) 5 Azon részgráf bejárása, ahol a K értékek megegyeznek valamint a gyökérből elérhető. Széles csúcshalmaz bejárása is előfordulhat

Inkrementális algoritmusok Három algoritmus: 1) Subcore 2) Purecore 3) Traversal Él beszúrás, törlés esetén frissítést végez Folyamatos keresési tér csökkentés 6

Subcore algoritmus 4. tétel alapján frissíti K értékeit él beszúrás vagy törlés esetén Szélességi bejárás a gyökértől (findSubcore) Él beszúrása/törlése (InsertEdge/RemoveEdge) 7

SubCore feltárása 8

SubCore – él beszúrás 9

Purecore algoritmus Előbbi algoritmus a K értékekre hagyatkozott a részgráf megtalálásához További adatokat is vizsgál, ezzel csökkenti a keresési teret 10

PureCore megtalálása 11

SubCore – PureCore hasonlóság PureCore csökkenti a feltárandó csúcsok számát él beszúráskor. SubCore – élbeszúrás <- FindPureCore Él törlésekor ez a módosítás nem lehetséges 12

Traversal algoritmus Tovább csökkenti a keresési teret Ennek eléréséhez: MCD értékek hatékonyabb számolása (lassabb SubCore-nál egyes esetekben) MCD értékek tárolása (nincs újraszámolás, csak frissítés) MCD + PCD = RCD (Residential Core Degree) 13

Traversal algoritmus 14

Traversal – gyökér figyelés Beszúrás/törlés: gyökér csúcs K értékének is változnia kell Ha K(u)≥PCD(u): nincs további munka CD értékek számolása Mélységi bejárás 15

Összehasonlítás 16

Implementációs részletek Lusta kiértékelésű tömbök (Lazy arrays) Hash map (ritka tömbök) Konstans kereséssel jelentős gyorsulás Feldolgozandó csúcsok növekedésekor nem hatékony A legtöbb esetben használatos Bucket rendezés Subcore, Purecore: CD értékek rendezése Legroszabb eset: részgráf legalább akkora, mint maga a gráf Hatékony rendezés ebben az esetben O(N) rendezés, O(1) elérés 17

Tesztelés gráfokon - generált 18 ER: Erdős-Rényi modellen alapuló gráf: p = 0.1; |E|/|V| = 8 BA: Barabási-Albert modellen alapuló gráf 1 csúcs beszúrás – 11 él RMAT: R-MAT generátor: [0.45; 0.25; 0.20; 0.10] valószínűségekkel

Tesztelés gráfokon - valós 19

Él beszúrás/törlés - gyorsulás 20

SubCore speed up 21

Grafikonos összehasonlítás 22

Traversal – átlagos futási idő 23

Kapcsolódó munkák Több kapcsolódó tanulmány Alapok: Seidman, Batagelj tanulmányai Irányított, súlyozott hálózatok Inkrementális algoritmusról tanulmányok nincsenek Egyedülálló tanulmány minden tekintetben 24

Fejlesztési lehetőségek További információtárolás az egyes csúcsokról 2 hop helyett 3-4 hop Élek beszúrása/törlése párhuzamosan Asszimptotikus korlát 25

Tényleges implementáció 3 algoritmus C++ Boost Map Design nélkül 26

Konklúzió K-mag dekompozíció Kulcs tulajdonság: Inkrementális jelleg Gyors törlés, beszúrás Teljes gráf bejárás nélkül Futási idő jelentős csökkenése 27