PageRank

Transkrypt

PageRank
PageRank
Bartosz Makuracki
28 listopada 2013
B. Makuracki
PageRank
Definicja
Definicja
PageRank jest algorytmem używanym przez wyszukiwarkę Google
do ustalania kolejności stron pojawiających się w wynikach
wyszukiwania.
B. Makuracki
PageRank
Definicja
Definicja
PageRank jest algorytmem używanym przez wyszukiwarkę Google
do ustalania kolejności stron pojawiających się w wynikach
wyszukiwania.
Działanie algorytmu
Działanie algorytmu opiera się na założeniu, że jakość strony
internetowej jest proporcjonalna do ilości stron odwołujących się do
niej.
B. Makuracki
PageRank
Definicja
Definicja
PageRank jest algorytmem używanym przez wyszukiwarkę Google
do ustalania kolejności stron pojawiających się w wynikach
wyszukiwania.
Działanie algorytmu
Działanie algorytmu opiera się na założeniu, że jakość strony
internetowej jest proporcjonalna do ilości stron odwołujących się do
niej.
Każdej stronie przyporządkowana zostaje wartość liczbowa –
tytułowy PageRank – która zależy od PageRanków wszystkich stron
linkujących do niej.
B. Makuracki
PageRank
Wzór
Wzór
PRx =
PRy
1−d
PRz
+d ·(
+
+ . . .)
N
Ly
Lz
Gdzie:
PRs – PageRank strony s
Ls – liczba stron, do których odsyła s
d – współczynnik tłumienia, należący do przedziału [0, 1]
N – liczba wszystkich stron
B. Makuracki
PageRank
Wzór
Wzór
PRx =
PRy
PRz
1−d
+d ·(
+
+ . . .)
N
Ly
Lz
Gdzie:
PRs – PageRank strony s
Ls – liczba stron, do których odsyła s
d – współczynnik tłumienia, należący do przedziału [0, 1]
N – liczba wszystkich stron
Współczynnik tłumienia
Teoria zakłada, że osoba przeglądająca Internet, znajdując się na
danej stronie z prawdopodobieństwem d wybiera losowo jeden z
obecnych na niej linków, a z prawdopodobieństwem
1 − d – całkowicie losową stronę. Najczęściej przyjmuje się
wartość d = 0, 85
B. Makuracki
PageRank
Związki z rekurencją
Wzór na PageRank można przełożyć na język równań
rekurencyjnych w następujący sposób. Niech xi,0 = 1, i = 1 . . . n
oraz:

PN
1−d
x
=
+
d
·

1,n
i=1 p1,i · xi,n−1
N


 x2,n = 1−d + d · PN p2,i · xi,n−1
i=1
N
..

.


PN

xN,n = 1−d
i=1 pN,i · xi,n−1
N +d ·
Gdzie:
xi,n – PageRank i-tej strony po czasie n
pi,j = 0 gdy j nie linkuje do i
pi,j =
1
k
gdy j linkuje do k stron, w tym i
B. Makuracki
PageRank
Łańcuch Markowa
Niech limn→∞ (x1,n , x2,n , . . . , xN,n ) = (x1 , x2 , . . . , xN ) oraz:


x1
 x2 


R= . 
.
 . 
xN
B. Makuracki
PageRank
Łańcuch Markowa
Niech limn→∞ (x1,n , x2,n , . . . , xN,n ) = (x1 , x2 , . . . , xN ) oraz:


x1
 x2 


R= . 
 .. 
xN
Wówczas R jest rozwiązaniem równania macierzowego:



(1 − d)/N
p1,1 p1,2 . . . p1,N
 (1 − d)/N 
 p2,1 p2,2 . . . p2,N



R=
 + d  ..
..
..
..


 .
.
.
.
pN,1 pN,2 . . . pN,N
(1 − d)/N
B. Makuracki
PageRank



R

Łańcuch Markowa
Wówczas R jest rozwiązaniem równania macierzowego:



p1,1 p1,2 . . . p1,N
(1 − d)/N
 p2,1 p2,2 . . . p2,N
 (1 − d)/N 



R=
 + d  ..
..
..
..
 .


.
.
.
pN,1 pN,2 . . . pN,N
(1 − d)/N
Inaczej:

PN
1−d
x
=
+
d
·

1
i=1 p1,i · xi
N


 x2 = 1−d + d · PN p2,i · xi
i=1
N
..

.


PN

xN = 1−d
i=1 pN,i · xi
N +d ·
B. Makuracki
PageRank



R

Uwagi techniczne
Na jednym z wcześniejszych slajdów podałem, że:
pi,j = 0 gdy j nie linkuje do i
pi,j =
1
k
gdy j linkuje do k stron, w tym i
W rzeczywistości wystarczy, by zachodziło:
P
∀j=1...N N
i=1 pi,j = 1
W przykładach będzie jednak przyjęte pierwsze założenie.
Problematyczna (ze względów obliczeniowych) jest wtedy sytuacja,
w której strona donikąd nie linkuje. Wówczas rozsądne jest
przyjęcie, że pi,i = 1.
B. Makuracki
PageRank
Przykład 1.
Rozpatrzmy poniższy układ stron internetowych:
B. Makuracki
PageRank
Przykład 1.
Można go przedstawić za pomocą następującego układu równań
rekurencyjnych:

x0,n = 0, 0375



x1,n = 0, 0375 + 0, 85 · (x0,n−1 + x3,n−1 )
x
 2,n = 0, 0375 + 0, 85 · x1,n−1


x3,n = 0, 0375 + 0, 85 · x2,n−1
B. Makuracki
PageRank
Przykład 1.
Po przejściu do granicy:

x0 = 0, 0375



x1 = 0, 0375 + 0, 85 · (x0 + x3 )
x = 0, 0375 + 0, 85 · x1


 2
x3 = 0, 0375 + 0, 85 · x2
B. Makuracki
PageRank
Przykład 1.
Ma on rozwiązanie postaci:

x0



x1
x


 2
x3
B. Makuracki
≈ 0, 038
≈ 0, 333
≈ 0, 320
≈ 0, 310
PageRank
Przykład 1.
Co na diagramie w NetLogo przedstawia się następująco:
B. Makuracki
PageRank
Przykład 2.
Kolejne przykłady:

x0 = 0, 03 + 0, 85 · x24



x

 x1 = 0, 03 + 0, 85 · (x0 + 24 )
x1
x2 = 0, 03 + 0, 85 · 2


x
= 0, 03 + 0, 85 · x2


 3
x4 = 0, 03 + 0, 85 · ( x21 + x3 )
B. Makuracki
PageRank
Przykład 2.

x0 ≈ 0, 148




 x1 ≈ 0, 274
x2 ≈ 0, 146


x ≈ 0, 154


 3
x4 ≈ 0, 278
B. Makuracki
PageRank
Przykład 2.
B. Makuracki
PageRank
Przykład 2.
B. Makuracki
PageRank
Przykład 3.

x3
3
x0 = 220
+ 17

20 · (x0 + 2 )

P8

x3
x4
3

x1 = 220
+ 17

i=5
20 · (x2 + 2 + 3 +


3

+ 17
 x2 , = 220
20 · x1
x4
3
x3 = 220
+ 17
20 · 3P

3
17


x4 = 220 + 20 · ( 8i=5 x2i + x9 + x1 0)


x4

3

+ 17

20 · 3
 x5 = 220
3
xi = 220 , i = 6 . . . 10
B. Makuracki
PageRank
xi
2)
Przykład 3.

x0 ≈ 0, 033




x

1 ≈ 0, 384



x
 2 ≈ 0, 343
x3 ≈ 0, 039


x

4 ≈ 0, 081




x
≈ 0, 039

 5
xi ≈ 0, 016, i = 6 . . . 10
B. Makuracki
PageRank
Przykład 3.
B. Makuracki
PageRank
Przykład 3.
d = 0, 85
B. Makuracki
PageRank
Przykład 3.
d = 0, 65
B. Makuracki
PageRank
Przykład 3.
d = 0, 95
B. Makuracki
PageRank
Bibliografia
Stonedahl, F. and Wilensky, U. (2009). NetLogo PageRank
model.
http://ccl.northwestern.edu/netlogo/models/PageRank.
Center for Connected Learning and Computer-Based Modeling,
Northwestern Institute on Complex Systems, Northwestern
University, Evanston, IL.
Wilensky, U. (1999). NetLogo.
http://ccl.northwestern.edu/netlogo/. Center for Connected
Learning and Computer-Based Modeling, Northwestern
Institute on Complex Systems, Northwestern University,
Evanston, IL.
https://pl.wikipedia.org/wiki/PageRank
https://en.wikipedia.org/wiki/PageRank
B. Makuracki
PageRank

Podobne dokumenty