CloseGraph: Mining Closed Frequent Graph Patterns Xifeng Yan & Jiawei Han In Proceedings of SIGKDD '03. Washington, DC. Präsentation und aktuelle (15.1.04)

Slides:



Advertisements
Ähnliche Präsentationen
Partitionierungstechniken in Datenbanksystemen
Advertisements

Grundlagen des A*-Algorithmus und Anwendung in der Routenplanung
Algorithm Engineering
Datenstrukturen und Algorithmen
Programmierung 1 - Repetitorium WS 2002/2003 Programmierung 1 - Repetitorium Andreas Augustin und Marc Wagner Homepage:
Programmierung 1 - Repetitorium WS 2002/2003 Programmierung 1 - Repetitorium Andreas Augustin und Marc Wagner Homepage:
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (26-Graphenalgorithmen: Wiederholung und Übung) Prof. Th. Ottmann.
1.1.2: Frequent Pattern Growth von Nicolai Voget
Proof-Planning. Übersicht Einleitung Proof-Planning Bridge-Taktiken Repräsentation des Gegenspiels Planungsalgorithmus Suchen mit Histories.
Fast Algorithm for Mining Association Rules* Vortrag im Rahmen des Seminars Neue Ansätze der Künstlichen Intelligenz Prof. Dr. Katharina Morik Lehrstuhl.
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Automatisches Zeichnen Ausgabe: — Besprechung:
Wo stehen wir? Lernaufgaben: Klassifikation Häufige Mengen finden
Indizierung von Graphen durch häufige Subgraphen (2)
7. Natürliche Binärbäume
Suche in Texten (Stringsuche )
Anwendung und Visual Basic
Gliederung Motivation / Grundlagen Sortierverfahren
Baumstrukturen Richard Göbel.
Suche in Texten: Suffix-Bäume
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (17 – Bäume: Grundlagen und natürliche Suchbäume) Prof. Th. Ottmann.
Algorithmen und Datenstrukturen
WS Prof. Dr. Th. Ottmann Algorithmentheorie 09 - Suche in Texten Suffix - Bäume.
Gottfried Vossen 5. Auflage 2008 Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme Kapitel 16: Grundlagen des Data Mining.
Steffen Thomas 96I DATA MINING.
Präsentation zu Milestone 1: Planaritätstest, Planarisierierung und Orthogonalisierung Gruppenmitglieder: cku, ocl, pdo, bra.
Katja Losemann Chris Schwiegelshohn
Planarisierung von Cluster Graphen
Normalformen Normalisieren Schlüssel
6 Normalformen Normalisieren Schlüssel
Minimum Spanning Tree: MST
Programmierung 1 - Repetitorium WS 2002/2003 Programmierung 1 - Repetitorium Andreas Augustin und Marc Wagner Homepage:
Beispielrelation Buchbestellungen H = Menge der bedeutenden Ziele = {a, d} Schwelle T = 4 Stichprobe S = {a, b, a, a, a, a} mit s = |S| = 6 N = Anzahl.
Hauptseminar Automaten und Formale Sprachen
Teil I: Uninformierte Suche
Hinweise zum 10. Übungsblatt zu GIN1b, WS04/05 Prof. Dr. W. Conen (Version 1.0alpha, )
Struktur-Funktions-Modelle von Pflanzen - Sommersemester Winfried Kurth Universität Göttingen, Lehrstuhl Computergrafik und Ökologische Informatik.

Entitäten Extraktion Einführung
Titel des Vortrags Name des Vortragenden Seminar
Christian Schulz, Marc Thielbeer, Sebastian Boldt
Flüsse, Schnitte, bipartite Graphen
Effiziente Algorithmen
Effiziente Algorithmen
Hartmut Klauck Universität Frankfurt SS
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Einführung in die Programmierung Wintersemester 2013/14 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Institut für Theoretische Informatik
Ergebnispräsentation Steffen Ciupke Jörg Hipp
AUTSCH!!!(01) Bilder aus dem Internet Datum und Uhrzeit aktuell :30 F. S.
Jamshid Azizi: Folie Isomorphietest Jamshid Azizi
Puzzles und Mathematik
Informatik Datenstruktur Graph 3.1 Einfache Graphen
se_4_graphen_und_baeume_I.ppt1 Softwareengineering Graphen und Bäume 1 Prof. Dr.-Ing. Axel Benz, Berlin School of Economics and Law.
Das Traveling Salesman Problem (TSP)
Bipartite Graphen Der Satz von König.
Titel der Präsentation
Constraint Delaunay Triangulations
Matchings (Paarungen) in Graphen
Gliederung der Vorlesung
Matthias Gläfke Data Mining - Seminar im Sommersemester Vortrag Pincer-Search 5. Juni 2007.
CL Tree MW 31.1 Business Intelligence Wintersemester 2015 / 2016 Stanislav Prokupetz.
Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht Graphen. Köln 14. Januar 2016.
Häufige Teilgraphen:gSpan Seminartitel: Data Mining Seminarthema:1.5.1 Häufige Teilgraphen: gSpan Fernuniversität Hagen SS 2008 Seminarleiter: Ralf.
Data Mining unter Constraints
Algorithmen und Datenstrukturen
Algorithmen für Geographische Informationssysteme
3. Die Datenstruktur Graph 3.1 Einfache Graphen
DB2 – SS 2019 von Baum allgemein bis B*-Baum
DB2 – SS 2019 von Baum allgemein bis B*-Baum
 Präsentation transkript:

CloseGraph: Mining Closed Frequent Graph Patterns Xifeng Yan & Jiawei Han In Proceedings of SIGKDD '03. Washington, DC. Präsentation und aktuelle (15.1.04) Anmerkungen

Frequent (sub)graph mining: Das Problem EinleitungEindeutige SubgraphenGeschlossene SubgraphenAusblick Frequent (sub)graph mining: Das Problem Terminologie: Support eines Musters (hier: Subgraph) = Häufigkeit seines Auftretens in der Datenmenge D (hier: D = {g1,g2,g3} ) Häufiges Muster = Muster, dessen Support mindestens q ist. Muster sind: Mengen, Sequenzen, Bäume, Verbände, Graphen Problem: Ein häufiger Graph mit n Kanten kann bis zu 2n häufige Subgraphen enthalten. Ansatz hier ist schon pattern growth! Aber Apriori-Prinzip (das mit dem 2^n nochmal nachvollziehen + an der richtigen Stelle anbringen)

Herausforderung: mehrfache Subgraph-Isomorphismen EinleitungEindeutige SubgraphenGeschlossene SubgraphenAusblick Herausforderung: mehrfache Subgraph-Isomorphismen

Doppelarbeit 1: Reihenfolge des pattern growth EinleitungEindeutige SubgraphenGeschlossene SubgraphenAusblick Doppelarbeit 1: Reihenfolge des pattern growth

Ziel: Pruning des Suchraums EinleitungEindeutige SubgraphenGeschlossene SubgraphenAusblick Ziel: Pruning des Suchraums Ansatz: DFS code Lösungsansatz DFS subscripting

EinleitungEindeutige SubgraphenGeschlossene SubgraphenAusblick Doppelarbeit 2: Redundanz in Form nicht-maximaler (nicht “geschlossener”) Muster Immer, wenn (1) in D auftritt, tritt auch (2) auf.  Support von (3) muss gleich sein wie Support von (4). (braucht nicht berechnet zu werden)  Man braucht nicht von (1) aus zu wachsen, sondern kann es von (2) aus tun. Grundidee jeweils bei closed: more efficient by „sophisticated techniques to prune the pattern search space“, aber das geht nicht so einfach bei Graphen (S.1/2)

Definition “closed graph pattern” EinleitungEindeutige SubgraphenGeschlossene SubgraphenAusblick Definition “closed graph pattern” Ein häufiges Muster I ist geschlossen, wenn es kein echtes Super-Muster von I gibt, das in der Datenmenge D denselben Support hat. Geschlossenheit wurde untersucht für häufige Itemsets und häufige Sequenzen. Hier: geschlossene Subgraphen Im Bsp.:(1), (3) nicht geschlossen Vorteile: Während des Mining: Lösungsansatz early termination  weniger Graphen werden generiert Nachverarbeitung (z.B. Klassifikation, Clustering): Lösungsansatz Beschränkung auf geschlossene Muster  # geschlossene häufige Muster << # häufige Muster Annahme: geschlossene Muster sind als “maximale Muster” die interessanten Muster

Anwendungsgebiete: Beispiele (1) EinleitungEindeutige SubgraphenGeschlossene SubgraphenAusblick Anwendungsgebiete: Beispiele (1) Bioinformatik Beispiel AIDS antiviral screen dataset (zur Verfügung gestellt vom Developmental Therapeutics Program in NCI/NIH): 422 chemische Verbindungen sind nachgewiesenermaßen aktiv. In diesen 422 sind bei q=5% fast 1 000 000 häufige Graphmuster (davon 2000 geschlossene).

Anwendungsgebiete: Beispiele (2) EinleitungEindeutige SubgraphenGeschlossene SubgraphenAusblick Anwendungsgebiete: Beispiele (2) Webnavigations-Analyse Lange Tradition der Graph-Analyse in Pädagogik/Psychologie kein Mining, konfirmatorisch Einflussgrößen auf Zahl und Größe der Muster  Komplexität # unterschiedliche Webseiten (z.B. in einer Site)  hoch # besuchte Webseiten in einer Analyse-Einheit (z.B. in einer Session)  eher niedrig bei Webservern, eher hoch bei Lernsoftware etc. Einige Vereinfachungen der Graphenstruktur usw. möglich (mehr dazu später)

Navigation: Beispiel-Muster EinleitungEindeutige SubgraphenGeschlossene SubgraphenAusblick Navigation: Beispiel-Muster Landmarke Breitensuche

Vorgehen (1): Naive Variante EinleitungEindeutige SubgraphenGeschlossene SubgraphenAusblick Vorgehen (1): Naive Variante // get rid of duplicate graphs Min_sup statt Theta!!!

Algorithmen, die hier verglichen werden EinleitungEindeutige SubgraphenGeschlossene SubgraphenAusblick Algorithmen, die hier verglichen werden gSpan * Basiert auf pattern growth (Tiefensuche, die einen Graphen erweitert, statt Konstruktion von Kandidaten aus 2 Mustern in Apriori) Effizienzgewinn durch Ordnung auf Graphenmustern: rightmost extension CloseGraph (Closed Graph pattern mining) Weitere Performanzgewinne durch die Konzepte equivalent occurrence, early termination Als Performance-Baseline des Weiteren: FSG ** Bester Algorithmus aus der Apriori-Familie * Yan, X., & Han, J. (2002). gSpan: Graph-based substructure pattern mining. UIUC-CS Tech. Report: R-2002-2296, a 4-page short version in ICDM’02. ** Kuramochi, M., & Karypis, G. (2001). Frequent subgraph discovery. ICDM’01.

Grundannahmen über die Graphen EinleitungEindeutige SubgraphenGeschlossene SubgraphenAusblick Grundannahmen über die Graphen Gelabelt, zusammenhängend, ungerichtet, schlicht Graph g = {V(g), E(g), l : V  E  {Labels}} schlicht: keine parallelen Kanten, keine Schlingen

EinleitungEindeutige SubgraphenGeschlossene SubgraphenAusblick Ein Graph g ist ein Subgraph eines anderen Graphen g’, g  g’ (echter Subgraph: g  g’), wenn es einen Subgraph-Isomorphismus von g nach g’ gibt. Definition 1 (Subgraph-Isomorphismus). Ein Subgraph-Isomorphismus ist eine injektive Funktion f : V(g)  V(g’) so, dass f.a. u  V(g): l(u) = l’(f(u)), und f.a. (u,v)  E(g): (f(u),f(v))  E(g’), l(u,v) = l’(f(u),f(v)), wobei l, l’ die Label-Funktionen von g, g’ sind.

Das Mining-Problem: Muster & ~eigenschaften; Closed Graph Mining EinleitungEindeutige SubgraphenGeschlossene SubgraphenAusblick Das Mining-Problem: Muster & ~eigenschaften; Closed Graph Mining Gegeben: Datenmenge D = {G1, G2, …, Gn} support(g) : der Anteil der Graphen in D, in denen g ein Subgraph ist (Unklar. Im Folgenden eher occurrence(g) ?!) frequency(g) : die Anzahl der Graphen in D, in denen g ein Subgraph ist Menge der häufigen Graphenmuster FS = { g | support(g)  min_sup} Menge der geschlossenen häufigen Graphenmuster CS = { g | g  FS und es gibt kein g’  FS so, dass g  g’ und support(g) = support(g’)} Problem closed graph mining: finde die vollständige Menge CS gegeben D und min_sup Also: 2-maliges Auftreten von g in G zählt nur 1* ?!

Graph-Dubletten (duplicate graphs) EinleitungEindeutige SubgraphenGeschlossene SubgraphenAusblick Graph-Dubletten (duplicate graphs) Erweiterung von g nach g x e kann sehr redundant sein. Z.B. kann ein Graph mit k Kanten in k Weisen aus (k-1)-Kanten-Graphen generiert sein. Schritt 1 in NaiveGraph entfernt Dubletten, aber: Anzahl ist riesig Generierung und Support-Berechnung  Zeit! Dubletten-Test ist nicht-trivial; benötigt kanonisches Label Wenn bestimmte Graphen nur aus einer bestimmten Dublette entstehen können: doch weiterwachsen (???) gSpan: Effizientes kanonisches Labeling-System, lexikographische Ordnung in Graphen Reduziert die Generierung von Dubletten Keine Durchsuchung früher gefundener häufiger Graphen zur Identifikation von Dubletten Keine Erweiterung von Dubletten; trotzdem vollständig (Yan&Han’02) Anmerkung: Vollständigkeitsbeweis fehlt natürlich

EinleitungEindeutige SubgraphenGeschlossene SubgraphenAusblick DFS-Subscripting (1) Reihenfolge der Knoten-Entdeckung in Graph G bei Tiefensuche (DFS)  lineare Ordnung auf Knoten i < j : vi wurde vor vj entdeckt Ein DFS-Baum T ist ein DFS-Subscripting von G: GT

DFS-Subscripting (2) Gegeben GT : v0 : Wurzel; vn : rechtester Knoten; EinleitungEindeutige SubgraphenGeschlossene SubgraphenAusblick DFS-Subscripting (2) Gegeben GT : v0 : Wurzel; vn : rechtester Knoten; direkter Pfad von v0 nach vn : rechtester Pfad Ein Pfad ist eine Sequenz von Kanten!

Vorwärts-Kanten; Rückwärts-Kanten EinleitungEindeutige SubgraphenGeschlossene SubgraphenAusblick Vorwärts-Kanten; Rückwärts-Kanten (vi,vj)  E(G), i < j  (vi,vj)  EfT (forward edges set; alle Kanten, die im DFS-Baum sind) (vi,vj)  E(G), i  j  (vi,vj)  EbT (backward edges set) g xf e = “forward extension”, neuer Knoten wird eingefügt g xb e = “backward extension”, keine neuen Knoten

Rechteste Erweiterung EinleitungEindeutige SubgraphenGeschlossene SubgraphenAusblick Rechteste Erweiterung Rechteste Erweiterung g r e nur zwei Arten von Erweiterung möglich: Rückwärts-Erweiterung: Vom rechtesten Knoten zu irgendeinem anderen Knoten auf dem rechtesten Pfad (also spezifische Form der allgemeinen backward extension, g xb e) Vorwärts-Erweiterung: Von irgendeinem Knoten auf dem rechtesten Pfad unter Einführung eines neuen Knotens (also spezifische Form der allgemeinen forward extension, g xf e) Zum Sparen benötigt: ein eindeutiges Basis-Subscripting, auf dem rechteste Erweiterung betrieben wird

EinleitungEindeutige SubgraphenGeschlossene SubgraphenAusblick DFS-Code (1) Zur kanonischen Darstellung eines Graphen: Ordnungen definieren auf Kanten (geg. ein GT): DFS-Code  GT dargestellt als Sequenz Sequenzen (geg. ein G): DFS lexikographische Ordnung  G dargestellt als eindeutige Sequenz Grundidee des DFS-Code: DFS + Rückwärtskanten aus Knoten i jeweils vor den Vorwärtskanten aus i code(G,T) , der DFS-Code eines GT , ist eine Kantensequenz (ei), definiert durch die lineare Ordnung T auf N02, wobei e1 = (i1,j1) T e2 = (i2,j2) gdw. eine der folgenden Aussagen zutrifft: e1, e2  EfT , j1 < j2 oder (i1 > i2 und j1 = j2) e1, e2  EbT , i1 < i2 oder (i1 = i2 und j1 < j2) e1  EbT , e2  EfT , i1 < i2 (bei Einführung von T äquivalent zu iv. im Paper)

EinleitungEindeutige SubgraphenGeschlossene SubgraphenAusblick DFS-Code (2) Grundidee des DFS-Code: DFS + Rückwärtskanten aus Knoten i jeweils vor den Vorwärtskanten aus i Notation: (i, j, li, l(i,j) ,lj)

DFS-Lexikographische Ordnung (1) EinleitungEindeutige SubgraphenGeschlossene SubgraphenAusblick DFS-Lexikographische Ordnung (1) Prioritäten für < : T , Label von i, Kantenlabel, Label von j Gegeben DFS-Codes a = (a0, a1, …, am) und b = (b0, b1, …, bn) Wenn a0 = b0, …, at-1 = bt-1, at < bt (t  min(m,n)), dann a < b Im Beispiel: g0 < g1 < g2 Alle Bäume sind jeweils ein DFS-Subscripting von G; ein Baum ist das Basis-Subscripting von G. Jeder Code ist ein DFS-Code von G. Der lexikographisch minimale Code ist der Minimale DFS-Code von G.

DFS-Lexikographische Ordnung (2) EinleitungEindeutige SubgraphenGeschlossene SubgraphenAusblick DFS-Lexikographische Ordnung (2) Beispiel: *) < ((0,1,X,a,X) (1,2,X,b,X)) < *) M.E. N02 (wie oben)

EinleitungEindeutige SubgraphenGeschlossene SubgraphenAusblick Theorem 1 (Vollständigkeit): Die Durchführung der rechtesten Erweiterung (= der rechtesten Erweiterung des Basis-Subskripting) in NaiveGraph garantiert die Vollständigkeit des Mining-Resultats. Lemma 1: Die Durchführung der rechtesten Erweiterungen nur auf den minimalen DFS-Codes in NaiveGraph garantiert die Vollständigkeit des Mining-Resultats. gSpan Problem: gSpan ist ineffizient bei großen Graphen (exponentielles Wachstum der # häufigen Subgraphen)

EinleitungEindeutige SubgraphenGeschlossene SubgraphenAusblick CloseGraph: Abbruchbedingung auf der Basis von “äquivalentem Auftreten” Ziel: hier durch einen Zusatz eine bessere Abbruchbedingung! Grundidee: Wenn s nicht geschlossen ist, dann hier nicht weitersuchen.

Auftreten (Occurrence) EinleitungEindeutige SubgraphenGeschlossene SubgraphenAusblick Auftreten (Occurrence) j(g,g’): Wie oft findet sich g in g’? Definition 5 (Auftreten) Gegeben g und D = {G1, G2, …, Gn} ist das Auftreten von g in D die Summe der Zahl von Subgraph-Isomorphismen von g in jedem Graph von D, also I(g,D)= i=1n j(g, Gi) Beispiel: g j(g,g1) = 2 j(g,g2) = 1 j(g,g3) = 0 I(g,D)=2+1+0=3

Erweitertes Auftreten EinleitungEindeutige SubgraphenGeschlossene SubgraphenAusblick Erweitertes Auftreten “Wie oft tritt g’ – hergestellt aus g – in G auf?” Sei g’ = g x e, f ein Subgraph-Isomorphismus von g in G, f’ ein Subgraph-Isomorphismus von g’ in G. f ist erweiterbar und f’ ist ein erweiterter Subgraph-Isomorphismus aus f, wenn es existiert ein r, r ist ein Subgraph-Isomorphismus von g in g’ so, dass f.a. v: f(v) = f’(r(v)). f(g,g’,G) = die Anzahl in dieser Weise erweiterbarer f Definition 6 (Erweitertes Auftreten): Gegeben g und D = {G1, G2, …, Gn}, ist das erweiterte Auftreten von g’ in D w.r.t. g : L(g,g’,D) = i=1n f(g,g’,Gi)

Äquivalentes Auftreten und early termination EinleitungEindeutige SubgraphenGeschlossene SubgraphenAusblick Äquivalentes Auftreten und early termination g und g’ = g x e haben äquivalentes Auftreten wenn I(g,D) = L(g,g’,D).  Wo immer g in D auftritt, tritt auch g’ auf. Wenn g und g’ äquivalentes Auftreten haben, g  g’’, g’  g’’ dann ist g’’ nicht geschlossen.  early termination: erweitere nur g’, nicht g. L(g1,g2,D) = 2+1+0=3 I(g1,D) =

Early termination funktioniert nicht immer EinleitungEindeutige SubgraphenGeschlossene SubgraphenAusblick Early termination funktioniert nicht immer Gesucht: geschlossene Graphen mit min. frequ. = 2 g = x—a—y, g’ = x—a—y—b—x I(g,D) = L(g,g’,D)  reicht es, g’ zu erweitern? Nein! Wir müssen auch g erweitern, da wir sonst das Muster h nicht finden! h D

Zur Demonstration: Entdeckung von Muster h EinleitungEindeutige SubgraphenGeschlossene SubgraphenAusblick Zur Demonstration: Entdeckung von Muster h g = x—a—y, g’ = x—a—y—b—x Hier: Erweiterung von g, um Muster h zu finden. h D

Was ist das Problem? (1) h D EinleitungEindeutige SubgraphenGeschlossene SubgraphenAusblick Was ist das Problem? (1) g (links oben i. Bild) = x—a—y, g’ (obere Reihe i. Bild) = x—a—y—b—x h (das rote Muster). Es gilt: g  h, g’  h Erweitere h um die “kritische Kante” e = y—b—x h D Graph (1): h wird durch e rückwärts erweitert. Graph (2): h wird durch e vorwärts erweitert.

Was ist das Problem? (2) – Das war die Idee EinleitungEindeutige SubgraphenGeschlossene SubgraphenAusblick Was ist das Problem? (2) – Das war die Idee z—(c)—x–(a)—y—(b)—x d x—(d)—z—(c)—x–(a)—y—(b)—x Graph (1) Graph (2) {x;x—(d)—z} {x;y—(b)—x} {z—(c)—x} {y—(b)—x} {z—(d)—x} x–(a)—y —(b)—x—(d)—z z—(c)—x–(a)—y—(b)—x x—(d)—z—(c)—x–(a)—y {x;x—(b)—y} {z;x—(d)—z} {z;z—(c)—x} {x;x—(d)—z} x–(a)—y—(b)—x z—(c)—x–(a)—y {z;z—(c)—x} {x;y—(b)—x} x–(a)—y g

Was ist das Problem? (3) – Das hat nicht geklappt EinleitungEindeutige SubgraphenGeschlossene SubgraphenAusblick Was ist das Problem? (3) – Das hat nicht geklappt z—(c)—x–(a)—y—(b)—x d x—(d)—z—(c)—x–(a)—y—(b)—x Graph (1) Graph (2) {y—(b)—x} {x;x—(d)—z} {x;y—(b)—x}  Geschlossenen Subgraphen verpasst {z—(c)—x} {z—(d)—x} x–(a)—y —(b)—x—(d)—z z—(c)—x–(a)—y—(b)—x x—(d)—z—(c)—x–(a)—y {x;x—(b)—y} {x;y—(b)—x} {z;x—(d)—z} {z;z—(c)—x} {x;x—(d)—z} x–(a)—y—(b)—x z—(c)—x–(a)—y Nicht-geschlossenen Subgraphen „verpasst“ {z;z—(c)—x} {x;y—(b)—x} x–(a)—y g

Was ist das Problem? (4) – Verständnisansatz EinleitungEindeutige SubgraphenGeschlossene SubgraphenAusblick Was ist das Problem? (4) – Verständnisansatz Vorwärts-Erweiterung, Rückwärts-Erweiterung z—(c)—x–(a)—y—(b)—x d x—(d)—z—(c)—x–(a)—y—(b)—x Graph (1) Graph (2) {x;x—(d)—z} {x;y—(b)—x} {z—(c)—x} {y—(b)—x} {z—(d)—x} x–(a)—y —(b)—x—(d)—z z—(c)—x–(a)—y—(b)—x x—(d)—z—(c)—x–(a)—y {x;x—(b)—y} {z;x—(d)—z} {z;z—(c)—x} {x;x—(d)—z} x–(a)—y—(b)—x z—(c)—x–(a)—y g‘ {z;z—(c)—x} {x;y—(b)—x} x–(a)—y g

Wann funktioniert early termination? EinleitungEindeutige SubgraphenGeschlossene SubgraphenAusblick Wann funktioniert early termination? Only if direction gilt nicht!!!

Darstellung am Beispiel (Th. 2 nicht erfüllt) EinleitungEindeutige SubgraphenGeschlossene SubgraphenAusblick Darstellung am Beispiel (Th. 2 nicht erfüllt) Vorwärts-Erweiterung, Rückwärts-Erweiterung z—(c)—x–(a)—y—(b)—x d x—(d)—z—(c)—x–(a)—y—(b)—x Graph (1) Graph (2) {x;x—(d)—z} {x;y—(b)—x} {z—(c)—x} {y—(b)—x} {z—(d)—x} x–(a)—y —(b)—x—(d)—z z—(c)—x–(a)—y—(b)—x x—(d)—z—(c)—x–(a)—y h2 {x;x—(b)—y} {z;x—(d)—z} {z;z—(c)—x} {x;x—(d)—z} x–(a)—y—(b)—x z—(c)—x–(a)—y g‘ h1 {z;z—(c)—x} {x;y—(b)—x} x–(a)—y g

Entdeckung der failure of early termination EinleitungEindeutige SubgraphenGeschlossene SubgraphenAusblick Entdeckung der failure of early termination Vorwärts-Erweiterung, Rückwärts-Erweiterung z—(c)—x–(a)—y—(b)—x d x—(d)—z—(c)—x–(a)—y—(b)—x Graph (1) Graph (2) g2 g3 {x;x—(d)—z} {x;y—(b)—x} {z—(c)—x} {y—(b)—x} {z—(d)—x} x–(a)—y —(b)—x—(d)—z z—(c)—x–(a)—y—(b)—x x—(d)—z—(c)—x–(a)—y g1 {x;x—(b)—y} {z;x—(d)—z} „brechbar“ Woher kommt die Idee, bei g‘ zu entkoppeln, wenn man bei g2 und g3 ist? {x;x—(d)—z} {z;z—(c)—x} x–(a)—y—(b)—x z—(c)—x–(a)—y „There are other similar failure cases which can be handled with care. The detection of these failure cases of Early Termination can gurantee the completeness of the mining result.“ g‘ {z;z—(c)—x} {x;y—(b)—x} x–(a)—y g

Zur Bedeutung von Theorem 2 – wann ist early termination erlaubt? (1) EinleitungEindeutige SubgraphenGeschlossene SubgraphenAusblick Demontageversuche Zur Bedeutung von Theorem 2 – wann ist early termination erlaubt? (1) Versuch, ein Gegenbeispiel zu konstruieren Idee: Auch g xf | xb e ist nicht eindeutig und könnte somit zu einer “Verteilung von Support” und dem Verpassen von geschlossenen häufigen Subgraphen führen. Bisher nicht erfolgreich. (Es ergibt sich wieder die Aufspaltung in Vorwärts- und Rückwärts-Erweiterung.)

Zur Bedeutung von Theorem 2 – wann ist early termination erlaubt? (2) EinleitungEindeutige SubgraphenGeschlossene SubgraphenAusblick Zur Bedeutung von Theorem 2 – wann ist early termination erlaubt? (2) Charakterisierung der von Theorem 2 erlaubten Musterkonstellationen (g,g’) Betrachte die Erweiterungen jedes Supergraphen h von g durch die kritische Kante e = (v1,v2). O.B.d.A.: e “wächst bei v1 an und zeigt zu v2.” ENTWEDER (rückwärts): Alle Erweiterungen führen dazu, dass die Kante zu einem schon vorhandenen v2 zeigt. v2 muss also in allen Supergraphen von g vorhanden sein, also schon in g.  g’ “schließt eine Lücke” in g. ODER (vorwärts): Alle Erweiterungen führen dazu, dass die Kante zu einem noch neuen v2 zeigt. v2 muss also in allen Supergraphen von g neu sein, darf also in nichts anderem vorhanden sein.  g’ “fügt einen musterspezifischen Knoten” hinzu. Vorläufiges Fazit: Je mehr solcher Muster (mit Ringstrukturen, mit spezifischen Knoten) es in einem Datenset gibt, desto eher wird sich der (beträchtliche?) zusätzliche Aufwand für den “check of failure of early termination” lohnen. Interessant wäre eine Untersuchung verschiedener Domänen hinsichtlich Musterkonstellationen & Effekten. Es bleiben die Fragen nach Methode und Vollständigkeitkeitsbeweis!

CloseMining (fürs Pre-Processing) EinleitungEindeutige SubgraphenGeschlossene SubgraphenAusblick CloseMining (fürs Pre-Processing)

EinleitungEindeutige SubgraphenGeschlossene SubgraphenAusblick CloseGraph Early termination nicht anwendbar, wenn strikt der DFS-lexikogr. Ordnung gefolgt wird  Prüfung in Z.3 ist Kompromiss. Um zu prüfen, ob ein Graph geschlossen ist: Nur Plus-1-Kante-Supergraphen prüfen notwendig

Experimentelle Evaluation EinleitungEindeutige SubgraphenGeschlossene SubgraphenAusblick Experimentelle Evaluation Experimente mit Biodaten (chemische Verbindungen, klassifiziert als aktiv / moderat aktiv / inaktiv) synthetischen Daten Resultate: CloseGraph ist schneller als gSpan, dieses schneller als FSG generiert weniger Muster als gSpan Laufzeit und #Muster sinken mit min_sup Laufzeit steigt in Abhängigkeit von (a) der durchschnittlichen Größe der potenziell häufigen Graphen und (b) der durchschnittlichen Größe der Graphen in D; beides in gleichem Maße wie gSpan Keine Interaktionen erkennbar

Ausblick der Autoren Nicht oder nur teilweise gelabelte Graphen EinleitungEindeutige SubgraphenGeschlossene SubgraphenAusblick Ausblick der Autoren Nicht oder nur teilweise gelabelte Graphen Multigraphen und Pseudographen Gerichtete Graphen Nicht-zusammenhängende Graphen Bäume Ein Graph mit Mehrfachkanten heisst *Multigraph* (multigraph). Ein Graph mit Schlingen und Mehrfachkanten heisst *Pseudograph* (pseudograph). Ein Graph ohne Mehrfachkanten und Schlingen wird auch *schlichter Graph* (sim- ple graph) genannt.

Mein Ausblick: Häufige Subgraphen in der Webnavigation EinleitungEindeutige SubgraphenGeschlossene SubgraphenAusblick Mein Ausblick: Häufige Subgraphen in der Webnavigation Grundideen: Anwendungsfrage: Gesucht sind Methoden zur Effizienzverbesserung bei der Lösung zweier Mining-Probleme: MP 1: Muster definiert durch “Inhalt” MP 2: Muster definiert durch “Struktur” (= Zusammenfassung isomorpher Muster) Versuch, eine effizientere Methode der Kandidaten-Generierung zu definieren, die die Restriktionen der Domäne ausnutzt (MP 1: Mining auf Graphen mit bijektiver Knoten-Label-Funktion) Wenn 1. erfolgreich: Lassen sich die Vorteile auf MP 2 übertragen (dabei Varianten der Isomorphie-Prüfung untersuchen)? Frage: Sinnvollste Behandlung der Eigenschaften der Domäne, gerichtete Multigraphen hervorzubringen? … würde ich gerne zur Diskussion stellen, wenn es etwas weiter gediehen ist …

EinleitungEindeutige SubgraphenGeschlossene SubgraphenAusblick Vielen Dank!