Elma Hadzibegovic

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 13

PageRank

Elma Hadžibegović
Univerzitet Donja Gorica
email: elma.hadzibegovic@udg.edu.me
http://www.udg.edu.me

Apstrakt: U ovom radu je opisan PageRank, gdje je akcenat stavljen


na njegovu primjenu u mnogim oblastima. Da bi se bolje razumjelo
kako PageRank funkcioniše dat je algoritam po kome on radi. Pored
toga, data je implementizacija PageRank algoritma u programskom
jeziku Python, kao i nekoliko primjera u ovom programskom jeziku.

Ključne riječi: PageRank algoritam · Matematički prikaz · Python


implementizacija · Primjena PageRank-a

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.

2.1 Neorijentisani i orijentisani graf


Definicija 1: Neorijentisani graf je uređeni par (V,E) koji se
sastoji od skupa čvorova i skupa grana, gdje je V neprazan skup, a
E ⊆ {{u, v} | u, v ∈ V }.

Definicija 2: Elemente skupa V nazivamo čvorovima, a ele-


mente skupa E granama neorijentisanog grafa. Granu oblika
e = {u, u} = {u} nazivamo petljom. Čvorovi u i v su susjedni ako
postoji grana e = {u, v} ∈ V .
Definicija 3: Za dvije grane kažemo da su susjedne ako
sadrže isti čvor. Broj grana koje ulaze u čvor v nazivamo stepenom
čvora v i obilježavamo ga sa d(v).

Definicija 4: Orijentisani graf (digraf) je uređeni par G = (V, E),


gdje je V neprazan skup, a E ⊆ V xV . Grana e = (u, v) orijentisanog
grafa G izlazi iz čvora u, a ulazi u čvor v.

Definicija 5: Ulazni stepen čvora v, d− (v) je broj grana


koje ulaze u čvor v. Izlazni stepen čvora v, d+ (v) je broj grana
koje izlaze iz čvora v. I(v) = {x ∈ V | (x, v) ∈ E} je ulazni skup
čvora v. O(v) = {x ∈ V | (v, x) ∈ E} je izlazni skup čvora v.

Tvrđenje 1: U svakom neorijentisanom grafu G = (V, E) bez


P
petlji važi: v∈V d(v) = 2|E|.

Tvrđenje 2: U orijentisanom grafu G = (V, E) bez petlji


važi: v∈V d− (v) = v∈V d+ (v) = |E|.
P P

Definicija 6: Šetnja u grafu je niz čvorova v1 , v2 , ..., vn takav


da za svako i ∈ {1, 2, ..., n} važi:
{vi , vi+1 } ∈ V ako je graf neorijentisan, odnosno
(vi , vi+1 ) ∈ V ako je graf orijentisan.

Šetnja je zatvorena ako je v1 = vn . Šetnja je put ako su


čvorovi v1 , v2 , ..., vn različiti. Šetnja je ciklus ako je v1 = vn , a
čvorovi v2 , v3 , ..., vn−1 su različiti međusobno i različiti su od v1 i vn .

2.2 Matrica susjedstva

Definicija 7: Matrica susjedstva AG grafa G=(V, E) je kvadratna


matrica dimenzije |v|x|v| indeksirana čvorovima grafa G, za koju važi
sledeće: 
1 {u, v} ∈ E
(AG )(u,v) = ako je graf G neorijentisan.
0 {u, v} ∈/E

1 (u, v) ∈ E
(AG )(u,v) = ako je graf G orijentisan.
0 (u, v) S ∈
/E
2.3 Matrica incidencije čvorova i grana
Definicija 8: Neka je graf G=(V, E) neorijentisan graf takav da je
V = v1 , v2 , ..., vn i E = e1 , e2 , ..., en . Tada je matrica incidencije
čvorova i 
grana, RG = [ri,j ]i=1,..n,j=1,...n , data sa:
1, ako je čvor v incidentan sa granom e
i j
ri,j =
0, ako čvor vi nije incidentan sa granom ej

Definicija 9: Neka je graf G=(V, E) orijentisan graf takav


da je V = v1 , v2 , ..., vn i E = e1 , e2 , ..., en . Tada je matrica incidencije
čvorova i grana, SG = [ri,j ]i=1,..n,j=1,...n , data sa:

1, ako grana ej izlazi iz čvora vi


si,j = 0, ako grana ej i čvor vi nisu incidentni



−1, ako grana ej ulazi u čvor vi

2.4 Matrica rastojanja


Definicija 10: Rastojanje dG (u, v) dva čvora u, v ∈ V u grafu
G=(V,E) je dužina najkraćeg puta od u do v.

Definicija 11: Matrica rastojanja grafa G = (V, E), gdje


je V = v1 , v2 , ..., vn je kvadratna matrica DG dimenzija nxn takva
da je element (D)i,j jednak rastojanju između čvorova vi i vj .
Ako je poznata matrica rastojanja DG , matricu susjedstva dobijamo
tako što sve elemente koji su veći od 1 zamijenimo 0.

Teorema 1 Broj šetnji dužine k koje spajaju čvorove vi i vj jednak


je element na poziciji (i, j) u matrici (AG )k , gdje je AG matrica
susjedstva.

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 )
]

gdje je N ukupan broj stranica na mreži. Izvođenjem brojnih it-


eracija algoritma mogu se odrediti PageRank-ovi svih stranica na
mreži. Ovo se može generalno napisati kao:
(1−d) P P R(aj )
P R(ai ) = N
+d aj ∈G(ai ) L(aj )

gdje je ai web stranica, a aj stranica sa odlaznom vezom do ai


Matrica veze se može definisati na sledeći način:

 1 , ako se pj povezuje sa pi
lpj
Hi,j =
0, inače

gdje je lpj jednak broju odlaznih veza na stranici pj .


Dodjeljivanje svakoj stranici početnu vrijednost PageRank-a od N1 ,
zatim ponavljajući algoritam sve dok razlika između dva ponavljanja
nije manja od proizvoljno male vrijednosti e:

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].

3.1 Python implementacija PageRank algoritma


Svaka web stranica na Google-u se čuva kao čvor na grafu. Svaka
grana koja je povezana (usmjerena) na drugi čvor je hiperveza na
toj web stranici.

Primjer 1: Do sada, broj aktivinih web lokacija je skoro


1.769.486.964. Dakle, biće milijarde čvorova povezanih sa grafom.
Za potrebe implementacije, koristićemo 25 čvorova. Biće trilioni
ivica povezanih sa grafom koji koristi Google [3].
Python kod koji implementira 25 čvorova kao web lokacije:
1 import networkx as nx
2 import numpy as np
3 import pandas as pd
4 import matplotlib . pyplot as plt
5 import operator
6
7
8 # kreirati usmjereni graf
9 graph = nx . gnp_random_graph (25 ,0.6 , directed = True )
10 # nacrtati graf
11 nx . draw ( graph , with_labels = True , font_color = ’ red ’ , font_size =10 ,
node_color = ’ yellow ’)
12 # plotovati graf
13 plt . show ()
Kod 1.1: Implementacija 25 čvorova kao web lokacije u Python-u

U datom kodu, prvo uvodimo potrebne biblioteke, zatim kreiramo


željeni graf sa 25 čvorova, onda crtamo dati graf pomoću funkcije
nx.draw u okviru koje opisujemo kako želimo graf da izgleda,
podešavamo font brojeva veličine 10, crvene boje i čvorove bojimo
žutom bojom, na kraju u poslednjem koraku plotujemo graf.
Kada pokrenemo kod u Python-u dobijamo grafički prikaz tog koda
koji je prikazan na Slici 1:

Slika 1: Grafčki prikaz 25 čvorova implementiranih u Python-u

Primjer 2: Sada možemo da sačuvamo broj čvorova i susjeda


određenog čvora iz prethodnog grafa, u ovom primjeru susjede čvora
1 [3]. Python kod koji daje listu susjeda čvora 1:
1 import networkx as nx
2 import numpy as np
3 import pandas as pd
4 import matplotlib . pyplot as plt
5 import operator
6
7 # kreirati usmjereni graf
8 graph = nx . gnp_random_graph (25 ,0.6 , directed = True )
9 # nacrtati graf
10 nx . draw ( graph , with_labels = True , font_color = ’ red ’ , font_size =10 ,
node_color = ’ yellow ’)
11 # plotovati graf
12 plt . show ()
13
14 # broj cvorova datog grafa
15 count = graph . number_of_nodes ()
16 # # graf susjeda cvora 1
17 print ( list ( graph . neighbors (1) ) )
Kod 1.2: Python kod koji štampa listu susjeda čvora 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

U ovom kodu prvo implementiramo potrebne biblioteke, po-


tom u sledećem koraku kreiramo prazan graf pomoću funkcije
D=nx.DiGraph (), onda tom praznom grafu dodajemo stranice A,
B i C koje predstavljaju čvorove grafa i otežane grane koje povezuju
te stranice, na kraju štampamo PageRank za svaku stranicu i plotu-
jemo dati graf. Kod koji pokrenemo daje nam rezultate PageRank-a
naših stranica i on iznosi:
{′ A′ : 0.387789442707259,′ B ′ : 0.21481051315058508,′ C ′ :
0.3974000441421556}
Graf koji pokazuje povezanost stranica prikazan je na Slici 5:

Slika 2: Graf koji predstavlja povezanost stranica A, B i C

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].

4.2 Mreža ishrane

Allesina i Pascual su 2009. godine koristili PageRank algoritam za


mjerenje relativne važnosti vrsta u koegzistenciji.
U svom radu su nastojali da analiziraju složene ekološke mreže u
pokušaju da utvrde značaj pojedinih vrsta u mreži ishrane. Mreža
ishrane se može predstaviti tako da čvorovi predstavljaju različite
vrste u životnoj sredini, a usmjerene grane prenos energije sa jedne
vrste na drugu. Jedna razlika između ovog i osnovnog PageRank
algoritma je ta da se važnost mijenja, tako da je vrsta važna ako
ukazuje na važnu vrstu i ako je pojedena od iste. Mreža ishrane
takođe ne čini nesvodljivu matricu, ali faktor prigušenja je nerealan
budući da hrana ne može nasumično „skakati“ u mreži ishrane. Oni
su se pozabavili time dodajući specijalan čvor (korijen), koji je oz-
načavao izvor hrane svih primarnih proizvođača u mreži ishrane.
Tako da je svaki čvor imao vezu između sebe i korijena, što je oz-
načavalo suštinski gubitak materije vrste, koji se ugrađuje u detritus,
odnosno minijaturni ekosistem koji se sastoji od živih i neživih or-
ganizama i reciklira u mreži ishrane.
Primjenom ovih modifikacija, mreža ishrane postaje nesvodljiva.
Za testiranje su izveli eksperiment izumiranja u silikonu. Svakim
korakom su uklanjali po jednu vrstu i evidentirali su broj sekun-
darnih izumiranja. Postojalo je nekoliko algoritama koje su koris-
tili za određivanje uklonjenih vrsta. PageRank algoritam su koristili
za uklanjanje vrsta sa najvećim PageRank-om na svakom koraku.
Takođe su mjerili efekte uklanjanja sa najvećim brojem veza i na
osnovu njihove bliske centralnosti. Gdje se čvorovi smatraju visoko
centralnim ako imaju malu udaljenost od mnogih čcorova. Izmjerena
je i međusobna centralnost, gdje čvor ima visoku međusobnu central-
nost ako se nalazi na najkraćem putu od mnogih čvorova. Sprovodili
su uklanjanje prema dominatorima, gdje jedan čvor dominira nad
drugim ako svaki put od korijena do sebe sadrži taj čvor, tako da
ako jedan od njih izumre onda mora i drugi.
Primijenili su ove algoritme na 12 objavljenih članaka o mreži
ishrane. Kako bi uporedili ove rezultate programirali su genetski
algoritam za pronalaženje najbolje moguće sekvence sa evoluci-
jskim pretraživanjem, što se pokazalo djelotvornim, ali skupim. U
poređenju sa genetskim algoritmom većina metoda nije dovoljno do-
bro funkcionisala.
Od onih koje su bile uporedive, postupak uklanjanja koji se temelji
na dominatorima bio je dobar u 2 od 3 slučaja, ali PageRank algo-
ritam se poklapao sa genetskim algoritmom u 11 od 12 slučajeva. U
pokušaju daljeg poboljšanja PageRank metode klasifikovali su neke
od veza u mreži ishrane kao „suvišne“ ili „funkcionalne“ na osnovu
njihove efekasnosti u sekundarnim izumiranjima. Uklanjanjem su-
višnih veza izgradili su pojednostavljenu mrežu ishrane koja je bila
jednako snažna kao i originalna. Kako je PageRank algoritam te-
stiran sa ovim uklonjenim vezama, rezultati su se poklapali sa gen-
estskim algoritmom. Na taj način uspjeli su da pruže djelotvoran
algoritam za rangiranje važnosti vrsta u mreži ishrane, pokazavši da
je on mnogo bolji od brojanja broja vrsta [1].

4.3 Proteinske mreže


Ivan i Gorlmusz su 2011. godine primijenili PageRank algori-
tam na interakciju proteinskih mreža. Oni su to demonstrirali na
metaboličkim mrežnim podacima o bakteriji tuberkuloze i pro-
teomske analize krvi pacijenata sa melanomom. Koristili su PageR-
ank algoritam navodeći da je jedna od njegovih najvećih prednosti
stabilnost. Oni su dali procjenu stabilnosti PageRank-a kao:
2(1 − c) P
∥p − p̂∥1 ≤ j∈U Pj
c
gdje i-ta koordinata vektora p daje PageRank čvora i, a vektor
p̂ daje PageRank grana sa promijenjenim krajnjim tačkama u
skupu U . Dakle, ako se samo promijene grane između manje važnih
čvorova, onda efekti promjene na PageRank-u ostaju niski. Ovo
je bilo važno zbog često nepouzdanog mapiranja manje važnih
proteinskih interakcija.
Pošto PageRank algoritam radi sa usmjerenim grafom, Ivan i
Gorlmusz su ga koristili sa metaboličkim grafom, gdje čvorovi
predstavljaju hemijske reakcije i povezani su sa usmjerenom granom
ako jedna reakcija daje proizvod koji se koristi u drugoj reakciji.
Nakon izračunavanja PageRank-a za metabolički graf bakterije
tuberkuloze, oni su mogli da identifikuju čvorove koji su bili od
posebnog interesa. Ovi čvorovi su bili hemijske reakcije koje su
imale veći PageRank nego što je proporcionalno njihovom stepenu,
što je značilo da su u slučajnoj šetnji pogođeni češće od drugih sa
istim stepenom mreže.
Oni su takođe željeli da istraže protein-protein interakciju (PPI)
mreže, koje su mreže sa neusmerenim grafovima, gdje proteini
predstavljaju čvorove, a grane su interakcije između njim. Mogli
su da koriste peronalizovani PageRank za analiziranje proteomskih
podataka pacijenata sa melanomom. Prilagođavanjem faktora
prigušenja uspjeli su da personalizuju algoritam za 13 različitih
proteina pronađenih u studiji. Zatim su primijenili personalizovani
algoritam na ljudski protein-protein interakcijski graf HPRD (ref-
erentna baza podataka o ljudskim proteinima). Takođe su otkrili da
su se proteini sa najvećim PageRank-om, njih 10 od 13 kod kojih
je algoritam bio personalizovan pojavili među 22 najbolja, a još 10
njih je imalo jasne veze sa rakom.
U svom radu iz 2013. godine Banky, Ivan i Gorlmusz su predstavili
metodu koja bi nadoknadila važnost koju imaju čvorovi sa manjim
stepenom u poređenju sa čvorovima sa većim stepenom, koji se
ponekad jednostavno uklanjaju iz analize kako bi spriječili da
nadvladaju manje čvorove. Oni su pokazali da je u neusmjerenim
grafovima, PageRank čvora proporcionalan njegovom stepenu ako
je vektor personalizacije bio proporcionalan. PageRank sa vektorom
personalizacije w takav da je:

!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/

You might also like