La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

UNIVERSITA DEGLI STUDI DELLA CALABRIA FACOLTA DI INGEGNERIA Corso di Laurea Spec. in Ingegneria Informatica Graph Mining Prof. G. Manco Francesco Gullo.

Presentazioni simili


Presentazione sul tema: "UNIVERSITA DEGLI STUDI DELLA CALABRIA FACOLTA DI INGEGNERIA Corso di Laurea Spec. in Ingegneria Informatica Graph Mining Prof. G. Manco Francesco Gullo."— Transcript della presentazione:

1 UNIVERSITA DEGLI STUDI DELLA CALABRIA FACOLTA DI INGEGNERIA Corso di Laurea Spec. in Ingegneria Informatica Graph Mining Prof. G. Manco Francesco Gullo Ing. F. Folino matr Anno Accademico 2004/2005 DATA MINING E SCOPERTA DELLA CONOSCENZA

2 Modello Transazionale Database di transazioni: TIDITEMS 1Bread, Milk 2Bread, Diaper, Beer, Eggs 3Milk, Diaper, Beer, Coke 4Bread, Milk, Diaper, Beer 5Bread, Milk, Diaper, Coke Transazione:insieme di items Itemset: collezione di items Es. {Bread, Milk, Coke} Obiettivo primario: ricerca di itemset frequenti {Bread, Milk} Es:{Bread, Diaper} {Diaper, Beer}

3 Modelli alternativi In molti ambiti gli oggetti del dataset vengono rappresentati mediante strutture dati più complesse, ad es. attraverso grafi. Transazioni Grafi ItemsNodi Relazioni tra items Archi Ricerca di itemset fequenti in un dataset di transazioni Ricerca di sottografi frequenti in un dataset di grafi

4 Applicazioni Chimica Genetica Web Reti …

5 Definizioni preliminari Grafo etichettato: V, insieme di nodi E, insieme di archi L, insieme di etichette, funzione che assegna etichette a nodi ed archi G s =(V s, E s ) è sottografo di G=(V, E) sse e G s =(V s, E s ) è sottografo indotto di G=(V, E) sse e G=(V,E) è connesso sse esiste un cammino per ogni coppia di nodi V

6 Definizioni preliminari Un isomorfismo è una funzione biunivoca tale che: Un automorfismo è un isomorfismo da G a G Un sottografo-isomorfismo da G a G è un isomorfismo da G a un sottografo di G La canonical label di un grafo G=(V,E), cl(G), è un codice unico (stringa), invariante rispetto allordinamento di nodi e archi del grafo

7 Isomorfismo Proprietà: Struttura topologicamente uguale Matrici di adiacenza e incidenza Vertex invariants Punto cruciale: risoluzione del subgraph isomorphism problem

8 Isomorfismo G:H: G e H sono isomorfi (esiste in isomorfismo f tra G e H): H: f(1)=4f(2)=1 f(3)=2f(4)=3 G e H non sono isomorfi pur avendo lo stesso numero di nodi e di archi: G: H: a a a a a a b b b c c c dd d

9 Canonical Labeling Comparazione veloce tra grafi e ordinamento completo e deterministico per insiemi di grafi Canonical labels usate: Concatenazione di righe o colonne della matrice di adiacenza => non univoco! Tra tutte le possibili permutazioni dei nodi, scelta del codice maggiore o minore => |V|! permutazioni Utilizzo di vertex invariants per il partizionamento in classi di nodi => permutazioni

10 Canonical Labeling Classi: p 0 ={v 1 } (label:a, degree:3) p 1 ={v 0,v 3 } (label:a, degree:1) p 2 ={v 2 } (label:b, degree:1) 1! x 2! x 1! = 2 permutazioni invece di 4! = 24 permutazioni CL

11 Definizione del problema Frequent Subgraph Discovery: Input: D={G 1,…,G n }, dataset di n grafi etichettati non orientati σ, supporto minimo (0<σ<1) Obiettivo: Trovare tutti i sottografi non orientati e connessi presenti in almeno σxn grafi del dataset D

12 Algoritmo Apriori 1. L 1 = {items frequenti}; 2. for(k = 1; L k ; k++) do begin 3.C k+1 = candidati generati da L k ; 4. for each transazione t in D 5.incrementa il supporto dei candidati in C k+1 contenuti in t; 6. L k+1 = candidati in C k+1 con supporto min_support; 7. return {L 1,…, L n }; Candidate Generation: join false test Frequency Counting largamente utilizzato nei modelli market-basket schema base per alcuni algoritmi di ricerca di sottografi

13 Soluzioni proposte Parametri di performances: |D|: dimensione del dataset |T|: dimensione media transazioni |N|: numero di etichette σ : supporto minimo Studi sperimentali: dataset reali Chemical Compound Dataset (NTP, DTP, PTE ecc.) dataset sintetici Parametri: |D|, |T|, |N|, |L|, |I| D10kN4I10T20L200 Algoritmi analizzati: AGM FSG gSpan FFSM GASTON

14 AGM: caratteristiche Basato sullalgoritmo Apriori Incremento della dimensione dei sottografi frequenti mediante aggiunta di un nodo alla volta La ricerca è di sottografi indotti frequenti Si basa sulla rappresentazione dei grafi mediante matrici di adiacenza

15 AGM: rappresentazione di grafi Matrice di adiacenza: Dato un grafo etichettato, la matrice di adiacenza X è costituita dai seguenti elementi x ij : dove num(lb) è un intero arbitrariamente assegnato alletichetta lb Matrice di adiacenza vertex-sorted : La matrice di adiacenza X k di un grafo G(X k ) di dimensione k è vertex-sorted se: Codice della matrice di adiacenza: Il codice di una matrice di adiacenza X k, code(X k ), è dato dalla stringa risultante dalla concatenazione degli elementi sulle colonne del triangolo superiore della matrice stessa

16 AGM: candidate generation 1. JOIN La join avviene tra grafi che differiscono per un unico nodo: sottomatrice in comune vettori colonna di dim. (k-1) x 1 elementi non determinati da X k e Y k Per evitare ridondanze, la join tra X k e Y k viene fatta soltanto se code(X k ) code(Y k ) =>matrice vertex sorted in normal form =>di ogni singolo grafo generato vengono calcolate e memorizzate tutte le normal form ad esso relative

17 AGM: candidate generation 2. ELIMINAZIONE CANDIDATI INFREQUENTI Leliminazione di sottografi infrequenti consta di tre passi: costruzione delle sottomatrici (mediante eliminazione di un nodo per volta) normalization delle sottomatrici ottenute (approccio bottom-up) verifica di frequenza, mediante ricerca di matching con linsieme dei candidati di dim. inferiore

18 AGM: frequency counting Frequency Counting: calcolo della canonical form di ogni candidato (approccio bottom-up) calcolo delle normal forms dei k-subgraph indotti di ogni transazione calcolo della frequenza Poiché dello stesso grafo sono presenti più rappresentazioni, il frequency counting deve prevedere la somma dei contributi associati alla singola normal form => meccanismo di indicizzazione basato su canonical form

19 AGM: prestazioni Risultati su dataset sintetici:

20 AGM: prestazioni Risultati: Andamento atteso al variare dei parametri caratteristici Scaling lineare al variare della dim. del dataset Complessità minore per grafi orientati (frequenza minore dei sottografi) Su dataset NTP (National Toxicology Program): PC 400MHz 128MB => 40 min con σ=20% 8 gg con σ=10%

21 AGM: conclusioni Vantaggi: Semplicità di implementazione Pruning in base alla frequenza Prestazioni discrete per dataset piccoli e supporti grandi Svantaggi: La ricerca è di soli sottografi indotti Estrema ridondanza: ad ogni passo vengono mantenute e calcolate tutte le normal form di ogni singolo candidato Operazioni di join, normalization e ricostruzione canonical form molto costose Prestazioni scadenti per dimensioni medio-elevate (8gg per |D|= e minsup=10%)

22 FSG: caratteristiche Basato sullalgoritmo Apriori Incremento della dimensione dei sottografi frequenti mediante aggiunta di un arco alla volta Ottimizzazioni per candidate generation e frequency counting Utilizzo di canonical labeling

23 FSG: algoritmo fsg(D, σ) { 1: F 1 all frequent 1-subgraphs in D 2: F 2 all frequent 2-subgraphs in D 3: k 3 4: while F k-1 Ø do 5: C k fsg-gen(F k-1 ) 6: for each candidate G k C k do 7: G k.count 0 8: for each transaction T D do 9: if G k is included in T then 10: G k.count G k.count : F k {G k E C k | G k.count σ|D|} 12: k k : return {F 1, F 2,…, F k-2 } } generazione di tutti i sottografi frequenti di dimensione 1 e 2 Candidate Generation: generazione sottografi candidati di dim. k, mediante fusione dei sottografi frequenti di dim. k-1 Frequency Counting selezione dei candidati che soddisfano il vincolo di supporto

24 FSG: candidate generation La join avviene tra sottografi di dim. k che condividono lo stesso (k-1)-subgraph (core) il risultato potrebbe non essere un unico (k+1)-subgraph: (1). Nodo con uguale etichetta: (2). Automorfismi multipli del core (3). Cores multipli

25 FSG: candidate generation fsg-gen(F k ) { 1: C k+1 Ø 2: for each pair of (G i k,G j k ) F k, i j and cl(G i k ) cl(G j k ) do 3: H k-1 { H k-1 | H k-1 is a core shared by G i k and G j k } 4: for each core H k-1 E H k-1 do 5: { B k+1 is a set of tentative candidates } 6: B k+1 fsg-join(G i k,G j k, H k-1 ) 7: for each G j k+1 E B k+1 do 8: { test if the downward closure property holds } 9: flag true 10: for each edge e l G j k+1 do 11: H l k G j k+1 - e l 12: if H l k is connected and H l k F k then 13: flag false 14: break 15: if flag = true then 16: C k+1 C k+1 U {G j k+1 } 17: return C k+1 } generazione di tutti i core condivisi per ogni coppia di sottografi frequenti generazione di tutti i possibili candidati mediante fusione di ogni coppia di sottografi frequenti, per ogni core condiviso false test

26 FSG: candidate generation fsg-join( G 1 k, G 2 k, H k-1 ) { 1: e 1 the edge appears only in G 1 k, not in H k-1 2: e 2 the edge appears only in G 2 k, not in H k-1 3: M generate all automorphisms of H k-1 4: B k+1 = Ø 5: for each automorphism ψ M do 6: B k+1 B k+1 U {all possible candidates of size k+1 created from a set of e 1, e 2, H k-1 and ψ} 7: return B k+1 } generazione dei candidati (max. 2) per ogni automorfismo del core

27 FSG: candidate generation 3 steps computazionalmente costosi: generazione cores (e automorfismi) join eliminazione candidati infrequenti Ottimizzazioni: ogni k-subgraph frequente mantiene le canonical label dei suoi (k-1)-subgraph frequenti Inverted indexing scheme caching degli automorfismi dei cores precedenti uso di canonical labeling per la verifica di ridondanze e sottografi infrequenti (test veloci e ricerca binaria)

28 FSG: frequency counting Ad ogni passo, nxm k subgraph isomorphism problem (n=|D|, m k =# di candidati al passo k) Il costo computazionale è ridotto dalluso di transaction identifier (TID) lists: ogni sottografo frequente mantiene la lista di TID delle transazioni nelle quali è contenuto per il calcolo della frequenza di un (k+1)- subgraph si considera lintersezione delle liste di TID dei suoi k-subgraph frequenti se la dim. della lista è minore del supporto minimo, il candidato viene scartato, altrimenti viene valutata la frequenza sulle sole transazioni della lista

29 FSG: canonical labeling Il canonical labeling rappresenta un punto critico dellalgoritmo. Viene massicciamente impiegato in: Test di ridondanza (candidati già generati durante la join) False test per la verifica di sottografi frequenti Per questioni di efficienza, lalgoritmo di CL utilizzato fa uso di vertex invariants, prevedendone tre versioni differenti: Partition ordering Neighbor list Iterative partitioning

30 FSG: prestazioni Risultati su dataset PTE (Predictive Toxicology Evaluation Challenge): 3 ordini di grandezza tra le versioni + e – ottimizzate Inverted index: 2-4 Partition ordering: 5-15 Neighbor list: 2 ordini di grandezza Iterative partitioning: 1 ordine di grandezza Tempi notevolmente inferiori di quelli di AGM

31 FSG: prestazioni Risultati su dataset sintetici: Sensibilità alla struttura del grafo (|D|, |L| costanti; |T|, |I|, |N| variabili; σ=2%) |T| e |I| grandi => grande varianza Motivazione: presenza variabile di pattern regolari |N| grande => complessità minore Motivazione: automorfismi in candidate generation, subgraph isomorphism in frequency counting e CL Valore di regime in relazione ai valori di |T| e |I| |T| grande => complessità maggiore Motivazione: frequency counting e CL Crescita più lenta se |N| grande |I| grande => complessità maggiore Motivazione: candidate generation e CL Crescita più lenta se |N| grande e/o |T| piccolo Influenza indiretta di σ e |T|

32 FSG: prestazioni Scalabilità sulla dimensione del dataset Analisi al variare di |D| e |T| => scalabilità lineare

33 FSG: conclusioni Vantaggi: Ricerca di sottografi generali Numerose ottimizzazioni Prestazioni molto superiori ad AGM Svantaggi: Candidate generation comunque costosa nonostante ottimizzazioni (false test e join ridondante) Complessità spaziale elevata (a causa di BFS)

34 GSPAN: caratteristiche Depth-first search invece di breadth-first search Incremento della dimensione dei sottografi frequenti mediante aggiunta di un arco alla volta Lo spazio di ricerca è un albero gerarchicamente basato sul DFS code Join sostituita dalla meno onerosa extension e false test eliminato

35 GSPAN: DFS code DFS tree DFS subscripting Rightmost vertex e rightmost path Forward edge set : Backward edge set :

36 GSPAN: DFS code Ordinamenti tra archi e 1 =(v i1,v j1 ), e 2 =(v i2,v j2 ): ordinamento forward: sse j 1

37 GSPAN: DFS code Ordinamento lessicografico DFS: Dati Z={code(G,T)|T è un DFS tree di G} α=code(G α,T α )=(a 0,a 1,…,a m ), β=code(G β,T β )=(b 0,b 1,…,b n ) E α,f,E α,b, E β,f,E β,b, forward edge set e backward edge set per T α e T β a t =(i a,j a,l ia,l (ia,ja),l ja ) e b t =(i b,j b,l ib,l (ib,jb),l jb ) α β sse: Il minimum DFS code di un grafo G è il DFS code minimo in base allordinamento lessicografico DFS e costituisce la canonical label di G

38 GSPAN: spazio di ricerca Relazione padre P = (a 0, a 1,…,a m ) figlio C = (a 0, a 1,…,a m, b) Relazione tra fratelli: ordinamento lessicografico basato sul DFS code Lo spazio di ricerca è rappresentato dal DFS code tree pruning Loperazione di extension per la costruzione dei figli di ogni nodo consta nellaggiunta di archi per i soli nodi del rightmost path

39 GSPAN: spazio di ricerca Teoremi: DFS Code Tree Covering DFS Code Growth DFS Code Pruning Il DFS code tree contiene i minimum DFS code di tutti i grafi (completa enumerazione) Il minimum DFS code di un grafo G, durante la DFS, è incontrato prima di qualsiasi altro DFS code non minimum rappresentante G La discendenza di un nodo con DFS code non minimum non darà vita ad alcun nodo con DFS code minimum

40 GSPAN: algoritmo GraphSet_Projection( ) { } eliminazione archi e nodi infrequenti dai grafi del dataset GS generazione di tutti gli archi a partire dallinsieme di etichette frequenti e salvataggio dei soli frequenti salvataggio degli ID di ogni transazione in cui compare larco e DFS ricorsiva nel sottoalbero avente come root larco s riduzione di ogni transazione di GS mediante eliminazione dellarco appena analizzato

41 GSPAN: depth first search Subgraph_Mining( ) { } Enumerate(s) { } pruning frequency counting continuazione ricorsiva della DFS per i soli sottografi frequenti calcolo della frequenza di ogni figlio di s e salvataggio delle transazioni in cui è presente calcolo di tutte le occorrenze di s nelle transazioni in cui è contenuto; il subgraph isomorphism problem è risolto con approccio backtracking

42 GSPAN: ottimizzazioni Pruning pre-pruning post-pruning Minimum DFS code generazione di tutti i DFS code (automorfismi) confronti parziali Children generation prima del counting (possibilità di frequenza 0) durante il counting (frequenza almeno pari ad 1)

43 GSPAN: prestazioni Risultati su dataset sintetici: Complessità 6-30 volte inferiore di FSG (su vari dataset generati) Meno sensibile di FSG a valori piccoli del parametro |N| (numero di etichette) Comportamento molto buono su grafi grandi e densi (15-45 volte migliore di FSG) Scalabilità lineare nella dimensione del dataset Risultati su dataset PTE: Speedup tra gSpan e FSG molto elevato (sottostrutture ad albero e poche etichette agli archi) Computazione successful anche per supporti molto piccoli (1.5%)

44 GSPAN: conclusioni Vantaggi: Join in candidate generation sostituita da extension (minore complessità e ridondanze) Eliminazione di false test in candidate generation Complessità spaziale ridotta (grazie a DFS) Riduzione delle transazioni del dataset ad ogni macropasso Prestazioni in generale superiori ad FSG Svantaggi: Necessità di pruning test per la possibilità di DFS code duplicati La risoluzione di subgraph isomorphism problems anche se in quantità ridotta è comunque presente

45 FFSM: caratteristiche Depth-first search Incremento della dimensione dei sottografi frequenti mediante aggiunta di un arco alla volta Lo spazio di ricerca è un albero gerarchicamente basato sulle suboptimal CAM Operazioni efficienti di join e extension per la generazione dei figli di ogni nodo dellalbero di ricerca

46 FFSM: CAM Ogni grafo viene rappresentato mediante la propria matrice di adiacenza: Codice di una matrice di adiacenza M (code(M)) Canonical Form (CF) Canonical Adjacency Matrix (CAM) Concatenazione delle righe del triangolo inferiore della matrice M Massimo tra tutti i possibili codici (ordinamento lessicografico) Matrice di adiacenza che dà origine alla CF

47 FFSM: CAM code(M 1 )=axbxyb0yyb code(M 2 )=axb0ybxyyb code(M 3 )=bybyyb0xxa

48 FFSM: CAM Ogni codice stabilisce un ordinamento tra gli archi del grafo in questione Maximal Proper Submatrix: matrice ottenuta dalleliminazione dellultimo arco nellordinamento CF di un grafo è sempre della CF di un suo sottografo Maximal proper submatrix di una CAM rappresenta un sottografo connesso Maximal proper submatrix di una CAM è CAM

49 FFSM: CAM tree Il CAM tree di un grafo G contiene tutte le CAM dei sottografi connessi di G la root è la matrice vuota ogni nodo è un sottografo distinto di G, rappresentato dalla sua CAM il padre di un nodo è dato dalla maximal proper submatrix del nodo stesso

50 FFSM: CAM tree La generazione del CAM tree per un grafo G viene effettuata applicando ad ogni nodo operazioni efficienti di join e extension: FFSM-join e FFSM-extension Caratteristiche: FFSM-join genera ogni distinta CAM una volta sola FFSM-join genera al massimo due CAM FFSM-extension genera tutte le CAM mediante aggiunta di un arco in un unico punto Sostanziale riduzione di candidati ridondanti!

51 FFSM: FFSM-join La join tra due matrici A(mxm) e B(nxn) che condividono la stessa maximal proper submatrix consta di tre casi: A e B matrici inner A matrice inner B matrice outer A e B matrici outer Per evitare ridondanze la join tra due matrici A e B viene effettuata soltanto se code(A)code(B), tranne che per il caso 3b

52 FFSM: FFSM-extension Lextension viene effettuata considerando un unico punto di scelta: viene aggiunto un arco allultimo nodo del grafo in considerazione verso un ulteriore nodo aggiuntivo. versione non ottimizzata!

53 FFSM: spazio di ricerca Il CAM tree è un albero non completo Per garantire la completezza cè bisogno di operazioni di join tra CAM e suboptimal CAM Suboptimal CAM tree Matrici rappresentanti sottografi validi ottenute a partire da suboptimal CAM

54 FFSM: algoritmo insieme di tutte le suboptimal CAM del livello superiore generazione figli mediante FFSM-join generazione figli mediante FFSM-extension frequency counting (la versione ottimizzata fa uso di embedding list)

55 FFSM: embedding list Il proprio embedding set viene mantenuto da ogni nodo e trasmesso ai figli durante le operazioni di join ed extension La frequenza di un sottografo nel dataset è pari al numero di grafi differenti presenti nel proprio embedding set => nessun subgraph isomorphism problem da risolvere! Embedding di una matrice di adiacenza A in un grafo G Matching di nodi tra A e un sottografo di G (subgraph isomorphism) Embedding set di A Insieme di tutti gli embedding di A in un dataset D

56 FFSM: embedding list FFSM-join: A=join{P,Q} O A, O P, O Q embedding set di A, P, Q rispettivamente 1): O A = O P O Q 2): O A = {L | L = u 1,…,u n-1,u n, L є O Q, L = u 1,…,u n-1 є O P } 3a): O A = O P O Q 3b): O A = {L | L = u 1,…,u n, L = u 1,…,u n-2,u n-1 є O P, L = u 1,…,u n-2,u n є O Q } FFSM-extension: riduzione dei possibili nodi da considerare

57 FFSM: prestazioni Risultati su dataset reali: PTE DTP AIDS (CA) DTP AIDS (CM)

58 FFSM: prestazioni Risultati su dataset sintetici: σ variabile |T| variabile |N| variabile

59 FFSM: conclusioni Vantaggi: Candidate generation molto efficiente grazie alle operazioni di FFSM-join e FFSM-extension (massiccia diminuzione di ridondanze) Nessuna risoluzione di subgraph isomorphism problem nel frequency counting Complessità spaziale ridotta (grazie a DFS) Prestazioni in generale superiori rispetto a gSpan Svantaggi: Canonical labeling semplice ma costoso Necessità di CAM test per ogni matrice, ad ogni livello

60 GASTON: caratteristiche Mining differenziato per differenti sottostrutture (cammini, alberi, grafi) Operazioni efficienti per lenumerazione delle singole sottostrutture Depth-first search Utilizzo di embedding list

61 GASTON: spazio di ricerca Paths Free Trees Cyclic Graphs Ordinamento parziale tra sottostrutture di un grafo node refinement cycle closing refinement Lo spazio di ricerca è partizionato in base alla sottostruttura da considerare:

62 GASTON: path enumeration (v 1 e 1 v 2 …v n-1 e n-1 v n )Possibili ridondanze dovute allorientamento! comparazione lessicografica tra (v 1,e 1 ) e (v n,e n-1 ) (v 1,e 1 ) > (v n,e n-1 ) => padre: (v 2 …v n-1 e n-1 v n ) (v 1,e 1 ) padre: (v 1 e 1 v 2 …v n-1 ) path simmetrico =>padre:indifferente! (v 1 e 1 v 2 …v n-1 ) padre:(v 1 e 1 v 2 …v n-1 ) (v n e n-1 v n-1 …v 2 ) padre:(v 2 …v n-1 e n-1 v n ) (v 1,e 1 )=(v n,e n-1 ) Definizione univoca del predecessore di ogni path string nellalbero di enumerazione:

63 GASTON: path enumeration (v 1 e 1 v 2 …v n-1 e n-1 v n ): total simmetry (v 1 e 1 v 2 …v n-1 ) : front simmetry (v 2 …v n-1 e n-1 v n ): back simmetry Algoritmo di refinement: 0 => stringa simmetrica -1 => inversa minore +1 => corrente minore total simmetry=0 => tutti i refinements possibili altrimenti, solo determinati (l(v),l(e)) possibili (l(v),l(e)) > (l(v 1 ),l(e 1 )) (l(v),l(e)) = (l(v 1 ),l(e 1 )), se back simmetry 0 total simmetry e front simmetry sono propagate da padre in figlio in tempo costante, back simmetry in tempo lineare

64 GASTON: free tree enumeration path P di lunghezza massima in un free tree T: P={v 1,…v m } m dispari => centred treem pari => bicentred tree Free tree enumeration: path corrispondenti alla backbone free tree con la stessa backbone backbone constraints enumerazione univoca e completa!

65 GASTON: graph enumeration Lenumeration di grafi ha luogo considerando unicamente cycle closing refinements, senza che ciò infici la completezza dellalbero di ricerca Utilizzo di Nauty normalization per il labeling dei grafi Hashing dei grafi generati ad ogni passo Il processo di enumeration per grafi consta di tre passi: 1. Generazione di un grafo per ogni cycle close refinement lecito 2. Ricostruzione della canonical form (mediante Nauty normalization) dei grafi generati 3. Test di ridondanza mediante confronto con i grafi già memorizzati nelle strutture hash

66 GASTON: frequency counting Utilizzo di embedding list, organizzate efficientemente per salvaguardare lo spazio di memorizzazione: Ogni riga contiene lembedding list di un antenato del grafo in questione Ogni tupla contiene il riferimento a una tupla dellembedding list del padre Per un node refinement la tupla è costituita da: t.parent, t.graph, t.node Per un cycle closing refinement la tupla è costituita da: t.parent Ogni embedding può essere ricostruito ripercorrendo a ritroso i puntatori t.parent La frequenza di un candidato è data dal numero di grafi differenti presenti nellembedding list

67 GASTON: frequency counting Ad ogni passo dellalgoritmo, oltre allembedding list della struttura corrente, viene mantenuto lintero legs set ad essa relativo In particolare, oltre alle legs relative a refinement leciti, viene tenuta traccia anche di tutte le altre (tranne che per lenumerazione dei free tree). Ciò consente alle operazioni di join e extension di generare correttamente lembedding list delle strutture successivamente generate insieme di embedding list di ognuna delle possibili sottostrutture ottenibili mediante refinement dalla struttura corrente

68 GASTON: algoritmo costruzione delle sottostrutture figlie mediante applicazione dei refinement del legs set L costruzione del nuovo legs set a seconda del refinement applicato chiamata DFS a seconda della sottostruttura creata

69 GASTON: prestazioni Risultati su artificial tree datasets

70 GASTON: prestazioni Risultati su dataset reali: DTP AIDS DTP HTCLS DTP OSSERVAZIONE: Nei vari esperimenti, il 90% circa delle sottostrutture frequenti scoperte risultavano essere free tree… => lapplicazione del quickstart principle porta notevoli benefici!

71 GASTON: conclusioni Vantaggi: Mining molto efficiente di sottostrutture particolari, sfruttato anche nel mining di grafi generali Nessuna risoluzione di subgraph isomorphism problem grazie alle embedding list Labeling molto efficiente (Nauty normalisation) Complessità spaziale ridotta (grazie a DFS e allefficiente organizzazione delle embedding list) Prestazioni in generale superiori rispetto a tutti gli altri algoritmi di graph mining analizzati Svantaggi: Test di ridondanza necessario, anche se efficiente ed effettuato per le sole sottostrutture a grafo

72 CONCLUSIONI TIPO RICERCA CANONICAL LABELING CANDIDATE GENERATION TEST DI RIDONDANZA OTTIM. FREQUENCY COUNTING AGMBFS Matrice di Adiacenza APRIORI join Normalization + APRIORI false test - FSGBFS Matrice di Adiacenza (vertex invariants) APRIORI join (ottimizzata) CL test + APRIORI false test TID list GSPANDFSDFS codeDFS extension Minimum DFS test TID list FFSMDFS Matrice di Adiacenza FFSM join & FFSM extension CAM testEmbedding list GASTON PATH DFS-Node refinement-Embedding list TREE DFS-Node refinement-Embedding list GRAPH DFS Nauty normalization Cycle Closing refinement Nauty norm. hashing test Embedding list


Scaricare ppt "UNIVERSITA DEGLI STUDI DELLA CALABRIA FACOLTA DI INGEGNERIA Corso di Laurea Spec. in Ingegneria Informatica Graph Mining Prof. G. Manco Francesco Gullo."

Presentazioni simili


Annunci Google