PageRank Bartosz Makuracki 28 listopada 2013
Definicja Definicja PageRank jest algorytmem używanym przez wyszukiwarkę Google do ustalania kolejności stron pojawiających się w wynikach wyszukiwania.
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.
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.
Wzór Wzór Gdzie: PR x = 1 d N PR s PageRank strony s + d (PR y L y L s liczba stron, do których odsyła s + PR z L z +...) d współczynnik tłumienia, należący do przedziału [0, 1] N liczba wszystkich stron
Wzór Wzór Gdzie: PR x = 1 d N PR s PageRank strony s + d (PR y L y L s liczba stron, do których odsyła s + PR z L z +...) 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
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 x i,0 = 1, i = 1... n oraz: x 1,n = 1 d N + d N i=1 p 1,i x i,n 1 x 2,n = 1 d N + d N i=1 p 2,i x i,n 1. x N,n = 1 d N + d N i=1 p N,i x i,n 1 Gdzie: x i,n PageRank i-tej strony po czasie n p i,j = 0 gdy j nie linkuje do i p i,j = 1 k gdy j linkuje do k stron, w tym i
Łańcuch Markowa Niech lim n (x 1,n, x 2,n,..., x N,n ) = (x 1, x 2,..., x N ) oraz: x 1 x 2 R =. x N
Łańcuch Markowa Niech lim n (x 1,n, x 2,n,..., x N,n ) = (x 1, x 2,..., x N ) oraz: x 1 x 2 R =. x N Wówczas R jest rozwiązaniem równania macierzowego: (1 d)/n p 1,1 p 1,2... p 1,N (1 d)/n p 2,1 p 2,2... p 2,N R =. (1 d)/n + d... p N,1 p N,2... p N,N R
Łańcuch Markowa Wówczas R jest rozwiązaniem równania macierzowego: (1 d)/n p 1,1 p 1,2... p 1,N (1 d)/n p 2,1 p 2,2... p 2,N R =. (1 d)/n + d... p N,1 p N,2... p N,N R Inaczej: x 1 = 1 d N x 2 = 1 d N + d N i=1 p 1,i x i + d N i=1 p 2,i x i. x N = 1 d N + d N i=1 p N,i x i
Uwagi techniczne Na jednym z wcześniejszych slajdów podałem, że: p i,j = 0 gdy j nie linkuje do i p i,j = 1 k gdy j linkuje do k stron, w tym i W rzeczywistości wystarczy, by zachodziło: j=1...n N i=1 p i,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 p i,i = 1.
Przykład 1. Rozpatrzmy poniższy układ stron internetowych:
Przykład 1. Można go przedstawić za pomocą następującego układu równań rekurencyjnych: x 0,n = 0, 0375 x 1,n = 0, 0375 + 0, 85 (x 0,n 1 + x 3,n 1 ) x 2,n = 0, 0375 + 0, 85 x 1,n 1 x 3,n = 0, 0375 + 0, 85 x 2,n 1
Przykład 1. Po przejściu do granicy: x 0 = 0, 0375 x 1 = 0, 0375 + 0, 85 (x 0 + x 3 ) x 2 = 0, 0375 + 0, 85 x 1 x 3 = 0, 0375 + 0, 85 x 2
Przykład 1. Ma on rozwiązanie postaci: x 0 0, 038 x 1 0, 333 x 2 0, 320 x 3 0, 310
Przykład 1. Co na diagramie w NetLogo przedstawia się następująco:
Przykład 2. Kolejne przykłady: x 0 = 0, 03 + 0, 85 x4 2 x 1 = 0, 03 + 0, 85 (x 0 + x 4 2 ) x 2 = 0, 03 + 0, 85 x1 2 x 3 = 0, 03 + 0, 85 x 2 x 4 = 0, 03 + 0, 85 ( x 1 2 + x 3 )
Przykład 2. x 0 0, 148 x 1 0, 274 x 2 0, 146 x 3 0, 154 x 4 0, 278
Przykład 2.
Przykład 2.
Przykład 3. x 0 = 3 220 + 17 20 (x 0 + x 3 2 ) x 1 = 3 220 + 17 20 (x 2 + x 3 2 + x 4 3 + 8 x 2, = 3 220 + 17 20 x 1 x 3 = 3 220 + 17 20 x4 3 x 4 = 3 220 + 17 20 ( 8 i=5 x i 2 + x 9 + x 1 0) x 5 = 3 220 + 17 20 x4 3 x i = 3 220, i = 6... 10 i=5 x i 2 )
Przykład 3. x 0 0, 033 x 1 0, 384 x 2 0, 343 x 3 0, 039 x 4 0, 081 x 5 0, 039 x i 0, 016, i = 6... 10
Przykład 3.
Przykład 3. d = 0, 85
Przykład 3. d = 0, 65
Przykład 3. d = 0, 95
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