Häufige Teilgraphen:gSpan Seminartitel: Data Mining Seminarthema:1.5.1 Häufige Teilgraphen: gSpan Fernuniversität Hagen SS 2008 Seminarleiter: Ralf Hartmut Güting Betreuer: Christian Düntgen Referentin: Fatma Akyol
1.5.1 häufige Teilgraphen: gSpan, Fatma Akyol 2 Gliederung Motivation Einführung in die Problematik Verschiedene Ansätze Verwendete Techniken Der Algorithmus
1.5.1 häufige Teilgraphen: gSpan, Fatma Akyol 3 Motivation Menge aus organischen chemischen Stoffen Suche nach Strukturen mit gleicher Grundstruktur (häufige Bestandteile) Suche nach einer bestimmten Struktur (krebserregende Bestandteile) gleich Unterschied KnotenKanten
1.5.1 häufige Teilgraphen: gSpan, Fatma Akyol 4 Einführung in die Problematik Häufig relativ==>benutzerdefinierte Grenze Minimaler Support Vertretung zählen: Anzahl der Graphen, in denen Teilgraph vorkommt Teilgraph Wenn Graph mit weniger Kanten im Graphen mit mehr Kanten eine Untermenge ist Subgraphisomorphie Test
1.5.1 häufige Teilgraphen: gSpan, Fatma Akyol 5 Herkömmliche Ansätze AGM g bilden durch Kante erweitern g in D={G1,...,Gn}suchen, zählen für jeden g Neue Menge bilden mit support(g)>=minSup FSG g bilden durch Kante erweitern Für jeden aus D prüfen, ob g enthalten, zählen für jeden aus D Neue Menge bilden mit support(g)>=minSup
1.5.1 häufige Teilgraphen: gSpan, Fatma Akyol 6 Isomorphie / Subgraphisomorphie
1.5.1 häufige Teilgraphen: gSpan, Fatma Akyol 7 Isomorphie / Subgraphisomorphie Subgraphisomorphie: NP-vollständiges Problem
1.5.1 häufige Teilgraphen: gSpan, Fatma Akyol 8 Häufige Teilgraphen A A B C C B C A A A (G 1 ) (G 2 ) (G 3 ) B A C A B Teilgraph g 1 Teilgraph g 2 Teilgraph g 3 Teilgraph g 4 sup= |{G1}| sup=|{G 2,G 3 }| sup=|{G1,G2,G3}| Support: In wieviel Graphen kommt Teilgraph g4 vor? sup=|{G1,G2,G3}|
1.5.1 häufige Teilgraphen: gSpan, Fatma Akyol 9 Verschiedene Ansätze Herkömmliche Methoden Kandidatengenerierung Test auf falsch positive Kandidaten gSpan Keine Kandidatengenerierung Kein Test auf falsch positive Kandidaten
1.5.1 häufige Teilgraphen: gSpan, Fatma Akyol 10 gSpan Wieso kann gSpan alle häufigen Teilgraphen finden? Welche Techniken verwendet gSpan? Wie funktioniert der gSpan? Warum spart gSpan Kosten? Warum ist gSpan schnell?
1.5.1 häufige Teilgraphen: gSpan, Fatma Akyol 11 Verwendete Techniken Tiefensuche DFS Erstellung eines DFS-Codes aus Graphen Vergabe einer lexikographischen DFS-Ordnung zwischen den DFS-Codes Verfolgen der Zweige mit minimalem DFS-Code Betrachtung der Teilgraphen als Knoten in einem DFS- Code-Baum Rekursion zur Erzeugung von Teilgraphen
1.5.1 häufige Teilgraphen: gSpan, Fatma Akyol 12 Konstruktion DFS-Code B A C A B A vovo A a v1v1 B b v2v2 C c v3v3 B e v4v4 (0,1,A,a,A)(1,2,A,b,B)(2,0,B,d,A)(2,3,B,c,C)(1,4,A,e,B) Rechtsäußerste Pfad Rechtsäußerste Knoten DFS Code Vorwärtskante Rückwärtskante a b c d e
1.5.1 häufige Teilgraphen: gSpan, Fatma Akyol 13 Lexikographische DFS-Ordnung (0,1,A,a,A)(1,2,A,b,B)(2,0,B,d,A)(2,3,B,c,C)(1,4,A,e,B) DFS-Code α A vovo A a v1v1 B b v2v2 C c v3v3 B e v4v4 (0,1,A,a,A)(1,2,A,e,B)(1,3,A,b,B)(3,0,B,d,A)(3,4,B,c,C) DFS-Code β gleichgleich ==>α<β vovo A A a v1v1 B e v2v2 v3v3 B b v4v4 C b<e
1.5.1 häufige Teilgraphen: gSpan, Fatma Akyol 14 Lexikographische DFS-Ordnung
1.5.1 häufige Teilgraphen: gSpan, Fatma Akyol 15 Erweiterung DFS Code / Erweiterung Teilgraphen 5 Möglichkeiten der Erweiterung Rückwärtskanten vom rechtsäußersten Knoten aus Vorwärtskanten auf dem rechtsäußersten Pfad
1.5.1 häufige Teilgraphen: gSpan, Fatma Akyol 16 Überblick DFS Code Baum / Suchraum Teilgraphen
1.5.1 häufige Teilgraphen: gSpan, Fatma Akyol 17 Wie entsteht der DFS Code Baum?
1.5.1 häufige Teilgraphen: gSpan, Fatma Akyol 18 Minimale DFS Codes/ Isomorphe nicht minimale / Pruning Pruning
1.5.1 häufige Teilgraphen: gSpan, Fatma Akyol 19 gSpan-Code
1.5.1 häufige Teilgraphen: gSpan, Fatma Akyol 20 subgraph_Mining-Code
1.5.1 häufige Teilgraphen: gSpan, Fatma Akyol 21 Wie funktioniert der gSpan? (G 1 )(G 2 ) (G 3 ) Anzahl: BCA sortieren und neu bezeichnen, häufige Knoten Kombinatorik ohne Isomorphe Ohne Kanten mit support<=minSup gegeben minSup= support: Anzahl der Graphen in denender Teilgraph vorkommt
1.5.1 häufige Teilgraphen: gSpan, Fatma Akyol 22 (G 1 )(G 2 ) (G 3 ) nicht minimal Wegen support(Kinder)<=minSup
1.5.1 häufige Teilgraphen: gSpan, Fatma Akyol 23 Speicherplatzbedarf und Laufzeit Speicherplatz wird gespart durch Tiefensuche durch Schrumpfen der Graphen Laufzeit wird geringer durch Verfolgen der Zweige mit minimalem DFS-Code durch Vermeidung unnötiger Tests durch Suche von Teilgraphen in Graphen, in denen der Vorgänger enthalten war
1.5.1 häufige Teilgraphen: gSpan, Fatma Akyol 24 Literatur 1: A.Inokuchi, T. Washio, and H. Motoda., An Apriori-based algorithm for mining frequent substructures from graph data, : X.Yan and J. Han., gSpan: Graph-based substructure pattern mining, : J.Pei, J.Han, B.Mortazavi-Asl, H.Pinto, Q.Chen, U.Dayal and M.C-Hsu, PrefixSpan: Mining sequential patterns efficiently by prefix-projected pattern growth, April : R.Agrawal and R.Srikant, Fast algorthm for mining association rules, : M.Kuramochi and G. Karypis, Frequent subgraph discovery, Nov 2001