Indeksi centralnosti in algoritmi za njihov izracun

49
Indeksi centralnosti in algoritmi za njihov izračun Domen Blenkuš, Matej Filip, Tilen Marc in Aljaž Zalar 19.4.2012 Domen Blenkuš, Matej Filip, Tilen Marc in Aljaž Zalar

Transcript of Indeksi centralnosti in algoritmi za njihov izracun

Page 1: Indeksi centralnosti in algoritmi za njihov izracun

Indeksi centralnosti in algoritmi za njihov izračun

Domen Blenkuš, Matej Filip, Tilen Marc in Aljaž Zalar

19.4.2012

Domen Blenkuš, Matej Filip, Tilen Marc in Aljaž Zalar

Page 2: Indeksi centralnosti in algoritmi za njihov izracun

Kaj je indeks centralnosti?

izmerimo intuitiven občutek, da so nekatere točke boljpomembnecentralnosti ne moremo enolično definiratipredstavlja lahko različne količine (pomembnost, vplivnost,nadzor,...)

Domen Blenkuš, Matej Filip, Tilen Marc in Aljaž Zalar

Page 3: Indeksi centralnosti in algoritmi za njihov izracun

Primer uporabe - študentske volitve

študentje letnika morajo izvoliti svojega predstavnika v letniku.točke v grafu predstavljajo študentepovezava v grafu med točkama A in B lahko predstavlja:

1 da je oseba A glasovala za osebo B2 da je oseba A prepričala osebo B, da je glasovala za njenega

favoritov3 da je oseba A prepričala osebo B, da je glasovala za drugega

kandidata, kot bi prvotno

Domen Blenkuš, Matej Filip, Tilen Marc in Aljaž Zalar

Page 4: Indeksi centralnosti in algoritmi za njihov izracun

Ohlapna definicija

splošno sprejeta definicija centralnega indeksa zaradi splošneuporame ne obstajabolj pomembnim točkam želimo prirediti večjo vrednostindeksi centralnosti naj bodo odvisni samo od lege točke vgrafu

Definicija (Centralni indeks)Naj bo G = (V ,E ) obtežen, usmerjen ali neusmerjen multigraf.Funkcija s se imenuje centralni indeks natanko takrat, ko velja∀v ∈ V : G ' H ⇒ sG(v) = sH(φ(v)), kjer sG(v) označujevrednost s(v) v grafu G.

Domen Blenkuš, Matej Filip, Tilen Marc in Aljaž Zalar

Page 5: Indeksi centralnosti in algoritmi za njihov izracun

Sosedska centralnost

uporablja se pri volilnih sistemih ali, če nas zanima iz kateretočke lahko neposredno pridemo v največ ostalih točk

DefinicijaNaj bo G = (V ,E ) digraf. Vhodno sosedsko centralnost točkev ∈ V označimo z ciD(v) in je enaka številu vhodnih povezavtočke v (ciD(v) = d−(v)). Podobno izhodno sosedskocentralnost označimo z coD(v) in je enaka številu izhodnihpovezav (coD(v) = d+(v)).

to je primer lokalne centralnosti, saj je centralni indekstočke odvisen samo od njenih sosed

Domen Blenkuš, Matej Filip, Tilen Marc in Aljaž Zalar

Page 6: Indeksi centralnosti in algoritmi za njihov izracun

Ekscentrična centralnost

bolnišnico bi radi postavili na tako točko na grafu, da bodoimeli reševalci čimkrajši najdaljši odzivni časza vsako točko pogledamo najkrajše poti do vseh ostalih točkin ji priredimo največjoizberemo točko z najmanjšo vrednostjo

DefinicijaNaj bo G = (V ,E ) graf. Ekscentrična centralnost točke v ∈ Vje

cE (v) =1

max{d(v , u); u ∈ V }

Domen Blenkuš, Matej Filip, Tilen Marc in Aljaž Zalar

Page 7: Indeksi centralnosti in algoritmi za njihov izracun

Bližinska centralnost

nakupovalni center bi radi postavili na tako mesto v grafu, dakar se da minimiziramo potne stroške nakupovalcevza vsako točko pogledamo najkrajše poti do vseh ostalih točkin ji priredimo vsoto vsehizberemo točko z najmanjšo vrednostjo

DefinicijaNaj bo G = (V ,E ) graf. Bližinsko centralnost točke v ∈ Vdefiniramo kot

cC (u) =1∑

v∈V d(u, v).

Domen Blenkuš, Matej Filip, Tilen Marc in Aljaž Zalar

Page 8: Indeksi centralnosti in algoritmi za njihov izracun

Centralnost posrednika na najkrajši poti

pove nam kakšnn vpliv ima določena točka na komunikacijomed drugimi točkami

DefinicijaIndeks centralnosti posrednika na najkrajši poti definiramo kot

cB(v) =∑

s 6=v∈V

∑t 6=v∈V

δst(v),

kjer δst(v) predstavlja odstotek poti med s in t, ki gredo čez v.

v nasprotju z bližinsko centralnostjo jo lahko uporabljamo tudina nepovezanih grafih

Domen Blenkuš, Matej Filip, Tilen Marc in Aljaž Zalar

Page 9: Indeksi centralnosti in algoritmi za njihov izracun

Spletna centralnost

veliko ljudi uporablja svetovni splet za iskanje informacijzaradi njegove velike obsežnosti so potrebni zahtevni algoritmiza iskanjekako naj spletni iskalnik določi katere strani so najboljprimerne za določeno poizvedbo?naprednejši iskalniki poleg navadnega tekstovnega iskanjauporabljajo tudi indekse centralnosti

Domen Blenkuš, Matej Filip, Tilen Marc in Aljaž Zalar

Page 10: Indeksi centralnosti in algoritmi za njihov izracun

Model slučajnega spletnega uporabnika

najenostavnejši model simulira njegovo obnašanje kot slučajnisprehod po grafusprehod začne na slučajno izbrani spletni strani in nadaljuje ponjenih sosedah. To predstavimo z matriko Pspletni indeks centralnosti predstavlja verjetnost, da se bouporabnik po velikem številu korakov znašel na določenispletni straniDa bo verjetnost dobro definirana, moramo zahtevati, da:

1 limita verjetnosti obstaja2 je neodvisna od začetne strani

da bo to res, mora biti matrika P stohastična (matrika morabiti nerazcepna in vsota vsake vrstice mora biti 1)

Domen Blenkuš, Matej Filip, Tilen Marc in Aljaž Zalar

Page 11: Indeksi centralnosti in algoritmi za njihov izracun

Model slučajnega spletnega uporabnika

Ker svetovni splet očitno ni krepko povezan, matrika P ninujno stohastičnaStohastičnost dosežemo z naslednjim postopkom:

1 v vsaki ničelni vrstici vse vrednosti nastavimo na 1n (uporabnik

slučajno skoči na neko spletno stran)2 matriko E , ki je enake velikosti kot P ′ in ima vse elemente

enake 1n (matrika naključnega skoka).

3 izberemo neko konveksno kombinacijo matrik P ′ in E .P ′ = αP ′ + (1− α)E , kjer je α ∈ [0, 1].

Domen Blenkuš, Matej Filip, Tilen Marc in Aljaž Zalar

Page 12: Indeksi centralnosti in algoritmi za njihov izracun

Indeks PageRank

naprednejši iskalniki, med njimi tudi Google, ga uporabljajo vsvojih algoritmihstran ocenimo samo glede na njene topološke značilnosti(samo glede na lego v spletu, neodvisno od vsebine)indeks strani je odvisen samo od njenih sosedov in njihovepomembnosti

Domen Blenkuš, Matej Filip, Tilen Marc in Aljaž Zalar

Page 13: Indeksi centralnosti in algoritmi za njihov izracun

Indeks PageRank

določanje indeksov tako postane rekurzivni problem podan zenačbami:

cPR(p) = d∑

q∈Γ−p

cPR(q)

d+(q)+ (1− d),

kjer je cPR(q) PageRank strani q, d pa je obtežitveni faktor.zapisano v matrični obliki se to glasi:

cPR = dPcPR + (1− d)1n

Ta sistem ponavadi rešimo s preprosto Jacobijevo iteracijo:

ckPR = dPck−1

PR + (1− d)1n

Domen Blenkuš, Matej Filip, Tilen Marc in Aljaž Zalar

Page 14: Indeksi centralnosti in algoritmi za njihov izracun

Pomembnost povezave v omrežju

če bi iz grafa radi izključili eno povezavo, moramo to naredititako, da komunikacije med točkami ne bomo preveč ohromilinajbolje je, da izključimo povezavo, ki najmanj povečanajkrajšo pot med katerima koli dvema točkama v omrežju

DefinicijaNaj bo G = (V ,E ) graf. Indeks popembnosti v omrežjupovezave e ∈ E je

cP(e) = maxu,v∈V

{dG\e(u, v)− dG(u, v)}

Domen Blenkuš, Matej Filip, Tilen Marc in Aljaž Zalar

Page 15: Indeksi centralnosti in algoritmi za njihov izracun

Osnovni algoritmi za izračun indeksov centralnosti

uporabnost indeksov centralnosti je odvisna od njihoveizračunljivostiželimo algoritem, ki vrne rezultat v polinomskem časuza ogromne grafe (npr. graf svetovnega spleta) je polinomskazahtevnost preveč; uporabimo aproksimacijo, ki jo lahkoizračunamo z linearno zahtevnostjografi se s časom spreminjajo, zato želimo algoritem, ki lahkohitro popravlja indekse

Domen Blenkuš, Matej Filip, Tilen Marc in Aljaž Zalar

Page 16: Indeksi centralnosti in algoritmi za njihov izracun

Iskanje najkrajše poti

večina indeksov centralnosti je povezana z problemomnajkrajših poti med vozliščinaiven pristop je, da najprej izračunamo najkrajše poti inpotem indeksepristop je dober, saj vrne rezultat v povprečno nekje med n2 inn3 korakihza večja omrežja potrebujemo specializirane algoritme

Domen Blenkuš, Matej Filip, Tilen Marc in Aljaž Zalar

Page 17: Indeksi centralnosti in algoritmi za njihov izracun

SSSP

osnovni problem je iskanje najkrajših poti iz izbranegaizhodišča do ostalih vozlišč, znan pod imenom Single SourceShortest Path (SSSP)prvi algoritem, ki reši problem v polinomskem času, jeDijkstrov algoritem (1959)zahtevnost O(m + n log(n))

primeren za grafe s pozitivnimi utežmi na povezavah

Domen Blenkuš, Matej Filip, Tilen Marc in Aljaž Zalar

Page 18: Indeksi centralnosti in algoritmi za njihov izracun

SSSP

function Dijkstra(G = (V ,E ), ω)P = ∅T = Vd(s, v) =∞ za vse v ∈ V , d(s, s) = 0while P 6= V do

v = vozlišče z najmanjšim d(s, v)P = P ∪ {v}, T = T\{v}for u je sosed v in u ∈ T do

if d(s, u) > d(s, v) + ω(v ,w) thend(s, u) = d(s, v) + ω(v ,w)pred(u) = v

end ifend for

end whileend function

Domen Blenkuš, Matej Filip, Tilen Marc in Aljaž Zalar

Page 19: Indeksi centralnosti in algoritmi za njihov izracun

APSP

problem iskanja najkrajših poti med vsemi vozlišči, znan podimenom All-Pairs Shortest Paths problem (APSP)prva možnost: za vsako vozlišče izvedemo Dijkstrov algoritem(preveč potratno)druga možnost: Floyd-Warshallov algoritemzahtevnost O(n3)

Domen Blenkuš, Matej Filip, Tilen Marc in Aljaž Zalar

Page 20: Indeksi centralnosti in algoritmi za njihov izracun

APSP

function Floyd-Warshall(G = (V ,E ), ω)d(v , v) = 0d(v , u) = ω(v , u), če {v , u} ∈ E , sicer d(v , u) =∞pred(u, v) = u, če {v , u} ∈ E , sicer pred(u, v) = 0for v ∈ V do

for u ∈ V dofor w ∈ V do

if d(u,w) > d(u, v) + d(v ,w) thend(u,w) = d(u, v) + d(v ,w)pred(u,w) = pred(v ,w)

end ifend for

end forend for

end function

Domen Blenkuš, Matej Filip, Tilen Marc in Aljaž Zalar

Page 21: Indeksi centralnosti in algoritmi za njihov izracun

Dinamični APSP

graf se lahko hitro spreminjaželimo algoritem, ki hitro izračuna nove indekse iz starihpodatkovto je veliko težji problem in je še aktualen

Domen Blenkuš, Matej Filip, Tilen Marc in Aljaž Zalar

Page 22: Indeksi centralnosti in algoritmi za njihov izracun

Iskanje lastnih vrednosti matrik

v splošnem težak problemza grafe z malo povezavami dobimo t. i. sparse matrikeveliko različnih algoritmov, primer preprostega algoritma zaizračun največje lastne vrednosti je potenčna metoda

Domen Blenkuš, Matej Filip, Tilen Marc in Aljaž Zalar

Page 23: Indeksi centralnosti in algoritmi za njihov izracun

Indeks centralnosti posrednika na najkrajši poti

DefinicijaIndeks centralnosti posrednika na najkrajši poti definiramo kot

cB(v) =∑s 6=v

∑t 6=v

δst(v).

Domen Blenkuš, Matej Filip, Tilen Marc in Aljaž Zalar

Page 24: Indeksi centralnosti in algoritmi za njihov izracun

Prilagojeni Dijkstrov algoritemfunction SSSP(G = (V ,E ), ω)

P = ∅T = Vd(s, v) =∞ for all v ∈ V , d(s,s)=0while P 6= V do

v = vozlišče z najmanjšim d(s, v)P = P ∪ {v}, T = T\{v}for u je sosed v in u ∈ T do

if d(s, u) > d(s, v) + ω(v , u) thend(s, u) = d(s, v) + ω(v , u)pred(s, u) = vσsu = σsv

end ifif d(s, u) = d(s, v) + ω(v , u) then

pred(s, u).append(v)σsu+ = σsv

end ifend for

end whileend function

Domen Blenkuš, Matej Filip, Tilen Marc in Aljaž Zalar

Page 25: Indeksi centralnosti in algoritmi za njihov izracun

Odvisnost vozlišča

DefinicijaOdvisnost vozlišča s ∈ V od vozlišča v ∈ V označimo z δs∗ in jodefiniramo kot

δs∗(v) =∑t∈V

δst(v).

IzrekZa odvisnost δs∗(v) vozlišča s od poljubnega vozlišča v veljaformula

δs∗(v) =∑

w :v∈pred(s,w)

σsvσsw

(1 + δs∗(w)).

Domen Blenkuš, Matej Filip, Tilen Marc in Aljaž Zalar

Page 26: Indeksi centralnosti in algoritmi za njihov izracun

Odvisnost para vozlišč

DefinicijaOdvisnost para vozlišč s, t ∈ V od vozlišča v ∈ V označimo zδst(v) in jo definiramo kot

δst(v) =σst(v)

σst.

Domen Blenkuš, Matej Filip, Tilen Marc in Aljaž Zalar

Page 27: Indeksi centralnosti in algoritmi za njihov izracun

Izbojšana časovna zahtevnost

IzrekIndeks centralnosti vseh vozlišč lahko izračunamo s časovnozahtevnostjo O(mn + n2 log n).

Domen Blenkuš, Matej Filip, Tilen Marc in Aljaž Zalar

Page 28: Indeksi centralnosti in algoritmi za njihov izracun

Hitri približki algoritmov

Do sedaj smo spoznali nekaj eksaktnih algoritmov za izračunnekatarih indeksov centralnosti. Izračunljivi so v polinomskemčasu, kar je za velika omrežja problem.Zato je naš cilj samo približen izračun vrednosti opazovanegaindeksa.Pri tem si želimo doseči dober kompromis med časomizvajanja in natančnostjo izračuna.V nadaljevanju bomo spoznali nekaj tehnik za doseganje tegakompromisa.

Domen Blenkuš, Matej Filip, Tilen Marc in Aljaž Zalar

Page 29: Indeksi centralnosti in algoritmi za njihov izracun

Eppstein-Wangova aproksimacija bližinske centralnosti 1

Bližinska centralnost: cC (v) =

∑x∈V d(v ,x)

n−1 .

Nočemo seštevati po vseh vozliščih x ∈ V .Izboljšava je naslednji algoritem:

Eppstein-Wangov algoritem za izračun bližinske centralnosti1 Slučajno izberi K vzorčnih vozlišč v1, v2, . . . , vK .2 Za vsako vzorčno vozlišče vi reši problem vseh parov

najkrajših poti.

3 Za vsako vozlišče v izračunaj cC (v) = nK

∑Ki=1 d(v ,vi )

n−1 .

Domen Blenkuš, Matej Filip, Tilen Marc in Aljaž Zalar

Page 30: Indeksi centralnosti in algoritmi za njihov izracun

Eppstein-Wangova aproksimacija bližinske centralnosti 2

Ključno vprašanje je koliko vzorčnih vozlišč potrebujemo, daocenimo indekse cC z željeno natančnostjo.Na to vprašanje se da odgovoriti s Hoeffdingovo oceno izteorije verjetnosti:

Lema (Hoeffdingova ocena)Naj bodo spremenljivke x1, x2, . . . , xK neodvisne in naj veljaai ≤ xi ≤ bi , kjer so ai , bi ∈ R. Če z µ označimo povprečjeE(∑

xiK

), potem za vsak ε > 0 velja

P(∣∣∣∣∑ xi

K − µ∣∣∣∣ ≥ ε) ≤ 2 · e

−2K2ε2∑(bi−ai )2 .

Domen Blenkuš, Matej Filip, Tilen Marc in Aljaž Zalar

Page 31: Indeksi centralnosti in algoritmi za njihov izracun

Eppstein-Wangova aproksimacija bližinske centralnosti 3

Če v zadnjo lemo vstavimo xi = nd(vi ,u)n−1 , µ = cC (v), ai = 0 in

bi = n∆n−1 , dobimo

P(∣∣∣∣∑ xi

K − µ∣∣∣∣ ≥ ε) = P (|cC (v)− cC (v)| ≥ ε) ≤

≤ 2 · e−2K2ε2∑

(bi−ai )2

= 2 · e−2K2ε2

K∑

( n∆n−1 )2 =

= 2 · e−2( n−1

n )2(

Kε2∆2

)Naprej za poljuben ε > 0 postavimo še ε = ε∆ in uporabimoK = n2

(n−1)2log n2ε2 vzorcev, za nekaj algebre v zgornjem izrazu

hitro ugotovimo, da je verjetnost za napako večjo od ε največ2n .

Domen Blenkuš, Matej Filip, Tilen Marc in Aljaž Zalar

Page 32: Indeksi centralnosti in algoritmi za njihov izracun

Eppstein-Wangova aproksimacija bližinske centralnosti 4

Kaj smo s tem algoritmom pridobili na časovni zahtevnosti?

Časovna zahtevnost APSP algoritma je O(n(n + m)) zaneutežene grafe in O(n(m + n log n)) za utežene grafe.Če pa naredimo samo K SSSP algoritmov, dobimo časovnizahtevnosti O(K (ε)(n + m)) in O(K (ε)(m + n log n)).Torej je faktor izboljšanja K(ε)

n .V algoritmu je od uporabnika odvisno, kakšno ceno - v smisluvelikosti K (ε) - je pripravljen plačati za veliko verjetnostmajhne napake.

Domen Blenkuš, Matej Filip, Tilen Marc in Aljaž Zalar

Page 33: Indeksi centralnosti in algoritmi za njihov izracun

Aproksimacija spletnih centralnosti

Najpomembnejši indeks centralnosti v grafu spleta večine spletnihiskalnikov je PageRank. Zato se bomo posvetili predvsempospešitvenim tehnikam za izračun tega. Obstaja več metod zapospešitev:

1 aproksimacija s cenejšimi izračuni (običajno se izognemumnoženju z matriko),

2 pospešitev konvergence,3 reševanje linearnega sistema enačb namesto reševanja

problema lastnih vrednosti,4 uporaba dekompoziciji grafa spleta,5 nadgradnja namesto ponovnega računanja.

Domen Blenkuš, Matej Filip, Tilen Marc in Aljaž Zalar

Page 34: Indeksi centralnosti in algoritmi za njihov izracun

Pospešitev konvergence 1

Osnova za to pospešitveno metodo je potenčna metoda zadoločitev dominantnega lastnega vektorja.Ker vsaka iteracija potenčne metode zahteva množenje zmatriko A, ki je za graf spleta zelo drago, je naš cilj zmanjšatištevilo iteracij.Aitkenova metoda, temelji na predpostavki, da lahko približekx (k−2) zapišemo kot linearno kombinacijo prvih dveh lastnihvektorjev, to sta u in v . S to predpostavko sta tudi naslednjadva približka x (k−1) in x (k) linearni kombinaciji prvih dvehlastnih vektorjev:

x (k−2) = u + αv ,

x (k−1) = u + αλ2v ,

x (k) = u + αλ22v .

Domen Blenkuš, Matej Filip, Tilen Marc in Aljaž Zalar

Page 35: Indeksi centralnosti in algoritmi za njihov izracun

Pospešitev konvergence 2

Če definiramo

yi =

(x (k−1)

i − x (k−2)i

)2

x (k)i − 2x (k−1)

i + x (k−2)i

,

z nekaj algebre pridemo do y = αv in tako

u = x (k−2) − y .

Sedaj na tem izvajamo potenčno metodo.Obstajajo tudi posplošitve Aitkenove metode, kopredpostavimo, da je približek x (k−2) linearna kombinacijaprvih k lastnih vektorjev in izpeljemo podobne algoritmepravkar predstavljenemu.

Domen Blenkuš, Matej Filip, Tilen Marc in Aljaž Zalar

Page 36: Indeksi centralnosti in algoritmi za njihov izracun

Dekompozicijske tehnike

Graf spleta je zelo velik in vsakodnevno raste.Zato so raziskovalci predlagali, da se ga razbije na več manjšihkomponent.Ideja je izračun centralnosti znotraj posamezne komponente,nato pa pametno utežiti komponente in izračunat centralnostiv celem grafu.Obstaja veliko bločnih razbitij. V nadaljevanju si bomoogledali dva primera:

1 graf spleta kot “metuljček”,2 Kamvarjevo bločno razbitje.

Domen Blenkuš, Matej Filip, Tilen Marc in Aljaž Zalar

Page 37: Indeksi centralnosti in algoritmi za njihov izracun

Graf spleta kot “metuljček” 1

Do razbitja grafa spleta na obliko “metuljček” so leta 1999 popreiskovanju velikega števila spletnih strani in njihovih povezavprišli Broder z ekipo leta 1999.Graf spleta ima obliko metuljčka.Obstajajo tri velike komponente

velika strogo povezana komponenta,strani, ki kažejo na to komponento, jih pa ne moremo doseči iznje,strani, ki jih lahko dosežemo iz te velike komponente, vendarse nanjo ne moremo vrniti.

Opazimo še nekaj tipov manjših komponent, to so lovke,povezave med dvema komponentama in izolirani kosi.

Domen Blenkuš, Matej Filip, Tilen Marc in Aljaž Zalar

Page 38: Indeksi centralnosti in algoritmi za njihov izracun

Graf spleta kot “metuljček” 2

Slika : Graf spleta po Broderju

Domen Blenkuš, Matej Filip, Tilen Marc in Aljaž Zalar

Page 39: Indeksi centralnosti in algoritmi za njihov izracun

Graf spleta kot “metuljček” 3

Kako izrabiti to strukturo za pospešitev izračuna PageRanka?Ideja je, da ima sedaj prehodna matrika veliko preprostejšoobliko, tj. bločno zgornje trikotno:

P11 P12 P13 . . . P1K0 P22 P23 . . . P2K... . . . P33 . . . P3K... . . . . . . ...0 . . . . . . 0 PKK

Q1⊕

Q2⊕

. . .⊕

QL.

Domen Blenkuš, Matej Filip, Tilen Marc in Aljaž Zalar

Page 40: Indeksi centralnosti in algoritmi za njihov izracun

Graf spleta kot “metuljček” 4

Enako delitev naredimo tudi za vektor cPR in velik problemrazdelimo na več manjših ter rešujemo s pomočjo obratnesubstitucije:

(I − dQL)cPR,K+L = (1− d)1mL ,

...

(I − dQ1)cPR,K+1 = (1− d)1m1 ,

(I − dPKK )cPR,K = (1− d)1nK ,

...

(I − dPii )cPR,i = (1− d)1ni + dK∑

j=i+1cPR,i .

Domen Blenkuš, Matej Filip, Tilen Marc in Aljaž Zalar

Page 41: Indeksi centralnosti in algoritmi za njihov izracun

Kamvarjeva gnezdeno bločna oblika grafa spleta 1

Še bolj razčlenjeno bločno oblika grafa spleta pa so leta 2001odkrili in izkoristili Kamvar s svojo ekipo. Ugotovili so naslednjostrukturo grafa spleta:

1 Graf spleta ima bločno strukturo.2 Bloki so veliko manjši kot je celoten graf.3 Znotraj blokov obstajajo še gneznedi bloki, ki ustrezajo

domenam, gostiteljem in poddirektorijem v imenu strani.

Domen Blenkuš, Matej Filip, Tilen Marc in Aljaž Zalar

Page 42: Indeksi centralnosti in algoritmi za njihov izracun

Kamvarjeva gnezdeno bločna oblika grafa spleta 2

Slika : Nekaj grafov s Kamvarjevo analizo

Domen Blenkuš, Matej Filip, Tilen Marc in Aljaž Zalar

Page 43: Indeksi centralnosti in algoritmi za njihov izracun

Kamvarjeva gnezdeno bločna oblika grafa spleta 3

Na podlagi tega so predlagali naslednjo izboljšavo PageRankalgoritma, ki so jo imenovali BlockRank algoritem:

1 Razbij graf spleta na bloke I ∈ Γ, kjer je Γ indeksna množica.2 Za vsak blok I izračunaj lokalne PageRank indekse cPR(I)(i)

za vsak i ∈ I.3 Naredi utežitev lokalnih indeksov, tako da upoštevaš

pomembnost posameznega bloka.4 Uporabi standardni PageRank algoritem z začetnim vektorjem

iz prejšnjih dveh korakov.

Domen Blenkuš, Matej Filip, Tilen Marc in Aljaž Zalar

Page 44: Indeksi centralnosti in algoritmi za njihov izracun

Kamvarjeva gnezdeno bločna oblika grafa spleta 4

V točki 1. in 3. zgornjega algoritma lahko uporabimoobičajen PageRank algoritem.Glavni problem je, kako formalizirati točko 2.To se naredi tako, da se grafu spleta priredi bločni graf.Vsakemu bloku I ∈ Γ ustreza vozlišče v tem grafu. Medvozliščema I in J obstaja usmerjena povezava ~IJ natankotedaj, ko v prvotnem grafu obstaja povezava ~ij za neki vozliščii ∈ I in j ∈ J . Pri tem dopuščamo tudi zanke ~II. Težepovezav ωIJ pa določimo kot:

ωIJ =∑

i∈I,j∈JaijcPR(I)(i),

kjer je aij teža povezave ~ij v prvotnem grafu, cPR(I)(i) palokalni PageRank indeks vozlišča i v bloku I.

Domen Blenkuš, Matej Filip, Tilen Marc in Aljaž Zalar

Page 45: Indeksi centralnosti in algoritmi za njihov izracun

Kamvarjeva gnezdeno bločna oblika grafa spleta 5

Sedaj lahko uporabimo običajen PageRank algoritem za bločnigraf B, da dobimo PageRank indekse povezav bI .Iz korakov 2 in 3 dobimo začetni vektor za korak 3, ki je

c(0)PR (i) = cPR(I)(i)bI .

Naredimo še en PageRank in smo končali.

Domen Blenkuš, Matej Filip, Tilen Marc in Aljaž Zalar

Page 46: Indeksi centralnosti in algoritmi za njihov izracun

Kamvarjeva gnezdeno bločna oblika grafa spleta 6Kaj je prednost bločnega PageRank algorima v primerjavi sPageRankom?

1 Glavna prednost je pohitritev algoritma, ki izvira iz dejstva, dani potrebno hraniti celotnega PageRank vektorja v spominuračunalnika, saj ta sestoji iz nekaj bilijonov vhodov.

2 V BlockRank algoritmu veliko lokalnih PageRank vektorjevhitro skonvergira. Zato več časa lahko posvetimoslabo-konvergirajočim vektorjem. To so taki vektorji, kipripadajo dobro gnezdenim blokom.

3 Lokalne PageRank vektorje lahko računamo vzporedno na večprocesorjih, ki potem rezultate pošljejo glavnemu procesorju.Hkrati se izkaže tudi, da korak 1 v algoritmu lahko naredimovzporedno s korakom 0, tj. določanjem prehodne matrikeA = (aij).

4 V veliko primerih lahko lokalne PageRank indekse uporabimoza dinamično računanje. Torej če se zgodijo neke spremembev grafu spleto samo za blok I, potem moramo ponoviti lokalniPageRank izračun za ta blok, za druge pa ga že poznamo.Potem nadaljujemo računanje direktno na koraku 2.

Domen Blenkuš, Matej Filip, Tilen Marc in Aljaž Zalar

Page 47: Indeksi centralnosti in algoritmi za njihov izracun

Kamvarjeva gnezdeno bločna oblika grafa spleta 7Kaj pa pravijo eksperimentalni rezultati?

Slika : Primerjava lokalnih in globalnih PageRank indeksov bloka

Domen Blenkuš, Matej Filip, Tilen Marc in Aljaž Zalar

Page 48: Indeksi centralnosti in algoritmi za njihov izracun

Kamvarjeva gnezdeno bločna oblika grafa spleta 8

Slika : Časovna zahtevnost posameznega koraka za LARGEWEB graf

Slika : Primerjava metod za LARGEWEB graf

Domen Blenkuš, Matej Filip, Tilen Marc in Aljaž Zalar

Page 49: Indeksi centralnosti in algoritmi za njihov izracun

Kamvarjeva gnezdeno bločna oblika grafa spleta 9

Slika : Primerjava metod po številu iteracij za LARGEWEB graf

Domen Blenkuš, Matej Filip, Tilen Marc in Aljaž Zalar