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