1 / 37

Seminar Indizieren und Anfragen von Graphen in Datenbanken WS 2007/2008

Seminar Indizieren und Anfragen von Graphen in Datenbanken WS 2007/2008. Thema Transitive Hülle mit geometrischem Ansatz Habib Muhammad Shakhawat shakhawa@informatik.hu-berlin.de. Transitive Hülle mit geometrischem Ansatz. Übersicht Motivation Ziel definieren Mögliche Probleme

winka
Download Presentation

Seminar Indizieren und Anfragen von Graphen in Datenbanken WS 2007/2008

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SeminarIndizieren und Anfragen von Graphen in DatenbankenWS 2007/2008 Thema Transitive Hülle mit geometrischem Ansatz Habib Muhammad Shakhawat shakhawa@informatik.hu-berlin.de

  2. Transitive Hülle mit geometrischem Ansatz • Übersicht • Motivation • Ziel definieren • Mögliche Probleme • Graphentheoretische Definitionen • Kurzer Überblick in bisherige Lösungen • Vorschlag mit geometrischem Ansatz • Leistungsvergleich

  3. Transitive Hülle mit geometrischem AnsatzMotivation • Hauptaufgabe einer Datenbank besteht darin die Beziehungen zwischen verschiedene Datenobjekte zu finden und analysieren. • Daten als gerichteter Graph • Bio-Informatik • Semantic Web • Computer Vision • usw.

  4. Transitive Hülle mit geometrischem AnsatzMotivation • u und v sind zwei Datenobjekte Stehen u und v in einer Beziehung ?

  5. Transitive Hülle mit geometrischem AnsatzZielformulierung • Gegeben • Ein gerichteter Graph G = (V,E) • u, v  V • Ziel: Schnelle Antwort auf der Frage Gibt es einen Pfad von u nach v in G?

  6. Transitive Hülle mit geometrischem AnsatzWo sind die Probleme ? • Erreichbarkeitsinformation über den gesamten Graph notwendig • Reale Graphen sind groß • Preprocessing notwendig • Höhe Speicher- und Zeitbedarf

  7. Graph: Ein Graph G=(V,E) besteht aus eine endliche Menge von Knoten V und Kanten E . 0 0 1 1 2 2 4 4 3 3 • Gerichtet Transitive Hülle mit geometrischem AnsatzEinige Definitionen • Ungerichtet G

  8. Transitive Hülle mit geometrischem AnsatzEinige Definitionen • Pfad: Ein Weg indem kein Knoten mehrfach vorkommt. 0 0 0 • Kreis: Ein geschlossener Kantenzug, in dem kein Knoten mehrfach vorkommt. 1 1 1 2 2 2 • Starke Zusammenhangskomponente (SZK): Für jede bel. u und v in V gilt: es ex. ein Pfad aus u nach v in G. 4 4 4 3 3 3 5

  9. Transitive Hülle mit geometrischem AnsatzEinige Definitionen • Transitive Hülle: H(G)=(V, E´) ist transitive Hülle von G=(V, E) gdw. E´={(u,v)|u,vV und Pfad von v nach w in E} 0 1 2 Nach  Von  4 3 n x n Erreichbarkeitsmatrix

  10. Transitive Hülle mit geometrischem AnsatzEinige Definitionen • Problematik bei Transitive Hülle • Sehr hoher Zeitaufwand bei der Berechnung • Warshall • Sehr hoher Speicherbedarf • Worst-Case

  11. a b c d e f Transitive Hülle mit geometrischem AnsatzKurzer Überblick: Bisherige Lösungen • 2-hop cover (Cohen et al, 2002) • Pfade als Konkatenation je zweier Pfadteilstücke zu repräsentieren • Teilstücke werden an so genannten Hop – Knoten zusammengefügt C = Hop-Knoten

  12. a b c d e f Transitive Hülle mit geometrischem AnsatzKurzer Überblick: Bisherige Lösungen • Beispiel: 2-hop cover ⋈ = cin cout Überdeckte Kanten in TC

  13. Transitive Hülle mit geometrischem AnsatzKurzer Überblick: Bisherige Lösungen • Vorteil: 2-Hop Cover • Statt der ganzen transitiven Hülle speichert man nur die Pfade zu den Hop-Knoten • Größe der 2-hop cover ist kleiner als die Transitive Hülle • Antwortzeiten sind konstant

  14. Transitive Hülle mit geometrischem AnsatzKurzer Überblick: Bisherige Lösungen • Nachteile: 2-Hop Cover • Transitive Hülle muss vor der Überdeckung durch Hop-Knoten zunächst vollständig materialisiert werden • Transitive Hülle als Grundmenge für 2-hop cover • Schlechte Laufzeit bei der Berechnung der Hop-Knoten

  15. Transitive Hülle mit geometrischem AnsatzKurzer Überblick: Bisherige Lösungen Beispiel: Konstruktionszeit und Speicherbedarf Eingabe: Ein Teilgraph von DBLP mit 344,992,370 Verbindungen System: SUN-Fire 15000 mit 64 Prozessoren und 180 GB RAM Große 2-hop cover: 1,289,930 Einträge Speicherverbrauch: 80 GB RAM Zeit: 45 Stunden und 23 Minuten

  16. Transitive Hülle mit geometrischem AnsatzKurzer Überblick: Bisherige Lösungen • Wünschenswert • Ohne aufwendige Berechnung der Transitive Hülle auszukommen • Möglich viele Informationen im Speicher halten

  17. Transitive Hülle mit geometrischem AnsatzMaxCardinality-G (Cheng et al.) • Wünsche werden erfüllt durch geometrischen Ansatz nach Cheng et al. • Berechnung der Transitive Hülle nicht otwendig • Bestimmung der 2-Hop Cover durch Rechteckoperationen • Visualisierung der Erreichbarkeitsmatrix durch Rechtecke in einem 2-dim. Gitter

  18. Transitive Hülle mit geometrischem AnsatzMaxcardinality-G (Cheng et al.) • Gegeben: Ein gerichteter Graph G • Maxcardinatily-G berechnet 2-Hop Cover in 3 Schritten • Konstruiere aus G einen gerichteten kreisfreien Graph G • Bestimme 2-Hop Cover für G • Bestimme 2-Hop Cover für G aus dem 2-Hop Cover von G

  19. Transitive Hülle mit geometrischem AnsatzMaxcardinality-G: Konstruktion eines kreisfreien Graph • Finde alle starken Zusammenhangs-komponenten (SZK) in G. 0 3 7 12 8 • Ersetze SZK mit einen zufällig ausgesuchten Knoten v´aus dem SZK • Füge alle ein- und ausgehende Kanten von SZK zu v´hin. 4 10 6 5 9 1 11 G G

  20. 0 3 12 8 4 5 1 9 11 Transitive Hülle mit geometrischem AnsatzMaxcardinality-G: Konstruktion eines kreisfreien Graph Vorteile: • G hat weniger Knoten und Kanten als G (ausgenommen, G hat keine SZK) • Mit zunehmender Kantenanzahl steigt die Wahscheinlichkeit der SZK • Je mehr SZK desto kleiner ist G • Alle Knoten in einem SZK haben den selben Hop-Knoten. • Vermeidung unnötiger Berechnungen G

  21. Transitive Hülle mit geometrischem AnsatzMaxcardinality-G: Intervall Labeling [1,9] 9 0 • Gwird zerlegt in • Spannenden Baum T • Nicht-Baumkanten EN • Jeder Knoten v in T • bekommt min. ein Intervall [s, e] • e: Postorder Nummer des Knotens • Vergabe bei Postorder Traversal • s: Kleinste Postorder Nummer seiner Nachfolger [1,6] 6 8 3 7 [2,2] 12 8 2 [7,7] [8,8] 4 5 5 [3,5] 1 1 [1,1] 9 4 [3,4] 11 [3,3] G 3

  22. Transitive Hülle mit geometrischem AnsatzMaxcardinality-G: Intervall Labeling • Nicht-Baumkanten EN • Ist u, v  EN, so bekommt u alle Intervalle von v und alle Vorgänger von u ebenso • Intervalle können zusammengefügt werden • .z.B. [5, 9] und [10,15] zusammengefügt in [5, 15] • Falls ein Intervall in einem Anderen enthalten ist, kann eliminiert werden [1,9] 9 0 [1,6] 6 8 3 7 [2,2] 12 [1,1] 8 2 [3,3] [7,7] [8,8] 4 5 [3,3] 5 [3,5] [1,1] 1 1 [1,1] [3,3] 9 4 [3,4] 11 [3,3] 3 G

  23. Transitive Hülle mit geometrischem AnsatzMaxcardinality-G: Reachability Table • Konstruiere aus G (V, E) einen zusätzlichen Graph G (V, E), so dass • | V|=| V| • (v, u) ist eine Kante in E, falls (u, v) eine Kante in E ist • Berechne Postorder Nr. und die Intervall Labels für G • Speichere die Informationen in einer Reachability Table

  24. Transitive Hülle mit geometrischem AnsatzMaxcardinality-G: Reachability Table 11 0 9 3 1 12 8 4 5 5 4 8 1 12 3 9 0 11 G G

  25. Transitive Hülle mit geometrischem AnsatzMaxcardinality-G: Reachability Map • Virtuelle Darstellung der Reachability Table als Reachability Map M durch n x n Gitter • x-Achse: Postorder Nr. in G • y-Achse: Postorder Nr. in G

  26. Transitive Hülle mit geometrischem AnsatzMaxcardinality-G: Reachability Map Beispiel: po(9) ∈ I(5)  M(4,6)=true • Wenn po(w)  I(v), dann M(po(w), po(v))=true x

  27. Transitive Hülle mit geometrischem AnsatzMaxcardinality-G: Reachability Map • Funktion f zuordnet jedes Knotenpaar u, v in Gin einer Zelle (x(v), y(u)) in M, wobei • x(w)=po(w) • po: Postorder Nr. in G • y(w)=po(w) • po: Postorder in G • f(u,v) = 1, falls v aus u erreichbar ist, sonst 0 Erreichbarkeit: aus 3 zu 9 f(3,9)=(x(9),y(3))=(4,5)=1 x

  28. Transitive Hülle mit geometrischem AnsatzMaxcardinality-G: Algorithmus • Algorithmus • Schritt 1: Suche max. Fläche • Von Knoten w • Noch nicht überdeckt • Schritt 2: • w wird neuer Hop-Knoten • Erzeuge 2-Hop Labeling für w • Speichere w als Hop-Knoten • Schritt 3: • Weiter mit Schritt 1, solange w noch vorhanden ist.

  29. Transitive Hülle mit geometrischem AnsatzMaxcardinality-G: Algorithmus • Konstruktion: Recheck für w als Hop-Knoten Beispiel: w=1 I(1)=((s1, e1)=[1,1]), (s2, e2)=[3,3]) I(1)=(s1´, e1´)=[1,5] Bilde die Rechtecke durch kombinationen aus I(w) und I(w). Rechtecke: ((s1, s1´), (e1, e1´))=((1,1), (1,5)) ((s2, s1´), (e2, e1´))=((3,1), (3,5))

  30. Transitive Hülle mit geometrischem AnsatzMaxcardinality-G: Rechteckoperationen • Rect(BC1  BC2) = Rect(BC1)  Rect(BC2) • Rect(BC1  BC2) = Rect(BC1)  Rect(BC2) • Rect(BC1 − BC2) = Rect(BC1) − Rect(BC2)

  31. Transitive Hülle mit geometrischem AnsatzMaxcardinality-G: Algorithmus • Algorithmus • Schritt 1: Suche max. Fläche • Von Knoten w • Noch nicht überdeckt • Schritt 2: • w wird neuer Hop-Knoten • Erzeuge 2-Hop Labeling für w • Speichere w als Hop-Knoten • Schritt 3: • Weiter mit Schritt 1, solange w noch vorhanden ist.

  32. Transitive Hülle mit geometrischem AnsatzMaxcardinality-G: Algorithmus

  33. Transitive Hülle mit geometrischem AnsatzMaxcardinality-G: Algorithmus • Gefundene 2-hop cover 0 3 12 8 4 5 1 9 In Out 11 2-hop cover

  34. Transitive Hülle mit geometrischem AnsatzLeistungsvergleich • Messung am generierten und reale Daten Cohen´s Algorithmus gegen Cheng´s Cohen Cheng Fazit: Gefundene 2-hop cover sind ähnlich

  35. Transitive Hülle mit geometrischem AnsatzLeistungsvergleich • Messung am generierten und reale Daten Cohen´s Algorithmus gegen Cheng´s Cohen Cheng Fazit: Cheng´s Algorithmus ist schneller als Cohen´s

  36. Transitive Hülle mit geometrischem AnsatzLiteratur • Cheng, J., Yu, J.X., Lin, X., Wang, H. & Yu, P.S. Fast Computation of Reachability Labeling for Large Graphs. EDBT Conference 2006 • R. Agrawal, A. Borgida, and H. V. Jagadish. Efficient management of transitive relationships in large data and knowledge bases. In Proc. of SIGMOD’89, 1989. • E. Cohen, E. Halperin, H. Kaplan, and U. Zwick. Reachability and distance queries via 2-hop labels. In Proc. of SODA’02, 2002

  37. Transitive Hülle mit geometrischem Ansatz Fragen ? Danke für die Aufmerksamkeit

More Related