Marco Mulas Conteggio esatto ed approssimato di cicli da quattro in grafi non diretti.
-
Upload
enrico-carlini -
Category
Documents
-
view
218 -
download
0
Transcript of Marco Mulas Conteggio esatto ed approssimato di cicli da quattro in grafi non diretti.
Marco Mulas
Conteggio esatto ed approssimato di cicli da quattro in grafi non diretti
Conteggio esatto ed approssimato di cicli da quattro in grafi non diretti
Cicli da quattro
Reti ferroviarieReti sociali
Topologia e caratteristiche
di un grafo
Pagina 2/20
Conteggio esatto ed approssimato di cicli da quattro in grafi non diretti
Definizioni
Chiameremo quadrato una qualsiasi sequenza (a,b,c,d) di nodi del grafo G se e solo se essa forma un ciclo di lunghezza quattro in G, ossia se e solo se {a,b}, {b,c}, {c,d}, {d,a} sono presenti nell’insieme degli archi di G.
Pagina 3/20
Conteggio esatto ed approssimato di cicli da quattro in grafi non diretti
Definizioni
Chiameremo 2path (a,x,b) un cammino di lunghezza due all’interno del grafo.
Chiameremo 3path (a,x,y,b) un cammino di lunghezza tre all’interno del grafo.
Pagina 4/20
Algoritmi di conteggio esatto mediante vertici
Conteggio esatto ed approssimato di cicli da quattro in grafi non diretti
INPUT: G=(V,E) count = 0for each a V for each b V (b≠a) for each c V (c≠b, c≠a) for each d V (d≠c, d≠b, d≠a) if {a,b},{b,c},{c,d},{d,a} E then count = count + 1 OUTPUT: count/8
mediante Ricerca Esaustiva
Tempo: (n4)
Pagina 5/20
Tempo: (n2) per istanze reali
Algoritmi di conteggio esatto mediante vertici
Conteggio esatto ed approssimato di cicli da quattro in grafi non diretti
INPUT: G=(V,E) count = 0for each a V for each b adj(a) for each c adj(b) (c≠a) for each d adj(c) (d≠b, d≠a) if {d,a} E then count = count + 1 OUTPUT: count/8
mediante Backtracking
Tempo: (n2) + O(nd3)
Pagina 6/20
Algoritmi di conteggio esatto mediante 2path
Conteggio esatto ed approssimato di cicli da quattro in grafi non diretti
Tempo: O(nd2 log n)
INPUT: G=(V,E) count = 0 P = for each 2path (a,x,b) in G P = P U (a,b)for each (c,d) P calcola la molteplicità k di (c,d) in P if k ≥ 2 then count = count +
OUTPUT: count/2
Tempo: O(n log n) per istanze reali
Pagina 7/20
Algoritmi approssimanti
Conteggio esatto ed approssimato di cicli da quattro in grafi non diretti
Un algoritmo probabilistico per un problema di conteggio e (-)-approssimante se , (0,1) produce, con una probabilità maggiore o uguale a 1-, una stima e che dista al più un fattore dal conteggio esatto di X.
X X+XX-X
Pagina 8/20
Campionamento mediante quattro vertici
Conteggio esatto ed approssimato di cicli da quattro in grafi non diretti
INPUT: G=(V,E) = 0Scegli a caso una possibile quadrupla (a, b, c, d) if {a,b}, {b,c}, {c,d}, {d,a} E then = 1OUTPUT:
[CQV]
Pagina 9/20
Algoritmi approssimanti
Conteggio esatto ed approssimato di cicli da quattro in grafi non diretti
Teorema
Siano 1, 2,. . . , S variabili aleatorie identicamente distribuite a valori nell’intervallo [0,1] con valore medio E[].
Se
Pagina 10/20
allora
Campionamento mediante quattro vertici
Conteggio esatto ed approssimato di cicli da quattro in grafi non diretti
INPUT: G=(V,E) = 0Scegli a caso una possibile quadrupla (a, b, c, d) if {a,b}, {b,c}, {c,d}, {d,a} E then = 1OUTPUT:
[CQV]
Pagina 11/20
Campionamento mediante 2path e un vertice
Conteggio esatto ed approssimato di cicli da quattro in grafi non diretti
INPUT: G=(V,E) = 0Scegli a caso un 2path (a,b,c) e un vertice d t.c. d {a,b,c} If {c,d}, {d,a} E then = 1OUTPUT:
[CPV]
Pagina 12/20
Campionamento mediante 3path
Conteggio esatto ed approssimato di cicli da quattro in grafi non diretti
[CTP]
INPUT: G=(V,E) = 0Scegli a caso un {a,b} EFra gli adj(a) scegli a caso un vertice dFra gli adj(b) scegli a caso un vertice cif d≠b c≠a {d,c} E then = OUTPUT:
Pagina 13/20
Risultati sperimentali
Conteggio esatto ed approssimato di cicli da quattro in grafi non diretti
Dataset usato
Grafo Vertici Archi D medio QuadratiErdos–Renyi300,0.035 300 1.590 10,6 1.636
as19971109 3.011 5.343 3,5 61.245
as19990923 5.803 11.823 4,1 241.790
as20000102 6.474 7.391 4,1 299.317
Erdos–Renyi 3011,0.045 3.011 204.141 135,6 42.253.872
Email-Enron 36.692 183.831 10,0 36.262.229
Dblp.ungraph 317.080 1.049.866 6,6 55.107.654
Pagina 14/20
Risultati sperimentali
Conteggio esatto ed approssimato di cicli da quattro in grafi non diretti
Algoritmi di conteggio esatto
Pagina 15/20
Risultati sperimentali
Conteggio esatto ed approssimato di cicli da quattro in grafi non diretti
Con algoritmo di campionamento mediante 2path e un vertice
Grafo 20k 50k 100k 500k
dev. Speedup dev. Speedup dev. Speedup dev. Speedup
E.R. 300,0.035 3,1% 1,00 0,1% 2,44 0,3% 4,66 0,1% 22,65
as19971109 7,0% 0,20 6,8% 0,50 5,6% 1,00 1,0% 5,07
as19990923 7,5% 0,10 3,5% 0,25 2,5% 0,49 2,1% 2,48
as20000102 18,3% 0,30 1,6% 0,74 1,2% 1,43 1,0% 7,44
E.R. 3011,0.045 4,3% 0,003 1,3% 0,007 1,2% 0,014 0,8% 0,071
Email-Enron 9,5% 0,004 4,7% 0,010 4,1% 0,020 1,1% 0,099
dblp.ungraph 9,1% 0,005 8,1% 0,008 5,5% 0,015 1,8% 0,071
Pagina 16/20
Risultati sperimentali
Conteggio esatto ed approssimato di cicli da quattro in grafi non diretti
Con algoritmo di campionamento mediante 3path
Grafo 100 2k 5k 10k
dev. Speedup dev. Speedup dev. Speedup dev. Speedup
E.R. 300,0.035 16,4% 0,0143 4,2% 0,0831 2,6% 0,2066 0,9% 0,4057
as19971109 15,5% 0,0029 0,14% 0,0116 0,11% 0,0289 0,10% 0,0697
as19990923 12,9% 0,0006 6,3% 0,0047 3,2% 0,0109 1,0% 0,0211
as20000102 18,8% 0,0028 2,8% 0,0136 2,7% 0,0318 1,5% 0,0673
E.R. 3011,0.045 12,6% 0,0002 4% 0,0005 2,5% 0,0009 1,9% 0,0015
Email-Enron 10,1% 0,0003 1,7% 0,0006 1,5% 0,0011 0,9% 0,0195
dblp.ungraph 6,9% 0,0018 2,1% 0,0020 1,0% 0,0024 0,001% 0,0029
Pagina 17/20
Confronto campionamenti
Conteggio esatto ed approssimato di cicli da quattro in grafi non diretti
Esperimenti sul grafo Erdos–Renyi 300,0.035
Pagina 18/20
Confronto campionamenti
Conteggio esatto ed approssimato di cicli da quattro in grafi non diretti
Esperimenti sul grafo as19971109
Pagina 19/20
Conclusioni e sviluppi futuri
Conteggio esatto ed approssimato di cicli da quattro in grafi non diretti
• Sono stati presentati due tipologie di algoritmo esatto per il conteggio dei quadrati e tre algoritmi di campionamento per il conteggio approssimato
• Mediante l’algoritmo di conteggio esatto basato sui 2path si riescono ad ottenere risultati esatti in un tempo discreto
• L’algoritmo di campionamento basato sul 3path risulta il più efficiente dei tre presentati.
• Mediante dei buon algoritmi di conteggio approssimanti e possibile raggiungere un’ottima stima indicativa usando usando tempi accettabili
• Con il modello di memoria esterna si può eseguire il conteggio esatto, basato su 2path mediante mergesort iterativo a k vie su file, anche su grafi più grandi (n1M e m2M)
Pagina 20/20
Grazie per la cortese attenzione
Conteggio esatto ed approssimato di cicli da quattro in grafi non diretti