Professional Documents
Culture Documents
Elma Hadzibegovic
Elma Hadzibegovic
Elma Hadzibegovic
Elma Hadžibegović
Univerzitet Donja Gorica
email: elma.hadzibegovic@udg.edu.me
http://www.udg.edu.me
1 Uvod
PageRank je sistem za rangiranje web stranica, odnosno, PageRank
je namijenjen praćenju popularnosti određene web stranice. Paten-
tirali su ga osnivači kompanije „Google“ u okviru svog projekta na
Univerzitetu Stenford. Za sam naziv termina iskorišćeno je prezime
jednog od naučnika koji su radili na njegovom utvrđivanju, Larija
Pejdža.
Tehnologija PageRank-a radi na principu usmjeravanja linkova sa
jedne web stranice na drugu i na osnovu toga se povećava njen
PageRank. Da bi efekat koji ima ova vrijednost bio adekvatan,
najbolje je da linkovi budu usmjereni sa web strane koja ima vi-
sok PageRank, odnosno da uz visok PageRank ima što manji broj
spoljnih, to jest izlaznih linkova. Takođe, PageRank ne utiče direk-
tno na rangiranje određene web strane u pretraživačima, što često
mnoge korisnike zna da dovede u zabludu. Međutim, u slučaju kada
uopšte ne postoje dolazeći linkovi, lako se može dogoditi da se to
negativno odrazi i na sam PageRank određene stranice.
Osnovna svrha koju PageRank ima jeste da pomoću specijalne algo-
ritamske funkcije dodijeli određenu brojčanu vrijednost određenom
elementu, kako bi na specifičan način izmjerio relativini značaj
određene stranice u okviru skupa stranica. Vrijednost PageRank-a
se može izračunati za web stranicu bilo koje veličine. Proračuni se
vrše pomoću takozvanih iteracija, koje omogućavaju pretraživaču da
prikupljanjem adekvatnih podataka može da iznese vjerovatnu vri-
jednost koja je blizu pravoj vrijednosti, sa stanovišta teorije. Vrijed-
nost vjerovatnoće se izražava u numeričkoj formi, pa je npr. PageR-
ank od 0.5 znak da postoji vjerovatnoća od 50% da korisnik klikne
na određeni link, koji će ga odvesti na drugu web stranicu. Pored
toga, koristi se vrlo specifičan faktor, poznat kao faktor odusta-
janja (engl. Damping factor), jer se pretpostavlja da će korisnik
u nekom trenutku odustati od ideje da klikće na linkove koji se
nalaze na stranicama koje posjećuje, a što se odražava i na vrijednost
PageRank-a.
PageRank je specifična algoritamska funkcija, pa njen rast nije lin-
earan, njegova vrijednost se kreće od 0 do 10, gdje vrijednost 10
ima stranica koja ima najbolji PageRank. Ono što je bitno za bolje
rangiranje sajtova u pretrazi je SEO (Search Engine Optimisation),
odnosno optimizacija određene web stranice ili internet sajta za pre-
traživače i SERP (Search Engine Results Page), odnosno, rezultati
optimizovanih web strana ili sajtova, prema ključnim riječima [2].
2 Matematički prikaz
U ovom poglavlju su obijašnjenji osnovni pojmovi i osobine teorije
grafova koji su neophodni za razumijevanje ostalih poglavlja. Teorija
grafova ima važnu ulogu i primjenu u predstavljanju Internet mreže,
odnosno u web pretraživanju koji je usko povezan sa PageRank-om.
3 PageRank algoritam
U svom radu iz 1998. godine Brin i Page su dali algoritam za
pronalaženje PageRank-a kao:
P R(A) = (1 − d) + d[ PL(T
R(T1 )
1)
+ P R(T2 )
L(T2 )
+ ... + P R(Tn )
L(Tn )
]
gdje pronalaze PageRank (PR) stranice A, uzimajući PageRank
svih stranica koje vode ka stranici A, definisane sa T , podijeljene
brojem odlaznih veza na svakoj stranici, definisane sa L.
Parametar d je faktor prigušenja, koji može biti postavljen između
0 i 1, u njihovom radu je dat kao 0.85.
Brin i Pejdž su takođe tvrdili da PageRank-ovi formiraju vjerovat-
noću raspodjele po svim web stranicama tako da njihov zbir bude 1.
Ovo nije slučaj sa algoritmom koji su dali, pa je morao biti modi-
fikovan kao:
P R(A) = (1−d)
N
+ d[ PL(T
R(T1 )
1)
+ P R(T2 )
L(T2 )
+ ... + P R(Tn
L(Tn )
]
1
6
1
6
1
PR = 6
1
6
1
6
1
6
1 1 1
0 3 3 3
00
1
2 0 0 21 0 0
1
3 0 0 31 1
0
3
H= 0 1 1 1
3
00 3 3
0 0 21 0 0 12
000100
Nakon što su razlike manje od e dobijamo:
0.1203
0.1441
0.1023
PR =
0.3000
0.1441
0.1712
Zbir svih PageRank-ova u matrici PR jednak je 1. Međutim, postoje
slučajevi gdje ovaj pristup ne funkcioniše [1].
Ovaj kod nam daje listu susjeda čvora 1, našeg grafa od 25 čvorova
opisanog u Primjeru 1. Prvi korak jeste da računamo broj čvorova
grafa pomoću funkcije count=graph, zatim štampamo listu koja će
prikazati sve susjede čvora 1.
Pokretanjem koda u Python-u dobijamo traženu listu čvorova koji
su susjedi čvora 1:
[0, 2, 3, 5, 6, 10, 12, 13, 14, 16, 17, 18, 19, 20, 22, 23, 24]
Primjer 3: Pomoću network paketa u Python-u možemo izraču-
nati PageRank stranice i plotovati graf [4]. Python kod koji računa
PageRank-ove stranica:
1 import networkx as nx
2 import pylab as plt
3
4 # kreirati prazan graf
5 D = nx . DiGraph ()
6
7 # glavna stranica povezana sa grafom
8 D . a dd _ we i gh te d _e d ge s_ f ro m ([( ’A ’ , ’B ’ ,1) ,( ’A ’ , ’C ’ ,1) ,( ’C ’ , ’A ’
,1) ,( ’B ’ , ’C ’ ,1) ])
9 # stampatii PageRank za svaku stranicu
10 print ( nx . pagerank ( D ) )
11 # plotovati graf
12 nx . draw (D , with_labels = True )
13 plt . show ()
Kod 1.3: Python kod koji štampa PageRank određene stranice
4 Primjena PageRank-a
4.1 Rang lista nacionalne fudbalske lige
PageRank ima primjene u mnogim poljima. Zack, Lamb i Ball su
ga primijenili 2012. godine kako bi precizno rangirali timove na-
cionalne fudbalske lige NFL. Oni su primijenili ono što nazivaju GEM
metodom, koja koristi margine pobjede između dva tima da izmjeri
vezu između njih. Ako timovi igraju više puta, onda se zbir poena
koje su osvojili mjere sa izlaznom vezom svakog pobjedničkog tima.
Korišćenjem ove metode oni su napravili matricu hiperveze :
1
P
n , ako je vi > vj
Mi,j = m=1 (vim − vjm )
0, inače ili ako je n = 0
Gdje je v rezultat svakog tima u njihovim utakmicama, a n broj
utakmica između timova.
Takođe su isto uradili i za totalni jord, obrtaji i vrijeme posjedovanja
sa rangiranjem bodova zabilježeni su kao GEM1 i složenost kao
GEM2 . Uporedili su ih koristeći Kendal rang korelaciju, definisanu
(nc − nd )
kao τ = , gdje je nc broj podudarnih parova i nd je
(n(n − 1)/2)
broj neskladnih parova na rang listi. Nakon što su uklonili statistiku
najmanje korelacije, postigli su Kendalovu ocjenu od τ = 0.60, gdje
je τ oznaka za Kendalovu ocjenu.
Metoda koju su koristili ima prostora za promjene i može se pri-
lagoditi i za druge sportove [1].
!2
d(v1 ) d(v2 ) d(vn )
w= + + ... +
2|E| 2|E| 2|E|
gdje je d(vi ) stepen čvora vi i |E| je broj grana u grafu jednak vektoru
personalizacije w za neusmjerene grafove. Ovo im je omogućilo da
uklone relativni stepen iz svakog čvora. Da bi koristili sličan metod
za usmjerene grafove, definisali su vektor personalizacije w sa:
!T
dr (v1 ) dr (v2 ) dr (vn )
w= + + ... +
|E| |E| |E|
gdje je dr (v) broj usmjerenih grana ka čvoru v. Tada su definisali
revitalizovani PageRank (rPPR) gdje je:
P ageRank(v)
rP P R(v) =
dr (v)
Gledajući samo rPPR, a ne neke od poznatih svojstava proteina,
uspjeli su da identifikuju mnoge proteinske mete za koje se takođe
zna da imaju dokazani biološki interest. Rezultati su dali veće ocjene
čvorovima sa relativno većim PageRank-om u poređenju sa njihovim
stepenima.
Ovom metodom su bili uvjereni da će biti u mogućnosti da koriste
PageRank algoritam koji će biti od pomoći u pronalaženju čvorova
sa niskim stepenom, a sa visokom unutrašnjom metaboličkom
funkcionalnošću. Korišćenjem personalizovanog vektora za izdva-
janje čvorova sa visokim stepenom uspjeli su da pronađu nečvorišne
čvorove koji odgovaraju esencijalnim reakcijama [1].
5 Zaključak
PageRank algoritam ima značajan uticaj na Internet i taj uticaj se
proširio na mnoga polja, što je omogućilo njegovu široku primjenu u
mnogim oblastima kao što su: sport, mreža ishrane, proteinske mreže
i mnoge druge. PageRank algoritam je dovoljno svestran metod da se
može primijeniti u mnogo različitih situacija i može biti modifikovan
za složenije situacije.
Literatura
1. Brian Moor, Mathematics behind Google’s PageRank algorithm, 2018, str 10-33
2. https://www.oxfordwebstudio.com/da-li-znate/sta-je-page-rank.html
3. https://medium.com/analytics-vidhya/how-google-search-works-page-rank-
algorithm-using-python-9643d9c9a981
4. https://thinkinfi.com/page-rank-algorithm-and-implementation-in-python/