Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Graphensuche auf Grundlage von strukturellen Merkmalen Jonathan Hellwig 19.02.2008 Indizieren und Anfragen von Graphen in Datenbanken Silke Trißl.

Ähnliche Präsentationen


Präsentation zum Thema: "Graphensuche auf Grundlage von strukturellen Merkmalen Jonathan Hellwig 19.02.2008 Indizieren und Anfragen von Graphen in Datenbanken Silke Trißl."—  Präsentation transkript:

1 Graphensuche auf Grundlage von strukturellen Merkmalen Jonathan Hellwig Indizieren und Anfragen von Graphen in Datenbanken Silke Trißl

2 Jonathan Hellwig – Graphensuche auf Grundlage von strukturellen Merkmalen Silke Trißl - Indizieren und Anfragen von Graphen in Datenbanken 2 Gliederung Einführung Graphenanfrage Indizierung Indizierung mit Strukturmerkmalen Häufige Merkmale Diskriminierende Merkmale Konstruktion des Indizes und Suche gIndex vs. GraphGrep Diskussion

3 Jonathan Hellwig – Graphensuche auf Grundlage von strukturellen Merkmalen Silke Trißl - Indizieren und Anfragen von Graphen in Datenbanken 3 Graphen Ein Graph ist ein Tupel (V,E). Graphen eignen sich um komplexe Strukturen, wie chemische Verbindungen, soziale Netzwerke oder Verkehrsnetze darzustellen.

4 Jonathan Hellwig – Graphensuche auf Grundlage von strukturellen Merkmalen Silke Trißl - Indizieren und Anfragen von Graphen in Datenbanken 4 Arten von Graphen Es gibt verschiedene Arten von Graphen: Graphen in denen die Knoten und Kanten Label haben. Graphen in denen die Kanten eine Richtung haben. Nach ihrer Struktur: z. B. planare Graphen, Bäume, Pfade, vollständige Graphen und Chordalgraphen. Wir interessieren uns für einfache Graphen mit gelabelten Knoten.

5 Jonathan Hellwig – Graphensuche auf Grundlage von strukturellen Merkmalen Silke Trißl - Indizieren und Anfragen von Graphen in Datenbanken 5 Graphendatenbank Mit Hilfe von DB kann man Graphen effizient speichern. Als Anwender muss man sich nicht darum kümmern, wo und wie die Graphen gespeichert sind.

6 Jonathan Hellwig – Graphensuche auf Grundlage von strukturellen Merkmalen Silke Trißl - Indizieren und Anfragen von Graphen in Datenbanken 6 Beispiele für Graphen = unsere Datenbank

7 Jonathan Hellwig – Graphensuche auf Grundlage von strukturellen Merkmalen Silke Trißl - Indizieren und Anfragen von Graphen in Datenbanken 7 Subgraphen H=(W,F) ist ein Subgraph von G=(V,E) wenn: W ist eine Teilmenge von V F ist eine Teilmenge von E

8 Jonathan Hellwig – Graphensuche auf Grundlage von strukturellen Merkmalen Silke Trißl - Indizieren und Anfragen von Graphen in Datenbanken 8 Subgraphen

9 Jonathan Hellwig – Graphensuche auf Grundlage von strukturellen Merkmalen Silke Trißl - Indizieren und Anfragen von Graphen in Datenbanken 9 Graphenanfrage Eingabe: ein Graph G Ausgabe: alle Graphen der DB, die G als Subgraphen haben

10 Jonathan Hellwig – Graphensuche auf Grundlage von strukturellen Merkmalen Silke Trißl - Indizieren und Anfragen von Graphen in Datenbanken 10 Graphenanfrage

11 Jonathan Hellwig – Graphensuche auf Grundlage von strukturellen Merkmalen Silke Trißl - Indizieren und Anfragen von Graphen in Datenbanken 11 Graphenanfrage auf indizierte Datenbank Um schneller auf Graphen zuzugreifen bietet sich die Bildung eines Indizes an. Anhand der Merkmale der Graphen wird ein Index erstellt. Jeder Indexeintrag (Merkmal) enthält eine Liste der Graphen, die Indexmerkmal erfüllen.

12 Jonathan Hellwig – Graphensuche auf Grundlage von strukturellen Merkmalen Silke Trißl - Indizieren und Anfragen von Graphen in Datenbanken 12 Graphenanfrage auf indizierte Datenbank Bei einer Anfrage: Wird aus dem Index eine Kandidatenliste erstellt. Kandidatenliste ist viel kleiner und kann schneller nach dem endgültigem Ergebnis durchsucht werden.

13 Jonathan Hellwig – Graphensuche auf Grundlage von strukturellen Merkmalen Silke Trißl - Indizieren und Anfragen von Graphen in Datenbanken 13 Graphenanfrage auf indizierte Datenbank

14 Jonathan Hellwig – Graphensuche auf Grundlage von strukturellen Merkmalen Silke Trißl - Indizieren und Anfragen von Graphen in Datenbanken 14 Indizierung mit GraphGrep Indizierungsmerkmal sind Pfade. Dabei werden nicht alle Pfade gewählt, sondern nur Pfade bis zu einer bestimmten Länge.

15 Jonathan Hellwig – Graphensuche auf Grundlage von strukturellen Merkmalen Silke Trißl - Indizieren und Anfragen von Graphen in Datenbanken 15 Indizierung mit GraphGrep Vorteile: Begrenzter Indexraum. Pfade sind einfach zu manipulieren. Nachteile: Strukturelle Informationen können verloren gehen. Index sehr groß werden.

16 Jonathan Hellwig – Graphensuche auf Grundlage von strukturellen Merkmalen Silke Trißl - Indizieren und Anfragen von Graphen in Datenbanken 16 Indizierung mit GraphGrep

17 Jonathan Hellwig – Graphensuche auf Grundlage von strukturellen Merkmalen Silke Trißl - Indizieren und Anfragen von Graphen in Datenbanken 17 Gliederung Einführung Graphenanfrage Indizierung Indizierung mit StrukturmerkmalenIndizierung mit Strukturmerkmalen Häufige Merkmale Diskriminierende Merkmale Konstruktion des Indizes und Suche gIndex vs. GraphGrep Diskussion

18 Jonathan Hellwig – Graphensuche auf Grundlage von strukturellen Merkmalen Silke Trißl - Indizieren und Anfragen von Graphen in Datenbanken 18 Indizierung mit Strukturmerkmalen Indizierungsmerkmal sind Subgraphen. Vorteil: Strukturmerkmale bleiben erhalten. Nachteil: Sehr viele Subgraphen.

19 Jonathan Hellwig – Graphensuche auf Grundlage von strukturellen Merkmalen Silke Trißl - Indizieren und Anfragen von Graphen in Datenbanken 19 Indizierung mit Strukturmerkmalen Vorgestellte Methode: gIndex Es werden nicht alle Subgraphen gewählt sondern nur solche die: Häufig in der Datenbank vorkommen, d. h. in vielen Graphen der Datenbank enthalten sind. Diskriminativ in Bezug auf die schon im Index enthaltenen Merkmale sind.

20 Jonathan Hellwig – Graphensuche auf Grundlage von strukturellen Merkmalen Silke Trißl - Indizieren und Anfragen von Graphen in Datenbanken 20 Häufige Merkmale Häufige Merkmale sind solche die in vielen Graphen der Datenbank enthalten sind. Formal ausgedrückt: Für ein Merkmal (Graph) ist Sup(m) (Support) ist die Anzahl der Graphen in der DB in denen m ein Subgraph ist. minSup ist die minimale Häufigkeit, die ein Merkmal haben muss um als häufig zu gelten. Alle Graphen m mit Sup(m) minSup werden im Index aufgenommen.

21 Jonathan Hellwig – Graphensuche auf Grundlage von strukturellen Merkmalen Silke Trißl - Indizieren und Anfragen von Graphen in Datenbanken 21 Häufige Merkmale Warum häufige Merkmale? Um Indexgröße zu beschränken. (minSup = 1 oder minSup = |DB|) Vorteile bei großem minSup: Kleiner Index. Vorteile bei kleinem minSup: Kleine Kandidatenliste.

22 Jonathan Hellwig – Graphensuche auf Grundlage von strukturellen Merkmalen Silke Trißl - Indizieren und Anfragen von Graphen in Datenbanken 22 Häufige Merkmale Es könnte vorkommen, dass Graphen keine häufigen Merkmale haben und deshalb nicht vom Index überdeckt werden. Lösung: Es wird kein statisches minSup gewählt, sondern als eine monoton wachsenden Funktion abhängig von der Kantezahl der Merkmale.

23 Jonathan Hellwig – Graphensuche auf Grundlage von strukturellen Merkmalen Silke Trißl - Indizieren und Anfragen von Graphen in Datenbanken 23 Häufige Merkmale Größe des Merkmals (Zahl der Kanten) Häufigkeit des Merkmals in DB Kleine Subgraphen werden immer gewählt. Große Subgraphen werden nur gewählt, wenn sie oft vorkommen.

24 Jonathan Hellwig – Graphensuche auf Grundlage von strukturellen Merkmalen Silke Trißl - Indizieren und Anfragen von Graphen in Datenbanken 24 Häufige Merkmale

25 Jonathan Hellwig – Graphensuche auf Grundlage von strukturellen Merkmalen Silke Trißl - Indizieren und Anfragen von Graphen in Datenbanken 25 Diskriminierende Merkmale Diskriminierende Merkmale werden in Bezug auf die schon im Index enthaltenen Merkmale betrachtet. Ein Merkmal ist diskriminierend, wenn es die Graphen in der DB besser unterscheidet als die schon im Index enthaltenen Merkmale. Dadurch kann die Größe des Indizes reduziert werden.

26 Jonathan Hellwig – Graphensuche auf Grundlage von strukturellen Merkmalen Silke Trißl - Indizieren und Anfragen von Graphen in Datenbanken 26 Diskriminierende Merkmale (Formal) Seien m 1,…, m k die Subgraphen von einem Merkmal m, die bereits im Index enthalten sind. Da im Index immer der leere Graph Ø enthalten ist, gibt es mindestens ein m i. D m sind die Graphen der Datenbank, die m enthalten. Folgende Formel beschreibt wie diskriminierend ein Merkmal m ist. Alle Merkmale mit γ größer als γ min werden in den Index aufgenommen.

27 Jonathan Hellwig – Graphensuche auf Grundlage von strukturellen Merkmalen Silke Trißl - Indizieren und Anfragen von Graphen in Datenbanken 27 Diskriminierende Merkmale

28 Jonathan Hellwig – Graphensuche auf Grundlage von strukturellen Merkmalen Silke Trißl - Indizieren und Anfragen von Graphen in Datenbanken 28 Diskriminierende Merkmale

29 Jonathan Hellwig – Graphensuche auf Grundlage von strukturellen Merkmalen Silke Trißl - Indizieren und Anfragen von Graphen in Datenbanken 29 Gliederung Einführung Graphenanfrage Indizierung Indizierung mit Strukturmerkmalen Häufige Merkmale Diskriminierende Merkmale Konstruktion des Indizes und SucheKonstruktion des Indizes und Suche gIndex vs. GraphGrep Diskussion

30 Jonathan Hellwig – Graphensuche auf Grundlage von strukturellen Merkmalen Silke Trißl - Indizieren und Anfragen von Graphen in Datenbanken 30 Konstruktion des Indizes Zur Bildung des Indizes werden alle Merkmale (Subgraphen) der Graphen aus der Datenbank betrachtet. Der Index wird klein gehalten in dem nur Merkmalen die häufig und diskriminierend sind aufgenommen werden. Durch die monoton steigende Häufigkeit wird gewährleistet, dass der Index alle Graphen der DB abdeckt.

31 Jonathan Hellwig – Graphensuche auf Grundlage von strukturellen Merkmalen Silke Trißl - Indizieren und Anfragen von Graphen in Datenbanken 31 Konstruktion des Indizes Als Eingabe brauch man: Graphen-DB, minSup Funktion, Diskriminierungsgrad, maximale Größe der Subgraphen maxL. Alle Subgraphen bis Größe maxL werden in aufsteigender Größe betrachtet. Ist ein Subgraph häufig und diskriminierend wird er im Index aufgenommen.

32 Jonathan Hellwig – Graphensuche auf Grundlage von strukturellen Merkmalen Silke Trißl - Indizieren und Anfragen von Graphen in Datenbanken 32 Suche der Graphen Alle Subgraphen der Anfrage werden betrachtet. Merken welche Subgraphen in Merkmalsliste sind Schnittmenge aller gemerkten Subgraphen ist Kandidatenliste

33 Jonathan Hellwig – Graphensuche auf Grundlage von strukturellen Merkmalen Silke Trißl - Indizieren und Anfragen von Graphen in Datenbanken 33 Indizierung mit Strukturmerkmalen

34 Jonathan Hellwig – Graphensuche auf Grundlage von strukturellen Merkmalen Silke Trißl - Indizieren und Anfragen von Graphen in Datenbanken 34 Einfügen und Löschen von Graphen Bei einer Datenbank üblich: Informationen hinzufügen. Informationen löschen. Wunsch: Indexkonstruktion nicht zu wiederholen. Merkmalsliste nicht ändern.

35 Jonathan Hellwig – Graphensuche auf Grundlage von strukturellen Merkmalen Silke Trißl - Indizieren und Anfragen von Graphen in Datenbanken 35 Einfügen und Löschen von Graphen G Einfügen von G: Subgraphen von G betrachten, die bereits im Indexeinträgen sind. G zu diesen Indexeinträgen hinzufügen. Löschen von G: Subgraphen von G betrachten, die Indexeinträgen sind. G von diesen Indexeinträgen löschen.

36 Jonathan Hellwig – Graphensuche auf Grundlage von strukturellen Merkmalen Silke Trißl - Indizieren und Anfragen von Graphen in Datenbanken 36 gIndex vs. GraphGrep Die Datensätze Realer Datensatz: Chemische Verbindungen Moleküle (Stand März 2002). Syntetischer Datensatz mit folgenden Parametern: Größe der Datenbank. Durchschnittsgröße der Graphen. Anzahl der Labels.

37 Jonathan Hellwig – Graphensuche auf Grundlage von strukturellen Merkmalen Silke Trißl - Indizieren und Anfragen von Graphen in Datenbanken 37 gIndex vs. GraphGrep

38 Jonathan Hellwig – Graphensuche auf Grundlage von strukturellen Merkmalen Silke Trißl - Indizieren und Anfragen von Graphen in Datenbanken 38 gIndex vs. GraphGrep

39 Jonathan Hellwig – Graphensuche auf Grundlage von strukturellen Merkmalen Silke Trißl - Indizieren und Anfragen von Graphen in Datenbanken 39 Diskussion Kiritik: Authoren des Papers sagen, dass sie besser als GraphGrep sind. Nur unter bestimmten Bedingungen: Wenige Labels. Struktur der Graphen keine Pfade. Keine anderen Vergleiche außer mit GraphGrep.

40 Jonathan Hellwig – Graphensuche auf Grundlage von strukturellen Merkmalen Silke Trißl - Indizieren und Anfragen von Graphen in Datenbanken 40 Diskussion Positiv: Gut organisiertes Paper. Neue (innovative) Methode. Damals die schnellsten.

41 Jonathan Hellwig – Graphensuche auf Grundlage von strukturellen Merkmalen Silke Trißl - Indizieren und Anfragen von Graphen in Datenbanken 41 Diskussion Ideen zur Optimierung: Index verbessern. z. B. fertigen Index noch mal auf nicht diskriminierende Merkmale prüfen. Ausrichtung auf bestimmte Typen von Graphen. z. B. durch Parametrisierung.


Herunterladen ppt "Graphensuche auf Grundlage von strukturellen Merkmalen Jonathan Hellwig 19.02.2008 Indizieren und Anfragen von Graphen in Datenbanken Silke Trißl."

Ähnliche Präsentationen


Google-Anzeigen