Transitive Hülle mit geometrischem Ansatz

Slides:



Advertisements
Ähnliche Präsentationen
Christian Scheideler SS 2009
Advertisements

Programmierung 1 - Repetitorium WS 2002/2003 Programmierung 1 - Repetitorium Andreas Augustin und Marc Wagner Homepage:
Algebraische Zahlen: Exaktes Rechnen mit Wurzeln
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil3.
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Graphen Ein Graph ist eine Kollektion von Knoten und Kanten. Knoten sind einfache Objekte. Sie haben Namen und können Träger von Werten, Eigenschaften.
Indizierung von Graphen durch häufige Subgraphen (2)
Das LCA – Problem in Suffixbäumen
WS Prof. Dr. Th. Ottmann Algorithmentheorie 09 - Suche in Texten KMP, BM.
Default Logiken Zhao Li
Manfred Thaller, Universität zu Köln Köln 22. Januar 2009
Einführung in die Informationsverarbeitung Teil Thaller Stunde VI: Wege und warum man sie geht Graphen. Manfred Thaller, Universität zu Köln Köln.
Verifizieren versus Berechnen
Algorithmen und Komplexität
Algorithmentheorie 04 –Hashing
Suche in Texten: Suffix-Bäume
WS Algorithmentheorie 02 - Polynomprodukt und Fast Fourier Transformation Prof. Dr. Th. Ottmann.
WS Algorithmentheorie 05 - Treaps Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (17 – Bäume: Grundlagen und natürliche Suchbäume) Prof. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (21 – Kürzeste Wege) T. Lauer.
WS Prof. Dr. Th. Ottmann Algorithmentheorie 09 - Suche in Texten Suffix - Bäume.
Geometrisches Divide and Conquer
© 2006 W. Oberschelp, G. Vossen Rechneraufbau & Rechnerstrukturen, Folie 2.1.
Seminar parallele Programmierung SS 2003
Grundkurs Theoretische Informatik, Folie 2.1 © 2006 G. Vossen,K.-U. Witt Grundkurs Theoretische Informatik Kapitel 2 Gottfried Vossen Kurt-Ulrich Witt.
© Karin Haenelt 2006, Operationen auf Akzeptoren und Transduktoren, ( ) 1 Operationen auf endlichen Akzeptoren und Transduktoren.
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil2.
Betreuerin: Kathleen Jerchel
Christian Schindelhauer
AC Analyse.
Normalformen Normalisieren Schlüssel
6 Normalformen Normalisieren Schlüssel
Minimum Spanning Tree: MST
Inhalte und Maßnahmen eingegeben haben,
Ralf KüstersDagstuhl 2008/11/30 2 Ralf KüstersDagstuhl 2008/11/30 3.
1. 2 Schreibprojekt Zeitung 3 Überblick 1. Vorstellung ComputerLernWerkstatt 2. Schreibprojekt: Zeitung 2.1 Konzeption des Kurses 2.2 Projektverlauf.
Vortrag über Graphen Von Jörg Hendricks.
Bild 1.1 Copyright © Alfred Mertins | Signaltheorie, 2. Auflage Vieweg+Teubner PLUS Zusatzmaterialien Vieweg+Teubner Verlag | Wiesbaden.
20:00.
Diskrete Mathe 9 Vorlesung 9 SS 2001
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Materialien zum Informatikunterricht (Pohlig-Häberle)
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Effiziente Algorithmen
Syntaxanalyse Bottom-Up und LR(0)
Diskrete Mathematik II
Diskrete Mathematik II
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Christian Scheideler Institut für Informatik Universität Paderborn
Algorithmus von Dijkstra. 0 Algorithmus von Dijkstra s Priority Queue PQ: Knoten, Priorität Weglänge Kandidatenmenge.
Vorlesung Mai 2000 Konstruktion des Voronoi-Diagramms II
Managemententscheidungsunterstützungssysteme (Ausgewählte Methoden und Fallstudien) ( Die Thesen zur Vorlesung 3) Thema der Vorlesung Lösung der linearen.
LOD Levels of Detail Oliver Gassner Christian Troger.
1 (C)2006, Hermann Knoll, HTW Chur, FHO Quadratische Reste Definitionen: Quadratischer Rest Quadratwurzel Anwendungen.
Analyseprodukte numerischer Modelle
Schutzvermerk nach DIN 34 beachten 20/05/14 Seite 1 Grundlagen XSoft Lösung :Logische Grundschaltung IEC-Grundlagen und logische Verknüpfungen.
Vortrag von Rechtsanwältin Verena Nedden, Fachanwältin für Steuerrecht zur Veranstaltung Wege zum bedingungslosen Grundeinkommen der Piratenpartei Rhein-Hessen.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Ertragsteuern, 5. Auflage Christiana Djanani, Gernot Brähler, Christian Lösel, Andreas Krenzin © UVK Verlagsgesellschaft mbH, Konstanz und München 2012.
Analyse der Laufzeit von Algorithmen
SAP Seminar 2007 Organisationsobjekte anlegen
1 Medienpädagogischer Forschungsverbund Südwest KIM-Studie 2014 Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
Monatsbericht Ausgleichsenergiemarkt Gas – Oktober
Minimal spannende Bäume
 Präsentation transkript:

Transitive Hülle mit geometrischem Ansatz 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 Graphentheoretische Definitionen Kurzer Überblick in bisherige Lösungen Vorschlag mit geometrischem Ansatz Leistungsvergleich

Transitive Hülle mit geometrischem Ansatz Motivation 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.

Transitive Hülle mit geometrischem Ansatz Motivation u und v sind zwei Datenobjekte Stehen u und v in einer Beziehung ?

Transitive Hülle mit geometrischem Ansatz Zielformulierung 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?

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

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

Transitive Hülle mit geometrischem Ansatz Einige Definitionen Pfad: Ein Weg indem kein Knoten mehrfach vorkommt. 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

Transitive Hülle mit geometrischem Ansatz Einige Definitionen 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} 1 2 Nach  1 Von  4 3 n x n Erreichbarkeitsmatrix

Transitive Hülle mit geometrischem Ansatz Einige Definitionen Problematik bei Transitive Hülle Sehr hoher Zeitaufwand bei der Berechnung Warshall Sehr hoher Speicherbedarf Worst-Case

2-hop cover (Cohen et al, 2002) Transitive Hülle mit geometrischem Ansatz Kurzer Ü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 a b c d e f C = Hop-Knoten

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

Transitive Hülle mit geometrischem Ansatz Kurzer Ü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

Transitive Hülle mit geometrischem Ansatz Kurzer Ü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

Transitive Hülle mit geometrischem Ansatz Kurzer Ü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

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

Wünsche werden erfüllt durch geometrischen Ansatz nach Cheng et al. Transitive Hülle mit geometrischem Ansatz MaxCardinality-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

Gegeben: Ein gerichteter Graph G Transitive Hülle mit geometrischem Ansatz Maxcardinality-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

Finde alle starken Zusammenhangs-komponenten (SZK) in G. Transitive Hülle mit geometrischem Ansatz Maxcardinality-G: Konstruktion eines kreisfreien Graph Finde alle starken Zusammenhangs-komponenten (SZK) in G. 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

Transitive Hülle mit geometrischem Ansatz Maxcardinality-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 12 3 8 4 1 5 11 9 G

Gwird zerlegt in Jeder Knoten v in T G Transitive Hülle mit geometrischem Ansatz Maxcardinality-G: Intervall Labeling [1,9] 9 [1,6] 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 6 3 8 7 [2,2] 12 8 2 4 [7,7] [8,8] 5 5 [3,5] 1 1 [1,1] 4 9 [3,4] 11 [3,3] G 3

Nicht-Baumkanten EN G Transitive Hülle mit geometrischem Ansatz Maxcardinality-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 [1,6] 6 3 8 7 [2,2] [1,1] 12 8 2 4 [3,3] [7,7] [8,8] 5 5 [3,3] [3,5] 1 [1,1] 1 [1,1] [3,3] 4 9 [3,4] 11 [3,3] 3 G

Berechne Postorder Nr. und die Intervall Labels für G Transitive Hülle mit geometrischem Ansatz Maxcardinality-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

Transitive Hülle mit geometrischem Ansatz Maxcardinality-G: Reachability Table 11 9 3 12 1 8 4 5 5 4 8 1 3 12 9 11 G G

Transitive Hülle mit geometrischem Ansatz Maxcardinality-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

Wenn po(w)  I(v), dann M(po(w), po(v))=true Transitive Hülle mit geometrischem Ansatz Maxcardinality-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

f(u,v) = 1, falls v aus u erreichbar ist, sonst 0 Transitive Hülle mit geometrischem Ansatz Maxcardinality-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

Algorithmus Schritt 1: Suche max. Fläche Schritt 2: Schritt 3: Transitive Hülle mit geometrischem Ansatz Maxcardinality-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.

Konstruktion: Recheck für w als Hop-Knoten Transitive Hülle mit geometrischem Ansatz Maxcardinality-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))

Rect(BC1  BC2) = Rect(BC1)  Rect(BC2) Transitive Hülle mit geometrischem Ansatz Maxcardinality-G: Rechteckoperationen Rect(BC1  BC2) = Rect(BC1)  Rect(BC2) Rect(BC1  BC2) = Rect(BC1)  Rect(BC2) Rect(BC1 − BC2) = Rect(BC1) − Rect(BC2)

Algorithmus Schritt 1: Suche max. Fläche Schritt 2: Schritt 3: Transitive Hülle mit geometrischem Ansatz Maxcardinality-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.

Transitive Hülle mit geometrischem Ansatz Maxcardinality-G: Algorithmus

Gefundene 2-hop cover In Out 2-hop cover Transitive Hülle mit geometrischem Ansatz Maxcardinality-G: Algorithmus 8 12 1 11 3 4 5 9 Gefundene 2-hop cover 3 3 5 9 8 1 12 8 12 4 5 1 9 11 In Out 2-hop cover

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

Transitive Hülle mit geometrischem Ansatz Leistungsvergleich Messung am generierten und reale Daten Cohen´s Algorithmus gegen Cheng´s Cohen Cheng Fazit: Cheng´s Algorithmus ist schneller als Cohen´s

Transitive Hülle mit geometrischem Ansatz Literatur 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

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