A PageRank és alkalmazása Szakdolgozat Írta: Kiss Dániel Matematika BSc szak matematikai elemző szakirány Témavezető: Grolmusz Vince egyetemi tanár Számítógéptudományi Tanszék Eötvös Loránd Tudományegyetem Természettudományi Kar 2012
Tartalomjegyzék Bevezetés 4 1. Hálózati csomópontok centralitásának mérőszámai 5 1.1. A centralitás lehetséges értelmezései egy példán keresztül........... 5 1.2. Néhány központisági mérőszám......................... 7 1.2.1. Fokszám centralitás........................... 7 1.2.2. Sajátvektor centralitás.......................... 7 1.2.3. Katz-féle centralitás........................... 8 2. Markov-láncok alkalmazása a PageRang problémára 9 2.1. Markov-láncok és tulajdonságaik........................ 10 2.1.1. Alapfogalmak............................... 10 2.1.2. Állapotok osztályozása.......................... 12 2.1.3. Aszimptotikus tulajdonságok...................... 13 2.2. PageRang levezetése Markov-láncokkal..................... 14 2.2.1. A PageRang mátrixos alakja...................... 14 2.2.2. Első finomítás: visszatérőség....................... 16 2.2.3. Második finomítás: irreducibilitás.................... 17 2.2.4. Harmadik finomítás: aperiodicitás................... 17 2.2.5. Egyszerű példa PageRang kiszámítására................ 17 3. A PageRang kiszámítása, paraméterei és stabilitása 19 3.1. Numerikus módszerek néhány alapfogalma................... 19 3.1.1. Normák.................................. 19 3.1.2. Sajátértékek és sajátvektorok...................... 20 3.1.3. Hibák és kondíciószámok......................... 21 3.2. A PageRang mint sajátérték-feladat...................... 24 3.2.1. A hatványmódszer............................ 24 3.2.2. A hatványmódszer alkalmazhatósága a G mátrixra.......... 26 3.2.3. A hatványmódszer konvergenciasebessége............... 27 3.2.4. A hatványmódszer gyakorlati megvalósítása.............. 29 3.3. A PageRang mint lineáris egyenletrendszer................... 30 2
3.3.1. A megoldás létezése és helyessége.................... 31 3.3.2. Az I ch mátrix M-mátrix....................... 32 3.3.3. A feladat kondicionáltsága........................ 33 3.3.4. Lehetséges megoldási módszerek.................... 34 3.4. A PageRang egyenlet paraméterei........................ 36 3.4.1. A c konstans............................... 36 3.4.2. A H hiperlink mátrix.......................... 37 3.4.3. Az E teleportációs mátrix........................ 37 3.5. Perturbált adatok hatása a modellre...................... 38 4. A PageRang alkalmazása hálózatok összehasonlítására 42 4.1. Protein-protein interakciós hálózatok...................... 42 4.2. Az IsoRank eljárás................................ 43 4.2.1. Az IsoRank-modell............................ 43 4.2.2. A hasonló részgráf előállítása...................... 45 4.2.3. Az IsoRank megvalósítása MATLAB környezetben.......... 46 4.2.4. Teszteredmények............................. 46 4.2.5. Összegzés, következtetések........................ 47 Összefoglalás 50 Summary 51 Köszönetnyilvánítás 52 Irodalomjegyzék 53 Függelék 54 3
Bevezetés Komplex rendszerek vizsgálatának elterjedt módja az, amikor a rendszer alkotóelemeit és a közöttük megfigyelhető kölcsönhatásokat hálózatként értelmezzük. A rendszer eredetétől függetlenül gyakran elegendő a kapott hálózat topológiájára koncentrálva tanulmányoznunk azt, hogy ismereteket szerezzünk jellemzőiről vagy viselkedéséről, legyen az akár emberek egy csoportja, tartályba zárt gázmolekulák, a világháló, esetleg egy sejt a szervezetünkben. Hálózatokat szokás egyszerű gráfokkal modellezni, mivel ezek matematikailag jól kezelhetőek, különböző mérhető jellemzőiknek meghatározására és elemzésére pedig számos eljárás ismeretes. Egy viszonylag gyakran vizsgált és jól mérhető jellemző a gráf csúcsainak központisága vagy centralitása, mely érték az eredeti hálózat jellegétől függően például az egyes csomópontok népszerűségeként, fontosságaként, relevanciájaként vagy esszencialitásaként fogható fel. A centralitás számszerűsítésére számos megközelítés létezik, a hálózattól és az elemzés céljától függően általában más és más mérték használata előnyös. A dolgozatban egy ilyen centralitás-mértéket, a PageRank 1 eljárást vizsgálom. Bemutatom a probléma eredetét, majd a Markov-láncok alapjainak összefoglalása után levezetem a PageRank alapegyenletét. A probléma két megközelítésben is tárgyalható: sajátértékfeladatként és lineáris egyenletrendszerként. Megmutatom, hogy a megfelelő feltételek teljesülése esetén a módszer hatékonyan kezelhető mindkét megközelítésben. Kitérek arra az esetre, amikor a modellbe hibákkal terhelt adatok kerülnek, és becslést adok ezek hatására. Ahogyan látni fogjuk, megfelelő paraméterválasztással az eljárás stabilnak tekinthető. Végül nagyon röviden összefoglalom a fehérje-hálózatok probléma szempontjából leglényegesebb jellemzőit, és bemutatok egy PageRank-alapú módszert fehérje-fehérje interakciós hálózatok összehasonlítására. A dologzat további részében témavezetőm javaslatára PageRank helyett a magyarul természetesebben hangzó és beszédesebb PageRang elnevezést használom. 1 A PageRank szó a Google bejegyzett védjegye. 4
1. fejezet Hálózati csomópontok centralitásának mérőszámai 1.1. A centralitás lehetséges értelmezései egy példán keresztül Egy hálózat csomópontjainak központiságát tekinthetjük úgy, mint relatív fontosság a teljes hálózatban. Ez a fontosság azonban a hálózat eredetétől és az elemzés céljától függően mást és mást jelenthet, így nem lehetséges egyetlen olyan központisági mértéket definiálni, amely minden hálózatban és minden kérdésre jól megragadná a csomópontok fontosságát. Ennek bemutatásához egy képzeletbeli számítógépes hálózat csomópontjainak központiságát elemezzük. Amint látni fogjuk, a Melyik csomópont a legfontosabb? kérdésre többféleképpen is válaszolhatunk. Először mondjuk azt, hogy egy csomópont akkor fontos, ha sok kapcsolattal rendelkezik, hiszen ha egy ilyen hibásodik meg, akkor sok másik eszközzel szűnik meg a kommunikáció. Ekkor fokszám centralitás (degree centrality) alapján rangsoroljuk a csomópontokat, és az 1.1. (b) ábra 8 jelzésű pontja lesz a legfontosabb, a többiek jóval kisebb mérőszámokkal rendelkeznek. Most nevezzünk egy csomópontot fontosnak akkor, ha a többi ponttal gyorsan kapcsolatba tud lépni, azaz köztük a távolság viszonylag kicsi. Így közelség centralitás szerint osztályozunk, és ahogyan az 1.1. (c) ábrán látható, jóval egyenletesebbek a csomópontok mérőszámai, nehéz egyértelműen győztest hirdetni. Utolsó példaként hívjunk egy csomópontot fontosnak akkor, ha sok információ fut rajta keresztül, hiszen egy ilyen kiesése megbéníthatja a forgalmat. Ez közöttiség centralitás (betweenness centrality) alapján vizsgálja a pontokat. Az 1.1. (d) ábra szerint a legtöbb pont közöttiség centralitás mértéke elhanyagolhatóan kicsi, mindössze néhány pont játszik csak lényeges szerepet a hálózatban. A fenti példa mindössze néhány központiság mérőszámot mutatott be, talán mégis érzékelhető volt, mennyire eltérő válaszokat kaphatunk ugyanarra a kérdésre, ha azt nem kellően pontosan tesszük fel. 5
1 1 3 4 2 3 4 2 5 5 6 7 6 7 8 9 10 8 9 10 12 11 12 11 15 14 13 Pajek 15 14 13 Pajek (a) A hálózat. (b) Fokszám centralitás. 1 1 3 4 2 3 4 2 5 5 6 7 6 7 8 9 10 8 9 10 12 11 12 11 15 14 13 Pajek 15 14 13 Pajek (c) Közelség centralitás. (d) Közöttiség centralitás. 1.1. ábra. Képzeletbeli számítógépes hálózat különböző mértékek szerint ábrázolva. 6
1.2. Néhány központisági mérőszám Ebben a szakaszban Newman [8] művének felhasználásával röviden megvizsgálunk három, egymásból származtatható központisági mértéket, melyeknek közös vonása, hogy a centralitást a csúcs szomszédságának jellemzőire építve definiálják. A dolgozat lényegét képező PageRang ezek egyféle finomításaként fogható fel, mely számos előnyös tulajdonsága miatt eredményesebben alkalmazható a valóságban előforduló hálózatokra. 1.2.1. Fokszám centralitás Ahogyan az előző szakaszban már láthattuk, egy gráf csúcsainak központiságát gyakran kézenfekvő azok fokszámával mérni. Irányítatlan gráfok esetén ez minden csúcsra egyetlen, míg irányított gráfok csúcsaira kettő (be-fokszám és ki-fokszám) mérőszámot definiál, mely egyszerűsége ellenére gyakran igen szemléletes jelentéssel bír. Ismerettségi hálózatokban például felfoghatjuk úgy, hogy a sok kapcsolattal rendelkező egyének ismertebbek, vagy nagyobb hatással vannak a közösségre. Tudományos szakirodalomban egy összefoglaló jellegű cikk végén sok hivatkozást találunk a téma legfontosabb munkáira, így az ilyen cikkeknek magas a ki-fokszáma, ugyanakkor egy jelentős eredményt felmutató cikket várhatóan sok későbbi munka referenciái közt olvashatunk, ami magas be-fokszámot okoz. Amennyiben a hálózatot leíró gráf A szomszédsági mátrixával adott, akkor az i-edik csúcsának fokszám centralitása v i = j A T ij. Egyszerűsége mellett ennek a mértéknek megvan az a gyengesége, hogy a csúcs minden szomszédját egyenrangúként kezeli, ami a valóságban gyakran nem helytálló feltevés. 1.2.2. Sajátvektor centralitás Mivel egy csúcs szomszédai maguk is különbözőek lehetnek központiságukat tekintve, így logikusnak látszik, hogy a nagyobb és kisebb centralitású szomszédok szavazatait ne egyformán kezeljük. Definiáljuk egy csúcs centralitásának mérőszámát úgy, hogy az legyen arányos a szomszédai mérőszámainak összegével, vagyis v i = c j A T ijv j valamilyen c = 1 -tól függő arányossági tényezővel. Mátrixműveletekre átírva és rendezve λ ez A T v = λv, tehát a csúcsok mérőszámaiből álló v vektor éppen az A T mátrix egyik sajátvektora λ sajátértékkel. Bizonyos feltételek teljesülése esetén a megfelelő sajátvektor egyértelmű, így valóban alkalmas a csúcsok mérőszámainak definiálására. 7
A sajátvektor centralitás értelmezhető a következőképp: egy csomópont magas központiságú lehet azért, mert nagyon sok alacsony központiságú kapcsolata van (például nagyon sok ismerőse van), de azért is, mert kevés, viszont magas központiságú kapcsolattal bír (például befolyásos ismerősei vannak). A módszer különösen irányítatlan gráfokon használható eredményesen, mivel azok szomszédsági mátrixa szimmetrikus. Irányított esetben is működik, azonban itt a jobb- és baloldali sajátvektorokból kapott mérőszámok más jelentést hordoznak. Ilyen gráfok esetén a legnagyobb probléma mégis az, hogy csak egy erősen összefüggő komponensben, vagy annak egy ki-komponensében lévő csúcsnak lehet nullától különböző sajátvektor centralitása. A valóságban megjelenő hálózatok nagy részére (úgymint a világháló vagy citációs hálózatok) viszont ettől eltérő topológiát mutatnak, így a sajátvektor centralitás a gyakorlatban kevéssé használható. 1.2.3. Katz-féle centralitás A sajátvektor centralitás említett hiányosságát korrigálhatjuk úgy, hogy minden csomópontnak a sajátján kívül adunk valamilyen kicsi pozitív ε mértéket, azaz v i = c j A T ijv j + ε, valamilyen pozitív c konstanssal. Ezt mátrixos alakra írva és átrendezve kapjuk a v = ε ( I ca T ) 1 e egyenletet, ahol e egy megfelelő méretű, csupa egyesekből álló vektor. Mivel v elemeinek pontos értéke nem, csak egymáshoz való viszonya érdekes, így ε értéke tetszőlegesen megválasztható, például 1-nek. Ha c értékét nullához közeli értékre állítjuk, akkor minden csúcs centralitása majdnem azonos értékű lesz. A másik véglet, amikor c az 1 λ értékhez közelít (λ az A T mátrix legnagyobb sajátértéke), mivel ekkor ( I ca T ) közel szinguláris. A Katz-féle centralitás hasonlít a sajátvektor centralitásra, de tartalmaz egy paramétert, melynek segítségével szabályozható a sajátvektor összetevő és a konstans összetevő aránya. Ez egyben kiküszöböli az irányított gráfoknál jelentkező korábbi problémát is, mivel c megválasztásától függően minden csúcs rendelkezni fog valamekkora központisággal. Az eljárásnak az előbb tárgyalt előnyei mellett megvan az a kellemetlen tulajdonsága is, hogy egy magas centralitású csúcs szomszédai mind magas centralitásúak lesznek, függetlenül azok számától. Ahogyan a következő fejezetben látni fogjuk, egy egyszerűbb módosítással ez megszüntethető, így eljutunk a PageRang centralitás fogalmához. 8
2. fejezet Markov-láncok alkalmazása a PageRang problémára Képzeljünk el egy személyt, aki a weben szörfözik : elindul egy bizonyos oldalról, majd az azon található hivatkozások mentén egy másik oldalra navigál. Ott megint talál egy számára érdekes hivatkozást, melyen át ismét egy másik oldalra kerül, és így tovább. Egy idő után azonban elunja magát, és teljesen véletlenszerűen felkeres egy új weboldalt, ahonnan tovább folytatja az előbbi szörfözést. Sergey Brin, Lawrence Page és stanfordi hallgatótársai valahogy így képzelték el egy sztochasztikus szörföző viselkedését. Feltevésük szerint a weboldalakok elhelyezett hivatkozások egymáshoz kapcsolják a webet alkotó oldalakat, és ajánlásokként működnek. Ezt feltételezve a weben definiálható az egyes oldalak népszerűsége vagy fontossága: egy oldal fontos és ezáltal PageRang centralitása magas, ha arra fontos oldalakról mutat hivatkozás. Ez az előző fejezetben bemutatott módszerekhez hasonlóan egy rekurzív definíció, melyet egy végtelen szavazási folyamatként is elképzelhetünk. Kezdetben minden csúcspont ugyanakkora centralitással rendelkezik, majd a csúcsok minden lépésében egyenletesen szétosztják saját centralitásukat azok között a csúcsok között, melyekre a szavazataikat leadják, cserébe kaphatnak valamennyit a szavazóiktól. Ebből következően az i oldal fontosságát jellemző c i centralitás mérték most is iterációval számítható ki, értéke a k-adik lépésben az c (k) i = j:e ji E c (k 1) j F j (2.1) képlettel definiálható, ahol F j a j oldalon lévő hivatkozások száma, E pedig most is a hálózat irányított éleinek halmaza ([4] nyomán). Az előbbiek szerint a PageRang mérőszámra gondolhatunk úgy is, mint a csúcs szomszédsága között egyenletesen szétosztott központiságra, de úgy is, mint a gráf csúcsain történő véletlen bolyongás során előálló valószínűségeloszlásra. Ahogyan látni fogjuk, az utóbbi megközelítés könnyen tárgyalható Markov-láncokra építve, ezért a következőkben összefoglalom a leglényegesebb fogalmakat ennek elméletéből. 9
2.1. Markov-láncok és tulajdonságaik 2.1.1. Alapfogalmak 2.1.1. Definíció. Az {X t } t N valószínűségi változókból álló halmazt diszkrét idejű sztochasztikus folyamatnak nevezzük. A folyamat lehetséges értékeiből álló S = {s 0, s 1,..., s n 1 } véges halmaz a folyamat állapottere. Esetünkben ésszerű az állapottérről feltételezni annak végességét, valamint azt, hogy a folyamat diszkrét idejű. A dolgozatban ezért csak diszkrét idejű és diszkrét (véges) állapotterű folyamatokat tárgyalunk. 2.1.2. Definíció. Az {X t } t N folyamatot (elsőrendű) diszkrét idejű, diszkrét állapotterű Markov-láncnak nevezzük, ha minden t N pillanatban és tetszőlegesen választott s 0,..., s t S állapotok esetén teljesül P (X t+1 = s t+1 X t = s t, X t 1 = s t 1,..., X 0 = s 0 ) = P (X t+1 = s t+1 X t = s t ). (2.2) A Markov-lánc tehát egy sztochasztikus folyamat, mely teljesíti a Markov-tulajdonságot: a folyamat jövőbeli állapota csak a jelenbelitől függ, a múltbeliek nincsenek hatással rá. Ez egyféle emlékezetnélküliséget fogalmaz meg, a folyamat elfelejti, hogy korábban milyen állapotokban járt. Természetesen a definíció általánosítható magasabb rendű láncokra is, egy m-edrendű lánc csak az előző m lépésre emlékszik. Gyakran szemléltetik a Markov-láncokat élsúlyozott, irányított gráfokkal, ahogyan az például a 2.1. ábrán látható. Ha a szörfözőről feltételezzük, hogy valóban minden oldalon véletlenszerűen, korábbi döntéseitől függetlenül határoz a következő meglátogatandó oldalról, akkor a felkeresett weboldalak indexeinek sorozata egy elsőrendű Markov-lánc lesz. 1 4 2 7 3 6 5 8 2.1. ábra. Egy Markov-lánc gráf reprezentációja. A 2.2 egyenlet jobboldalán álló feltételes valószínűség valamely t és t + 1 időpillanatban bekövetkező, s i állapotból s j állapotba való közvetlen átmenet valószínűségét adja meg, melyre külön elnevezést is bevezetünk. 10
2.1.3. Definíció. A p ij (t, t+1) = P (X t+1 = s j X t = s i ) mennyiségeket az s 0, s 1,..., s n 1 S állapotterű {X t } t N Markov-lánc egylépéses átmenet-valószínűségeinek nevezzük. Az ezekből alkotott n n méretű p 11 p 12 p 1n p 21 p 22 p 2n P =...... p n1 p n2 p nn mátrixot a Markov-lánc egylépés átmenetvalószínűség-mátrixának nevezzük. Hasonlóan definiálható az a valószínűség, amely s i és s j állapotok közötti m lépésből álló átmenet esélyét adja meg. 2.1.4. Definíció. Jelölje tetszőleges s i, s j S és m N mellett p (m) ij = p ij (t, t + m) = P (X t+m = s j X t = s i ), ahol a p (m) ij mennyiségeket a Markov-lánc m-lépéses átmenet-valószínűségeinek nevezzük. Amennyiben m = 0, akkor p (0) ij = 1, ha i = j, 0, ha i j. Az egylépéses átmenetvalószínűség-mátrix mintájára bevezethetjük a többlépéses átmenetvalószínűség-mátrixot is. Ennek a P (m) mátrixnak az ij-edik eleme éppen az előbb definiált p (m) ij valószínűség. A Markov-láncok számunka lényeges osztályát képezik azok, melyeknek előbb definiált átmenet-valószínűségei a t paraméter értékétől, vagyis az időtől függetlenek. Az ilyen Markov-láncokat homogénnek nevezzük. Feltételezzük azt, hogy a szörföző a lépéseinek számától függetlenül, az éppen rendelkezésre álló hivatkozások közül egyenlő valószínűséggel választ egyet. Bolyongása ekkor egy homogén Markov-lánc, melyet reprezentáló G(V, E) gráf egy v i V csúcsából v j V csúcsába húzott él súlya (a p ij egylépéses átmenetvalószínűség) 1/ deg ki (v i ). Ezekkel a feltételezésekkel a 2.1. ábrán látható homogén Markov-lánc egylépéses átmenetvalószínűségmátrixa 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1/2 1/2 0 0 0 0 0 1 0 0 0 0 0 P =. 0 0 1 0 0 0 0 0 0 1/3 1/3 0 0 0 0 1/3 0 0 0 0 0 1/2 1/2 0 0 0 0 0 0 0 1/2 1/2 11
Eddig azt feltételeztük, hogy a szörföző bolyongása egy véletlenszerűen kiválasztott s i csúcsból indul, és a folyamat ettől függően fejlődik valahogyan. Megtehetjük azonban azt is, hogy kiindulásként nem egyetlen csúcsot adunk meg, hanem egy valószínűségeloszlást a csúcsokon. Az így kapott valószínűségeloszlást, vagyis a p i = P (X 0 = s i ), (s i S) eloszlást a Markov-lánc kezdeti eloszlásának nevezzük. Rendezzük ezeket a p i értékeket egy n hosszúságú π vektorba úgy, hogy π i = p i. A megadott kezdeti eloszlás, valamint a teljes valószínűség tételének segítségével megadhatjuk a folyamat t időpillanatbeli állapotainak eloszlását, vagyis a P (X t = s j ) valószínűségeket minden s j S-re. P (X t = s j ) = P (X t = s j X 0 = s i ) P (X 0 = s i ) s i S Az egyenlet jobboldala a t-lépéses átmenetvalószínűségek és a kezdeti eloszlás, valamint ezek vektoros és mátrixos alakjának felhasználásával felírható a p (t) ij p i = P (t) ij π i i formában. s i S 2.1.2. Állapotok osztályozása A Markov-láncok vizsgálatakor gyakran a folyamat aszimptotikus tulajdonságaira vagyunk kíváncsiak. Az állapotok közötti kapcsolatokat elemezve előfordulhat, hogy bizonyos állapotok hasonlóan viselkednek, így együttesen vizsgálhatók, ezáltal a vizsgálat egyszerűbbé válik. 2.1.5. Definíció. Azt mondjuk, hogy az s j S állapot elérhető az s i S állapotból, ha létezik olyan m 1 egész, melyre p (m) ij > 0. Ha két s i, s j állapot kölcsönösen elérhetők egymásból, akkor az állapotpárt kapcsolódónak hívjuk. A kapcsolódás egy ekvivalencia-reláció (reflexív, szimmetrikus és tranzitív reláció) két állapot között, ami miatt az egymással kapcsolódó állapotok diszjunkt részhalmazokra, osztályokra bontják az állapotteret, és egy kapcsolódó pár azonos osztályhoz tartozik. Ha egy adott osztálybeli állapotból egy osztályon kívüli állapotba kerülés valószínűsége nulla, akkor az osztályt zártnak hívjuk. Az egyelemű zárt osztály neve elnyelő állapot. Ha egy S állapotterű Markov-lánc olyan tulajdonságú, hogy S egyetlen valódi részhalmaza sem zárt, akkor a folyamatra külön elnevezést használunk. 2.1.6. Definíció. Egy Markov-láncot irreducibilisnek hívunk, ha bármely állapot elérhető bármely más állapotból, azaz tetszőleges két s i, s j S állapotok esetén létezik olyan m 1 egész, melyre p (m) ij > 0. A 2.1. ábrán látható Markov-láncot a kapcsolódó állapotok négy osztályra bontják: C 1 = {1}, C 2 = {2}, C 3 = {3, 4, 5} és C 4 = {6, 7, 8}. Ezek közül C 1 és C 3 zártak, előbbi speciálisan egy elnyelő állapot. 12
Vizsgáljuk most annak a valószínűségét, hogy a folyamat valamikor visszatér egy adott állapotba. Legyenek s i, s j S most is tetszőleges állapotai a rendszernek, és vezessük be az alábbi jelöléseket: f (0) ij = 0, f (1) ij = P (X 1 = s j X 0 = s i ), f (n) ij = P (X n = s j, X m s j, ha m = 1, 2,..., n 1 X 0 = s i ), n = 2, 3,... A fenti f (n) ij mennyiség tehát azt a valószínűséget adja meg, hogy az s i állapotból induló folymat először n lépés után kerül az s j állapotba. Amennyiben i = j, úgy az f (n) ij mennyiség az s i állapotba n lépés alatt történő első visszatérés valószínűségét adja. Ennek segítségével egy másik szempont alapján is osztályozhatjuk egy Markov-lánc állapotait. 2.1.7. Definíció. Egy s i S állapot visszatérő, ha n=1 f (n) ii = 1. Ha egy állapot nem visszatérő, akkor átmenetinek nevezzük. Ha az összes állapot visszatérő, akkor a Markov-láncot visszatérőnek mondjuk. Ha egy állapot olyan, hogy az csak bizonyos k, 2k, 3k,... (k > 1 egész) lépés után térhet vissza, akkor periodikus állapotnak nevezzük. 2.1.8. Definíció. Jelölje tetszőleges s i S állapot esetén d (i) azoknak az m 1 egészeknek a legnagyobb közös osztóját, melyekre p (m) ii > 0. Ha p (m) ii = 0 minden m 1-re, akkor legyen d (i) = 0. Az így definiált d (i) számot az s i állapot periódusának nevezzük. Egy Markov-láncot aperiodikusnak nevezünk, ha minden állapotának periódusa 1. Vizsgáljuk a folyamat visszatérő állapotainak várható visszatérési idejét. 2.1.9. Definíció. Az s i S állapot visszatérési idejének várható értéke a µ si = n=1 nf (n) ii mennyiség. Egy s i S állapot visszatérő nemnullaállapot, ha µ si <, és visszatérő nullaállapot, ha µ si =. 2.1.3. Aszimptotikus tulajdonságok Az egyik legérdekesebb kérdés a szörföző viselkedését leíró Markov-lánccal kapcsolatban, hogy létezik-e egyensúlyi eloszlása a folyamatnak. Amennyiben létezik ilyen, akkor az megadja, hogy elég hosszú idő múltán melyik oldalon mekkora valószínűséggel találjuk meg a szörfözőt, így egyféle rangsorát kapjuk az oldalaknak (feltételezve, hogy egy fontosnak tartott oldalon valószínűbben találjuk). Először az egyensúlyi eloszlás fogalmát pontosítjuk. 13
2.1.10. Definíció. Egy π eloszlást stacionárius vagy egyensúlyi eloszlásnak nevezünk, ha kezdeti eloszlásnak választva tetszőleges t időpillanatban fennáll a π (t) = π egyenlőség. A következő tétel elégséges feltételt szolgáltat egyensúlyi eloszlás létezésére bizonyos típusú Markov-láncok esetén. 2.1.11. Tétel. (Michelberger et al., [7]) Legyen az {X t } t N Markov-lánc homogén, irreducibilis és aperiodikus. (A) Ekkor tetszőleges s i S állapot esetén létezik a π i = lim π (t) t i határérték, amely nem függ a kezdeti eloszlástól. Ha minden állapot átmeneti, vagy visszatérő nullaállapot, akkor nem létezik stacionárius eloszlás, és π i = 0 minden állapotra. (B) Ha minden állapot visszatérő nemnullaállapot, akkor létezik, a π stacionárius eloszlás, melyet egyértelműen meghatároznak a következő egyenletek: π i = 1, i π j = i π i p ij. A tétel bizonyítását terjedelmi okok miatt nem tárgyalom, az megtalálható a jelölt forrásban 13.39. tétel néven. 2.2. PageRang levezetése Markov-láncokkal A 2.1.11. tétel garantálja az egyensúlyi eloszlás létezését egyes Markov-láncok esetén. Ez az egyensúlyi eloszlás (amennyiben nem azonosan nulla valószínűségekből áll) egyben arra is alkalmas, hogy segítségével sorrendbe rendezzük a Markov-lánc állapotait valószínűségek szerint. A (2.1) egyenletből kiindulva egy homogén, irreducibilis, aperiodikus Markov-láncot (egészen pontosan egy átmenetvalószínűség-mátrixot) konstruálunk, melynek az előbbiek szerint létezik stacionárius eloszlása. Az így kapott eloszlást értelemzzük a csúcsok PageRang mérőszámaiként. 2.2.1. A PageRang mátrixos alakja Egy G = (V, E) gráf szomszédsági (adjacencia) mátrixa a következő V V méretű mátrix: 1 ha e ij E, A ij = 0 egyébként. 14
1 2 3 4 5 2.2. ábra. Egy öt csúcsból álló irányított hálózat gráfja. Ez súlyozatlan gráfokra irányítatlan és irányított esetben is egyszerűen használható, élsúlyozott esetben bizonyos megkötések szükségesek az egyértelműség biztosításához. A 2.2. ábrán látható irányított, élsúlyozatlan gráf szomszédsági mátrixa például 0 1 0 0 0 0 0 1 1 0 A = 0 1 0 1 1. 0 0 1 0 1 0 0 0 0 0 Definiáljuk egy irányított gráf hiperlink mátrixát, mely hasonló a szomszédsági mátrixhoz: 1/ deg H i,j = ki (v i ) ha létezik v i -ből v j -be él, 0 egyébként. Ha a gráf n csúcsból áll, akkor ez egy n n méretű nemnegatív elemekből álló mátrix lesz, melyben minden sor összege legfeljebb 1. Az ilyen típusú mátrixokra külön elnevezést vezetünk be. 2.2.1. Definíció. Egy négyzetes mátrixot szubsztochasztikusnak nevezünk, ha elemei nemnegatívak és minden sorának összege legfeljebb 1. Ha elemei nemnegatívak és minden sorának összege pontosan 1, akkor sztochasztikusnak nevezzük. A definíció szerint H szubsztochasztikus mátrix lesz. Például a 2.2. ábrán látható gráf esetén 0 1 0 0 0 0 0 1/2 1/2 0 H = 0 1/3 0 1/3 1/3. 0 0 1/2 0 1/2 0 0 0 0 0 15
A (2.1) egyenlettel kiszámított r i rangokat rendezzük egy n hosszúságú π vektorba, a PageRang-vektorba. H és π segítségével az egyenlet a következőképp írható fel: π (k)t = π (k 1)T H. H hasonló egy egylépés átmenetvalószínűség-mátrixhoz, ami a szörföző bolyongását irányította az előző szakaszan. Elképzelhető azonban, hogy H tartalmaz teljes nulla sort, amit úgy értelmezhetünk, hogy ha a szörföző a sornak megfelelő állapotba lép, akkor azt többé nem hagyja el, tehát annak a valószínűsége, hogy t esetén ebben az állapotban lesz, éppen 1. A jelenség neve Brin és Page [9] cikkében rank-sink (rang-süllyesztő), mely a rangsor szempontjából nem kívánatos, mivel az ilyen állapotok indokolatlanul kapnának magas pontszámot. 2.2.2. Első finomítás: visszatérőség A 2.1.11. tételben láttuk, hogy ha (egyebek mellett) a Markov-lánc állapotai mind visszatérő nemnullaállapotok, akkor létezik nemtriviális stacionárius eloszlás. Az előbb tárgyalt elnyelő állapotok azonban lehetetlenné teszik a többi állapot visszatérőségét, ezáltal a megfelelő stacionárius eloszlás létezését is. Brin és Page úgy oldották meg ezt a problémát, hogy a H mátrixot sztochasztikussá tették az azonosan nulla sorok elemeit 1/n elemekre cserélésével, így kapva egy S mátrixot. Ekkor ha az S átmenetmátrixú szörföző elnyelő állapotba kerül (vagyis olyan oldalra jut, melyről nem mutat más oldalra link), akkor véletlenszerűen ugorhat tetszőleges állapotba. Matematikailag ez a változtatás a következőképp írható le az előző szakasz jelöléseit felhasználva. Legyenek az n hosszú d vektor 1 elemei 1 ha s i elnyelő állapot, d i = (2.3) 0 egyébként. Jelölje a továbbiakban e a csupa egyesekből álló n-hosszú vektort, ekkor S = H + 1 n det, (2.4) vagyis S a H és az egy rangú de T mátrix kombinációjaként áll elő. Az így kapott mátrix definíció szerint sztochasztikus lesz, példánkban 0 1 0 0 0 0 0 1/2 1/2 0 S = 0 1/3 0 1/3 1/3. 0 0 1/2 0 1/2 1/5 1/5 1/5 1/5 1/5 1 Brin és Page azokat az oldalakat, melyekről nem mutat más oldalra hivatkozás, dangling node-nak ( lógó csúcsnak ) nevezte. 16
2.2.3. Második finomítás: irreducibilitás Egy S átmemetmátrixú Markov-láncnak még nem feltétlenül létezik stacionárius eloszlása, mivel rendelkezhet több elemű zárt osztályokkal, vagyis nem feltétlenül irreducibilis. Ez azonban igen könnyedén elérhető a következő módosítással. Ahogyan az előző fejezetben utaltunk rá, tételezzük fel, hogy a szörföző bizonyos számú kattintás után megunja a hivatkozásokon keresztüli navigációt, és felkeres egy véletlenszerű oldalt, mintegy teleportálva arra. Ezzel a képességgel a bolyongását leíró Markov-lánc átmenetmátrixát a következő G márixra módosítja: G = cs + (1 c)e, (2.5) ahol E = ev T képlettel definiált egy rangú mátrix, v pedig egy valószínűségeloszlást reprezentáló n-hosszú vektor. Álljon az egyszerűség kedvéért v most azonosan 1/n elemekből. A c egy valós paraméter, melyre 0 < c < 1. Ennek hatását úgy képzelhetjük el, hogy a szörföző összidejének c-edrészében az oldalakon található hivatkozásokat követve navigál, de (1 c)-edrészében véletlenszerűen ugrik egy új oldalra. Az E mátrixot épp ezért teleportációs mátrixnak szokás hívni, ugyanis épp a web egyes oldalaira történő véletlen ugrás valószínűségeit tartalmazza. G ugyancsak sztochasztikus mátrix lesz, hiszen két sztochasztikus mátrix konvex kombinációjaként áll elő. Mivel így tetszőleges s i, s j S állapotok esetén a két állapot biztosan kapcsolódó, ezért a G átmenetvalószínűség-mátrixú Markov-lánc irreducibilis. 2.2.4. Harmadik finomítás: aperiodicitás Az előbb bevezetett G mátrix egyben az aperiodicitás problémáját is megoldja, ugyanis a teleportációs mátrix bevezetésével tetszőleges állapotból egy lépéssel önmagába is lehet kerülni pozitív valószínűséggel. Ezáltal az állapottér minden s i állapotának a periódusa 1, vagyis a Markov-lánc aperiodikus. A fentiek következményeképp a finomítások elvégzésével kapott G átmenetvalószínűségmátrixú Markov-láncnak a 2.1.11. tétel szerint létezik π = 0-tól különböző stacionárius eloszlása, melyet az ott leírt egyenletek egyértelműen meghatároznak. 2.2.5. Egyszerű példa PageRang kiszámítására 2.2.2. Példa. Számítsuk ki a 2.2. ábrán lévő hálózat csúcsainak PageRang-jait. Tételezzük fel, hogy a modellben bemutatott szörföző idejének 85%-ában irányított éleket követve navigál, 15%-ában pedig véletlenszerűen ugrik, vagyis c = 0.85. A bolyongását leíró 17
Markov-lánc átmenetvalószínűség-mátrixa ekkor (kerekített értékekkel) 0.03 0.88 0.03 0.03 0.03 0.03 0.03 0.46 0.46 0.03 G = 0.03 0.31 0.03 0.31 0.31. 0.03 0.03 0.46 0.03 0.46 0.2 0.2 0.2 0.2 0.2 Nézzük meg, hogyan alakulnak a π (k) vektor elemei néhány iterációs lépés után attól függően, hogy a kezdeti eloszlás egyenletes, teljesen egyenlőtlen, vagy véletlenszerű volt. k π (k)t 1 π (k)t 2 π (k)t 3 0 (0.20 0.20 0.20 0.20 0.20) (0.00 0.00 0.00 0.00 1.00) (0.61 0.03 0.24 0.04 0.08) 1 (0.06 0.29 0.23 0.21 0.21) (0.03 0.31 0.03 0.31 0.31) (0.04 0.63 0.07 0.12 0.13) 2 (0.07 0.19 0.28 0.26 0.22) (0.08 0.12 0.35 0.23 0.23) (0.05 0.11 0.37 0.34 0.13) 3 (0.07 0.20 0.25 0.22 0.25) (0.07 0.24 0.21 0.22 0.27) (0.05 0.20 0.24 0.20 0.30) 4 (0.07 0.20 0.25 0.23 0.24) (0.08 0.19 0.27 0.24 0.23) (0.08 0.19 0.25 0.24 0.24) Látható, hogy viszonylag gyorsan csillapodnak a kezdeti eloszlás miatti különbségek. Az egyensúlyi eloszlást megadó vektor egyébként a π T = (0.07 0.20 0.26 0.23 0.24), melyhez mindhárom kezdeti eloszlásból kiindulva egészen közel kerültünk csupán 4 lépés alatt. A π PageRang vektor i-edik elemének értékét valószínűségként is képzelhetjük, ami azt mondja meg, hogy hosszú távon mekkora eséllyel tartózkodik épp a gráf i-edik csúcsában a szörföző. Példánkban az 1-es csúcsban tartózkodás esélye nagyjából 7%, ezzel szemben a 3-asban mintegy 26%, tehát ésszerű feltételeznünk, hogy a 3-as csúcs valamiért népszerűbb az 1- esnél. A kapott valószínűség-értékek alapján a 2.2. ábrán látható gráf csúcsaira a következő rangsor adódik: (5 4 1 3 2), vagyis a legnépszerűbb csúcs a 3-as, őt követi az 5-ös, majd 4-es, 2-es, és végül az 1-es. A következő fejezetben megvizsgáljuk, milyen módon számítható ki hatékonyan az egyensúlyi eloszlás, egyes módszerek esetén mekkora pontosságot várhatunk el, illetve mennyire gyorsan terjednek a hibák, ha eredeti adatainkban feltételezzük ezek jelenlétét. 18
3. fejezet A PageRang kiszámítása, paraméterei és stabilitása 3.1. Numerikus módszerek néhány alapfogalma A fejezetben tárgyalt problémák jelentős része vektor- és mátrixműveleteken alapul, így szükséges lesz néhány fogalom és állítás, hogy a vektorokat és mátrixokat bizonyos, azokat jól jellemző mennyiségi tulajdonsággal elláthassuk, valamint eltéréseiket számszerűsíteni tudjuk. A szakaszban szereplő definíciókat és tételeket [1] alapján foglaltam össze. 3.1.1. Normák 3.1.1. Definíció. Egy V vektorteret normált térnek nevezünk, ha létezik olyan d : V R leképezés, melyre 1. d(v) 0 és d(v) = 0 v = 0 minden v V -re, 2. d(cv) = c d(v) tetszőleges v V -re és c skalárra, valamint 3. d(u + v) d(u) + d(v) minden u, v V esetén. Az így definiált d(v) leképezést a v V elem normájának hívjuk, és általában v -val jelöljük. A definíció feltételeti teljesítő leképezés többféleképpen is megadható. Általánosan az n hosszú v vektor p-normáján a ( n v p = i=1 v i p ) 1/p értéket értjük. Legáltalánosabb ilyen norma a 2-es (vagy euklideszi) norma, a PageRang probléma tárgyalása során azonban többször is hasznosnak bizonyul az 1-es norma (vagy rácsnorma, Manhattan-norma), illetve a -norma (maximumnorma). 19
Vektorok normáinak felhasználásával definiálhatjuk mátrixok normáit is az alábbi módon. Ax p A p = sup x 0 x p Az így definiált mennyiséget a p-vektornorma által indukált mátrixnormának nevezzük. Belátható, hogy a fenti mennyiség valóban teljesíti a normáktól elvárt tulajdonságokat. A számunkra hasznosnak bizonyuló 1-es és -normákat közvetlenül A elemeinek segítségével is felírhatjuk (ezek levezetése megtalálható például [1]-ben): illetve A 1 = A = max j=1,...,n max m a ij, i=1 i=1,...,m j=1 n a ij, melyek miatt oszlopösszeg-, illetve sorösszegnormának is szokás őket hívni. Azt mondjuk, hogy egy v vektornorma kompatibilis egy m mátrixnormával, ha tetszőleges A négyzetes mátrixra teljesül Ax v A m v v. 3.1.2. Sajátértékek és sajátvektorok 3.1.2. Definíció. Egy λ skalárt az A mátrix (jobboldali) sajátértékének nevezünk, ha létezik olyan v nemnulla vektor, melyre Av = λv. A v vektort ekkor a λ-hoz tartozó (egyik) sajátvektornak mondjuk. Ezzel analóg módon értelmezhető egy mátrix baloldali sajátértéke és sajátvektora is, melyek a PageRang probléma tárgyalása során gyakran előkerülnek majd. Egy A mátrix sajátértékeiből álló halmazt a mátrix spektrumának hívunk, és σ(a)- val jelölünk. A max { λ : λ σ(a)} mennyiséget a mátrix spektrálsugarának nevezzük, és ρ(a)-val jelöljük. Sztochasztikus mátrixok spektrálsugarára fennáll az alábbi egyenlőség, melyet a későbbiekben felhasználunk. 3.1.3. Állítás. Ha A sztochasztikus mátrix, akkor spektrálsugara ρ(a) = 1. Bizonyítás. A sztochasztikus mátrix definíciója szerint A minden sorösszege 1, tehát λ 1 = = 1 valóban sajátértéke a mátrixnak. Annak igazolásához, hogy ennél nagyobb sajátértéke nincs, tegyük fel, hogy λ m A legnagyobb abszolútértékű sajátértéke, vagyis ρ(a) = λ m. Legyen x m a hozzá tartozó sajátvektor, valamint v az m mátrixnormával kompatibilis vektornorma. Ekkor ρ(a) x m v = λ m x m v = λ m x m v = Ax m v A m x m v, 20
melyből ρ(a) A m következik tetszőleges mátrixnormára. Legyen m =, ekkor ugyanis A = max i mivel A sztochasztikus. Ezzel az állítást igazoltuk. a ij = 1, A 3.2.1. tétel bizonyításánál felhasználjuk a következő állítást. 3.1.4. Állítás. (Parseval-egyenlőség) Ha v 1, v 2,..., v n a C n tér egy 2-es normában ortonormált bázisa, akkor tetszőleges x = α 1 v 1 + α 2 v 2 + + α n v n esetén j x 2 2 = n α i 2. i=1 Bizonyítás. Írjuk fel az x vektor transzponált konjugáltjának önmagával vett skaláris szorzatát, amely épp x euklideszi normájának négyzete. A v i vektorok páronkénti merőlegességéből és normáltságából következően ( n ) ( n ) n x 2 2 = x, x = xh x = α i v H i α i v i = α i 2, i=1 i=1 i=1 mely igazolja az állítást. 3.1.3. Hibák és kondíciószámok Egy fizikai vagy mérnöki probléma megoldásán gyakran a jelenség alapján felállított matematikai modell számítógépes eljárással kapott megoldását értjük. Ebben az esetben a felállított modellbe (számítási eljárásba) adatokat táplálunk, műveleteket végzünk velük, majd megkapunk egy végeredményt. Azoban a módszer jellegéből adódóan ez általában nem az elméletben kinyerhető, tökéletesen pontos x érték, hanem annak egy x közelítése lesz. A két érték abszolút eltérését, vagyis az x x mennyiséget az x közelítés abszolút x x hibájának, az mennyiséget pedig relatív hibájának nevezzük. Ezeknek egy-egy felső x korlátját a megfelelő hibakorlátnak hívjuk. Az előbb leírt folyamat esetén többféle hibalehetőség adott. Ha már a bemenő adatokat is pontatlanul tudjuk csak mérni, akkor hozott hibáról beszélünk. A bemenő adatokat a számítógép általában lebegőpontos számként ábrázolja, ezzel is elkövetve valamekkora kerekítési hibát, e kettő összessége a kiindulási hiba. Az alkalmazott számítási módszerből adódó hibát képlethibának nevezzük, az eddigi hibákat összességében pedig végső hibának. Fontos tisztában lennünk azzal, hogy a hibalehetőségek függvényében mekkora pontosságú eredményt várhatunk el egy számítástól. Hogy ezt valahogyan számszerűsíthessük, vegyük a számítás során előálló végső hiba és a számítás kezdetén meglévő abszolút kiindulási hiba hányadosának lehetséges legnagyobb értékét, melyet a számítás abszolút kondíciószámának nevezünk. 21
Gyakran előforduk, hogy az abszolút végső hiba az abszolút kiindulási hiba lineáris függvényével becsülhető, vagyis f(x) f( x) L x x, ahol x és x a pontos kiindulási adat és annak egy (hibával terhelt) közelítése, f(x) és f( x) a számítás során előálló pontos- és közelítő végeredmények, L pedig egy kiindulási adatoktól független konstans. Ekkor L egyben a számítás abszolút kondíciószáma is. A korábban említett fizikai vagy mérnöki problémák egy része lineáris egyenletrendszerrel modellezhető matematikailag. Nézzük meg egy példán keresztül, milyen hatása lehet a kiindulási hibáknak. 3.1.5. Példa. Vizsgáljuk az alábbi egyenletrendszereket. ( ) ( ) ( ) ( ) ( ) ( ) 7 430 x1 437 7 430 x1 437 = és = 2 123 125 2 122.9 125 x 2 A két egyenletrendszer csak az együtthatómátrix egyetlen elemében különbözik, mindösszesen 0.08%-ban. Azt feltételezhetnénk, hogy a két egyenletrendszer megoldásai is csak alig fognak különbözni, ám az első egyenletrendszer megoldása x = (1, 1) T, a másodiké viszont x ( 142.33, 3.33) T. Vizsgáljuk meg általánosabban, mi okozta a nagymértékű eltérést. Elsőként tegyük fel, hogy az Ax = b egyenletrendszer megoldását keressük, azonban a pontos b vektor nem áll rendelkezésünkre, csak egy b + δb közelítése. Ekkor nyilván az eredményvektornak is csak egy x + δx közelítését kaphatjuk a számítás eredményééül. Az egyenletrendszer alakja ekkor A(x + δx) = b + δb. A inverzével balról szorozva kapjuk, hogy x + δx) = A 1 (b + δb) x + δx = A 1 b + A 1 δb x + δx = x + A 1 δb δx = A 1 δb, x 2 amiből δx = A 1 δb A 1 δb következik valamilyen normában. Az abszolút kondíciószám definíciójából következően ennek a számítási eljárásnak az abszolút kondíciószáma A 1. Hasonlóan kaphatunk felső becslést a számítás relatív kondíciószámára is: A 1 δb δx x = x = A A 1 δb A x A A 1 δb b = A A 1 δb b. 22
3.1.6. Definíció. Legyen A reguláris mátrix. Ekkor a cond p (A) = A p A 1 p számot a mátrix kondíciószámának hívjuk. Egy feladat kondíciószáma szemléletesen azt adja meg, hogy ha a bemenő adatok 1%- os eltérése a végeredmény hány százalékos eltérését okozza. Látható, hogy a kondíciószám értéke függ a választott mátrixnormától, azonban értéke nem lehet 1-nél kisebb. Nagy kondíciószám esetén azonban már viszonylag kicsinek tűnő kiidnulási hiba is jelentős eltéréshez vezethet a végeredményben. Visszatérve a 3.1.5. példára, a második együtthatómátrix közel szinguláris, ebből következően kondíciószáma nagy ( 6 10 5 euklideszi normában), így érthető a két egyenletrendszer megoldásvektorainak jelentős eltérése. Most tegyül fel, hogy az egyenletrendszer együtthatómátrixának elemei terheltek viszonylag kicsi hibával. 3.1.7. Tétel. (Faragó Horváth, [1]) Legyen A = I + X alakú valós mátrix, ahol X = q < 1 valamilyen normában. Ekkor A reguláris és A 1 1 1 q. Bizonyítás. Legyen x egy tetszőleges, megfelelő méretű vektor. Ekkor Az egyenlőtlenségből következően Ax = (I + X) x Ax Xx = x Ax Xx = x Ax + Xx Ax Xx = x. Ax x Xx x X x = (1 X ) x = (1 q) x. Ebből látható, hogy x 0 választás esetén Ax 0, tehát A valóban reguláris. Emiatt invertálható, és inverzének valamely normája definíció alapján A 1 A 1 y = sup. y 0 y Legyen most éppen y = Ax, ekkor A 1 = sup x 0 x Ax x x (1 q) = 1 1 q. 3.1.8. Tétel. (Faragó Horváth, [1]) Legyen A reguláris, valós mátrix, és tegyük fel, hogy A 1 δa < 1 teljesül valamilyen normában. Ekkor az A + δa mátrix is reguláris, és (A + δa) 1 A 1 1 A 1 δa. A tétel bizonyításához először belátunk egy lemmát. 23
3.1.9. Lemma. Az A + δa mátrix inverze (A + δa) 1 = ( I + A 1 δa ) 1 A 1. Bizonyítás. A mátrixokra vonatkozó szorzási- és inverzképzési tulajdonságok alapján (A + δa) 1 = ( AA 1 A + AA 1 δa ) 1 = = ( A ( A 1 A + A 1 δa )) 1 = = ( A ( I + A 1 δa )) 1 = = ( I + A 1 δa ) 1 A 1. A 3.1.8. tétel bizonyítása. Mivel A 1 δa < 1 feltevés szerint teljesül, ezért a 3.1.7. tétel szerint az I + A 1 δa mátrix reguláris. Felhasználva a 3.1.9. lemmát adódik, hogy (A + δa) 1 ( = I + A 1 δa ) 1 A 1 ( I + A 1 δa ) 1 A 1. Végül szintén a 3.1.7. tétel alapján ( I + A 1 δa ) 1 1 1 A 1 δa, tehát valóban (A + δa) 1 A 1 1 A 1 δa. A fejezetben felhasznált legfontosabb fogalmak és állítások után rátérünk a dolgozat egyik tárgyára, a PageRang probléma kiszámításának tárgyalására. 3.2. A PageRang mint sajátérték-feladat A PageRang feladat előző fejezetben felírt mátrixos alakjában lényegében egy sajátértékprobléma: keressük a G mátrix 1 sajátértékhez tartozó π baloldali domináns sajátvektorát, melyben az elemek összege 1, vagyis π T = π T G, π T e = 1. (3.1) Brin és Page eredetileg egy iterációs folyamatként kezelte a problémát, a PageRangvektort jobbról szorozgatva egy mátrixszal, majd a kapott eredményt normalizálva végezte annak kiszámítását. Ez lényegében a hatványmódszer nevű eljárással egyezik meg, melyet történeti okokból, valamint a módszer egyszerűsége és eredményessége miatt tárgyalunk. 3.2.1. A hatványmódszer Tételezzük fel, hogy az A R n n mátrixnak van egy egyszeresen domináns sajátértéke, λ 1, vagyis a λ 1 > λ 2 λ 2 λ n egyenlőtlenség fennáll. Ebből következően λ 1 valós, máskülönben λ 1 komplex konjugáltja is sajátérték lenne, ami ellentmondana a feltételezésnek, mivel abszolútértékük megegyezik. 24
Tegyük fel, hogy A diagonalizálható. Ekkor létezik n független sajátvektora, v 1, v 2,..., v n, melyek az R n tér egy bázisát alkotják. Alkalmas α 1,..., α n skalárok segítségével egy y (0) vektor kifejezhető ezek lineáris kombinációjaként, vagyis y (0) = α 1 v 1 + α 2 v 2 + + α n v n. Az egyenlet mindkét oldalát balról szorozva az A mátrix k-adik hatványával kapjuk, hogy A k y (0) = A k (α 1 v 1 + α 2 v 2 + + α n v n ) = = α 1 A k v 1 + α 2 A k v 2 + + α n A k v n = = α 1 λ k 1v 1 + α 2 λ k 2v 2 + + α n λ k nv n = ( ( ) k ( ) ) k = λ k λ2 λn 1 α 1 v 1 + α 2 v 2 + + α n v n. λ 1 λ 1 (3.2) Feltételezésünk szerint λ 1 domináns, ami miatt a zárójelben lévő tagok az első kivételével nullához tartanak, amint k. Ezt úgy értelmezhetjük, hogy k növelésével az A k y (0) vektor egyre inkább v 1 irányába fog mutatni. λ 1 -től függően előfordulhat, hogy a keletkező vektor hossza nullához vagy végtelenhez tart, ezért célszerű minden lépésnél normálni. Hatványmódszer alatt az alábbi iteráció eredményeként előálló vektorsorozatot értjük. Kiindulásként legyen y (0) olyan vektor, mely nem merőleges a fenti v 1 sajátvektorra, továbbá y (0) 2 = 1. A k-adik iterációs lépésben (k = 1,2,... ) legyenek x (k) = Ay (k 1), y (k) = x (k) / x (k) 2, (3.3) λ (k) = y (k)t Ay (k). Az így előálló y (k) vektor a domináns sajátvektorhoz (vagy annak 1-szereséhez), λ (k) pedig a hozzá tartozó sajátértékhez közelít, melyet a következő tétel garantál. 3.2.1. Tétel. (Faragó Horváth, [1]) Legyen az A diagonalizálható mátrix egyszeresen domináns sajátértéke λ 1, a hozzá tartozó sajátvektor pedig v 1. Ekkor a (3.3) iteráció által előállított sorozatokra az alábbiak teljesülnek. (A) y (k) = Ak y (0) A k y (0), 2 (B) lim k λ(k) = λ 1, (C) létezik olyan (γ k ) valós sorozat, hogy γ k = 1 (k = 1,2,... ) és lim k γ ky (k) = v 1. Bizonyítás. A tétel (A) állítása teljes indukcióval igazolható. Ellenőrizzük először k = 1-re. y (1) = x(1) x (1) 2 = Ay(1 1) Ay (1 1) = A1 y (0) 2 A 1 y (0) 2 25
Tegyük fel, hogy az állítás igaz valamilyen k 1-re. Ekkor y (k) = x(k) x (k) 2 = Ay(k 1) Ay (k 1) 2 = tehát az állítás teljesül k-ra is. A Ak 1 y (0) A k 1 y (0) 2 A Ak 1 y (0) A k 1 y (0) 2 = 2 A k y (0) A k 1 y (0) 2 = A k y (0) 2 A k 1 y (0) 2 A k y (0) A k y (0) 2, A (C) állítás igazolásához legyen most is y (0) = α 1 v 1 + α 2 v 2 + + α n v n és α 1 0. Ekkor a tétel (A) pontja és az A k y (0) -ra felírt korábbi összefüggés valamint a 3.1.4. állítás alapján y (k) = λ k 1 λ k 1 α 1 = Az egyenletet átrendezve a λ 1 k α 1 λ k 1 α y (k) = 1 összefüggést kapjuk. Vezessük be a ( ( ) k ( α 1 v 1 + α λ2 2 λ v2 1 + + α λn n ( v 1 + α 2 α 1 ( λ2 ) ) k λ1 vn n = i=1 λ i 2k α i 2 ) k ( ) ) k λ v2 1 + + αn λn α 1 λ1 vn λ 1 k α 1 1 + n i=2 λ i 2k. λ 1 α i 2 α 1 ( ) k v 1 + α 2 λ2 α 1 λ v2 1 + + αn 1 + n i=2 λ i 2k λ 1 α i 2 α 1 γ k = λ 1 k α 1 λ k 1 α 1 ( ) k λn α 1 λ1 vn jelölést. Ekkor γ k = 1, valamint a feltételek miatt a jobboldal számlálója v 1 -hez, nevezője pedig 1-hez tart k esetén, tehát a tétel (C) állítását igazoltuk. A (B) állítás igazolásához használjuk fel, hogy lim k γ k y (k) = v 1, tehát fennáll a lim (γ k y (k)) T ( A γ k y (k)) ( = lim k k γ2 k y (k)t Ay (k)) = v T 1 Av 1 összefüggés. Mivel γ k = 1, valamint a módszer alapján λ (k) = y (k)t Ay (k), ezért ( lim k γ2 k y (k)t Ay (k)) = lim k λ(k) = v T 1 Av 1 = λ 1, amivel igazoltuk az állítást. 3.2.2. A hatványmódszer alkalmazhatósága a G mátrixra Több oldalról is érdemes megvizsgálnunk a 3.2.1. tételt, amely a hatványmódszer konvergenciáját biztosítja. A tételben feltettük, hogy az A mátrix rendelkezik egy egyszeresen domináns sajátértékkel, valamint diagonalizálható. Ez azonban nem teljesül tetszőleges mátrixra, így előfordulhatna, hogy a PageRang problémára sem alkalmazható. 26
3.2.2. Definíció. Egy A mátrixot pozitívnak nevezünk, ha minden a ij elemére a ij > 0 teljesül. A (2.5) képlet alapján látható, hogy G pozitív mátrix, és ebben az esetben teljesül rá a következő tétel. 3.2.3. Tétel. (Perron tétele egyszeres és domináns sajátértékre) Ha A pozitív mátrix, melynek spektrálsugara λ 1 = ρ(a), akkor (A) λ 1 egyszeres sajátértéke A-nak, (B) λ 1 domináns, azaz minden további λ i sajátértékre λ i < λ 1. A tétel bizonyítását terjedelmi okok miatt nem tárgyaljuk, az megtalálható [11]-ben 12.2. tétel néven. A 3.1.3. állítás alapján G spektrálsugara 1, vagyis Perron tétele szerint ez egy egyszeres és domináns sajátérték. Azonban még mindig előfordulhat, hogy G nem diagonalizálható. Bizonyos esetekben azonban ez sem szükséges feltétel a hatványmódszer konvergenciájához. Vizsgáljuk ismét a (3.2) összefüggést. Ahogyan korábban láttuk, az A k y (0) vektor iránya k kövelésével a domináns sajátvektor irányához közelít. Tetszőlegesen nagy k-ra akkor létezik határértéke ennek a vektorsorozatnak, ha A k -nak létezik határértéke, vagyis a hatványmódszer alkalmazhatósága lényegében ennek a határértéknek a létezésétől függ. A következő állítás biztosítja, hogy a G mátrix esetén a hatványmódszer valóban alkalmazható, és a helyes megoldást szolgáltatja. 3.2.4. Állítás. Ha egy A mátrixra ρ(a) < 1, vagy ha ρ(a) = 1 és λ 1 egyszeresen domináns sajátérték, akkor létezik a lim k A k határérték. Az állítás levezetése megtalálható [6]-ban 7.10.33 jelöléssel, a dolgozatban nem tárgyaljuk. 3.2.3. A hatványmódszer konvergenciasebessége Nem elhanyagolható szempont az sem, hogy amennyiben a hatványmódszer konvergens, úgy hány iterációs lépés után várhatjuk, hogy egy előre megadott hibánál kisebb eltéréssel sikerült közelítenünk a valódi sajátvektort. A (3.2) összefüggés levezetéséből látható, hogy a módszer konvergenciája a λ 2 / λ 1 hányadostól, tehát lényegében a λ 2 sajátértéktől függ. Amennyiben ez az érték kicsi λ 1 = 1-hez viszonyítva, úgy gyakorlatban is használható módszert kapunk G domináns sajátvektorának kiszámítására. A következő tétel a λ 2 sajátértékre ad korlátot. 3.2.5. Tétel. (Kamvar Haveliwala, [2]) Legyen S egy n n-es sztochasztikus mátrix, továbbá c (0,1) valós szám. Legyen E az az n n-es egy rangú sztochasztikus mátrix, melyet az E = ev T egyenlőség definiál, ahol e csupa egyesekből álló n hosszú vektor, v pedig egy valószínűségeloszlást reprezentáló n hosszú vektor. 27
Definiáljuk a G mátrixot a következőképpen: G = (cs + (1 c)e) T. Ekkor G második sajátértéke λ 2 c. A tételt egymásra épülő lemmákkal bizonyítjuk. 3.2.6. Lemma. A G mátrix második sajátértéke λ 2 < 1. Bizonyítás. A lemma állítása közvetlenül adódik a 3.2.3. tétel (B) állításából. 3.2.7. Lemma. A G mátrix x 2 második sajátvektora merőleges az e vektorra, azaz e T x 2 = 0. Bizonyítás. A lemma állításának igazolásához előbb megmutatjuk, hogy ha x i a G mátrix λ i sajátértékhez tartozó sajátvektora, valamint y j a G T mátrix λ j sajátértékhez tartozó sajátvektora, akkor x T i y j = 0, ha λ i λ j. Induljunk ki a sajátvektorok definíciójából: Gx i = λ i x i G T y j = λ j y j. Vegyük az utóbbi egyenlőség mindkét oldalának transzponáltját, majd szorozzuk meg x i - vel jobbról: y T j Gx i = λ j y T j x i. (3.4) Most szorozzuk meg az első egyenlőség mindkét oldalát y T j -tal balról: y T j Gx i = λ i y T j x i. (3.5) Vonjuk ki (3.5)-ből (3.4)-et, majd vegyük az oldalak transzponáltjait, ekkor a 0 = (λ i λ j ) x T i y j összefüggést kapjuk. Mivel feltevésünk szerint λ i λ j, ez csak akkor teljesül, ha x T i y j = 0. A 3.2.6. lemma alapján λ 2 < λ 1, tehát az előzőek szerint G második sajátvektora, x 2 merőleges G T első sajátvektorára. G T definíciójából következően egy sztochasztikus mátrix, vagyis domináns sajátvektora az e vektor, ezért x T 2 e = e T x 2 = 0, ami bizonyítja a lemma állítását. 3.2.8. Lemma. E T x 2 = 0. Bizonyítás. Definíció szerint E = ev T, tehát E T a 3.2.7. lemma alapján valóban E T x 2 = 0. = ve T. Ekkor E T x 2 = ve T x 2, vagyis 3.2.9. Lemma. A G mátrix x 2 második sajátvektora az S T mátrixnak egy γ i = λ 2 /c sajátértékhez tartozó y i sajátvektora. 28
Bizonyítás. A sajátvektor definíciója és a G mátrix megadása alapján A 3.2.8. lemmát felhasználva kapjuk, hogy Gx 2 = λ 2 x 2 (cs + (1 c)e) T x 2 = λ 2 x 2 cs T x 2 + (1 c)e T x 2 = λ 2 x 2. cs T x 2 = λ 2 x 2. Mivel c 0, ezért eloszthatjuk vele az egyenlőség mindkét oldalát: S T x 2 = λ 2 c x 2. Vezessük be az x 2 = y i és γ i = λ 2 /c jelöléseket, melyekkel S T y i = γ i y i. Tehát az y i = x 2 vektor valóban az S T mátrix egy sajátvektora, mégpedig γ i = λ 2 /c sajátértékkel. Ebből következően 3.2.10. Lemma. λ 2 c. λ 2 = cγ i. Bizonyítás. A 3.2.9. lemma szerint λ 2 = cγ i. Mivel S sztochasztikus mátrix, és spektrálsugara megegyezik S T spektrálsugarával, ezért a 3.1.3. állítás szerint γ i 1, vagyis λ 2 c. Ezzel egyben a 3.2.5. tételt is bebizonyítottuk. Bizonyítás nélkül említem Kamvar és Haveliwala [2] eredményét, mely szerint ha a webgráf alapján létrehozott S átmenetvalószínűség-mátrixú Markov-láncnak legalább két irreducibilis osztálya van, akkor a λ 2 = c egyenlőség teljesül. Tapasztalatok alapján a web szerkezete valóban ilyen, amiből azt a következtetést vonhatjuk le, hogy a G mátrixra eredményesen alkalmazható a hatványmódszer, az elfogadottnak vélt c = 0.85 érték mellett ([4] alapján). 3.2.4. A hatványmódszer gyakorlati megvalósítása Ahogyan a (3.3) összefüggésekben láttuk, a hatványmódszer igen egyszerű lépésekből áll, számítógépes megvalósítása is nagyon egyszerű. Ennek ellenére mégis hatékony tud lenni, ha alaposabban szemügyre vesszük. Kiszámításához egy vektort szorzunk minden lépésben egy mátrixszal, ami n n méretű mátrix és a hozzá illeszkedő vektor esetén n 2 szorzást jelent, mivel G sűrű mátrix. Némi átalakítással azonban sok szorzást megtakaríthatunk. 29