+ All Categories
Home > Documents > Indizierung von Graphen durch häufige Subgraphen (2) Maria Tsitiridou...

Indizierung von Graphen durch häufige Subgraphen (2) Maria Tsitiridou...

Date post: 05-Apr-2015
Category:
Upload: hartman-blumenfeld
View: 105 times
Download: 0 times
Share this document with a friend
Popular Tags:
35
Indizierung von Graphen durch häufige Subgraphen (2) Maria Tsitiridou ([email protected] ) Indizieren und Anfragen von Graphen in Datenbanken Seminar, WS 2007/8 19.02.2008
Transcript
Page 1: Indizierung von Graphen durch häufige Subgraphen (2) Maria Tsitiridou (tsitirid@informatik.hu-berlin.de(tsitirid@informatik.hu-berlin.de) Indizieren und.

Indizierung von Graphen durch häufige Subgraphen (2)

Maria Tsitiridou([email protected])

Indizieren und Anfragen von Graphen in Datenbanken Seminar, WS 2007/8

19.02.2008

Page 2: Indizierung von Graphen durch häufige Subgraphen (2) Maria Tsitiridou (tsitirid@informatik.hu-berlin.de(tsitirid@informatik.hu-berlin.de) Indizieren und.

Überblick

Einführung

-Tolerance Closed Frequent subGraphs (TCFGs)

Index-Konstruktion

Abfrage-Verarbeitung

Performanz-Bewertung

Schlussfolgerung und zukünftige Arbeiten

Page 3: Indizierung von Graphen durch häufige Subgraphen (2) Maria Tsitiridou (tsitirid@informatik.hu-berlin.de(tsitirid@informatik.hu-berlin.de) Indizieren und.

Einführung

Graph:• Immer mehr Graphendatenbanken

=> effiziente Abfrageverarbeitung notwendig!!

• Neuer effizienter Index für die Verarbeitung von Graphabfragen

Page 4: Indizierung von Graphen durch häufige Subgraphen (2) Maria Tsitiridou (tsitirid@informatik.hu-berlin.de(tsitirid@informatik.hu-berlin.de) Indizieren und.

Einführung

Grundlegende Begriffe:

• Größe von g size(g):= Die Anzahl der Kanten in g• Subgraph:= g Subgraph von g‘, (gg‘), wenn eine

Subgraph-Isomorphie von g nach g‘ existiert.• FG abgeschlossen (closed):= g ist abgeschlossen, wenn

g‘F: g‘g und freq(g‘)=freq(g)• FG maximal := g ist maximal, wenn g‘F : g‘g

Page 5: Indizierung von Graphen durch häufige Subgraphen (2) Maria Tsitiridou (tsitirid@informatik.hu-berlin.de(tsitirid@informatik.hu-berlin.de) Indizieren und.

Einführung

Graph-Abfrage: • Sei D={g1,…,gn} eine Graphdatenbank

• Eine Graph-Abfrage :Gegeben sei ein Graph q, finde alle gi D so, dass gi Übergraph von q, gi q

Page 6: Indizierung von Graphen durch häufige Subgraphen (2) Maria Tsitiridou (tsitirid@informatik.hu-berlin.de(tsitirid@informatik.hu-berlin.de) Indizieren und.

Einführung

Page 7: Indizierung von Graphen durch häufige Subgraphen (2) Maria Tsitiridou (tsitirid@informatik.hu-berlin.de(tsitirid@informatik.hu-berlin.de) Indizieren und.

Einführung

Page 8: Indizierung von Graphen durch häufige Subgraphen (2) Maria Tsitiridou (tsitirid@informatik.hu-berlin.de(tsitirid@informatik.hu-berlin.de) Indizieren und.

Einführung

Bisherige Lösungen: 1. Filtern: Nutze einen Index um einen Teil von falschen

Ergebnissen auszusortieren und erzeuge eine potentielle Antwortmenge (Kandidat)

2. Kandidaten-Überprüfung:Überprüfe, ob jeder Kandidat ein Übergraph von q ist.

Die Kandidaten-Menge ist kleiner als die DB => effizienter als die sequentielle Überprüfung , aber immer noch teuer!

Page 9: Indizierung von Graphen durch häufige Subgraphen (2) Maria Tsitiridou (tsitirid@informatik.hu-berlin.de(tsitirid@informatik.hu-berlin.de) Indizieren und.

Einführung

FG-Index [SIGMOD07]: • wurde konstruiert auf der Basis von häufigen

Subgraphen (FGs)• FG: Frequent subGraph• g ist ein häufiger Subraph (FG), wenn g ein Subgraph

von mindestens ( |D|) Graphen in einer Datenbank D, wobei 0

• ist ein vordefinierter Grenzwert

Page 10: Indizierung von Graphen durch häufige Subgraphen (2) Maria Tsitiridou (tsitirid@informatik.hu-berlin.de(tsitirid@informatik.hu-berlin.de) Indizieren und.

Einführung

Fallunterscheidung bei der Verwendung vom FG-Index:

1. q ist häufiger Subgraph (FG)

Antwort sofort ohne Kandidaten-Verifikation

Page 11: Indizierung von Graphen durch häufige Subgraphen (2) Maria Tsitiridou (tsitirid@informatik.hu-berlin.de(tsitirid@informatik.hu-berlin.de) Indizieren und.

Einführung

Fallunterscheidung bei der Verwendung vom FG-Index: 2. q ist kein häufiger Subgraph

Kandidatenmenge wird erzeugt

Page 12: Indizierung von Graphen durch häufige Subgraphen (2) Maria Tsitiridou (tsitirid@informatik.hu-berlin.de(tsitirid@informatik.hu-berlin.de) Indizieren und.

Einführung

Page 13: Indizierung von Graphen durch häufige Subgraphen (2) Maria Tsitiridou (tsitirid@informatik.hu-berlin.de(tsitirid@informatik.hu-berlin.de) Indizieren und.

Einführung

Herausforderung: Die Menge der FGs ist groß , wenn klein.

Viele FGs => großer Index => Hohe Zugriffskosten, wenn der Index zu groß für den Hauptspeicher=>Schlechte Abfrage-Performanz

Lösung: Kompressionstechnik anwenden (-TCFGs) • Über die Größe des Index regeln• Jedes -TCFG ist ein stellvertretender Übergraph von einem

Cluster von FGs.

Page 14: Indizierung von Graphen durch häufige Subgraphen (2) Maria Tsitiridou (tsitirid@informatik.hu-berlin.de(tsitirid@informatik.hu-berlin.de) Indizieren und.

-TCFGs

-TCFGs : Gegeben sei ein benutzerdefinierter Faktor mit 0

Ein häufiger Subgraph g ist ein -TCFG, wenn

g‘F : g‘g und freq(g‘) freq(g)

Page 15: Indizierung von Graphen durch häufige Subgraphen (2) Maria Tsitiridou (tsitirid@informatik.hu-berlin.de(tsitirid@informatik.hu-berlin.de) Indizieren und.

-TCFGs

de freq(g‘)/ freq(g)

•wenn de TCFG•Sonst kein TCFG

Bsp.: =0.04

T={f1,f4,f5,f8,f9,f13}

Page 16: Indizierung von Graphen durch häufige Subgraphen (2) Maria Tsitiridou (tsitirid@informatik.hu-berlin.de(tsitirid@informatik.hu-berlin.de) Indizieren und.

Abschluß (closure) eines -TCFGs

Nächster (closest) -TCFG Übergraph

gt ist der nächste -TCFG Übergraph von g, wenn

• gt ein -TCFG und g kein -TCFG ist

• gtg und g‘t : g‘tgt

Page 17: Indizierung von Graphen durch häufige Subgraphen (2) Maria Tsitiridou (tsitirid@informatik.hu-berlin.de(tsitirid@informatik.hu-berlin.de) Indizieren und.

Abschluß (closure) eines -TCFGs

Page 18: Indizierung von Graphen durch häufige Subgraphen (2) Maria Tsitiridou (tsitirid@informatik.hu-berlin.de(tsitirid@informatik.hu-berlin.de) Indizieren und.

Abschluß (closure) eines -TCFGs

closure eines -TCFGs:

Gegeben sei ein -TCFG gt ,

CLOS(gt )={g: gt ist der nächste -TCFG Übergraph von g }

Der nächste -TCFG Übergraph von einem FG ist eindeutig.

Bsp.: CLOS(f13)={f7,f10, f11, f12}

Page 19: Indizierung von Graphen durch häufige Subgraphen (2) Maria Tsitiridou (tsitirid@informatik.hu-berlin.de(tsitirid@informatik.hu-berlin.de) Indizieren und.

Index-Konstruktion

Invertierter Graph Index (IGI): Ein invertierter Index erstellt über eine Menge von Graphen G

• Ein Hash-Index aus der Menge der eindeutigen Kanten in G• Jede Kante ist mit einer Menge von ID‘s von Graphen in G

verknüpft, die die Kante enthalten.• Die ID‘s sind nach der Graphengröße weiter klassifiziert, um

effiziente Suche zu erzielen

Page 20: Indizierung von Graphen durch häufige Subgraphen (2) Maria Tsitiridou (tsitirid@informatik.hu-berlin.de(tsitirid@informatik.hu-berlin.de) Indizieren und.

Index-Konstruktion

Invertierter Graph Index (IGI):

Page 21: Indizierung von Graphen durch häufige Subgraphen (2) Maria Tsitiridou (tsitirid@informatik.hu-berlin.de(tsitirid@informatik.hu-berlin.de) Indizieren und.

Index-Konstruktion

Zwei-Level-Index-Struktur:

1. Im Hauptspeicher gehalten:Ein (IGI) erstellt aus der Menge der -TCFGs

2. Auf Festplatte gespeichert:Ein (IGI) erstellt aus dem Abschluss von jedem -TCFG.

Page 22: Indizierung von Graphen durch häufige Subgraphen (2) Maria Tsitiridou (tsitirid@informatik.hu-berlin.de(tsitirid@informatik.hu-berlin.de) Indizieren und.

Vollständigkeit des Index

• Der Index sollte in der Lage sein , jede Abfrage zu beantworten.

• Allerdings deckt der FG-Index nur die Abfragen ab, die häufige Subgraphen sind.

Edge-Index (Hash-Index) : gebildet aus der Menge der nicht-häufigen eindeutigen Kanten in der Datenbank.

Abfragen, die keine häufigen Subgraphen sind, können durch Zusammenfügen dieser Kanten beantwortet werden.

Page 23: Indizierung von Graphen durch häufige Subgraphen (2) Maria Tsitiridou (tsitirid@informatik.hu-berlin.de(tsitirid@informatik.hu-berlin.de) Indizieren und.

Abfrage-Verarbeitung

Abfrage q ist ein FG

• Den Hash-Index verwenden, um die Menge der Kanten von q im FG-Index zu finden

• Den Durchschnitt von den Graph-ID‘s-Arrays bilden, die mit den Kanten verknüpft sind

Page 24: Indizierung von Graphen durch häufige Subgraphen (2) Maria Tsitiridou (tsitirid@informatik.hu-berlin.de(tsitirid@informatik.hu-berlin.de) Indizieren und.

Abfrage-Verarbeitung

Abfrage q ist ein FG

• Der erste Übergraph, den wir über den Durchschnitt erhalten, ist entweder q oder q‘s nächster -TCFG Übergraph.

• Wenn q immer noch nicht gefunden wurde auf den verschachtelten IGI-Index von q‘s nächsten -TCFG Übergraphen zugreifen

• Wiederhole rekursiv bis q gefunden wird.

Page 25: Indizierung von Graphen durch häufige Subgraphen (2) Maria Tsitiridou (tsitirid@informatik.hu-berlin.de(tsitirid@informatik.hu-berlin.de) Indizieren und.

Abfrage-Verarbeitung

Abfrage q ist kein FG

• Verwende den FG-Index, um eine Menge von maximalen Subgraphen von q, Gs, zu finden.

• Verwende Edge-Index, um die Menge der nicht-häufigen Kanten von q, Ge, zu finden

Page 26: Indizierung von Graphen durch häufige Subgraphen (2) Maria Tsitiridou (tsitirid@informatik.hu-berlin.de(tsitirid@informatik.hu-berlin.de) Indizieren und.

Abfrage-Verarbeitung

Abfrage q ist kein FG

• Man erlange die Kandidaten-Menge von q, indem man den Durchschnitt von der Antwortmenge von den Graphen in Gs

und Ge bildet

• Überprüfe für jeden Kandidat, ob er ein Übergraph von q ist.

Page 27: Indizierung von Graphen durch häufige Subgraphen (2) Maria Tsitiridou (tsitirid@informatik.hu-berlin.de(tsitirid@informatik.hu-berlin.de) Indizieren und.

Performanz-Bewertung

Datenmengen• Reale Datenmenge: 10K Graphen einer Menge von

chemischen Molekülen aus der AIDS-Forschung• Künstliche Datenmengen für Skalierbarkeits-Tests bzgl.

1. Datenbankgröße: von 10K bis 100K Graphen2. Graphengröße: von 20 bis 100 Kanten3. Graphendichte: 0.1, 0.15, 0.2

Page 28: Indizierung von Graphen durch häufige Subgraphen (2) Maria Tsitiridou (tsitirid@informatik.hu-berlin.de(tsitirid@informatik.hu-berlin.de) Indizieren und.

Performanz-Bewertung

AlgorithmusVergleiche mit gIndex [YYH05]Index-Konstruktions-Performanz (reale Datenmenge)• =0.1 , FG-Index 20 mal schneller • =0.01, FG-Index 5 mal langsamer

Grund: Bei =0.1 : |F|= 455, während bei =0.01 |F|=59.120.

Page 29: Indizierung von Graphen durch häufige Subgraphen (2) Maria Tsitiridou (tsitirid@informatik.hu-berlin.de(tsitirid@informatik.hu-berlin.de) Indizieren und.

Performanz-Bewertung

AlgorithmusVergleiche mit gIndex [YYH05]Index-Konstruktions-Performanz (reale Datenmenge)• =0.1 , FG-Index 20 mal schneller • =0.01, FG-Index 5 mal langsamer

Grund: Bei =0.1 : |F|= 455, während bei =0.01 |F|=59.120.FG_Index (=0.1)

FG_Index (=0.01)

gIndex

Time (sec) 10.03 (10+0.03) 1085 (627+458) 217

Memory (MB) 2 95 107

|T| or |Fd| 195 21893 3276

Page 30: Indizierung von Graphen durch häufige Subgraphen (2) Maria Tsitiridou (tsitirid@informatik.hu-berlin.de(tsitirid@informatik.hu-berlin.de) Indizieren und.

Performanz-Bewertung

Abfrage-Antwortszeit (reale Datenmenge)

•Qi: Menge von 1000 Abfragen

•Jede Abfrage enthält i Kanten

Page 31: Indizierung von Graphen durch häufige Subgraphen (2) Maria Tsitiridou (tsitirid@informatik.hu-berlin.de(tsitirid@informatik.hu-berlin.de) Indizieren und.

Performanz-Bewertung

Abfrage-Antwortszeit (reale Datenmenge)

•Qi: Menge von 1000 Abfragen

•Jede Abfrage enthält i Kanten

Page 32: Indizierung von Graphen durch häufige Subgraphen (2) Maria Tsitiridou (tsitirid@informatik.hu-berlin.de(tsitirid@informatik.hu-berlin.de) Indizieren und.

Performanz-Bewertung

Speicherverbrauch (div. Abfrage-Größen)

•Speicherverbrauch ( FG-Index )

gering und stabil

viel geringer als gIndex

Page 33: Indizierung von Graphen durch häufige Subgraphen (2) Maria Tsitiridou (tsitirid@informatik.hu-berlin.de(tsitirid@informatik.hu-berlin.de) Indizieren und.

Schlussfolgerung

FG-Index:• Im Hauptspeicher abgelegt:

– Menge der -TCFGs – Größe gesteuert über

• auf Festplatte gespeichert:– Andere FGs (keine -TCFGs) indiziert mit verschachtelten

invertierten Indexes, die effiziente Suche erlauben.

Page 34: Indizierung von Graphen durch häufige Subgraphen (2) Maria Tsitiridou (tsitirid@informatik.hu-berlin.de(tsitirid@informatik.hu-berlin.de) Indizieren und.

Schlussfolgerung

Abfrage-Verarbeitung:• Abfrage q ist FG:

– Antwortmenge ohne Kandidaten-Verifikation

• Abfrage q ist kein FG:– Minimale Kandidaten-Verifikation

Page 35: Indizierung von Graphen durch häufige Subgraphen (2) Maria Tsitiridou (tsitirid@informatik.hu-berlin.de(tsitirid@informatik.hu-berlin.de) Indizieren und.

Schlussfolgerung

In der Zukunft:

Abfrage-Verarbeitung bei großen einzelnen Graphen.– Effiziente Abfrage bei div. Sozialen Netzwerken, Web usw.– Was indizieren und wie?

Ähnlichkeitssuche in Graph-Datenbanken– Exakte Übereinstimmung einschränkend f. manche Anwendungen– Ähnlichkeitsabfragen: Weglassen von manchen Kanten in der Query


Recommended