W 2011 roku w czasopiśmie PLoS ONE ukazał się artykuł, w którego tytule autor zadał pytanie: Kto jest najlepszym tenisistą w historii? Aby na to pytanie odpowiedzieć, stworzył i przeanalizował sieć meczy tenisowych, w której wierzchołkami są tenisiści, a krawędzie reprezentują ich mecze. Następnie autor użył algorytmu PageRank (który za moment objaśnimy) do oceny ważności poszczególnych wierzchołków, i okazało się, że najlepszym tenisistą w historii jest… (werble) Jimmy Connors! Czy ten wynik jest dobry? To trudno powiedzieć. My zastanowimy się jednak nad innym pytaniem – dlaczego, do licha, użył PageRanka? Musimy się w tym celu cofnąć do lat dziewięćdziesiątych.
Jak PageRank działa?
Kiedyś Internet nie wyglądał tak jak teraz. Najpierw nie wyglądał w ogóle, bo go nie było, a nawet jak już był, to na początku był dość brzydki. Zanim powstała wyszukiwarka Google, ludzie wcale nie używali Binga i DuckDuckGo, bo ich też jeszcze nie było. Były duże katalogi stron, posegregowane na różne sposoby, a wyszukiwarki, które istniały, nie potrafiły znaleźć nic sensownego. Było naprawdę nieciekawie.
Na szczęście wszystko zmieniło się na przełomie XX i XXI wieku za sprawą dwóch pomysłowych i pracowitych doktorantów z Uniwersytetu Stanforda: Larry’ego Page’a i Sergeya Brina. W ramach projektu na studiach opracowali oni metodę oceny ważności stron w Internecie, nazwaną PageRankiem. Sama ocena nie była może tak istotna – wyszło im, że najważniejsza w Internecie jest strona ,,Download Netscape Software”. Przełomowy był jednak pomysł, aby zbudować wyszukiwarkę, która będzie brała te oceny pod uwagę przy wyświetlaniu wyników. Page i Brin szybko stali się niesamowicie bogaci i obecnie znajdują się w dziesiątce najbogatszych ludzi świata. Uniwersytet Stanforda – na pocieszenie, że nie ukończyli oni swoich doktoratów i nie pracują już w nauce – został natomiast właścicielem patentu, na którym zarobił 336 milionów dolarów.
Sama metoda działania PageRanka nie była żadną rewolucją. W literaturze naukowej tematem oceny elementów w sieci powiązań zajmowano się od lat. Już w roku 1949 uproszczoną wersję PageRanka zaproponował John R. Seeley w czasopiśmie zajmującym się eksperymentalną psychologią, starając się zmierzyć, kto jest najpopularniejszym dzieckiem w grupie. Autorzy nie znali jednak tej pracy (najwyraźniej nie znaleźli jej w Google Scholar), dlatego PageRanka wymyślili na nowo. Opierali się natomiast na coraz bardziej popularnym wówczas pomyśle, aby istotność strony powiązać z liczbą prowadzących do niej linków.
Idea ta dość dobrze działała przy ocenie prestiżu czasopism naukowych na podstawie liczby cytowań ich artykułów. Jednak w Internecie ocena strony poprzez samą liczbę prowadzących do niej linków nie jest dobrym pomysłem. Po pierwsze, w trywialny sposób możemy stworzyć milion stron, które będą do nas linkowały. Po drugie, link
linkowi nierówny – jeżeli kieruje do nas bardzo popularna strona, to taki link jest dużo cenniejszy, niż gdy ktoś wspomni o nas na swoim blogu, który czyta tylko jego mama. Dlatego też w uproszczonej wersji PageRanka link ze strony
Na Internet możemy patrzeć po prostu jak na graf skierowany, czyli pewien zbiór wierzchołków
W literaturze pojawiają się różne definicje PageRanka, ale właśnie powyższym równaniem jest on zdefiniowany w oryginalnej pracy. Jedyną małą różnicą jest to, że autorzy mnożyli także wartość bazową (
Podstawowym sposobem definiowania PageRanka jest układ równań, jednak ma on też elegancką interpretację opartą na błądzeniu losowym. Więcej na ten temat można przeczytać w artykule Google w łańcuchach Łukasza Rajkowskiego,
Przyjmijmy, że graf jest silnie spójny i niech
A co, jeśli graf nie jest silnie spójny i mamy strony, które nie mają żadnych linków? Tu jest pewien problem – gdzie ma wtedy pójść surfer? Są różne koncepcje. Czasem mówi się na przykład, że z automatu zaczyna surfowanie od początku, od losowej strony, ale musimy uważać – taka definicja nie da wcale naszego równania rekurencyjnego! Możemy natomiast powiedzieć, że z wierzchołków bez krawędzi surfer przechodzi do… swoistego ,,czyśćca”, czyli wierzchołka, który ma tylko pętlę do siebie. Surfer kręci się wówczas w nim, aż wylosuje rozpoczęcie od początku. PageRank będzie odpowiadał prawdopodobieństwom granicznym tego procesu, chociaż nie będzie sumował się do jedynki, bo dodatkowy wierzchołek trochę jej ,,zje”.
O ile dla osób znających PageRanka głównie z procesu losowego sumowanie do
Jak PageRank nie działa
Za sprawą przeolbrzymiego sukcesu wyszukiwarki Google, PageRank stał się niezwykle popularny. Jest bardzo wiele powodów, dla których osoby, analizując skomplikowane sieci połączeń, spośród setek istniejących metod oceny sięgają po niego w pierwszej kolejności. Po pierwsze, można go szybko obliczyć. Po drugie, dobrze działa dla sieci WWW. Po trzecie, intuicyjnie ma sens. Po czwarte, jest popularny. Po piąte, jest dość skomplikowany, więc na pewno robi coś mądrego. Niestety, żaden z tych powodów nie świadczy o tym, że PageRank jest odpowiednim wyborem dla konkretnej sieci, nieraz kompletnie innej niż Internet.
Popatrzmy na parę przykładów. Zacznijmy od czegoś prostego – jak myślisz, Czytelniku, który wierzchołek jest najważniejszy w poniższym grafie?
Według PageRanka wierzchołki 2 i 6! Raczej przeczy to intuicji… To dlaczego PageRank tak zadziałał? Widać to z interpretacji z błądzeniem losowym – wierzchołki te mają sąsiada, który zawsze odeśle surfera z powrotem do nich.
A w poniższych grafach ważniejszy jest wierzchołek
Wydaje się, że to wierzchołek
Powyższe przykłady mogły się wydawać nieco sztuczne, wróćmy zatem do prawdziwej pracy naukowej i prawdziwej sieci meczy tenisowych. Wierzchołkami w tej sieci są tenisiści, a skierowanymi krawędziami – ich mecze: krawędź z A do B oznacza jeden mecz rozegrany pomiędzy A i B, wygrany przez B. Czy PageRank dla tej sieci daje sensowne wyniki? Wydaje się, że niestety nie.
Aby to zobaczyć, ograniczmy się na chwilę do meczy rozgrywanych przez Wielką Trójkę: Federera, Nadala i Djokovica (patrz margines na pierwszej stronie artykułu). Nie ulega wątpliwości, że Djokovic wypada tu najlepiej – ma dodatni bilans meczy zarówno z Federerem (30:28), jak i Nadalem (27:23). PageRank też wskazuje Djokovica jako najlepszego tenisistę – zgadza się! Zmodyfikujmy teraz trochę sztucznie graf, zastępując każdy przegrany mecz Djokovica dwoma meczami. Teraz ma już gorszy bilans od Federera i Nadala. A co na to PageRank? Nic! Jak już powiedzieliśmy wcześniej, powielenie każdego z wychodzących linków tę samą liczbę razy nie zmieni PageRanka żadnego wierzchołka. Nie tego jednak byśmy się spodziewali od sensownej miary.
A jakiej miary powinniśmy użyć? Wydaje się jednak bardziej właściwe, aby – jak w sieci cytowań – brać pod uwagę liczbę, a nie samą proporcję wychodzących krawędzi. Taką miarą jest na przykład centralność Katza, która zdefiniowana jest zasadniczo takim samym równaniem rekurencyjnym jak PageRank, ale bez dzielenia przez
Wracając zatem do początkowego pytania: czy powinniśmy stosować PageRanka w sieci meczów tenisowych? W sieci WWW działa on dobrze i stosowany był w przeróżnych sieciach. Lecz jak nauczyła nas formuła PageRanka, sama liczba poleceń to nie wszystko, ważne jest, skąd te polecenia pochodzą… My do tenisa go nie polecamy.