Google PageRank: Relevance webov´ ych str´ anek a probl´ em vlastn´ıch ˇ c´ısel
Bakal´ aˇrsk´ a pr´ ace
Studijn´ı program: Studijn´ı obory:
B1101 – Matematika 7504R015 – Matematika se zamˇeˇren´ım na vzdˇel´av´an´ı 7507R036 – Anglick´y jazyk se zamˇeˇren´ım na vzdˇel´av´an´ı
Autor pr´ace: Vedouc´ı pr´ace:
Mark´ eta Hejlov´ a Martin Pleˇsinger
Liberec 2015
Google’s PageRank: Ranking of web pages and the eigenvalue problem
Bachelor thesis
Study programme: Study branches:
B1101 – Mathematics 7504R015 – Mathematics for Education 7507R036 – English for Education
Author: Supervisor:
Mark´ eta Hejlov´ a Martin Pleˇsinger
Liberec 2015
Tento list nahrad’te origin´alem zad´an´ı.
Prohl´ aˇsen´ı Byla jsem sezn´amena s t´ım, ˇze na mou bakal´aˇrskou pr´aci se plnˇe vztahuje z´akon ˇc. 121/2000 Sb., o pr´avu autorsk´em, zejm´ena § 60 – ˇskoln´ı d´ılo. Beru na vˇedom´ı, ˇze Technick´a univerzita v Liberci (TUL) nezasahuje do m´ ych autorsk´ ych pr´av uˇzit´ım m´e bakal´aˇrsk´e pr´ace pro vnitˇrn´ı potˇrebu TUL. Uˇziji-li bakal´aˇrskou pr´aci nebo poskytnu-li licenci k jej´ımu vyuˇzit´ı, jsem si vˇedoma povinnosti informovat o t´eto skuteˇcnosti TUL; v tomto pˇr´ıpadˇe m´a TUL pr´avo ode mne poˇzadovat u ´hradu n´aklad˚ u, kter´e vynaloˇzila na vytvoˇren´ı d´ıla, aˇz do jejich skuteˇcn´e v´ yˇse. Bakal´aˇrskou pr´aci jsem vypracovala samostatnˇe s pouˇzit´ım uveden´e literatury a na z´akladˇe konzultac´ı s vedouc´ım m´e bakal´aˇrsk´e pr´ace a konzultantem. Souˇcasnˇe ˇcestnˇe prohlaˇsuji, ˇze tiˇstˇen´a verze pr´ace se shoduje s elektronickou verz´ı, vloˇzenou do IS STAG.
Datum:
Podpis:
Anotace Bakal´aˇrsk´a pr´ace se zamˇeˇruje na spektr´aln´ı vlastnosti nˇekter´ ych speci´aln´ıch matic a jejich souvislosti s Markovov´ ymi ˇretˇezci a teori´ı orientovan´ ych graf˚ u. Jedn´a se zejm´ena o nez´aporn´e, kladn´e, (sub)stochastick´e, (ne)rozloˇziteln´e a (im)primitivn´ı matice. V´ yklad je v pr˚ ubˇehu cel´eho textu doprov´azen praktick´ ym pˇr´ıkladem, ˇc´ımˇz je pr´ace motivov´ana. Tento pˇr´ıklad se t´ yk´a nalezen´ı tzv. PageRank˚ u jednotliv´ ych webov´ ych str´anek na internetu. PageRank lze reprezentovat jako m´ıru d˚ uleˇzitosti webov´e str´anky. Koncept PageRanku vyuˇz´ıv´a napˇr´ıklad internetov´ y vyhled´avaˇc Google. Pr´ace se zab´ yv´a zp˚ usobem, jak lze PageRank definovat a odhaluje nˇekter´e obt´ıˇznosti, kter´e se objevuj´ı v samotn´e definici a pˇri v´ ypoˇctu PageRank˚ u. Tyto obt´ıˇze lze ovˇsem snadno obej´ıt s vyuˇzit´ım vlastnost´ı pˇr´ısluˇsn´ ych matic.
Kl´ıˇ cov´ a slova: nez´aporn´e matice; kladn´e matice; (sub)stochastick´e matice; (ne)rozloˇziteln´e matice; (im)primitivn´ı matice; PageRank vektor; googlovsk´a matice; Markovovy ˇretˇezce; orientovan´e grafy; mocninn´a metoda; Perronovo vlastn´ı ˇc´ıslo; Perron˚ uv vlastn´ı vektor
5
Abstract The bachelor thesis is focused on the spectral properties of some particular matrices and their connections to Markov chains and the theory of digraphs. In particular we concentrate on nonnegative, positive, (sub)stochastic, (ir)reducible, and (im)primitive matrices. The theory is continuously demonstrated on a practical example, which works also as a motivation. This example is to determine so-called PageRanks of individual internet webpages. This PageRank can be interpreted as a measure of imparotance of the given webpage. The PageRank concept is employed for example by Google web search engine. This thesis analyzes the PageRank definition and reveals some difficulties that appear in the definition as well as in the computation of the PageRank. Hovewer, these difficulties can be easily avoided by using properties of the abovementioned matrices.
Key words: nonnegative matrices; positive matrices; (sub)stochastic matrices; (ir)reducible matrices; (im)primitive matrices; PageRank vector; Google matrix; Markov chain; digraphs; power method; Perron eigenvalue; Perron eigenvector
6
Podˇ ekov´ an´ı R´ada bych podˇekovala sv´emu vedouc´ımu bakal´aˇrsk´e pr´ace Martinu Pleˇsingerovi za jeho trpˇelivou pomoc, odborn´e veden´ı a ochotu pˇri zpracov´an´ı t´eto pr´ace.
7
Obsah
Anotace
5
Abstract
6
Seznam obr´ azk˚ u
10
Seznam tabulek
11
Pouˇ zit´ e znaˇ cen´ı
12
´ Uvod
14
1 Z´ akladn´ı pojmy 1.1 Vlastn´ı ˇc´ısla a vlastn´ı vektory 1.2 Normy vektor˚ u a matic . . . . 1.3 Z´akladn´ı pojmy teorie graf˚ u . 1.4 Co je to PageRank? . . . . . .
16 16 18 20 21
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
I Existence PageRank vektoru
24
2 Nez´ aporn´ e a stochastick´ e matice 2.1 Aritmetika nez´aporn´ ych a kladn´ ych matic . . . . . . . . . . . . . . . 2.2 Stochastick´e matice: spektr´aln´ı polomˇer . . . . . . . . . . . . . . . . . 2.3 Stochastick´e matice: (lev´ y) Perron˚ uv vlastn´ı vektor . . . . . . . . . . 2.4 Kladn´e matice: spektr´aln´ı polomˇer a (prav´ y) Perron˚ uv vlastn´ı vektor
25 25 29 30 31
3 Nerozloˇ zitelnost matic 3.1 Stochastick´e matice: jednoznaˇcnost (lev´eho) Perronova vlastn´ıho vektoru . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 (Ne)rozloˇziteln´e matice . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 Kladn´e matice: jednoznaˇcnost (prav´eho) Perronova vlastn´ıho vektoru 3.4 Nez´aporn´e nerozloˇziteln´e matice . . . . . . . . . . . . . . . . . . . . .
34 34 35 39 39
4 Matice hyperlink˚ u obecnˇ e nen´ı stochastick´ a ani nerozloˇ ziteln´ a. Co s t´ım? 42 4.1 Matice hyperlink˚ u je obecnˇe substochastick´a. . . . . . . . . . . . . . . 42
8
4.2
Stochastick´a matice hyperlink˚ u je obecnˇe rozloˇziteln´a. . . . . . . . . . 43
II V´ ypoˇ cet PageRank vektoru
46
5 Mocninn´ a metoda 5.1 Diagonalizovateln´e matice . . . . . . . . . . . . . . . . . . . . . . . . 5.2 Mocninn´a metoda pro diagonalizovateln´e matice . . . . . . . . . . . . 5.3 Mocninn´a metoda pro obecn´e ˇctvercov´e matice . . . . . . . . . . . . .
47 47 48 50
6 V´ ypoˇ cet Perronova vlastn´ıho vektoru 6.1 (Im)primitivn´ı matice . . . . . . . . . . . . . 6.2 Spektr´aln´ı vlastnosti (im)primitivn´ıch matic 6.3 Testov´an´ı (im)primitivity matice . . . . . . 6.4 Mocninn´a metoda pro googlovskou matici .
52 52 54 57 60
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
Z´ avˇ er
64
A PageRank vektor modelov´ eho internetu z obr´ azku 1.1
65
Reference
69
9
Seznam obr´ azk˚ u
1.1
Sch´ema jednoduch´eho internetu se ˇsesti str´ankami . . . . . . . . . . . 21
3.1 3.2
Sch´ema jednoduch´eho internetu se dvˇema nez´avisl´ ymi komponentami 36 Sch´ema jednoduch´eho internetu s rozloˇzitelnou matic´ı hyperlink˚ u . . 37
4.1
Sch´ema jednoduch´eho internetu se substochastickou matic´ı hyperlink˚ u 42
6.1
Sch´ema jednoduch´eho internetu se stochastickou nerozloˇzitelnou matic´ı, kter´a je periodick´a . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Sch´ema jednoduch´eho internetu se stochastickou nerozloˇzitelnou matic´ı, kter´a je periodick´a, po permutaci vrchol˚ u (pˇreˇc´ıslov´an´ı str´anek). 54 Pˇrehled vztah˚ u mezi jednotliv´ ymi druhy ˇctvercov´ ych matic . . . . . . 62
6.2 6.3
A.1 Konvergence PageRank vektoru, vliv startovac´ıho vektoru . . . . . . 67 A.2 Konvergence PageRank vektoru, vliv parametru α . . . . . . . . . . . 68
10
Seznam tabulek
6.1
V grafu (internetu) na obr´azku 1.1 existuje cesta d´elky pˇet mezi libovoln´ ymi dvˇema vrcholy (str´ankami). . . . . . . . . . . . . . . . . . 61
11
Pouˇ zit´ e znaˇ cen´ı Matice a vektory Znaˇ cen´ı
V´ yznam
A ∈ Rm×n A ∈ Cm×n i A AT AH A−1 A−T A−H sp(A)
re´aln´a matice s rozmˇery m kr´at n a s prvky aj,k komplexn´ı matice s rozmˇery m kr´at n a s prvky aj,k imagin´arn´ı jednotka, i2 = −1 matice komplexnˇe sdruˇzen´a s prvky aj,k transponovan´a matice matice transponovan´a, komplexnˇe sdruˇzen´a AH = AT inverzn´ı matice ke ˇctvercov´e regul´arn´ı matici A matice (A−1 )T = (AT )−1 , kde A je ˇctvercov´e regul´arn´ı matice (A−1 )H = (AH )−1 , kde A je ˇctvercov´e regul´arn´ı spektrum ˇctvercov´e matice A (mnoˇzina vˇsech vlastn´ıch ˇc´ısel) %(A) spektr´aln´ı polomˇer ˇctvercov´e matice A K (A) spektr´aln´ı kruˇzice matice A K (A) = {%(A)(cos(ϕ) + i sin(ϕ)) : 0 ≤ ϕ ≤ 2π} ⊂ C det(A) determinant ˇctvercov´e matice A A > 0, A ≥ 0 re´aln´a matice A, jej´ıˇz prvky splˇ nuj´ı aj,k > 0, aj,k ≥ 0 tj. kladn´a, resp. nez´aporn´a matice A < 0, A ≤ 0 re´aln´a matice A, jej´ıˇz prvky splˇ nuj´ı aj,k < 0, aj,k ≤ 0 n×n I∈R jednotkov´a matice ej j-t´ y sloupec jednotkov´e matice I e vektor e = [1, . . . , 1]T n |x| ∈ R vektor absolutn´ıch hodnot x = [|ξ1 |, . . . , |ξn |]T |A| ∈ Rm×n matice absolutn´ıchP hodnot s prvky |aj,k | kxkp p-norma vektoru ( j |ξj |p )1/p , p = 1, 2, . . . kxk∞ maximov´a norma vektoru maxj |ξj | kAkp p-norma matice maxkxkpP =1 kAxkp kAk∞ ∞-norma matice maxj ( k |aj,k |)
12
Speci´ aln´ı nez´ aporn´ e matice a nez´ aporn´ e vektory Znaˇ cen´ı
V´ yznam
π ∈ Rn
lev´ y Perron˚ uv vlastn´ı vektor stochastick´e matice zvan´ y tak´e PageRank vektor, jedn´a-li se o (opravenou) matici hyperlink˚ u, resp. googlovskou matici dangling node vektor stochastick´a matice (substochastick´a) matice hyperlink˚ u (substochastick´a) oprava matice hyperlink˚ u (stochastick´a) opraven´a matice hyperlink˚ u (stochastick´a) teleportaˇcn´ı matice (stochastick´a) googlovsk´a matice, α ∈ (0, 1)
d ∈ {0, 1}n S ∈ Rn×n H ∈ Rn×n D = n1 deT ∈ Rn×n e =H +D H E = n1 eeT ∈ Rn×n e + (1 − α)E G = αH
Grafy a mnoˇ ziny Znaˇ cen´ı
V´ yznam
~ = (V , E ) orientovan´ G y graf s vrcholy vj ∈ V a hranami ej,k ∈ E ~ G(A) orientovan´ y graf matice A M ×W kart´ezsk´ y souˇcin mnoˇzin M a W |M | poˇcet prvk˚ u koneˇcn´e mnoˇziny M
Ostatn´ı Znaˇ cen´ı V´ yznam Pj |Pj | BPj r(Pj ) D
j-t´a webov´a str´anka poˇcet odkaz˚ u na str´ance Pj mnoˇzina vˇsech str´anek odkazuj´ıc´ıch na Pj PageRank str´anky Pj mnoˇzina vˇsech str´anek, kter´e neobsahuj´ı ˇz´adn´ y odkaz (dangling nodes)
13
´ Uvod Tato pr´ace pojedn´av´a o pojmu PageRank, kter´ y byl v roce 1996 navrˇzen´ y Larry Pagem a Sergeyem Brinem na universitˇe ve Stanfordu jako souˇc´ast v´ yzkumn´eho projektu. Pˇred t´ımto datem se touto problematikou zab´ yvalo v´ıce vˇedc˚ u, z nichˇz bychom zm´ınili Gabriela Pinskiho a Francise Narina, kteˇr´ı v roce 1976 poprv´e definovali probl´em propojen´ı jako probl´em vlastn´ıch ˇc´ısel. PageRank je hlavn´ım n´astrojem, kter´ y dost´av´a Google na tak dobrou pozici mezi internetov´ ymi vyhled´avaˇci a sama spoleˇcnost Google tvrd´ı, ˇze je jej´ım srdcem. M˚ uˇzeme nyn´ı ˇr´ıci, ˇze se jedn´a o algoritmus, kter´ y pom´ah´a v ˇrazen´ı vyhled´avan´ ych str´anek podle d˚ uleˇzitosti a kter´ y urˇcuje to, v jak´em poˇrad´ı se budou uˇzivatel˚ um zobrazovat pˇri zad´an´ı urˇcit´eho pojmu do vyhled´avaˇce. Pˇresnˇejˇs´ı definic´ı se budeme zab´ yvat pozdˇeji. Cel´ y text ˇcerp´a zejm´ena z knihy [17], kter´a objasˇ nuje problematiku PageRanku. Dalˇs´ı informace k tomuto t´ematu je moˇzn´e nal´ezt v [2] nebo v [24]. V matemick´ ych ˇca´stech pr´ace je ˇcerp´ano pˇredevˇs´ım z [12] a [14]. Text je rozdˇelen do dvou hlavn´ıch ˇca´st´ı, Existence PageRank vektoru a V´ ypoˇcet PageRank vektoru. Ovˇsem pˇred tˇemito ˇca´stmi se v kapitole 1 zab´ yv´ame nˇekter´ ymi z´akladn´ımi pojmy z teorie vlastn´ıch ˇc´ısel matic a z teorie graf˚ u, se kter´ ymi d´ale pracujeme, a proto se s nimi ˇcten´aˇr mus´ı sezn´amit hned na zaˇca´tku. Tak´e je zde uvedena definice PageRanku, ke kter´e se pak vrac´ıme v z´avˇeru pr´ace. Po prvn´ı kapitole n´asleduje prvn´ı ˇca´st, kter´a obsahuje 3 kapitoly a kter´a se zab´ yv´a existenc´ı PageRank vektoru. Kapitola 2 definuje nez´aporn´e a stochastick´e matice a jejich specifika. V kapitole 3 hovoˇr´ıme o nerozloˇzitelnosti matic a v kapitole 4 ˇreˇs´ıme probl´em, ˇze matice hyperlink˚ u, se kterou pracujeme v pr˚ ubˇehu cel´e pr´ace, obecnˇe nen´ı ani stochastick´a ani nerozloˇziteln´a. Tyto dvˇe vlastnosti, jak zjist´ıme, jsou pro existenci PageRanku nepostradateln´e a jsou spojen´e s problematikou uˇzivatele internetu, kter´ y neproch´az´ı internetem tak, jak by n´am vyhovovalo. Na konci prvn´ı ˇca´sti se ale dozv´ıd´ame, ˇze probl´emy se stochasticitou a (ne)rozloˇzitelnost´ı, lze vyˇreˇsit, a tud´ıˇz v´ıme, ˇze PageRank existuje. V druh´e ˇca´sti v´ ykladu se vˇenujeme jiˇz samotn´emu v´ ypoˇctu PageRank vektoru. Nejprve v kapitole 5 pˇredstavujeme mocninnou metodu, kter´a je n´astrojem tohoto v´ ypoˇctu, a pak se v kapitole 6 vrac´ıme k definici PageRanku a nach´az´ıme zp˚ usob, jak PageRank vektor neboli tak´e Perron˚ uv vlastn´ı vektor spoˇc´ıtat. V t´eto posledn´ı kapitole tak´e uv´ad´ıme (im)primitivn´ı matice, kter´e jsou pro pouˇzit´ı mocninn´e metody k v´ ypoˇctu hledan´eho vektoru nepostradateln´e. Zjist´ıme, ˇze pro imprimitivn´ı matice tato metoda nefunguje, a proto budeme muset ovˇeˇrit, ˇze googlovsk´a matice, pro kterou PageRank poˇc´ıt´ame, je primitivn´ı. V z´avˇeru budeme schopni ovˇeˇrit (im)primitivitu, upravit definici PageRank vektoru a nalezneme tak zp˚ usob, jak ho
14
spoˇc´ıtat. Konkr´etn´ı pˇr´ıklad v´ ypoˇctu PageRanku je moˇzn´e nal´ezt v pˇr´ıloze A. Cel´ y text m´a za u ´kol sezn´amit se s partiemi line´arn´ı algebry, teorie graf˚ u a Markovov´ ych ˇretˇezc˚ u a jejich vz´ajemn´ ym propojen´ım v rozsahu, kter´ y pˇrekraˇcuje bˇeˇznˇe vykl´adanou l´atku z´akladn´ıch kurz˚ u na pˇr´ıkladu praktick´e u ´lohy a t´ım odhalit zp˚ usob, kter´ ym nejen Google pracuje. PageRank je tak´e vyuˇz´ıv´an v bibliometrii, v soci´aln´ıch a informaˇcn´ıch s´ıt´ıch, v syst´emech silniˇcn´ıch sit´ı, biologii, chemii ˇci fyzice. Znalost PageRanku mimo jin´e m˚ uˇze pomoci majitel˚ um r˚ uzn´ ych webov´ ych str´anek vylepˇsovat svou pozici na internetu tak, aby se jejich str´anky ukazovaly co nejv´ yˇse.
15
1
Z´ akladn´ı pojmy
Hodnocen´ı d˚ uleˇzitosti nebo v´ yznamnosti webov´ ych str´anek je znaˇcnˇe obt´ıˇzn´e. Ukazuje se, ˇze vhodn´ ym pˇr´ıstupem pˇri takov´em hodnocen´ı je pod´ıvat se, kter´e (jin´e) str´anky na hodnocenou str´anku odkazuj´ı, viz [17], [2, kapitola 7.2]. Odkazuj´ı-li na ni str´anky d˚ uleˇzit´e, m˚ uˇzeme i str´anku hodnocenou povaˇzovat za jist´ ym z˚ usobem d˚ uleˇzitou. Tedy, struˇcnˇe ˇreˇceno, kaˇzd´a webov´a str´anka je d˚ uleˇzit´a, pokud je na ni odk´az´ano jinou d˚ uleˇzitou webovou str´ankou. To vˇsak vede k zacyklen´e“ definici, ” abychom byli schopni hodnotit jednu str´anku, mus´ıme b´ yt nejprve schopni zhodnotit str´anky jin´e. Takto definovan´a m´ıra d˚ uleˇzitosti str´anky se naz´ yv´a PageRank1 . Pˇresn´a definice je seps´ana v sekci 1.4. My nejprve zaˇcneme z´akladn´ımi pojmy z teorie vlastn´ıch ˇc´ısel matic, kter´e se n´am budou hodit.
1.1
Vlastn´ı ˇ c´ısla a vlastn´ı vektory
Kl´ıˇcov´ ym n´astrojem v t´eto pr´aci budou tzv. vlastn´ı ˇc´ısla a vlastn´ı vektory, coˇz zn´ame ze z´akladn´ıho kurzu line´arn´ı algebry. Pro u ´plnost pˇripomeneme defnici. Definice 1 (Vlastn´ı ˇc´ıslo, vlastn´ı vektor, spektrum, spektr´aln´ı polomˇer). Necht’ je obecn´a komplexn´ı ˇctvercov´a matice A ∈ Cn×n , λ ∈ C je skal´ar a x, y ∈ Cn , x 6= 0, y 6= 0, nenulov´e vektory tak, ˇze plat´ı Ax = xλ,
y H A = λy H ,
(1.1)
kde y H = y T . Pak skal´ar λ naz´yv´ame vlastn´ım (nebo tak´e charakteristick´ym) ˇc´ıslem matice A, vektor x vlastn´ım, resp. prav´ym vlastn´ım (nebo tak´e charakteristick´ym) a vektor y lev´ym vlastn´ım vektorem matice A. Uspoˇr´adan´e dvojici (λ, x) se ˇr´ık´a vlastn´ı p´ar matice A, obdobnˇe (λ, y) je vlastn´ı p´ar matice AH . Mnoˇzina vˇsech vlastn´ıch ˇc´ısel matice A se naz´yv´a spektrum matice A a znaˇc´ı se sp(A) = {λ ∈ C : ∃x ∈ Cn , x 6= 0, Ax = xλ}. Absolutn´ı hodnota vlastn´ıho ˇc´ısla nejv´ıce vzd´alen´eho od nuly se naz´yv´a spektr´aln´ı polomˇer matice A a znaˇc´ı se %(A) = max |λ|.
(1.2)
λ∈sp(A) 1
Poznamenejme, ˇze slovo PageRank je sloˇzeninou slov Page a rank, kde druh´e ze slov m˚ uˇzeme pˇreloˇzit pr´ avˇe napˇr. jako hodnost nebo hodnocen´ı, ve smyslu pozice v ˇzebˇr´ıˇcku. Slovo Page vˇsak neodkazuje ke slovu (webov´ a) str´ anka, z angl. (web) page, jak bychom se mohli mylnˇe domn´ıvat, ale k Larry Pageovi, autorovi t´eto koncepce hodnocen´ı str´anek, viz [17, str. 32, pozn´amka 1].
16
Je to tedy polomˇer nejmenˇs´ıho kruhu v komplexn´ı rovinˇe, kter´y m´a stˇred v poˇc´atku a obsahuje cel´e spektrum matice A. Hranici tohoto kruhu K (A) ≡ {%(A) exp(i ϕ) = %(A)(cos(ϕ) + i sin(ϕ)) : 0 ≤ ϕ < 2π} ⊂ C budeme naz´yvat spektr´aln´ı kruˇznice matice A. Pˇripomeˇ nme, ˇze vlastn´ı ˇc´ısla jsou koˇreny tzv. charakteristick´eho polynomu χ(λ) = 0, kde χ(λ) ≡ det(Iλ − A) a det(·) znaˇc´ı determinant matice, viz [11, kapitola 1]. Jedn´ım z u ´kol˚ u v t´eto pr´aci bude zjistit, zda je urˇcit´e vlastn´ı ˇc´ıslo jednoduch´e nebo v´ıcen´asobn´e. K tomu n´am poslouˇz´ı n´asleduj´ı tzv. Shurova pomocn´a vˇeta (viz [12, vˇeta 1.49]; nezamˇen ˇovat s tzv. Schurovou vˇetou, viz [11, kapitola 2]), na kterou se budeme pozdˇeji odkazovat. Vˇ eta 1 (Schurova pomocn´a vˇeta). Necht’ A ∈ Cn×n je ˇctvercov´a matice a λ je jej´ı vlastn´ı ˇc´ıslo. Pak λ je jednoduch´e vlastn´ı ˇc´ıslo tehdy a jen tehdy, kdyˇz existuje jedin´y line´arnˇe nez´avisl´y prav´y vlastn´ı x, (tedy tak´e) jedin´y line´arnˇe nez´avisl´y lev´y vlastn´ı vektor y a z´aroveˇ n plat´ı y H x 6= 0. D˚ ukaz. Uvaˇzujme matici A s vlastn´ım ˇc´ıslem λ. Uvaˇzujme d´ale matici B, kter´a je matici A podobn´a, tj. existuje regul´arn´ı matice W tak, ˇze plat´ı B = W AW −1 (poznamenejme, ˇze podobnost je ekvivalence na mnoˇzinˇe ˇctvercov´ ych matic dan´eho rozmˇeru; viz [11, kapitola 1.8]). Pokud existuje jedin´ y line´arnˇe nez´avisl´ y prav´ y vlastn´ı vektor x tak, ˇze Ax = xλ, a (tedy tak´e) jedin´ y line´arnˇe nez´avisl´ y lev´ y vlastn´ı vektor y tak, ˇze y H A = λy H , potom vektor W x je jedin´ y line´arnˇe nez´avisl´ y prav´ y vlastn´ı vektor matice B, tj. B(W x) = (W AW −1 )(W x) = W Ax = (W x)λ, a vektor W −H y ≡ (W −1 )H y je jedin´ y line´arnˇe nez´avisl´ y lev´ y vlastn´ı vektor matice B, tj. (W −H y)H B = (y H W −1 )(W AW −1 ) = y H AW −1 = λy H W −1 = λ(W −H y)H . Nav´ıc je pro vektory W x a W −H y splnˇeno (W −H y)H (W x) 6= 0 tehdy a jen tehdy, kdyˇz y H x 6= 0, pˇresnˇeji ˇreˇceno (W −H y)H (W x) = (y H W −1 )(W x) = y H (W −1 W )x = y H x. M´ısto s matic´ı A tedy m˚ uˇzeme v d˚ ukazu pracovat s matic´ı B, resp. s libovoln´ ym reprezentantem tˇr´ıdy matic podobn´ ych matici A. Nejv´ yhodnˇejˇs´ı bude pracovat s tzv. Jordanov´ym kanonick´ym tvarem matice A, viz [11, kapitola 1.8]. Nyn´ı pˇrejdeme k vlastn´ımu d˚ ukazu. Nejprve dok´aˇzeme implikaci: kdyˇz x, y je jedin´ y line´arnˇe nez´avisl´ y prav´ y, resp. lev´ y vlastn´ı vektor a y H x 6= 0, pak λ je jednoduch´e vlastn´ı ˇc´ıslo.
17
K libovoln´emu Jordanovu bloku Jm (λ) ∈ Cm×m existuje jedin´ y line´arnˇe nez´avisl´ y T m lev´ y vlastn´ı vektor, napˇr. [1, 0, . . . , 0, 0] ∈ C , a jedin´ y line´arnˇe nez´avisl´ y prav´ y T m vlastn´ı vektor, napˇr. [0, 0, . . . , 0, 1] ∈ C , a jejich skal´arn´ı souˇcin je nenulov´ y, kdyˇz m = 1, resp. je nulov´ y, kdyˇz m > 1. Nav´ıc prav´e (resp. lev´e) vlastn´ı vektory matice v Jordanovˇe kanonick´em tvaru odpov´ıdaj´ıc´ı r˚ uzn´ ym Jordanov´ ym blok˚ um (tj. vlastn´ı vektory Jordanov´ ych blok˚ u doplnˇen´e nulami) jsou vˇzdy line´arnˇe nez´avisl´e. Pokud x (resp. y) je jedin´ y line´arnˇe nez´avisl´ y vlastn´ı vektor matice A odpov´ıdaj´ıc´ı vlastn´ımu ˇc´ıslu λ, pak v Joradnovˇe kanonick´em tvaru matice A existuje pr´avˇe jeden Jordan˚ uv blok Jm (λ) odpov´ıdaj´ıc´ı ˇc´ıslu λ. Pokud nav´ıc y H x 6= 0, pak mus´ı b´ yt m = 1, a tedy vlastn´ı ˇc´ıslo λ m´a n´asobnost rovnou jedn´e. Nyn´ı dok´aˇzeme opaˇcnou implikaci. Necht’ λ je jednoduch´e vlastn´ı ˇc´ıslo matice A. Pak v Jordanovˇe kanonick´em tvaru matice A odpov´ıd´a vlastn´ımu ˇc´ıslu λ jedin´ y Jordan˚ uv blok, kter´ y je nav´ıc velikosti jedna. Pak tak´e existuje jedin´ y line´arnˇe nez´avisl´ y prav´ y (resp. lev´ y) vlastn´ı vektor odpov´ıdaj´ıc´ı tomuto vlastn´ımu ˇc´ıslu. Z Jordanova kanonick´eho tvaru je vidˇet, ˇze jejich skal´arn´ı souˇcin je nenulov´ y.
1.2
Normy vektor˚ u a matic
Pro v´ yklad bude potˇreba zav´est pojmy normy vektoru a normy matice. Zejm´ena proto, abychom mohli d´at do vz´ajemn´eho vztahu spektr´aln´ı polomˇer a normu ˇctvercov´e matice. ˇ ıslo Definice 2 (p-norma vektoru). Necht’ x = [ξ1 , ξ2 , . . . , ξn ]T ∈ Cn . C´ !1/p n X kxkp ≡ |ξi |p i=1
naz´yv´ame vektorov´a p-norma nebo p-norma vektoru, p = 1, 2, . . . Zejm´ena d˚ uleˇzit´ y bude jej´ı limitn´ı pˇr´ıpad. ˇ ıslo Definice 3 (maximov´a norma vektoru). Necht’ x = [ξ1 , ξ2 , . . . , ξn ]T ∈ Cn . C´ kxk∞ ≡ lim kxkp = max |ξj | p −→ ∞
j
naz´yv´ame maximovou normou vektoru. Kromˇe vektorov´ ych norem budeme potˇrebovat zav´est i normy matic. Normu matice lze zav´est mnoha zp˚ usoby. My budeme pracovat s maticovou normou generovanou normou vektorovou. Konkr´etnˇe p-normou vektoru. ˇ ıslo Definice 4 (p-norma matice (generovan´a norma)). Necht’ A ∈ Cm×n . C´
x kAxkp
= max kAxkp = max A kAkp ≡ max x6=0 x6=0 kxkp kxkp p kxkp =1
(1.3)
naz´yv´ame maticov´a p-norma, pˇr´ıpadnˇe norma generovan´a vektorovou normou k · kp , p = 1, 2, . . .
18
Opˇet pro n´as bude zaj´ımav´ y jej´ı limitn´ı pˇr´ıpad. ˇ ıslo Definice 5 (∞-norma matice (generovan´a norma)). Necht’ A ∈ Cm×n . C´ kAk∞ ≡ lim kAkp = max kAxk∞ p −→ ∞
kxk∞ =1
(1.4)
naz´yv´ame maticov´a ∞-norma, pˇr´ıpadnˇe norma generovan´a vektorovou normou k · k∞ . Takto zadefinovan´e maticov´e normy nelze obecnˇe snadno vypoˇc´ıtat, aˇz na nˇekter´e pˇr´ıpady. Jedn´a se o normy k · k1 , k · k2 a limitn´ı pˇr´ıpad k · k∞ . N´asleduj´ıc´ı lemma, n´am d´a n´avod, jak vypoˇc´ıtat ∞-normu matice, kterou budeme pozdˇeji potˇrebovat. Lemma 1. Necht’ A ∈ Cm×n . Pak plat´ı kAk∞ = max kAxk∞ = max kxk∞ =1
j
n X
|aj,k |.
(1.5)
k=1
D˚ ukaz je element´arn´ı, viz napˇr. [12, str. 167]. D´ale bude potˇrebn´e n´asleduj´ıc´ı lemma (viz [11, str. 21]). Lemma 2. Je-li A ˇctvercov´a matice a k · k libovoln´a maticov´a norma generovan´ a vektorovou normou k · k, pak plat´ı kAk ≥ %(A)
(1.6)
a tak´e kIk = 1. D˚ ukaz. Pro kaˇzd´e vlastn´ı ˇc´ıslo λ matice A existuje alespoˇ n jeden vlastn´ı vektor x takov´ y, ˇze Ax = xλ. Pro tento vlastn´ı p´ar plat´ı kAkkxk ≥ kAxk = kλxk = |λ|kxk. Nerovnost na zaˇc´atku vypl´ yv´a pˇr´ımo z definice generovan´e normy (1.3). Protoˇze x 6= 0, tj. kxk = 6 0, dost´av´ame ihned kAk ≥ |λ| pro libovoln´e vlastn´ı ˇc´ıslo λ. Z toho plyne kAk ≥ %(A). Poznamenejme, ˇze posledn´ı rovnost vypl´ yv´a z tzv. homogenity norem (tj. pro libovoln´ y skal´ar α a vektor v plat´ı kαvk = |α|kvk), kter´a je jednou z vlastnost´ı definuj´ıc´ıh pojem norma, viz [11, sekce 1.2, definice 1.10].
19
1.3
Z´ akladn´ı pojmy teorie graf˚ u
Pˇri v´ ykladu budeme potˇrebovat i nˇekter´e pojmy z teorie graf˚ u. Nˇekter´e z´akladn´ı zm´ın´ıme v n´asleduj´ıc´ı definici. Definice 6 (Orientovan´ y graf, vrchol, hrana, cesta, komponenta). Uspoˇr´adanou dvojici ~ = (V , E ), G
kde
V = {vj }
a
E = {ej,k ≡ (vj , vk )} ⊆ V × V ,
naz´yv´ame orientovan´ym grafem. Prvky vj mnoˇziny V naz´yv´ame vrcholy grafu a prvky ej,k ≡ (vj , vk ) mnoˇziny E (tj. uspoˇr´adan´e dvojice vrchol˚ u) naz´yv´ame hrany. ˇ R´ık´ame, ˇze ej,k je hrana vedouc´ı z vrcholu vj do vrcholu vk . Posloupnost hran ej,j1 , ej1 ,j2 , ej2 ,j3 , . . . , ej`−2 ,j`−1 , ej`−1 ,k ∈ E vedouc´ı z vrcholu vj postupnˇe do vj1 , do vj2 , atd. aˇz koneˇcnˇe do vj`−1 a vk se naz´yv´ a cesta (pˇr´ıpadnˇe orientovan´a cesta) z vrcholu vj do vrcholu vk d´elky `. ~ Speci´alnˇe, Libovolnou podmnoˇzinu mnoˇziny V naz´yv´ame komponenta grafu G. necht’ V = V1 ∪V2 a necht’ pro kaˇzdou hranu ej,k ≡ (vj , vk ) ∈ E plat´ı bud’ vj , vk ∈ V1 , ~ nebo vj , vk ∈ V2 . Pak mnoˇziny V1 a V2 naz´yv´ame nez´avisl´e komponenty grafu G. Komponenta W ⊆ V takov´a, ˇze mezi libovoln´ymi dvˇema vrcholy vj , vk ∈ W existuje cesta proch´azej´ıc´ı pouze pˇres vrcholy komponenty W , se naz´yv´a silnˇe souvisl´ a komponenta grafu. Pokud W = V , hovoˇr´ıme tak´e o silnˇe souvisl´em grafu. Pro upˇresnˇen´ı, jsou-li V1 a V2 nez´avisl´e komponenty, pak v mnoˇzinˇe E neexistuje ˇza´dn´a hrana takov´a, kter´a by vedla z nˇekter´eho vrcholu mnoˇziny V1 do kter´ehokoliv vrcholu mnoˇziny V2 , ani ˇz´adn´a hrana takov´a, kter´a by vedla z nˇekter´eho vrcholu mnoˇziny V2 do kter´ehokoliv vrcholu mnoˇziny V1 . Poznamenejme jeˇstˇe, ˇze mezi libovoln´ ymi vrcholy silnˇe souvisl´e (koneˇcn´e) komponenty W (budeme pracovat pouze s grafy, kter´e maj´ı koneˇcn´ y poˇcet vrchol˚ u a hran) vˇzdy existuje cesta d´elky `, kde ` < |W | (pˇriˇcemˇz |M | znaˇc´ı poˇcet prvk˚ u koneˇcn´e mnoˇziny M ). Pro bliˇzˇs´ı sezn´amen´ı se s pojmy teorie graf˚ u doporuˇcujeme napˇr. [16] nebo ˇcesk´e uˇcebnice [9], [10], [20], [21], [22], pˇr´ıpadnˇe rozs´ahlejˇs´ı text [19]. Speci´alnˇe budeme pracovat s tzv. grafem (ˇctvercov´e) matice, viz n´asleduj´ıc´ı definici. Definice 7 (Graf matice). Necht’ A ∈ Cn×n je obecn´a ˇctvercov´a matice. Orientovan´y ~ = (V , E ), kde graf G V = {1, 2, 3, . . . , n}
a
(j, k) ∈ E
⇐⇒ aj,k 6= 0,
~ nazveme grafem matice A. Budeme ho znaˇcit G(A). Graf ˇctvercov´e matice A obsahuje hranu z vrcholu j do vrcholu k tehdy a jen tehdy, kdyˇz je prvek aj,k nenulov´ y. Poznamenejme, ˇze graf matice lze zav´est i jin´ ym zp˚ usobem. Pro podrobnˇejˇs´ı v´ yklad odkazujeme na [12] nebo [8, kapitola II.], popˇr´ıpadˇe na obs´ahlejˇs´ı cizojazyˇcn´e uˇcebnice [6], [7].
20
1.4
Co je to PageRank?
V t´eto ˇc´asti se bl´ıˇze sezn´am´ıme s pojmem PageRank, coˇz je n´astroj, kter´ y je pouˇz´ıv´an jako m´ıra d˚ uleˇzitosti webov´ ych str´anek. Definice 8 (PageRank). PageRank webov´e str´anky Pk , znaˇcen´y r(Pk ) ∈ R, je re´aln´e ˇc´ıslo dan´e jako souˇcet PageRank˚ u vˇsech str´anek Pj , kter´e na str´anku Pk odkazuj´ı, dˇelen´ych celkov´ym poˇctem odkaz˚ u na str´ance Pj . Tedy r(Pk ) =
X r(Pj ) , |Pj | P ∈B j
(1.7)
Pk
kde BPk je mnoˇzina vˇsech str´anek odkazuj´ıc´ıch na str´anku Pk a |Pj | je poˇcet odkaz˚ u na str´ance Pj . Autorem tohoto pˇr´ıstupu k hodnocen´ı webov´ ych str´anek jsou Larry Page a Sergey Brin, viz [3], [4] a [5]. Z matematick´eho hlediska je takto zaveden´e mˇeˇr´ıtko d˚ uleˇzitosti str´anek, tj. PageRank, tzv. Markovov´ym ˇretˇezecem (procesem), viz napˇr. [1, kapitola 8], pˇr´ıpadnˇe [23, kapitoly 3–5] ˇci skriptum [18]. Teorie Markovov´ ych ˇretˇezc˚ u n´am tak´e d´av´a n´astroje, jak se s v´ yˇse uvedenou zacyklenou“ definic´ı vypoˇr´adat. ” '$
P1
'$
-
P2
&% &% I @ I @ @@ @ @@ @ '$ @@ @'$ R @
P3
P6
&% &% I @ @@ @@ '$ '$ @@ R @ P4 P5 &%
&%
ˇ adn´a str´anka neObr´azek 1.1: Sch´ema jednoduch´eho internetu se ˇsesti str´ankami. Z´ odkazuje sama na sebe, na kaˇzdou str´anku odkazuje alespoˇ n jedna jin´a str´anka a kaˇzd´a str´anka obsahuje alespoˇ n jeden odkaz. Nejjednoduˇsˇs´ı bude zaˇc´ıt s mal´ ym pracovn´ım pˇr´ıkladem. V tomto textu budeme vyuˇz´ıvat sluˇzeb mal´eho internetu obsahuj´ıc´ıho pouze ˇsest str´anek. Na obr´azku 1.1 je pˇr´ıklad takov´eho internetu. Vˇsimnˇeme si, ˇze v naˇsem modelov´em internetu: (i) ˇza´dn´a str´anka neodkazuje sama na sebe, (ii) na kaˇzdou webovou str´anku odkazuje alespoˇ n jedna jin´a str´anka a
21
(iii) kaˇzd´a str´anka obsahuje alespoˇ n jeden odkaz a dokonce (iv) z kaˇzd´e str´anky je moˇzn´e dostat se pomoc´ı odkaz˚ u na libovolnou jinou str´anku, coˇz uˇz vlastnosti (ii) a (iii) implikuje. ˇ adn´a z tˇechto situac´ı nen´ı v re´aln´em prostˇred´ı internetu vylouˇcena. Prvn´ı dvˇe Z´ nejsou z hlediska dalˇs´ıho v´ yvoje aˇz tak zaj´ımav´e. Tˇret´ı a ˇctvrtou situac´ı se budeme muset pozdˇeji zab´ yvat podrobnˇeji, viz kapitoly 4.1, resp. 4.2. Pokusme se nyn´ı pro str´anky tohoto internetu vypoˇc´ıtat jednotliv´e PageRanky pomoc´ı vztahu (1.7). Dostaneme tak sadu ˇsesti rovnic r(P1 ) r(P2 ) r(P3 ) r(P4 ) r(P5 ) r(P6 )
= = = = = =
1 1 1 2 1 2
r(P2 ) +
1 3
r(P3 )
r(P1 ) r(P1 )
+ 1 3 1 3 1 3
r(P3 ) r(P3 ) + r(P5 )
+ + 1 1
1 3 1 3
1 2
r(P6 )
r(P5 ) r(P5 )
r(P4 )
kterou m˚ uˇzeme snadno zapsat maticovˇe jako r(P1 ) 0 1/1 1/3 0 0 0 r(P2 ) 1/2 0 0 0 0 1/2 r(P3 ) 1/2 0 0 0 1/3 0 = r(P4 ) 0 0 1/3 0 1/3 0 r(P5 ) 0 0 1/3 1/1 0 1/2 r(P6 ) 0 0 0 0 1/3 0 {z }| | {z } | π T H
, +
1 2
r(P1 ) r(P2 ) r(P3 ) r(P4 ) r(P5 ) r(P6 ) {z π
,
r(P6 )
(1.8)
}
kde matici H naz´ yv´ame matic´ı weobov´ych odkaz˚ u tzv. hyperlink˚ u (anglicky hyperlink matrix) a vektor π naz´ yv´ame PageRank vektor. Vˇsimnˇeme si, ˇze internet na obr´azku ~ 1.1 je z´aroveˇ n grafem G(H) sv´e matice hyperlink˚ u H (aˇz na pojmenov´an´ı vrchol˚ u; ~ vrchol j v grafu G(H) odpov´ıd´a vrcholu Pj v obr´azku). Porovn´an´ım maticov´eho z´apisu (1.8), po z´amˇenˇe lev´e a prav´e strany, HT π = π s rovnic´ı (1.1) vid´ıme, ˇze PageRank vektor π mus´ı b´ yt bud’ nulov´ y, coˇz by v dan´em kontextu nebylo pˇr´ıliˇs pˇr´ınosn´e, nebo, m´a-li b´ yt nenulov´ y, mus´ı m´ıt matice hyperlink˚ u H (resp. jej´ı transpozice H T ) vlastn´ı ˇc´ıslo λ = 1. PageRank vektor π je pak vlastn´ım vektorem matice H T odpov´ıdaj´ıc´ı tomuto vlastn´ımu ˇc´ıslu. D˚ uleˇzitou ot´azkou tedy je, zda m´a matice hyperlink˚ u vlastn´ı ˇc´ıslo rovn´e jedn´e. V matici H si m˚ uˇzeme vˇsimnout n´asleduj´ıc´ı zvl´aˇstnosti. Souˇcet prvk˚ u v ˇr´adc´ıch je vˇzdy roven jedn´e (kaˇzd´a str´anka Pj odkazuj´ıc´ı na |Pj | str´anek pˇrisp´ıv´a k jejich hodnocen´ı stejnou mˇerou rovnou pr´avˇe ˇc´ıslu 1/|Pj |). Kdybychom m´ısto matice H T
22
pracovali pˇr´ımo s matic´ı H, tak urˇcitˇe plat´ı 0 1/2 1/2 0 0 0 1 1 1 1 1 0 0 0 0 0 1/3 0 0 1/3 1/3 0 1 = 1 . 0 0 0 0 1 0 1 1 0 0 1/3 1/3 0 1/3 1 1 0 1/2 0 0 1/2 0 1 1 {z } | {z } | {z } | e e H
(1.9)
Vid´ıme, ˇze vektor e = [1, . . . , 1]T je urˇcitˇe vlastn´ım vektorem matice H odpov´ıdaj´ıc´ım vlastn´ımu ˇc´ıslu λ = 1. Protoˇze det(Iλ − A) = det(Iλ − AT ), viz [11, kapitola 1], pak sp(H) = sp(H T ), a tedy matice H T mus´ı m´ıt tak´e alespoˇ n jedno vlastn´ı ˇc´ıslo rovn´e jedn´e, a tud´ıˇz existuje nenulov´ y PageRank vektor π. Poznamenejme, ˇze vlastn´ı vektory matic H a H T odpov´ıdaj´ıc´ı stejn´emu vlastn´ımu ˇc´ıslu jsou obecnˇe r˚ uzn´e, tj. e 6= π. To je zp˚ usobeno t´ım, ˇze matice H obecnˇe nen´ı T T norm´aln´ı, tedy HH 6= H H, viz [11, kapitola 2]. Pouze pro norm´aln´ı matice plat´ı, ˇze (vˇsechny) jejich lev´e a prav´e vastn´ı vektory jsou stejn´e; zde je e prav´ ym a π lev´ ym vlastn´ım vektorem matice H.
23
ˇ ast I C´ Existence PageRank vektoru
24
2
Nez´ aporn´ e a stochastick´ e matice
V t´eto kapitole se budeme sezn´am´ıme se stochastick´ymi maticemi, kter´e jsou specifick´e pr´avˇe t´ım, ˇze souˇcet prvk˚ u v ˇr´adc´ıch je vˇzdy roven jedn´e. Vych´azet budeme z knih [12] a [11]. Zejm´ena zde uk´aˇzeme, ˇze pro nˇekter´e matice A s nez´aporn´ ymi prvky plat´ı, ˇze spektr´aln´ı polomˇer %(A) je (kladn´e) vlastn´ı ˇc´ıslo naz´ yvan´e Perronovo vlastn´ı ˇc´ıslo a ˇze mu odpov´ıd´a (ne nutnˇe jedin´ y) vlastn´ı vektor s nez´aporn´ ymi prvky naz´ yvan´ y (lev´ y ˇci prav´ y) Perron˚ uv vlastn´ı vektor.
2.1
Aritmetika nez´ aporn´ ych a kladn´ ych matic
Stochastick´e matice jsou speci´aln´ım pˇr´ıpadem tzv. nez´aporn´ych matic. Nejprve se tedy sezn´am´ıme s nimi. Definice 9 (Nez´aporn´a matice, kladn´a matice). Necht’ A ∈ Rm×n je re´aln´a matice s prvky aj,k . Jestliˇze pro vˇsechny jej´ı prvky plat´ı aj,k ≥ 0, pak tuto matici A naz´yv´ame nez´apornou. Tuto vlastnost budeme zapisovat A ≥ 0. Jestliˇze nav´ıc plat´ı aj,k > 0, pak matici A naz´yv´ame kladnou. Tuto vlastnost budeme zapisovat A > 0. D´ale je-li B ∈ Rm×n (resp. B ∈ Cm×n ) obecn´a re´aln´a (resp. komplexn´ı) matice s prvky bj,k , pak z´apisem |B| ∈ Rm×n , |B| ≥ 0 budeme znaˇcit nez´apornou matici, jej´ıˇz prvky jsou |bj,k |, tj. absolutn´ı hodnoty prvk˚ u matice B. Analogicky z´apisem A ≤ 0 a A < 0, budeme znaˇcit, ˇze aj,k ≤ 0, resp. aj,k < 0, a budeme takovou matici A naz´ yvat nekladnou, resp. z´apornou. D´ale z´apisem A ≥ B, kde A a B jsou re´aln´e matice stejn´ ych rozmˇer˚ u, budeme znaˇcit, ˇze A − B ≥ 0, analogicky pro A > B, A ≤ B, A < B. Obdobnˇe zavedeme nerovnosti a znaˇcen´ı tak´e pro vektory. N´asleduj´ıc´ıch nˇekolik lemmat zformuluje nˇekter´e z´akladn´ı vlastnosti aritmetiky nez´aporn´ ych matic.
25
Lemma 3. Necht’ A ≥ 0 a B ≥ 0 jsou (re´aln´e) nez´aporn´e matice. Pokud jsou matice A a B stejn´ych rozmˇer˚ u, pak A+B ≥0 je nez´aporn´a. Pokud lze matice A a B n´asobit (v tomto poˇrad´ı), pak AB ≥ 0
(2.1)
je nez´aporn´a. Je-li nav´ıc A > 0 kladn´a matice a B 6= 0 nenulov´a matice, pak AB ≥ 0
AB 6= 0
a z´aroveˇ n
(2.2)
je nez´aporn´a nenulov´a matice. D˚ ukaz tohoto lemmatu je element´arn´ı a sest´av´a se pouze z roseps´an´ı maticov´ ych operac´ı po prvc´ıch. Dalˇs´ı lemma, kter´e pro n´as bude d˚ uleˇzitˇejˇs´ı, se zamˇeˇr´ı konkr´etnˇe na souˇciny nez´aporn´ ych matic s vektory. Lemma 4. Necht’ A ∈ Rm×n , A ≥ 0 je nez´aporn´a matice a x, y ∈ Rn vektory, pro kter´e plat´ı x ≥ y. Pak Ax ≥ Ay. (2.3) Je-li nav´ıc A > 0 kladn´a matice a vektory x 6= y jsou r˚ uzn´e, pak Ax > Ay.
(2.4)
D˚ ukaz. Nerovnost (2.3) dostaneme snadno z nerovnosti (2.1), pokud budeme v lemmatu 3 uvaˇzovat matici B ve tvaru B ≡ x − y ∈ Rn×1 . Druhou nerovnost (2.4) dok´aˇzeme n´aslednˇe. Mˇejme vektory x = [ξ1 , . . . , ξn ]T a y = [ν1 , . . . , νn ]T . Podle nerovnosti x ≥ y plat´ı ξk ≥ νk ,
k = 1, . . . , n.
Protoˇze x 6= y, pak existuje index ` takov´ y, ˇze ξ` > ν` , a bez u ´jmy na obecnosti m˚ uˇzeme pˇredpokl´adat, ˇze ξk = νk ,
k = 1, . . . , ` − 1, ` + 1, . . . , n.
Pro j-t´ y ˇra´dek souˇcin˚ u Ax a Ay zˇrejmˇe plat´ı ! n X eTj (Ax) = aj,k ξk + aj` ξ` ,
resp.
k=1 k6=`
eTj (Ay) =
n X k=1 k6=`
! aj,k νk
+ aj` ν` =
n X
! aj,k ξk
+ aj` ν` .
k=1 k6=`
26
Protoˇze A > 0, tj. aj,` > 0, a ξ` > ν` , pak eTj (Ax − Ay) = aj,` (ξ` − ν` ) > 0,
pro j = 1, . . . , n.
Tedy Ax − Ay > 0, z ˇcehoˇz ihned plyne Ax > Ay, coˇz jsme chtˇeli dok´azat. Vu ´vodn´ım pˇr´ıkladu (1.8)–(1.9) jsme pracovali s nez´apornou matic´ı H (resp. H T ), kter´a byla nav´ıc ˇctvercov´a. N´asleduj´ıc´ı vˇeta bude uˇziteˇcn´a pˇri zkoum´an´ı ˇctvercov´ ych nez´aporn´ ych matic, viz [11, cviˇcen´ı 2.15]. Vˇ eta 2. Necht’ A ∈ Rn×n , A ≥ 0 je nez´aporn´a ˇctvercov´a matice, x ∈ Rn , x ≥ 0 je nez´aporn´y vektor a ς re´aln´e ˇc´ıslo takov´e, ˇze Ax > x ς. Pak plat´ı %(A) > ς,
(2.5)
kde %(A) je spektr´aln´ı polomˇer matice A (viz definice 1). D˚ ukaz. Vzhledem tomu, ˇze A, x a %(A) jsou nez´aporn´a matice, vektor a ˇc´ıslo, viz (1.2), nerovnosti Ax > x ς a %(A) > ς jsou splnˇeny triv´alnˇe pro ς < 0. Necht’ je tedy ς ≥ 0 (a tud´ıˇz tak´e A 6= 0, x 6= 0). Z pˇredpokladu Ax > x ς vypl´ yv´a, ˇze existuje ε > 0 takov´e, ˇze plat´ı Ax ≥ x(ς + ε). Zadefinujme si nyn´ı matici B ≡ (ς + ε)−1 A. Tato matice je zˇrejmˇe nez´aporn´a, tj. B ≥ 0, B 6= 0, a nav´ıc plat´ı Bx ≥ x. Opakovan´ ym uˇzit´ım tvrzen´ı lemmatu 4, konkr´etnˇe vztahu (2.3), pak dostaneme B ` x ≥ B `−1 x ≥ . . . ≥ x,
pro ` = 1, 2, . . .
(2.6)
V´ıme, ˇze plat´ı lim B ` = 0
` −→ ∞
⇐⇒
%(B) < 1,
viz [11, cviˇcen´ı 1.23]. Ze vztahu (2.6) vˇsak vid´ıme, ˇze posloupnost matic B ` nem˚ uˇze konvergovat k nulov´e matici, a tud´ıˇz mus´ı m´ıt matice B spektr´aln´ı polomˇer vˇetˇs´ı nebo roven jedn´e, %(B) ≥ 1, Pro matici A = (ς + ε)B pak ihned dostaneme %(A) ≥ ς + ε > ς, ˇc´ımˇz je d˚ ukaz hotov.
27
Na z´avˇer jeˇstˇe struˇcnˇe pˇripomeneme vlastnosti aritmetiky komplexn´ıch ˇc´ısel, resp. jejich absolutn´ıch hodnot. Lemma 5. Necht’ A ∈ Cm×n a B ∈ Cn×d jsou dvˇe libovoln´e komplexn´ı matice, pak |A| |B| ≥ |AB|.
(2.7)
D˚ ukaz. Zˇrejmˇe pro a, b ∈ C plat´ı |a| |b| = |ab|, |a| + |b| ≥ |a + b|. Speci´alnˇe pro prvky aj,k a bk,` matice A, resp. B plat´ı n n n X X X |aj,k | |bk,` | = |aj,k bk,` | ≥ aj,k bk,` k=1
k=1
k=1
pro j = 1, . . . , m a ` = 1, . . . , d. Toto trivi´aln´ı pozorov´an´ı m´a n´asleduj´ıc´ı d˚ usledek, kter´ y bude pozdˇeji uˇziteˇcn´ y. Lemma 6. Necht’ A ∈ Rm×n je nez´aporn´a matice, A ≥ 0, a B ∈ Cn×d je libovoln´ a komplexn´ı matice takov´a, ˇze souˇcin AB ∈ Rm×d je re´aln´y. Pak A|B| ≥ AB.
(2.8)
Je-li nav´ıc matice A kladn´a, A > 0, pak A|B| = AB
⇐⇒
|B| = B,
(2.9)
tj. v nerovnosti (2.8) nastane rovnost jen tehdy, kdyˇz B je re´aln´a a nez´aporn´a. D˚ ukaz. Je-li A ≥ 0 nez´aporn´a a AB re´aln´a, pak |A| = A, resp. |AB| ≥ AB, a nerovnost (2.8) dost´av´ame rovnou z nerovnosti (2.7). V druh´e ˇca´sti lemmatu je implikace ⇐=“ zˇrejm´a. Kdyˇz |B| = B, pak A|B| = AB. Zb´ yv´a tedy dok´azat implikaci =⇒“ ” ” opaˇcn´ ym smˇerem. Pˇredpokl´adejme naopak, ˇze druh´a implikace neplat´ı, tj. ˇze A|B| = AB
a z´aroveˇ n
Pˇreuspoˇra´d´an´ım prvn´ı rovnosti dostaneme A |B| − B = AM = 0,
kde
|B| = 6 B.
M ≡ |B| − B.
Protoˇze |B| 6= B, pak matice M m´a alespoˇ n jeden nenulov´ y prvek. Protoˇze A > 0 je kladn´a, pak AM 6= 0, coˇz je spor. T´ım je dok´az´ana i druh´a implikace, a t´ım i cel´e lemma.
28
2.2
Stochastick´ e matice: spektr´ aln´ı polomˇ er
D˚ uleˇzitou podmnoˇzinou nez´aporn´ ych matic jsou tzv. stochastick´e matice. Tyto matice jsou ned´ılnou souˇca´st´ı v´ ypoˇctu PageRanku, a proto si v t´eto kapitole stochastick´e matice zadefinujeme a bl´ıˇze pop´ıˇseme jejich vlastnosti. ˇ Definice 10 (Stochastick´a matice). Ctvercov´ a nez´aporn´a matice S ∈ Rn×n s prvky sj,k , pro kterou plat´ı n X
sj,k = 1,
pro j = 1, . . . , n,
k=1
se naz´yv´a stochastick´a matice (viz napˇr. [12, str. 99]). Prvky stochastick´e matice m˚ uˇzeme povaˇzovat napˇr´ıklad za pravdˇepodobnosti. Vˇsimnˇeme si, ˇze v matici hyperlink˚ u H to m˚ uˇzeme interpretovat jako pravdˇepodobnosti pˇrechodu ze str´anky Pj na Pk . Jak definice tvrd´ı, stochastick´a matice S m´a souˇcet vˇsech prvk˚ u v ˇr´adku vˇzdy roven jedn´e. To lze vyj´adˇrit tak´e jako Se = e, kde T e = [1, . . . , 1] . Tedy e je (prav´ y) vlastn´ı vektor stochastick´e matice S a odpov´ıd´a vlastn´ımu ˇc´ıslu λ = 1, viz tak´e (1.9). Vid´ıme, ˇze u ´loha (1.8), kterou chceme ˇreˇsit je n´asleduj´ıc´ı: Hled´ame lev´ y vlastn´ı vektor π stochastick´e matice S odpov´ıdaj´ıc´ı vlastn´ımu ˇc´ıslu λ = 1. Tento vektor je (lev´ y) Perron˚ uv vlastn´ı vektor. To, co bychom nyn´ı r´adi uk´azali, je, zda lze Perron˚ uv vlastn´ı vektor volit kladn´ y (tj. abychom mohli str´anky pomoc´ı komponenty PageRank vektor rozumnˇe seˇradit) a zda je urˇcen jednoznaˇcnˇe. Nyn´ı uk´aˇzeme, ˇze pro libovolnou stochastickou matici S dokonce plat´ı %(S) = 1, tj. matice S nem´a ˇza´dn´e vlastn´ı ˇc´ıslo, kter´e by bylo v absolutn´ı hodnotˇe vˇetˇs´ı neˇz jedna. Vˇ eta 3. Necht’ S je ˇctvercov´a nez´aporn´a stochastick´a matice, sj,k ≥ 0, pro j = 1, . . . , n. Pak plat´ı %(S) = 1. D˚ ukaz. Pro e = [1, . . . , 1]T zˇrejmˇe plat´ı Pn a 1,k k=1 .. Se = = . Pn k=1 an,k
Pn
k=1
sj,k = 1
1 .. = e, . 1
tedy λ = 1 je vlastn´ım ˇc´ıslem stochastick´e matice, takˇze %(S) ≥ 1.
(2.10)
29
Z´aroveˇ n vid´ıme, ˇze kSk∞ = 1, viz (1.5). Pouˇzijeme-li tvrzen´ı lemmatu 2 na stochastickou matici S a na ∞-normu (1.4), dostaneme %(S) ≤ kSk∞ = 1. (2.11) Z nerovnost´ı (2.10) a (2.11) zˇrejmˇe vypl´ yv´a, ˇze %(S) = 1.
2.3
Stochastick´ e matice: (lev´ y) Perron˚ uv vlastn´ı vektor
Nyn´ı jiˇz v´ıme, ˇze %(S) = 1 pro kaˇzdou stochastickou matici, coˇz znamen´a, ˇze neexistuje ˇza´dn´e jin´e vlastn´ı ˇc´ıslo matice S, kter´e by bylo v absolutn´ı hodnotˇe vˇetˇs´ı neˇz jedna. Pojd’me se nyn´ı pod´ıvat na dalˇs´ı ˇca´st naˇs´ı u ´lohy. Hled´ame lev´ y vlastn´ı vektor π, kter´ y bychom r´adi volili kladn´ y. Tato podm´ınka je pro n´as d˚ uleˇzit´a, protoˇze n´am umoˇzn´ı rozumnˇe seˇradit webov´e str´anky. V t´eto kapitole se pˇresvˇedˇc´ıme, ˇze tento kladn´ y vektor exiistuje. Nejprve se ovˇsem pˇresvˇedˇc´ıme, ˇze lev´ y vlastn´ı vektor odpov´ıdaj´ıc´ı vlastn´ımu ˇc´ıslu λ = 1 je moˇzn´e volit nez´aporn´ y. Budeme vych´azet z [11, cviˇcen´ı 2.16]. P Vˇ eta 4. Necht’ S je ˇctvercov´a nez´aporn´a stochastick´a matice, sj,k ≥ 0, nk=1 sj,k = 1 pro j = 1, . . . , n. Necht’ vlastn´ımu ˇc´ıslu λ ≡ %(S) = 1 odpov´ıd´a lev´y vlastn´ı vektor π. Pak lze tento vektor π volit nez´aporn´y, tj. πT S = πT ,
kde
π ≥ 0.
D˚ ukaz. Mˇejme ˇctvercovou nez´apornou stochastickou matici S. Z vˇety 3 v´ıme, ˇze %(S) = 1. Oznaˇcme $j sloˇzky lev´eho vlastn´ıho vektoru π, tedy π = [$1 , . . . , $n ]T . Pokud $j ≥ 0, j = 1, . . . , n, pak π je pr´avˇe hledan´ y nez´aporn´ y vektor, pro kter´ y plat´ı πT S = πT . Je-li $j ≤ 0, j = 1, . . . , n pak (−π)T je hledan´ y nez´aporn´ y vektor, pro kter´ y plat´ı (−π)T S = (−π)T . Pˇredpokl´adejme nyn´ı, v rozporu s tvrzen´ım vˇety, ˇze prvky vektoru π maj´ı r˚ uzn´a znam´enka. Pokud existuje alespoˇ n jeden prvek s odliˇsn´ ym znam´enkem neˇz maj´ı ostatn´ı prvky, pak n n X X |$j |sj,k > $j sj,k = |$k |, pro k = 1, . . . , n. j=1
j=1
Z toho vypl´ yv´a, ˇze plat´ı |π|T S > |π|T ,
kde
h iT |π| ≡ |$1 |, . . . , |$n | .
30
Podle vˇety 2 pro nez´apornou matici A ≡ S T , nez´aporn´ y vektor x ≡ |π| a re´aln´e ˇc´ıslo T ς ≡ 1 takov´e, ˇze S |π| ≡ Ax > xλ ≡ |π|, plat´ı %(A) > ς. Takˇze v naˇsem pˇr´ıpadˇe mus´ı b´ yt %(S T ) ≡ %(S) > 1, coˇz je ve sporu s vlastnost´ı %(S) = 1, viz vˇetu 3. T´ım jsme dok´azali, ˇze lev´ y vlastn´ı vektor π m˚ uˇzeme volit nez´aporn´ y. Z kapitoly 2.2 v´ıme, ˇze spektr´aln´ı polomˇer ˇcvercov´e nez´aporn´e stochastick´e matice je roven jedn´e. Nav´ıc v´ıme, ˇze spektr´aln´ı polomˇer je pˇr´ımo vlastn´ım ˇc´ıslem, tj. λ = 1. Nyn´ı jsme zjistili, ˇze lev´ y vlastn´ı vektor odpov´ıdaj´ıc´ı tomuto vlastn´ımu ˇc´ısle lze volit nez´aporn´ y. To m´a n´asleduj´ıc´ı d˚ usledek pro naˇsi u ´lohu. PageRank vektor π splˇ nuj´ıc´ı π T H = π T , viz (1.7) a (1.8), kde H je matice hyperlink˚ u, existuje a jeho sloˇzky, tj. ranky (hodnocen´ı) jednotliv´ ych str´anek Pj , jsou nez´aporn´a ˇc´ısla. M˚ uˇzeme je tedy snadno seˇradit.
2.4
Kladn´ e matice: spektr´ aln´ı polomˇ er a (prav´ y) Perron˚ uv vlastn´ı vektor
Vˇetu 4 lze modifikovat pro libovolnou kladnou ˇctvercovou matici, tj. A > 0. Tato modifikace mˇen´ı pˇredpoklady vˇety. Na jedn´e stranˇe sv´e poˇzadavky zes´ıl´ıme t´ım, ˇze vyˇzadujeme nenulovost prvk˚ u, na druh´e stranˇe je ale oslab´ıme t´ım, ˇze nepoˇzadujeme stochasticitu matice. Tvrzen´ı modifikovan´e vˇety je tak´e nepatrnˇe silnˇejˇs´ı. Tato modifikace je zn´am´a jako Perronova vˇeta, pˇr´ıpadnˇe Perronovo lemma. Tato vˇeta se bude tak´e hodit v n´asleduj´ıc´ım textu. Budeme vych´azet z v´ ykladu v knize [12, str. 86–87]. Vˇ eta 5 (Perronova vˇeta (o spektr´aln´ım polomˇeru a kladn´em vlastn´ım vektoru kladn´ ych matic)). Necht’ A je ˇctvercov´a matice s kladn´ymi prvky, tj. aj,k > 0. Pak λ ≡ %(A) je kladn´e vlastn´ı ˇc´ıslo matice A a odpov´ıdaj´ıc´ı vlastn´ı vektor x lze volit kladn´y, tj. Ax = xλ, kde x > 0. D˚ ukaz. Mˇejme A > 0 a vlastn´ı ˇc´ıslo λ matice A, pro kter´e plat´ı %(A) = |λ|.
(2.12)
Mˇejme nenulov´ y vlastn´ı vektor x 6= 0 odpov´ıdaj´ıc´ı ˇc´ıslu λ, tj. Ax = xλ.
(2.13)
Poznamenejme, ˇze pro libovovoln´a komplexn´ı ˇc´ısla v a w a kladn´a ˇc´ısla α a β plat´ı α|v| + β|w| ≥ |αv + βw|,
(2.14)
31
pˇriˇcemˇz rovnost nastane pr´avˇe tehdy, kdyˇz existuje komplexn´ı jednotka η (|η| = 1, tj. η = exp(i ϕ) = cos(ϕ) + i sin(ϕ)) tak, ˇze vη, wη ∈ R a nav´ıc vη, wη ≥ 0. Jednoduch´ ym zobecnˇen´ım tohoto pozorov´an´ı dostaneme, ˇze pro komplexn´ı ˇc´ısla ξ1 , . . . , ξn a kladn´a ˇc´ısla α1 , . . . , αn plat´ı n n X X αj ξj ; (2.15) αj |ξj | ≥ j=1
j=1
viz tak´e (2.7). Rovnost pˇri tom nastane pouze tehdy, kdyˇz existuje komplexn´ı jednotka η takov´a, ˇze ξj η ∈ R a nav´ıc ξj η ≥ 0,
pro j = 1, . . . , n.
(2.16)
Pˇredpokl´adejme nyn´ı, ˇze pro vektor x = [ξ1 , . . . , ξk ]T , respektive pro jeho sloˇzky ξj , neexistuje takov´e η, aby vztah (2.16) platil. Pak z k-t´eho ˇra´dku rovnice (2.13) dostaneme uˇzit´ım vztahu (2.15) nerovnost n n X X ak,j ξj = |λ||ξk |, pro k = 1, . . . , n. ak,j |ξj | > j=1
j=1
Z toho vypl´ yv´a, ˇze plat´ı A|x| > |x||λ|,
kde
h iT |x| ≡ |ξ1 |, . . . , |ξn | .
Podle vˇety 2 pro nez´apornou matici A, nez´aporn´ y vektor |x| a re´aln´e ˇc´ıslo |λ| takov´e, ˇze A|x| > |x||λ|, plat´ı %(A) > |λ|. Tedy v naˇsem pˇr´ıpadˇe mus´ı b´ yt %(A) > |λ|, coˇz je ve sporu s vlastnost´ı z (2.12). T´ım jsme dok´azali, ˇze existuje takov´a komplexn´ı jednotka η, ˇze vztah (2.16) pro sloˇzky vektoru x plat´ı. Takˇze x e = xη ∈ R,
kde x e ≡ [ξe1 , . . . , ξen ],
tj. ξej = ξj η,
a plat´ı x e ≥ 0,
x e 6= 0.
Nav´ıc podle (2.13) plat´ı Ae x=x eλ,
(2.17)
tedy vlastn´ı vektor odpov´ıdaj´ıc´ı vlastn´ımu ˇc´ıslu λ lze volit nez´aporn´ y. Nyn´ı zb´ yv´a dok´azat, ˇze λ > 0, tj. spektr´aln´ı polomˇer %(A) = |λ| = λ je pˇr´ımo vlastn´ım ˇc´ıslem, a d´ale, ˇze x e > 0. Protoˇze A > 0, x e ≥ 0, x e 6= 0, pak podle lemmatu 4 plat´ı Ae x > A · 0, viz (2.4). e Protoˇze x e 6= 0, urˇcitˇe existuje index ` takov´ y, ˇze ξ` > 0. Z `-t´eho ˇr´adku rovnice (2.17), tj. ze vztahu eT` Ae x = λξe` , kde (eT` Ae x) > 0, pak plyne λ > 0. Tud´ıˇz %(A) = |λ| = λ,
32
ˇc´ımˇz jsme dok´azali, ˇze spektr´aln´ı polomˇer matice A s kladn´ ymi prvky je pˇr´ımo jej´ım vlastn´ım ˇc´ıslem. Koneˇcnˇe z k-t´eho ˇr´adku rovnice (2.17), tj. ze vztahu eTk Ae x = λξek , kde (eTk Ae x) > 0 a λ > 0, plyne ξek > 0, pro k = 1, . . . , n. (2.18) T´ım jsme dok´azali, ˇze vlastn´ı vektor matice A s kladn´ ymi prvky odpov´ıdaj´ıc´ı vlastn´ımu ˇc´ıslu %(A) vˇzdy m˚ uˇzeme volit kladn´ y.
33
3
Nerozloˇ zitelnost matic
V pˇredchoz´ı kapitole jsme uk´azali, ˇze spektr´aln´ı polomˇer stochastick´e (pˇr´ıpadnˇe kladn´e) matice je pˇr´ımo vlastn´ım ˇc´ıslem t´eto matice a uk´azali jsme, ˇze vlastn´ı vektor, kter´ y tomuto vlastn´ımu ˇc´ıslu odpov´ıd´a je nez´aporn´ y (pˇr´ıpadnˇe kladn´ y). Pˇrirozenˇe n´as m˚ uˇze d´ale zaj´ımat, zda je nez´aporn´ y (pˇr´ıpadnˇe kladn´ y) vlastn´ı vektor z vˇety 4 (resp. 5) urˇcen jednoznaˇcnˇe.
3.1
Stochastick´ e matice: jednoznaˇ cnost (lev´ eho) Perronova vlastn´ıho vektoru
Perron˚ uv vektor stochastick´e matice S, tj. lev´ y vlastn´ı vektor π, π ≥ 0 odpov´ıdaj´ıc´ı vlastn´ımu ˇc´ıslu λ = %(S) = 1 obecnˇe nen´ı obecnˇe urˇcen jednoznaˇcnˇe. Pokus´ıme se to ilustrovat na nˇekolika pˇr´ıkladech. Uvaˇzujme nejjednoduˇsˇs´ı ˇctvercovou nez´apornou stochastickou matici 1 0 ··· 0 0 1 ··· 0 n×n S ≡ I = .. .. ∈ R . . . . . . 0 0 ··· 1 Zˇrejmˇe %(S) = 1 a λ = 1 je n-n´asobn´e vlastn´ı ˇc´ıslo matice S. Pro jak´ykoliv nez´aporn´ y (pˇr´ıpadnˇe kladn´ y) vektor π, resp. x, plat´ı πT S = πT ,
resp. Sx = x.
´ Uloha tedy obecnˇe nen´ı jednoznaˇcn´a (a to ani v pˇr´ıpadˇe, ˇze budeme pracovat s normalizovan´ ym vektorem, tj. kdyˇz kπk = kxk = 1). Vezmˇeme si nyn´ı m´enˇe trivi´aln´ı pˇr´ıpad. Mˇejme ˇctvercovou nez´aporou stochastickou matici S v blokovˇe diagon´aln´ım tvaru se ˇctvercov´ ymi bloky S1 a S2 na diagon´ale, S1 0 S= . 0 S2 Zˇrejmˇe je matice S nez´aporn´a stochastick´a matice tehdy a jen tehdy kdyˇz matice S1 a S2 jsou nez´aporn´e stochastick´e matice. Oznaˇcme π1 a π2 lev´ ymi nez´aporn´ ymi vlastn´ımi vektory matic S1 a S2 odpov´ıdaj´ıc´ı vlastn´ımu ˇc´ıslu λ = %(S1 ) = %(S2 ) = 1, tj. π1T S1 = π1T , π1 ≥ 0, π1 6= 0, 34
π2T S2 = π2T ,
π2 ≥ 0, π2 6= 0.
Pak %(S) = 1 a λ = 1 je minim´alnˇe dvojn´asobn´e vlastn´ı ˇc´ıslo. Lev´ y vlastn´ı vektor matice S odpov´ıdaj´ıc´ı vlastn´ımu ˇc´ıslu λ = 1, tj. π T S = π T , lze volit napˇr´ıklad n´asleduj´ıc´ımi zp˚ usoby π1 0 π1 π1 α 1 π= , , , pˇr´ıpadnˇe obecnˇe π = , 0 π2 π2 π2 α 2 kde α1 , α2 ∈ R, α1 , α2 ≥ 0, α1 + α2 > 0. Ve vˇsech tˇechto pˇr´ıpadech π ≥ 0, π 6= 0. Je tedy zˇrejm´e, ˇze ani nyn´ı lev´ y vlastn´ı vektor π matice S nen´ı d´an jednoznaˇcnˇe. V´ yˇse zm´ınˇenou blokovou strukturu budeme ilustorvat na pˇr´ıkladu naˇseho modelov´eho internetu, viz obr´azek 1.1, resp. rovnici (1.8). Pˇr´ıklad internetu s takovou blokou strukturou z´ısk´ame vynech´an´ım nˇekolika odkaz˚ u (hran v grafu), viz obr´azek 3.1. Internetu z obr´azku 3.1 pak odpov´ıd´a rovnice 0 0 0 1/1 1/1 0 r(P1 ) r(P1 ) r(P2 ) 1/2 0 0 0 0 0 r(P2 ) r(P3 ) 1/2 0 0 0 0 r(P3 ) 0 = (3.1) r(P4 ) , r(P4 ) 0 0 0 0 1/2 0 r(P5 ) 0 0 0 1/1 0 1/1 r(P5 ) r(P6 ) r(P6 ) 0 1/2 0 0 0 0 | {z } | {z } | {z } π π HT vˇsimnˇeme si, ˇze tato matice H m´a pr´avˇe dvˇe vlastn´ı ˇc´ısla rovna jedn´e.
3.2
(Ne)rozloˇ ziteln´ e matice
Pˇri zjednoznaˇcnˇen´ı u ´lohy bude hr´at d˚ uleˇzitou roli tzv. nerozloˇzitelnost matic. Zaˇcneme proto definic´ı (ne)rozloˇziteln´ ych matic. Vych´azet budeme z knihy [12, kapitola 3, str. 71]. Definice 11 ((Ne)rozloˇziteln´a matice). Mˇejme ˇctvercovou matici A ∈ Rn×n . Pokud existuje permutace takov´a, ˇze matice ΠAΠT , kde Π je odpov´ıdaj´ıc´ı permutaˇcn´ı matice, je v blokovˇe (horn´ım) troj´ uheln´ıkov´em tvaru s alespoˇ n dvˇema ˇctvercov´ymi bloky na diagon´ale, tj. A1,1 A1,2 T ΠAΠ = , 0 A2,2 pak se matice A naz´yv´a rozloˇziteln´a. Matice, kter´a nen´ı rozloˇziteln´a, se naz´yv´a nerozloˇziteln´a. Neˇz budeme pokraˇcovat ve v´ ykladu, pokus´ıme se pojem rozloˇzitelnosti ilustrovat opˇet na pˇr´ıkladu naˇseho modelov´eho internetu. Pˇr´ıklad internetu s rozloˇzitelnou
35
matic´ı opˇet z´ısk´ame vynech´an´ım nˇekolika odkaz˚ u (hran v grafu), viz obr´azek 3.2. Internetu z obr´azku 3.2 pak odpov´ıd´a rovnice 0 0 0 1/1 1/2 0 r(P1 ) r(P1 ) r(P2 ) 1/2 0 0 0 0 0 r(P2 ) r(P3 ) 1/2 0 0 0 0 0 r(P3 ) . = (3.2) r(P4 ) 0 0 0 0 1/2 0 r(P4 ) r(P5 ) 0 0 1/2 1/1 0 1/1 r(P5 ) r(P6 ) r(P6 ) 0 1/2 0 0 0 0 | {z } | {z } | {z } π π HT ~ Pˇripomeˇ nme, ˇze sch´emata na obr´azc´ıch 1.1, 3.1 a 3.2 jsou grafy G(H) matice H z rovnic (1.8), (3.1) a (3.2). Vˇsimnˇeme si, ˇze graf na obr´azku 1.1 je silnˇe souvisl´y (tj. existuje cesta mezi libovoln´ ymi dvˇema vrcholy; viz sekce 1.3) a matice H, kter´a mu odpov´ıd´a, je nerozloˇziteln´a. Podobnˇe obˇe nez´avisl´e komponenty S1 = {P1 , P2 , P3 } a S2 = {P4 , P5 , P6 } na obr´azku 3.1 jsou silnˇe souvisl´e a jim odpov´ıdaj´ıc´ı bloky na diagon´ale matice H jsou opˇet nerozloˇziteln´e. Toto pozorov´an´ı se d´a snadno zobecnit. Zˇrejmˇe plat´ı n´asleduj´ıc´ı lemma. ~ Lemma 7. Matice A je nerozloˇziteln´a tehdy a jen tehdy, kdyˇz je jej´ı graf G(A) silnˇe souvisl´y. '$
'$
P1
-
P2
&% &% I @ I @ @@ @ @@ @ '$ @@ @'$ R @
%
P3
P6
&% &% I @ @@ @@ '$ '$ @@ R @ P4 P5
%
&%
%%
&%
Obr´azek 3.1: Jednoduch´ y model internetu z obr´azku 1.1 po vyˇskrt´an´ı nˇekter´ ych odkaz˚ u (hran); symbol “ znaˇc´ı vyˇskrtnutou hranu. Vid´ıme, ˇze internet se nyn´ı ” skl´ad´a ze dvou nez´avisl´ ych ˇca´st´ı (graf obsahuje dvˇe nez´avisl´e komponenty), s´ıt´ı S1 ≡ {P1 , P2 , P3 } a S2 ≡ {P4 , P5 , P6 }. Masov´ y v´ yskyt takov´e struktury ve skuteˇcn´em internetu (tj. v´ yskyt dvou nebo v´ıce rozs´al´ ych oblast´ı zcela nepropojen´ ych webov´ ymi odkazy) je znaˇcnˇe nepravdˇepodnobn´ y.
%
36
D˚ ukaz. D˚ ukaz je moˇzn´e prov´est snadno. Pˇredpokl´ad´ame-li rozloˇzitelnost matice, snadno uk´aˇzeme, ˇze jsou v grafu takov´e vrcholy, mezi nimiˇz neexistuje cesta (tedy siln´a souvislost implikuje nerozloˇzitelnost). Pˇredpokl´ad´ame-li naopak, ˇze graf nen´ı silnˇe souvisl´ y, m˚ uˇzeme mnoˇzinu vrchol˚ u rozloˇzit na syst´em (alespoˇ n dvou) navz´ajem disjuktn´ıch podmnoˇzin tvoˇr´ıc´ıch silnˇe souvisl´e komponenty maxim´aln´ı velikosti. Mezi libovoln´ ymi dvˇema takov´ ymi komponentami bud’ ˇza´dn´e hrany nevedou, nebo vedou jen jedn´ım smˇerem (pokud by vedli obˇema smˇery, sjednocen´ı pˇr´ısluˇsn´ ych komponent tvoˇr´ı opˇet silnˇe souvislou komponentu, coˇz je ve sporu s maxim´aln´ı velikost´ı silnˇe souvisl´ ych komponent). Vhodn´ ym seˇrazen´ım tˇechto komponent (tj. vhodn´ ym oˇc´ıslov´an´ım vrchol˚ u grafu, tj. vhodnou volbou permutaˇcn´ı matice P z definice 11) dostaneme matici v blokovˇe (horn´ım) troj´ uheln´ıkov´em tvaru se ˇctvercov´ ymi bloky (odpov´ıdaj´ıc´ımi silnˇe souvisl´ ym komponent´am) na diagon´ale (tedy nerozloˇzitelnost implikuje silnou souvislost). Pro podrobnˇejˇs´ı v´ yklad viz [12, vˇeta 3.6]. Pro dalˇs´ı v´ yklad bude d˚ uleˇzit´e n´asleduj´ıc´ı lemma a jeho d˚ usledek, viz [12, vˇety 4.4 a 4.5]. Lemma 8. Necht’ A je ˇctvercov´a nez´aporn´a matice, tj. aj,k ≥ 0, a ` pˇrirozen´e ˇc´ıslo, potom pro matici B = A` plat´ı, ˇze bj,k > 0 tehdy a jen tehdy, kdyˇz v orientovan´em ~ grafu G(A) existuje cesta z vrcholu j do vrcholu k d´elky `. '$
P1
'$
-
P2
&% &% I @ I @ @@ @ @@ @ '$ @@ @'$ R @
%
P3
P6
&% &% I @ @@ @@ '$ '$ @@ R @ P4 P5
%
&%
%
&%
Obr´azek 3.2: Jednoduch´ y model internetu z obr´azku 1.1 po vyˇskrt´an´ı nˇekter´ ych odkaz˚ u (hran); symbol “ znaˇc´ı vyˇskrtnutou hranu. Na rozd´ıl od internetu z obr´azku ” 3.1, tento internet neobsahuje nez´avisl´e komponenty. Vid´ıme ale, ˇze st´ale ze s´ıtˇe S2 = {P4 , P5 , P6 } nevede ˇza´dn´ y odkaz do s´ıtˇe S1 = {P1 , P2 , P3 } (graf neobsahuje cestu mezi libovoln´ ymi dvˇema vrcholy). Matice hyperlink˚ u odpov´ıdaj´ıc´ı takov´emu internetu je (stejnˇe jako v pˇr´ıpadˇe obr´azku 3.1) rozloˇziteln´a; matice hyperlink˚ u odpov´ıdaj´ıc´ı s´ıt´ım S1 a S2 uˇz rozloˇziteln´e nejsou (stejnˇe jako matice cel´eho internetu z obr´azku 1.1).
%
37
D˚ ukaz. Tvrzen´ı je zˇrejmˇe pravdiv´e pro ` = 1. Pˇredpokl´adejme tedy, ˇze tvrzen´ı plat´ı aˇz do `. Z tohoto pˇredpokladu dok´aˇzeme, ˇze plat´ı i pro ` + 1. Oznaˇcme B = A` a C = BA = A`+1 . Pak X cj,k = bj,i ai,k . (3.3) i
~ Necht’ existuje v G(A) cesta d´elky ` + 1 z j do k, tj. (j, p1 ), (p1 , p2 ), (p2 , p3 ), . . . , (p`−1 , p` ), (p` , k). Pak podle indukˇcn´ıho pˇredpokladu plat´ı bj,p` > 0. Z´aroveˇ n plat´ı ap` ,k > 0. Vˇsechny sˇc´ıtance v 3.3 jsou nez´aporn´e, pˇriˇcemˇz alespoˇ n jeden z nich je kladn´ y, konkr´etnˇe y bj,p` ap` ,k > 0. Tedy cj,k > 0. V matici A`+1 se na pozici (j, k) nach´az´ı nenulov´ prvek. Pˇredpokl´adejme nyn´ı obr´acenˇe, ˇze je v matici A`+1 na pozic (j, k) nenulov´ y prvek. Potom v souˇctu 3.3 mus´ı b´ yt nˇekter´ y ˇclen kladn´ y. Necht’ napˇr. bj,t at,k > 0. Pak nutnˇe ~ bj,t > 0 a at,k > 0. Podle indukˇcn´ıho pˇredpokladu existuje v grafu G(A) cesta d´elky ` z j do t. Protoˇze at,k > 0 exituje v grafu hrana vedouc´ı z t do k. Potom tak´e existuje cesta d´elky ` + 1 z j do k. Protoˇze v grafu nerozloˇziteln´e matice A ∈ Cn×n vˇzdy existuje cesta mezi libovoln´ ymi ~ dvˇema vrcholy d´elky `, ` < n (graf G(A) m´a pr´avˇe n r˚ uzn´ ych vrchol˚ u; viz sekce 1.3), m´a pˇredchoz´ı lemma n´asleduj´ıc´ı d˚ uleˇzit´ y d˚ usledek. Lemma 9. Necht’ A je nez´aporn´a nerozloˇziteln´a matice, tj. aj,k ≥ 0, a necht’ α0 , α1 , . . . , αn−1 jsou kladn´a ˇc´ısla, pak matice α0 I + α1 A + α2 A2 + · · · + αn−1 An−1 je kladn´a. Speci´alnˇe plat´ı (I + A)n−1 > 0. Pn−1 p cet nez´aporn´ ych matic. Mus´ıme tedy dok´azat, ˇze pro liboD˚ ukaz. p=0 αp A je souˇ voln´a pevn´a j a k je u nˇekter´e mocniny Ap , 0 ≤ p ≤ n − 1, na m´ıstˇe (j, k) kladn´ y prvek. Pokud j = k, pak je to pravda vˇzdy, protoˇze I m´a na tomto m´ıstˇe kladn´ y prvek. V pˇr´ıpadˇe, ˇze j 6= k, pak z nerozloˇzitelnosti matice plyne (viz lemma 7), ˇze ~ v grafu G(A) existuje cesta z vrcholu j do vrcholu k d´elky `, kde ` < n. Podle lemmatu 8 m´a pr´avˇe matice A` kladn´ y prvek na pozici (j, k). Prvn´ı tvrzen´ı je tud´ıˇz dok´az´ano a druh´e trvzen´ı je trivi´aln´ım d˚ usledkem. Podle binomick´e vˇety totiˇz plat´ı (A + I)
n−1
kde A0 ≡ I; staˇc´ı proto poloˇzit αp =
n−1 X n−1 p = A, p p=0
(3.4)
n−1 p
.
Nyn´ı budeme pokraˇcovat v anal´ yze jednoznaˇcnosti vlastn´ıho vektoru, kter´ y odpov´ıd´a vlastn´ımu ˇc´ıslu rovn´emu spektr´aln´ımu polomˇeru.
38
3.3
Kladn´ e matice: jednoznaˇ cnost (prav´ eho) Perronova vlastn´ıho vektoru
Zaˇcneme rozˇs´ıˇren´ım Perronovy vˇety o spektr´aln´ım polomˇeru a kladn´em vlastn´ım vektoru kladn´ ych matic, viz vˇetu 5. Vˇ eta 6 (Perronova vˇeta (o jednoznaˇcnosti Perronova vlastn´ıho p´aru kladn´ ych matic)). Necht’ A je ˇctvercov´a matice s kladn´ymi prvky, tj. aj,k > 0. Pak vlastn´ı ˇc´ıslo λ = %(A) matice A je jednoduch´e a odpov´ıdaj´ıc´ı vlatn´ı vektor x, x > 0, Ax = x%(A), je urˇcen jednoznaˇcnˇe. D˚ ukaz. Poznamenejme nejprve, ˇze vlastn´ı ˇc´ıslo splˇ nuj´ıc´ı λ = %(A) podle prvn´ı Perronovy vˇety (viz vˇetu 5) vˇzdy existuje. Pˇredpokl´adejme nyn´ı, ˇze k vlastn´ımu ˇc´ıslu λ existuj´ı dva line´arnˇe nez´avisl´e vektory x = [ξ1 , . . . , ξn ]T a v = [ν1 , . . . , νn ]T . Protoˇze x 6= 0, tak existuje index ` takov´ y, ˇze ξ` 6= 0. Vektor w = v − x(ξ`−1 ν` ) je netrivi´aln´ı line´arn´ı kombinac´ı line´arnˇe nez´avisl´ ych vektor˚ u, je tedy nenulov´ y, tj. w 6= 0. Zˇrejmˇe je tak´e vlastn´ım vektorem matice A odpov´ıdaj´ıc´ı vlastn´ımu ˇc´ıslu λ, Aw = Av − Ax(ξ`−1 ν` ) = vλ − x(ξ`−1 ν` )λ = (v − x(ξ`−1 ν` ))λ = wλ. Jeho `-t´a sloˇzka je vˇsak nulov´a, tj. eT` w = ν` − ξ` (ξ`−1 ν` ) = 0. Z prvn´ı Perronovy vˇety (viz vˇetu 5 a jej´ı d˚ ukaz) ovˇsem vypl´ yv´a, ˇze je-li w vlastn´ı vektor odpov´ıdaj´ıc´ı vlastn´ımu ˇc´ıslu λ = %(A), pak existuje komplexn´ı jednota η (η = exp(i ϕ)) takov´a, ˇze w e = wη ≥ 0. Z `-t´eho ˇr´adku rovnice Aw e = wλ, e tj. T T T T (e` A)w e = λ(e` w), e kde (e` A) > 0 a λ > 0, pak dostaneme (e` A)w e > 0, tedy tak´e T T T λ(e` w) e > 0, coˇz je ovˇsem ve sporu s e` w e η = e` w = 0. T´ım jsme dok´azali, ˇze je-li A > 0, pak vlastn´ımu ˇc´ıslu λ = %(A) odpov´ıd´a jedin´ y line´arnˇe nez´avisl´ y (prav´ y) vlastn´ı vektor. Protoˇze lev´ y vlastn´ı vektor y matice A odpov´ıdaj´ıc´ı vlastn´ımu ˇc´ıslu λ = %(A) je prav´ ym vlastn´ım vektorem matice AT a ta je kladn´a, y je jedin´ ym line´arnˇe nez´avisl´ ym lev´ ym vlastn´ım vektorem matice A, kter´ y lze volit kladn´ y y > 0. Necht’ T tedy x > 0, y > 0. Speci´alnˇe pak y x 6= 0 a z pomocn´e Schurovy vˇety (viz vˇetu 1) vypl´ yv´a, ˇze λ = %(A) je jednoduch´e vlastn´ı ˇc´ıslo matice A.
3.4
Nez´ aporn´ e nerozloˇ ziteln´ e matice
Nyn´ı uˇz jsme pˇripraveni vyslovit tzv. Perronovu–Frobeniovu vˇetu o nez´aporn´ ych matic´ıch (obˇe pˇredchoz´ı Perronovy vˇety hovoˇrily o matic´ıch kladn´ ych). Vˇ eta 7 (Perronova–Frobeniova vˇeta (o nez´aporn´ ych nerozloˇziteln´ ych matic´ıch)). Necht’ A ∈ Rn×n je ˇctvercov´a nez´aporn´a nerozloˇziteln´a matice, tj. aj,k ≥ 0. Pak spektr´aln´ı polomˇer %(A) je kladn´e jednoduch´e vlastn´ı ˇc´ıslo matice A a tomuto vlastn´ımu ˇc´ıslu odpov´ıd´a kladn´y vlastn´ı vektor.
39
D˚ ukaz. Uvaˇzujme ˇctvercovou nez´apornou nerozloˇzitelnou matici A ∈ Rn×n . Podle lemmatu 9 je matice (I + A)n−1 kladn´a; zˇrejmˇe je tedy i jej´ı transpozice, tj. matice ((I + A)n−1 )T = (I + AT )n−1 , kladn´a. Podle Perronovy vˇety o spektr´aln´ım polomˇeru kladn´ ych matic (viz vˇetu 5) existuje kladn´ y vlastn´ı vektor y > 0 tak, ˇze (I + AT )n−1 y = y % (I + AT )n−1 neboli
y T (I + A)n−1 = % (I + A)n−1 y T .
(3.5)
Mˇejme d´ale vlastn´ı ˇc´ıslo λ matice A takov´e, ˇze |λ| = %(A). Necht’ x 6= 0 je nˇejak´ y vlastn´ı vektor matice A odpov´ıdaj´ıc´ı tomuto vlastn´ımu ˇc´ıslu, tj. Ax = xλ. Pak plat´ı A|x| = |A||x| ≥ |Ax| = |xλ| = |x||λ|, kde nerovnost z´ısk´ame obdobnˇe jako ve vztahu (2.14), pouˇzijeme-li ho na jednotliv´e ˇra´dky lev´e a prav´e strany. Tud´ıˇz plat´ı A|x| ≥ |x|%(A). Vyn´asob´ıme-li pˇredchoz´ı nerovnost matic´ı A zleva, dostaneme A2 |x| = A(A|x|) ≥ A(|x|%(A)) = (A|x|)%(A) ≥ (|x|%(A))%(A) = |x|%2 (A). Obdobnˇe dostaneme obecn´ y vztah Ap |x| ≥ |x|%p (A),
pro p = 1, . . . , n − 1. (3.6) Jestliˇze vyn´asob´ıme nerovnost ze vztahu (3.6) ˇc´ıslem n−1 (viz (3.4)) a seˇcteme pro p p = 1, . . . , n − 1, dostaneme, spolu s rovnost´ı |x| = I|x|, vztah n−1 (I + A)n−1 |x| ≥ |x| 1 + %(A) . (3.7) Vyn´asob´ıme-li tuto nerovnost zleva kladn´ ym vektorem y T > 0, dostaneme n−1 y T (I + A)n−1 |x| ≥ (y T |x|) 1 + %(A) , kde lev´a strana je podle (3.5) rovna %((I + A)(n−1) )(y T |x|). Protoˇze y T |x| je kladn´e ˇc´ıslo, dost´av´ame n−1 % (1 + A)n−1 ≥ 1 + %(A) . (3.8) Matice (I + A)n−1 m´a vlastn´ı ˇc´ısla ve tvaru (1 + λj )n−1 , kde λj jsou vlastn´ı ˇc´ısla matice A. Protoˇze (I + A)n−1 je kladn´a matice, jej´ı spektr´aln´ı polomˇer je pˇr´ımo (kladn´ ym) vlastn´ım ˇc´ıslem. To znamen´a, ˇze existuje vlastn´ı ˇc´ıslo µ matice A tak, ˇze (1 + µ)n−1 = % (I + A)n−1 . (3.9)
40
Kombinac´ı vztah˚ u (3.8)–(3.9) dostaneme n−1 (1 + µ)n−1 ≥ 1 + %(A) , neboli (po odmocnˇen´ı) |1 + µ| ≥ 1 + %(A). Protoˇze plat´ı %(A) ≥ |µ|, pak 1 + %(A) ≥ 1 + |µ| ≥ |1 + µ| ≥ 1 + %(A). Vid´ıme, ˇze lev´a strana nerovnosti je shodn´a s pravou, a proto i ve vˇsech mezilehl´ ych nerovnostech mus´ı nastat rovnost. Speci´alnˇe odtud plyne, ˇze %(A) = µ,
µ ≥ 0.
Rovnost tak´e plat´ı v nerovnosti (3.8), v nerovnosti (3.7) a ve vˇsech nerovnostech v (3.6). Zde speci´alnˇe pro k = 1 dost´av´ame A|x| = |x|%(A),
neboli
A|x| = |x|µ.
Spec´alnˇe tak´e z (3.7) a (3.9) plat´ı (I + A)n−1 |x| = |x|(1 + µ)n−1 = |x|% (I + A)n−1 .
(3.10)
Podle Perronovy vˇety (viz vˇetu 5) je |x| ve vztahu (3.10) kladn´ y, tj. |x| > 0. Z vˇety 6 pak plyne, ˇze k µ existuje jedin´ y line´arnˇe nez´avisl´ y vlastn´ı vektor. Nav´ıc je %(A) > 0, protoˇze A je nerozloˇziteln´a, a tedy nenulov´a matice. Protoˇze lev´ y vlastn´ı vektor y matice A je prav´ ym vlastn´ım vektorem matice AT a ta je nez´aporn´a nerozloˇziteln´a, je y jedin´ ym line´arnˇe nez´avisl´ ym lev´ ym vlastn´ım vektorem matice A a lze volit kladn´ y. Speci´alnˇe y T x 6= 0, tedy ze Schurovy pomocn´e vˇety (viz vˇetu 1) vypl´ yv´a, ˇze %(A) je jednoduch´e vlastn´ı ˇc´ıslo matice A. Pˇredchoz´ı vˇeta m´a n´asleduj´ıc´ı d˚ uleˇzit´ y d˚ usledek. Vid´ıme, ˇze bude-li (ˇctvercov´a a nez´aporn´a) matice hyperlink˚ u H nejen stochastick´a, ale tak´e nerozloˇziteln´a, tj. bude-li moˇzn´e dostat se z kaˇzd´e str´anky Pj na libovolnou str´anku Pk , pak bude (kladn´ y) PageRank vektor π urˇcen jednoznaˇcnˇe. Vˇsimnˇeme si, ˇze tyto vlastnosti (stochasticitu a nerozloˇzitelnost) m´a pr´avˇe n´aˇs modelov´ y intenet z obr´azku 1.1. Jeho (kladn´ y) PageRank vektor bude urˇcen jednoznaˇcnˇe. Vztahy mezi jednotliv´ ymi druhy matic jsou sch´ematicky zn´azornˇeny na obr´azku 6.3 na str. 62.
41
4
Matice hyperlink˚ u obecnˇ e nen´ı stochastick´ a ani nerozloˇ ziteln´ a. Co s t´ım?
Aˇckoliv naˇsemu modelov´emu internetu z obr´azku 1.1 odpov´ıd´a matice hyperlink˚ u, kter´a je stochastick´a a nerozloˇziteln´a, obecnˇe to tak b´ yt nemus´ı. Tento deficit souvis´ı s vlastnostmi (i)–(iv), kter´e jsme zm´ınili na str. 21–22. Stochasticita je d˚ uleˇzit´a z hlediska vlastnosti (iii) a nerozloˇzitelnost poˇzadujeme pro vlastnost (iv).
4.1
Matice hyperlink˚ u je obecnˇ e substochastick´ a.
Jiˇz jsme zjistili, ˇze stochasticita souvis´ı s vlastnost´ı (iii), tj. kaˇzd´a str´anka mus´ı obsahovat alespoˇ n jeden odkaz na jinou str´anku. Pod´ıvejme se na internet, kter´ y tuto vlastnost nesplˇ nuje, viz obr´azek 4.1. Internetu z tohoto obr´azku odpov´ıd´a matice H, kter´a m´a nulov´ y ˇra´dek, tud´ıˇz souˇcet prvk˚ u v ˇra´dku nen´ı vˇzdy roven jedn´e, pˇresnˇeji '$
P1
'$
-
P2
&% &% I @ I @ @@ @ @@ @ '$ @@ @'$ R @
P3
P6
&% &% I @ @@ @@ '$ '$ @@ R @ P4 P5 &%
%
&%
Obr´azek 4.1: Jednoduch´ y model internetu z obr´azku 1.1 po vyˇskrt´an´ı nˇekter´ ych od“ znaˇc´ı vyˇskrtnutou hranu. Vid´ıme, ˇze nyn´ı nevede ˇza´dn´ y kaz˚ u (hran); symbol ” ˇ odkaz ze str´anky P4 . Odpov´ıdaj´ıc´ı matice hyperlink˚ u je substochastick´a. R´adek matice H, jehoˇz souˇcet nen´ı roven jedn´e, je zv´ yraznˇen.
%
42
ˇreˇceno, souˇcet prvk˚ u v ˇr´adku je v intervalu [0, 1], 0 0 r(P1 ) r(P1 ) 0 1/1 1/3 0 r(P2 ) 1/2 0 0 0 1/2 0 r(P2 ) r(P3 ) 1/2 0 0 0 1/3 0 r(P3 ) , = r(P4 ) 0 0 1/3 0 1/3 0 r(P4 ) r(P5 ) 0 0 1/3 0 0 1/2 r(P5 ) 0 1/3 0 0 0 0 r(P6 ) r(P6 ) {z } | {z } | {z } | π π HT
(4.1)
takov´a matice se naz´ yv´a substochastick´a. Uvˇedomme si, co pˇredstavuje matice hyperlink˚ u H. V podstatˇe ˇr´ık´a, ˇze uˇzivatel internetu ze st´anky Pj pˇrejde na Pk s pravdˇepodobnost´ı 1/|Pj |, kdyˇz Pj na Pk odkazuje, respektive s pravdˇepodobnost´ı 0, kdyˇz Pj na Pk neodkazuje. To je konzistentn´ı s t´ım, ˇze na ˇr´adku jsou sam´e nuly. Probl´em nalezen´ı PageRanku postaven´ y pouze na hyperlinkov´e matici modeluje uˇzivatele, kter´ y n´ahodnˇe pˇrech´az´ı ze str´anky na str´anku (tzv. random surfer) s pravdˇepodobnost´ı 1/|Pj |, kdyˇz to jde. Celkov´a doba, kterou tento uˇzivatel str´av´ı na jedn´e konkr´etn´ı str´ance v pr˚ ubˇehu delˇs´ıho ˇcasov´eho u ´seku, je meˇr´ıtkem relativn´ı d˚ uleˇzitosti t´eto str´anky. Jestliˇze na jedn´e konkr´etn´ı str´ance str´av´ı celkovˇe v´ıce ˇcasu neˇz na ostatn´ıch, pak je zˇrejm´e, ˇze se k t´eto str´ance vrac´ı pravidelnˇe. Tato str´anka (a tak´e vˇsechny dalˇs´ı, na kter´e se uˇzivatel vrac´ı pravidelnˇe) mus´ı b´ yt d˚ uleˇzit´a a mus´ı na n´ı b´ yt odkazov´ano dalˇs´ımi jin´ ymi d˚ uleˇzit´ ymi str´ankami. Bohuˇzel uˇzivatel, kter´ y n´ahodnˇe proch´az´ı internet, tak´e obˇcas naraz´ı na str´anky, kter´e jiˇz neodkazuj´ı d´ale. Bˇeˇzn´ ym pˇr´ıkladem jsou pdf soubory nebo obr´azky. To jsou vrcholy grafu (tzv. dangling node), do kter´ ych vede hrana, ale nevede uˇz z nich. Zakladatel´e PageRanku tento probl´em vyˇreˇsili n´asledovnˇe. Vˇsechny nulov´e ˇra´dky matice hyperlink˚ u H nahradili ˇra´dkem eT /n, kde e = [1, . . . , 1]T ∈ R a n je poˇcet str´anek cel´eho internetu. PageRank vektor π je pak lev´ ym vlastn´ım vektorem novˇe vznikl´e matice 1 e ≡ H + D, H kde D ≡ deT , n kter´a uˇz je stochastick´a. Vektor d (anglicky naz´ yvan´ y dangling node vector) nab´ yv´a hodnot jedna nebo nula, konkr´etnˇe dj = 1, jestliˇze j-t´a str´anka je pr´avˇe t´ım vrcholem, z nˇehoˇz nevede hrana ven. V ostatn´ıch pˇr´ıpadech je dj = 0. Spektr´aln´ı polomˇer e = 1 a vlastn´ı vektor π je nez´aporn´ %(H) y, tj. π ≥ 0. V tuto chv´ıli uˇz je splnˇena vlastnost (iii), tzn. uˇzivatel m˚ uˇze, i po tom co se dostane do vrcholu, ze kter´eho nevede e stochastick´a, ˇc´ımˇz hrana ven, pˇrech´azet mezi str´ankami nahodile. Nyn´ı je matice H jsme vyˇreˇsili probl´em vrchol˚ u bez zpˇetn´ ych hran (dangling node). Ovˇsem nemus´ı b´ yt jeˇstˇe nerozloˇziteln´a.
4.2
Stochastick´ a matice hyperlink˚ u je obecnˇ e rozloˇ ziteln´ a.
Nerozloˇzitelnost je ekvivalentn´ı s vlastnost´ı (iv), tj. s poˇzadavkem, aby bylo moˇzn´e dostat se z kaˇzd´e str´anky pomoc´ı odkaz˚ u na libovolnou jinou str´anku. To ovˇsem
43
obecnˇe neplat´ı, viz napˇr. intenet na obr´azc´ıch 3.1 a 3.2, resp. odpv´ıdaj´ıc´ı matice hyperlink˚ u (3.1) a (3.2). V z´avˇeru pˇredchoz´ı sekce model pˇrisoudil uˇzivateli schopnost pˇrej´ıt kamkoliv, a to dokonce z tzv. dangling node. Proˇc by tedy uˇzivatel nemohl pˇrej´ıt kamkoliv odkudkoliv? Samozˇrejmˇe to lze. Pˇredstavme si uˇzivatele, kter´ y nejen pˇrech´az´ı mezi str´ankami pomoc´ı odkaz˚ u, ale obˇcas tak´e nap´ıˇse pˇr´ımo adresu webov´e str´anky. Pokud toto uˇzivatel udˇel´a, pak se tzv. teleportuje pˇr´ımo na poˇzadovanou str´anku bez pouˇzit´ı odkaz˚ u, odkud pokraˇcuje v nahodil´em pˇrech´azen´ı mezi str´ankami pomoc´ı odkaz˚ u aˇz do t´e doby, neˇz se opˇet teleportuje jinam. Tuto teleportaci, tj. schopnost uˇzivatele pˇrech´azet odkudkoliv kamkoliv, vyˇreˇsili Page a Brin matemae opˇet upravili a z´ıskali tzv. googlovskou matici ticky tak, ˇze stochastickou matici H e + (1 − α)E, G ≡ αH
E≡
kde
1 T ee n
je tzv. teleportaˇcn´ı matice a 0 < α < 1. ˇ ıslo α zde ud´av´a pomˇer mezi ˇcasem, kter´ C´ y bˇeˇzn´ y uˇzivatel str´av´ı pˇrech´azen´ım mezi str´ankami pomoc´ı odkaz˚ u, a ˇcasem, kter´ y vˇenuje teleportaci. Bude-li α = 0, 8, pak 80 % ˇcasu uˇzivatel pˇrech´az´ı n´ahodnˇe mezi str´ankami pomoc´ı odkaz˚ u a 20 % ˇcasu uˇzivatel tr´av´ı pˇrechodem pˇr´ımo na nov´e str´anky zad´an´ım jejich webov´e adresy. Teleportace je n´ahodn´a, protoˇze uˇzivatel m˚ uˇze kdykoliv pˇrej´ıt n´ahodnˇe na kteroukoliv jinou str´anku tak, ˇze nap´ıˇse jej´ı webovou adresu. Googlovsk´a matice G je konvexn´ı e a teleportaˇcn´ı kombinac´ı dvou stochastick´ ych matic, opraven´e matice hyperlink˚ uH matice E, kter´a je nav´ıc kladn´a, e = H + 1 deT , H n
E=
1 T ee . n
Protoˇze α < 1, pak (1 − α) > 0, a tedy googlovsk´a matice G je urˇcitˇe kladn´a, G ≥ 0. Podle n´asleduj´ıc´ıho lemmatu je googlovsk´a matice nav´ıc stochastick´a. Lemma 10. Necht’ S1 a S2 jsou stochastick´e matice a α ∈ [0, 1]. Pak konvexn´ı kombinac´ı tˇechto dvou stochastick´ych matic vznikne stochastick´a matice S, tj. S = αS1 + (1 − α)S2 . D˚ ukaz. D˚ ukaz je element´arn´ı. Staˇc´ı si uvˇedomit, ˇze v j-t´em ˇra´dku matice S je souˇcet j-t´eho ˇr´adku matice S1 (kter´ y je roven jedn´e) vyn´asoben´ y α a j-t´eho ˇra´dku matice S2 (kter´ y je tak´e roven jedn´e) vyn´asoben´ y (1 − α). T´ım jsme se dostali k nejd˚ uleˇzitˇejˇs´ımu pozorov´an´ı.
44
Googlovsk´a matice 1 1 G = α H + deT + (1 − α) eeT , n n
0<α<1
je stochastick´a a nerozloˇziteln´a (pˇresnˇeji ˇreˇceno kladn´a, vˇsechny jej´ı prvky jsou nenulov´e), takˇze jsou splnˇeny vlastnosti (iii) a (iv), viz stranu 22. Tud´ıˇz je moˇzn´e dostat se z kaˇzd´e str´anky pomoc´ı odkaz˚ u nebo teleportac´ı na libovolnou jinou str´anku, tj. kladn´y PageRank vektor pro googlovskou matici existuje a je jednoznaˇcn´y. Pro vyjasnˇen´ı vztah˚ u mezi jednotliv´ ymi druhy matic viz sch´ema na obr´azku 6.3 na str. 62.
45
ˇ ast II C´ V´ypoˇcet PageRank vektoru
46
5
Mocninn´ a metoda
Kdyˇz uˇz v´ıme, ˇze PageRank vektor existuje a je jednoznaˇcn´ y, r´adi bychom ho umˇeli spoˇc´ıtat. V´ ypoˇcet budeme prov´adˇet pomoc´ı tzv. mocninn´e metody (power method). Ta slouˇz´ı k nalezen´ı vlastn´ıho ˇc´ısla matice A, kter´e je v absolutn´ı hodnotˇe nejvˇetˇs´ı (tzv. dominantn´ı vlastn´ı ˇc´ıslo), resp. k nalezen´ı vlastn´ıho vektoru, kter´ y mu odpov´ıd´a (tj. k nalezen´ı dominantn´ıho vlastn´ıho p´aru). Nejprve si uk´aˇzeme, kdy mocninn´a metoda funguje a zjist´ıme, ˇze pro hyperlinkovou matici tato metoda obecnˇe platit nemus´ı. Nakonec ovˇsem budeme schopni upravit matici tak, aby se tato metoda dala pouˇz´ıt.
5.1
Diagonalizovateln´ e matice
Pro jednoduchost se v n´asleduj´ıc´ım v´ ykladu omez´ıme jen na tzv. diagonalizovateln´e matice, zaˇcneme definic´ı, viz napˇr. [11, kapitola 2]. Definice 12 (Diagonalizovateln´a matice). Matice A ∈ Cn×n se naz´yv´a diagonalizovateln´a matice, pokud existuje regul´arn´ı matice X ∈ Cn×n takov´a, ˇze D ≡ X −1 AX ∈ Cn×n je diagon´aln´ı. Diagonalizovateln´a matice je tedy takov´a ˇctvercov´a matice, kter´a neobsahuje ˇz´adn´e netrivi´aln´ı Jordanovy bloky (tj. dimenze 2 × 2 a vˇetˇs´ı), viz [11, kapitoly 1.8, 2.2]. Bez u ´jmy na obecnosti m˚ uˇzeme pˇredpokl´adat, ˇze sloupce xj matice X jsou normalizovan´e, tedy X = [x1 , . . . , xn ] ∈ Cn×n
kde
kxj k = 1,
j = 1, . . . , n.
Oznaˇcme d´ale λj diagon´aln´ı prvky matice D, tj. λ1 n×n .. D= ∈C . . λn Matici A pak m˚ uˇzeme ps´at ve tvaru rozkladu A = XDX −1 .
(5.1)
47
Oznaˇcme d´ale Y ≡ X −H = (X H )−1 = (X T )−1 ,
Y = [y1 , . . . , yn ],
tj. H
Y X=X
−1
X=I
a
ykH xj
=
1, kdyˇz k = j . 0, kdyˇz k 6= 0
Pomoc´ı (regul´arn´ı) matice Y m˚ uˇzeme rozklad A = XDX −1 (5.1) pˇrepsat ve tvaru A = Y −H DY H a z´ıskat tak rozklad matice AH v analogick´em tvaru, tj. AH = Y DY −1 .
(5.2)
Maticov´e rovnosti (5.1) a (5.2) lze tak´e pˇrepsat do tvaru AX = XD, resp. AH Y = Y D, Y H A = DY H , tj. Axj = xj λj , resp. AH yj = yj λj ,
yjH A = λj yjH ,
kde j = 1, . . . , n.
Vid´ıme, ˇze xj jsou prav´e vlastn´ı vektory, yj lev´e vlastn´ı vektory a λj vlastn´ı ˇc´ısla matice A. Prav´e vlastn´ı vektory jsou normalizov´any kxj k = 1 pomoc´ı nˇejak´e normy k · k (z´amˇernˇe nespecifikujeme jak´e). Lev´e vlastn´ı vektory jsou pak normalizov´any u m˚ uˇzeme matici A tak, aby platilo yjH xj = 1. Uˇzit´ım obou sad vlastn´ıch vektor˚ zapsat pomoc´ı tzv. dyadick´eho rozvoje n´asleduj´ıc´ım zp˚ usobem. Zˇrejmˇe plat´ı y1H λ1 .. ... A = XDY H = [x1 , . . . , xn ] . ynH
λn
y1H n .. X = [x1 λ1 , . . . , xn λn ] . = xj λj yjH . j=1 ynH
(5.3)
Rozklad A = XDX −1 , resp. A = XDY H , se nˇekdy naz´ yv´a spektr´aln´ı rozklad matice A.
5.2
Mocninn´ a metoda pro diagonalizovateln´ e matice
Uvaˇzujme diagonalizovatelnouPmatici A ∈ Cn×n a jej´ı spektr´aln´ı rozklad, resp. dyadick´ y rozvoj A = XDX −1 = nj=1 xj λj yjH . Protoˇze matice A je diagonalizovateln´a, jej´ı prav´e (a tak´e lev´e) vlastn´ı vektory xj (resp yj ) tvoˇr´ı b´azi cel´eho Cn . Necht’ v ∈ Cn je libovoln´ y vektor a νj , j = 1, . . . , n, jeho souˇradnice v b´azi xj , tj. ν 1 n X v= xj νj = X ... . j=1 νn
48
Zˇrejmˇe plat´ı
ν1 λ 1 ν1 n .. .. X −1 −1 Av = (XDX )v = XDX X . = X . = xj (λj νj ). j=1 νn λ n νn Obdobnˇe, pro libovoln´e pˇrirozen´e k plat´ı
λ`−1 n 1 ν1 X . ` −1 `−1 −1 . A v = (XDX )(A v) = XDX X xj (λ`j νj ). = . j=1 λ`−1 n νn Oznaˇcme λ1 vlastn´ı ˇc´ıslo s nejvˇetˇs´ı absolutn´ı hodnotou a pˇredpokl´adejme, ˇze je nenulov´e (tedy, ˇze matice A je nenulov´a), tj. |λ1 | = %(A),
λ1 6= 0;
pˇredpokl´adejme tak´e ν1 6= 0.
Pˇredpoklad ν1 6= 0 nen´ı pˇri praktick´ ych v´ ypoˇctech (tj. v aritmetice s koneˇcnou pˇresnost´ı) pˇr´ıliˇs d˚ uleˇzit´ y a je t´emˇeˇr vˇzdy vynucen zaokrouhlovac´ımi chybami, viz [15, kapitola 7.3.1]. Pak zˇrejmˇe ! n n X X νj λj (λ1 ν1 ), Av = x1 (λ1 ν1 ) + xj (λj νj ) = x1 + xj λ ν 1 1 j=2 j=2 resp. A` v =
x1 +
n X j=2
xj
λj λ1
`
νj ν1
!
(λ`1 ν1 ),
` = 1, 2, 3, . . . .
Protoˇze vlevo je mocnina matice, mohlo by se st´at, ˇze prvky vektoru A` v, resp. jejich absolutn´ı hodnoty, porostou do nekoneˇcna. Abychom tomu zabr´anili, budeme vektor normalizovat, neboli ` ! ` n X A` v λj νj λ 1 ν1 = x + x , (5.4) 1 j ` vk kA` vk λ ν kA 1 1 j=2 kde zlomek nalevo je vektor d´elky (resp. normy) jedna a zlomek napravo je skal´ar. Pokud plat´ı |λ1 | > |λj | pro j = 2, . . . , n, pak zˇrejmˇe λj < 1, λ1 a tedy lim
`−→∞
λj λ1
` =0
a tak´e
lim
`−→∞
n X j=2
xj
λj λ1
`
νj ν1
= 0.
49
A proto za pˇredpokladu, ˇze matice A m´a jedin´e (a jednoduch´e) vlastn´ı ˇc´ıslo, pro kter´e plat´ı |λ1 | = %(A), pak A` v λ`1 ν1 lim = lim x1 ` . `−→∞ kA` vk `−→∞ kA vk Posloupnost λ`1 ν1 kA` vk obecnˇe limitu nem´a. Staˇc´ı si uvˇedomit, co se dˇeje, kdyˇz je λ1 z´aporn´e. Protoˇze jsou A` v e, plat´ı ale velikosti (resp. normy) obou vektor˚ u kA ` vk a x1 rovny jedn´ ` λ ν1 lim 1` = 1. `−→∞ kA vk `
A v Pokud budeme kaˇzd´ y vektor kA ıc n´asobit nˇejakou vhodnˇe zvolenou komplexn´ı ` vk nav´ jednotkou η` (|η` | = 1, η` = exp(i ϕ` )), napˇr. tak aby prvn´ı nenulov´a sloˇzka vektoru z˚ ust´avala kladn´a, pak A` v lim η` = x1 . `−→∞ kA` vk
Pokud libovoln´ y vektor v n´asob´ıme st´ale dokola matic´ı A a meziv´ ysledky (ˇsikovnˇe) normalizujeme, proces bude konvergovat k (prav´emu) vlastn´ımu vektoru x1 , kter´ y odpov´ıd´a vlastn´ımu ˇc´ıslu λ1 .
5.3
Mocninn´ a metoda pro obecn´ eˇ ctvercov´ e matice
Pˇredpoklad diagonalizovatelnosti v pˇredchoz´ı sekci byl pouze z d˚ uvodu zjednoduˇsen´ı v´ ykladu. Mocninnou metodu zformulujeme v n´asleduj´ıc´ı vˇetˇe pro obecn´e ˇctvercov´e matice. Vˇ eta 8. Necht’ A ∈ Cn×n je libovoln´a ˇctvercov´a matice, λ1 , . . . , λn jej´ı vlastn´ı ˇc´ısla, pˇriˇcemˇz |λ1 | = %(A), a x1 je odpov´ıdaj´ıc´ı vlastn´ı vektor, tj. Ax1 = x1 λ1 . Necht’ v ∈ Cn je libovoln´y vektor. Pokud plat´ı |λ1 | > |λj |, j = 2, . . . , n a z´aroveˇ n ν1 6= 0, pak A` v η` = x1 `−→∞ kA` vk lim
pro nˇejak´a vhodnˇe volen´a η` , |η` | = 1.
50
Pro diagonalizovateln´e matice je vˇeta dok´az´ana jiˇz v pˇredchoz´ı sekci. V d˚ ukazu pro obecn´e matice by bylo potˇreba zav´est tzv. zobecnˇen´e vlastn´ı vektory a uvaˇzovat netrivi´aln´ı Jordanovy bloky (tj. dimenze 2×2 a vˇetˇs´ı) a sledovat, jak se chovaj´ı jejich mocniny, viz napˇr. [11, kapitoly 1.8, 2.4]. Postup je jinak stejn´ y jako v pˇredchoz´ı sekci, jen techniˇctˇejˇs´ı. Vˇeta opˇet obsahuje form´aln´ı pˇrepoklad ν1 6= 0, kter´ y nen´ı pˇri praktick´ ych v´ ypoˇctech (tj. v aritmetice s koneˇcnou pˇresnost´ı) pˇr´ıliˇs d˚ uleˇzit´ y ani v pˇr´ıpadˇe obecn´ ych matic. Opˇet je t´emˇer vˇzdy vynucen vlivem zaokrouhlovac´ıch chyb, viz [15, kapitola 7.3.1]. Z tohoto d˚ uvodu se tak´e pˇr´ıliˇs nezab´ yv´ame v´ yznamem ˇc´ısla ν1 pro obecnou matici A (v pˇredchoz´ı sekci pˇredstavovala ˇc´ısla νj souˇradnice v b´azi xj vlastn´ıch vektor˚ u matice A; vlastn´ı vektory obecn´e matice n ale obecnˇe netvoˇr´ı b´azi C , museli bychom si vz´ıt na pomoc pr´avˇe v´ yˇse zm´ınˇen´e zobecnˇen´e vlastn´ı vektory). Obecnˇe m˚ uˇzeme algoritmus mocninn´e metody shrnout do n´asleduj´ıc´ıch sch´ematick´ ych krok˚ u: • • • • • •
D´ano: obecn´a ˇctvercov´a matice A ∈ Cn×n . Vyber nebo vytvoˇr n´ahodn´ y vektor v ∈ Cn . Opakuj kroky: v ← Av, v ← v/kvk, kde k · k je nˇejak´a vhodnˇe zvolen´a norma, dokud nejsi s vektorem v spokojen.
Ze vztahu (5.4) je zˇrejm´e, ˇze mocninn´a metoda bude konvergovat k vlastn´ımu vektoru x1 tak rychle, jak rychle p˚ ujde ` λj max , ` = 1, 2, 3, . . . j = 2,...,n λ1 k nule. Pro dalˇs´ı detaily, viz [15, kapitola 7.3.1], [17, kapitola 15].
51
6
V´ ypoˇ cet Perronova vlastn´ıho vektoru
Z v´ ykladu o mocinn´e metodˇe vid´ıme, ˇze na to, abychom mohli PageRank vektor spoˇc´ıtat (touto metodou), mus´ı b´ yt jemu odpov´ıdaj´ıc´ı vlastn´ı ˇc´ıslo λ1 = 1 jednoduch´e (coˇz v pˇr´ıpadˇe googlovsk´e matice G, G > 0, je, viz vˇetu 6) a v absolutn´ı hodnotˇe ostˇre vˇetˇs´ı neˇz vˇsechna ostatn´ı vlastn´ı ˇc´ısla. Zda tomu tak je, budeme nejprve ilustrovat na pˇr´ıkladech.
6.1
(Im)primitivn´ı matice
Vezmˇeme si ku pomoci opˇet n´aˇs modelov´ y internet, ze kter´eho vyˇskrt´ame vˇsechny hrany tak, aby matice jemu odpov´ıdaj´ıc´ı z˚ ustala stochastick´a a nerozloˇziteln´a, viz obr´azek 6.1. Tomuto internetu odpov´ıd´a matice hyperlink˚ u H, kter´a m´a v kaˇzd´em ˇra´dku a v kaˇzd´em sloupci jedin´ y nenulov´ y prvek. Rovnice pro v´ ypoˇcet PageRank '$
'$
P % &% &% I @ I @ @@ @ @@ % @ '$ @@ @'$
P1
2
R @
P3
P6
&% &% I @ @@ @@ '$ '$ @@ R @ P4 P5
%
&%
%%
%
&%
Obr´azek 6.1: Jednoduch´ y model internetu z obr´azku 1.1 po vyˇskrt´an´ı nˇekter´ ych odkaz˚ u (hran); symbol “ znaˇc´ı vyˇskrtnutou hranu. Matice hyperlink˚ u, kter´a ” mu odpov´ıd´a, je stochastick´a (kaˇzd´a str´anka obsahuje alespoˇ n jeden odkaz) a nerozloˇziteln´a (z kaˇzd´e str´anky je moˇzn´e se dostat na kteroukoliv jinou str´anku).
%
52
vektoru z t´eto matice hyperlink˚ u pak r(P1 ) 0 1/1 r(P2 ) 0 0 r(P3 ) 1/1 0 r(P4 ) = 0 0 r(P5 ) 0 0 r(P6 ) 0 0 | {z } | π
vypad´a n´asledovnˇe r(P1 ) 0 0 0 0 0 0 0 1/1 r(P2 ) 0 0 0 0 r(P3 ) r(P4 ) . 1/1 0 0 0 0 1/1 0 0 r(P5 ) r(P6 ) 0 0 1/1 0 {z } | {z } π HT
(6.1)
Po permutaci vrchol˚ u grafu (pˇreˇc´ıslov´an´ı str´anek) permutac´ı 1 2 3 4 5 6 1 6 2 3 4 5 tak, jak je naznaˇceno na 0 0 0 T S ≡ ΠHΠ = 0 0 1
obr´azku 6.2, dostaneme matici 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 , kde Π = 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0
1 0 0 0 0 0
0 0 0 0 0 1
0 1 0 0 0 0
0 0 1 0 0 0
0 0 0 1 0 0
0 0 0 0 1 0
je permutaˇcn´ı matice. Zˇrejmˇe je tato matice S stochastick´a a nerozloˇziteln´a (z kaˇzd´eho vrcholu odpov´ıdaj´ıc´ıho grafu je moˇzn´e dostat se do vˇsech ostatn´ıch vrchol˚ u). Pod´ıvejme se, jak budou vypadat jej´ı vlastn´ı ˇc´ısla. Zˇrejmˇe det(S − λI) = 0, −λ 1 0 0 0 0 0 −λ 1 0 0 0 0 0 −λ 1 0 0 = 0, det 0 0 0 −λ 1 0 0 0 0 0 −λ 1 1 0 0 0 0 −λ 0 1 0 0 0 0 −λ 1 0 0 0 0 0 −λ 1 0 0 = 0, 0 − 1 det 0 0 −λ 1 0 1 −λ 0 0 0 −λ 1
−λ 0 −λ det 0 0 0
1 −λ 0 0 0
0 1 −λ 0 0
0 0 1 −λ 0
λ6 − 1 = 0, λ6 = 1, tedy λ1,2 = ±1,
λ3,4,5,6
√ 1 3 =± ± i. 2 2 53
'$
P1
'$
P6
&% &% @ I @ @ @ @ @ '$ R @ @'$
P2
P5 &%
&% '$
P3 &%
'$ -
P4 &%
Obr´azek 6.2: Internet z obr´azku 6.1 po permutaci oˇc´ıslov´an´ı str´anek. Vid´ıme, ˇze |λ1 | = |λ2 | = |λ3 | = |λ4 | = |λ5 | = |λ6 |, a proto v tomto pˇr´ıpadˇe nebude mocninn´a metoda fungovat, resp. konvergovat. To je zp˚ usobeno t´ım, ˇze matice hyperlink˚ u je tzv. imprimitivn´ı. Z obr´azku 6.2 je zˇrejm´e, ˇze graf tohoto internetu je cyklick´ y (pˇresnˇeji bychom ˇrekli, ˇze tvoˇr´ı tzv. kruˇznici; v terminologii Markov´ ych ˇretˇezec˚ u bychom ˇrekli, ˇze se jedn´a o periodick´y ˇretˇezec). Pr´avˇe (a)cykliˇcnost grafu spolu s jeho silnou souvislost´ı (nerozloˇzitelnost´ı odpov´ıdaj´ıc´ı nez´aporn´e matice) definuje (im)primitivn´ı matice. Pˇresn´a definice n´asleduje. Definici i n´asleduj´ıc´ı vˇety lze nal´ezt napˇr. v [17, str. 172–175]. Definice 13 ((Im)primitivn´ı matice, index imprimitivity). Nez´aporn´a nerozloˇziteln´ a matice A ∈ Rn×n se naz´yv´a primitivn´ı, pokud na spektr´aln´ı kruˇznici K (A) ≡ {%(A) exp(i ϕ) : 0 ≤ ϕ < 2π}, tj. na kruˇznici v komplexn´ı rovinˇe se stˇredem v poˇc´atku a o polomˇeru %(A), leˇz´ı jedin´e vlastn´ı ˇc´ıslo λ = %(A). Naopak nez´aporn´ a n×n nerozloˇziteln´a matice A ∈ R , kter´a nen´ı primitivn´ı, se naz´yv´a imprimitivn´ı. Poˇcet vlastn´ıch ˇc´ısel leˇz´ıc´ıch na spektr´aln´ı kruˇznici K (A) se naz´yv´a index imprimitivity matice A.
6.2
Spektr´ aln´ı vlastnosti (im)primitivn´ıch matic
Primitivita je z hlediska PageRanku velmi v´ yznamn´a. Pokud by matice byla imprimitivn´ı, nefungovala by mocninn´a metoda a nebyli bychom schopni PageRank spoˇc´ıtat, a proto si uvedeme jeˇstˇe nˇekolik vˇet, z nichˇz nˇekter´e uvedeme bez u ´pln´ ych d˚ ukaz˚ u. Prvn´ı a nejd˚ uleˇzitˇejˇs´ı z tˇechto vˇet popisuje, jak jsou vlastn´ı ˇc´ısla rozm´ıstˇena na spektr´aln´ı kruˇznici, viz napˇr. [17, str. 173] nebo [14, Vol. 2, kapitola XIII, §2, str. 53–66] (pˇr´ıpadnˇe p˚ uvodn´ı rusk´e vyd´an´ı [13, kapitola XIII, §2, str. 354–365]).
54
Vˇ eta 9. Necht’ A ∈ Rn×n je nez´aporn´a nerozloˇziteln´a matice a necht’ h je jej´ı index imprimitivity. Pak λ1 ,
λ2 ≡ λ1 ω,
λ3 ≡ λ1 ω 2 ,
...,
λh ≡ λ1 ω h−1 ,
kde λ1 ≡ %(A) ∈ R,
ω ≡ exp(2πi/h) ∈ C,
jsou jednoduch´a vlastn´ı ˇc´ısla matice A. Pokud nav´ıc h > 1, existuje permutaˇcn´ı matice Π takov´a, ˇze 0 A1,2 }n1 0 A2,3 h }n2 X .. T . . . . ΠAΠ = , nj = n, . . . j=1 0 Ah−1,h }nh−1 Ah,1 0 }nh | {z } | {z } | {z } · · · | {z } n1 n2 n3 nh
(6.2)
tj. diagon´aln´ı (vyznaˇcen´e nulov´e) bloky jsou ˇctvercov´e a jedin´e nenulov´e bloky jsou nez´aporn´e (obecnˇe obd´eln´ıkov´e) bloky Aj,j+1 ∈ Rnj ×nj+1 , j = 1, . . . , h − 1, a Ah,1 ∈ Rnh ×n1 . ´ y d˚ D˚ ukaz. D˚ ukaz jen naznaˇc´ıme. Upln´ ukaz lze nal´ezt napˇr. v knize [14]. Nez´aporn´a nerozloˇziteln´a matice s indexem imprimitivity h m´a pr´avˇe h vlastn´ıch ˇc´ısel na spektr´aln´ı kruˇznici. Necht’ jsou to λ` ≡ %(A) exp(i ϕ` ),
` = 1, . . . , h.
Podle vˇety 7 je jedn´ım z nich pˇr´ımo spektr´aln´ı polomˇer. Toto vlastn´ı ˇc´ıslo je nav´ıc jednoduch´e. Necht’ tedy napˇr. λ1 = %(A)
neboli
ϕ1 ≡ 0,
a necht’ d´ale ϕ1 < ϕ2 ≤ ϕ3 ≤ . . . ≤ ϕh < 2π. Uvaˇzujme d´ale vlastn´ı vektor x` ∈ Cn pˇr´ısluˇsn´ y vlastn´ımu ˇc´ıslu λ` , tj. Ax` = x` λ` , x` = [ξ1 , . . . , ξn ] 6= 0, kde ξj = |ξj | exp(i ψj ), pak exp(i ψ1 ) ... x` = D` |x` |, kde D` = (6.3) . exp(i ψn ) Zˇrejmˇe D` D` = |D` | = I. Takˇze Ax` AD` |x` | D` AD` |x` | exp(−i ϕ` )D` AD` |x` | M |x` |
= = = = =
x` λ ` , D` |x` |%(A) exp(i ϕ` ), |x` |%(A) exp(i ϕ` ), |x` |%(A), |x` |%(A),
(6.4)
55
kde M ≡ exp(−i ϕ` )D` AD` ∈ Cn×n ,
M |x` | ∈ Rn
(6.5)
je obecnˇe komplexn´ı matice, resp. re´aln´ y vektor. Splˇ nuj´ı tedy pˇredpoklady prvn´ıho tvrzen´ı lemmatu 6. Uˇzit´ım nerovnosti (2.8) z lemmatu 6 (spolu s (6.4)) dost´av´ame |M | |x` | ≥ M |x` | = |x` |%(A).
(6.6)
Protoˇze matice D` je diagon´aln´ı s komplexn´ımi jednotkami na diagon´ale, plat´ı zˇrejmˇe |M | = A,
(6.7)
viz (6.3) a (6.5). Nerovnost (6.6) tak m˚ uˇze b´ yt d´ale upravena |M | |x` | = A|x` | ≥ |x` |%(A). Protoˇze ale nez´aporn´a matice A nem˚ uˇze ˇza´dn´ y nez´aporn´ y vektor |x` | zes´ılit po komponent´ach v´ıce, neˇz zes´ıl´ı vlastn´ı vektor x1 > 0 odpov´ıdaj´ıc´ı nejvˇetˇs´ımu (kladn´emu) vlastn´ımu ˇc´ıslu λ1 = %(A), mus´ı v pˇredchoz´ıch vztaz´ıch nastat rovnosti. Speci´alnˇe |M | |x` | = |x` |%(A). Z pˇredchoz´ı rovnice a z rovnice (6.4) pak plyne, ˇze |x` | je vlastn´ım vektorem matice |M | (pˇripomeˇ nme, ˇze |M | = A) a z´aroveˇ n matice M , kter´ y odpov´ıd´a v obou pˇr´ıpadech stejn´emu vlastn´ımu ˇc´ıslu. Tedy |M | |x` | = M |x` |.
(6.8)
D´ıky tomu, ˇze |x` | je tak´e vlastn´ım vektorem matice A odpov´ıdaj´ıc´ı vlastn´ımu ˇc´ıslu λ1 = %(A), je, podle vˇety 7, kladn´ y, tj. |x` | > 0. Podle druh´eho tvrzen´ı lemmatu 6 T (viz (2.9), kde A ≡ |x` | > 0, B ≡ M T ) dost´av´ame, ˇze rovnost (6.8) m˚ uˇze b´ yt splnˇena jen tehdy, kdyˇz |M | = M. Tato rovnice spolu s rovnicemi (6.5) a (6.7) d´av´a nejd˚ uleˇzitˇejˇs´ı identitu A = exp(−i ϕ` )D` AD` ,
` = 1, . . . , h.
Uvaˇzujme tyto dvˇe rovnosti, napˇr. A = exp(−i ϕ`1 )D`1 AD`1
a
A = exp(−i ϕ`2 )D`2 AD`2
⇐⇒
exp(i ϕ`2 )D`2 AD`2 = A
pro `1 = 1, . . . , h, `2 = 1, . . . , h. Jejich kombinac´ı, pˇresnˇeji dosazen´ım druh´e (v obou variant´ach) do prvn´ı, dost´av´ame A = exp(−i (ϕ`1 + ϕ`2 ))D`1 D`2 AD`2 D`1 ,
resp.
A = exp(−i (ϕ`1 − ϕ`2 ))D`1 D`2 AD`2 D`1 .
56
Zde jiˇz d˚ ukaz nepatrnˇe zjednoduˇs´ıme. Lze uk´azat, ˇze ϕ`1 ± ϕ`2 ∈ {ϕ1 , . . . , ϕh }
a
D`2 D`1 , D`2 D`1 , ∈ {D1 , . . . , Dh }
a tak´e, ˇze %(A) exp(i (ϕ`1 ± ϕ`2 )) ∈ {λ1 , . . . , λh }. ´ Uhly ϕ` tud´ıˇz tvoˇr´ı koneˇcnou aditivn´ı Abelovu (komutativn´ı) grupu ˇra´du h. Plat´ı proto hϕ` = ϕ1 ≡ 0. Vlastn´ı ˇc´ısla λ` , ` = 1, . . . , h leˇz´ı na vrhcholech pravideln´eho h-´ uheln´ıku, tedy ϕ2 = 2π/h,
ϕ` = (` − 1)ϕ2 = 2π(` − 1)/h,
` = 3, . . . , h.
Takˇze plat´ı λ` = %(A) exp(i ϕ` ) = %(A)ω (`−1) ,
ω ≡ 2πi/h,
` = 1, . . . , h,
pˇriˇcemˇz tato vlastn´ı ˇc´ısla jsou r˚ uzn´a, takˇze jednoduch´a, coˇz jsme chtˇeli dok´azat. Podobnˇe se d´a uk´azat, ˇze dokonce cel´e spektrum (vˇsech n vlastn´ıch ˇc´ısel) se nezmˇen´ı pˇri pootoˇcen´ı komplexn´ı roviny o libovoln´ y celoˇc´ıseln´ y n´asobek u ´hlu 2π/h. Podobnˇe tak´e zjist´ıme, ˇze matice D` tvoˇr´ı koneˇcnou multiplikativn´ı Abelovu (komutativn´ı) grupu ˇra´du h. Plat´ı tedy D`h = D1 ≡ I. Srovn´an´ım diagon´aln´ıch prvk˚ u matice D2 podle jednotliv´ ych u ´hl˚ u ψj z´ısk´ame permutaci, kter´a je zmiˇ nov´ana v druh´e ˇc´asti vˇety. Pro podrobnosti viz [14, Vol. 2, str. 61–62].
6.3
Testov´ an´ı (im)primitivity matice
Nez´aporn´a nerozloˇziteln´a matice m´a obecnˇe h jednoduch´ych vlastn´ıch ˇc´ısel, jejichˇz absolutn´ı hodnota je rovna spektr´aln´ımu polomˇeru. Tato ˇc´ısla jsou rozm´ıstˇena pravidelnˇe na spektr´aln´ı kruˇznici K (A), pˇriˇcemˇz jedno z nich je kladn´e. Jsou to tedy koˇreny binomick´e rovice h λh = %(A) . Aby mocninn´a metoda fungovala, potˇrebujeme, aby na spektr´aln´ı kruˇznici leˇzelo jedin´e vlastn´ı ˇc´ıslo. Jestliˇze m´ame nez´apornou nerozloˇzitelnou matici, je pro n´as velice d˚ uleˇzit´e zjistit, zda je primitivn´ı, tj. zda h = 1. K tomuto u ´ˇcelu slouˇz´ı dva z´akladn´ı testy, kter´e jsou zformulovan´e v n´asleduj´ıc´ıch vˇet´ach. Prvn´ı je velmi snadn´ y, viz napˇr. [17, str. 174]. Vˇ eta 10. Necht’ A ∈ Rn×n je nez´aporn´a nerozloˇziteln´a matice. Pokud existuje alespoˇ n jeden pozitivn´ı prvek na diagon´ale, pak je matice A primitivn´ı. D˚ ukaz. D˚ ukaz je jednoduch´ y. Pokud je matice imprimitivn´ı, ˇcili je jej´ı index imprimitivity h vˇetˇs´ı neˇz jedna, tj. h > 1, pak podle vˇety 9 existuje permutaˇcn´ı matice Π takov´a, ˇze simult´ann´ı permutace ˇr´adk˚ u a sloupc˚ u ΠAΠT vede na matici, kter´a
57
m´a na diagon´ale pr´avˇe h nulov´ ych ˇctvercov´ ych blok˚ u. Speci´alnˇe vˇsechny diagon´aln´ı T prvky permutovan´e matice ΠAΠ jsou nulov´e. Pˇri simult´ann´ı permutaci ˇra´dk˚ u a sloupc˚ u z˚ ust´avaj´ı ale diagon´aln´ı prvky st´ale na diagon´ale. Pokud m´a matice A na diagon´ale alespoˇ n jeden nenulov´ y prvek, pak T matice ΠAΠ m´a na diagon´ale tak´e alespoˇ n jeden nenulov´ y prvek, pro libovolnou permutaˇcn´ı matici Π. Matice A tedy nem˚ uˇze b´ yt imprimitivn´ı. Tento test je velmi snadn´ y, avˇsak ˇcasto nepouˇziteln´ y. Podm´ınka nez´aporn´ ych prvk˚ u na diagon´ale je pouze postaˇcuj´ıc´ı, nikoliv nutn´a. Pˇr´ıkladem m˚ uˇze b´ yt pr´avˇe naˇse matice hyperlink˚ u (1.9), tj. 0 1/2 1/2 0 0 0 1 0 0 0 0 0 1/3 0 0 1/3 1/3 0 . H= (6.9) 0 0 0 0 1 0 0 0 1/3 1/3 0 1/3 0 1/2 0 0 1/2 0 Jak uvid´ıme za malou chv´ıli, tato matice hyperlink˚ u skuteˇcnˇe primitivn´ı je, m´a vˇsak vˇsechny diagon´aln´ı prvky nulov´e, tud´ıˇz test primitivity, kter´ y je zaloˇzen na vˇetˇe 10, pouˇz´ıt nem˚ uˇzeme. Poznamenejme jeˇstˇe, ˇze pro matici hyperlink˚ u plat´ı n´asleduj´ıc´ı postaˇcuj´ıc´ı podm´ınka. Je-li matice hyperlink˚ u nerozloˇziteln´a (nez´aporn´a je vˇzdy), pak je primitivn´ı pr´avˇe tehdy, kdyˇz v internetu existuje alespoˇ n jedna str´anka, kter´a odkazuje sama na sebe. Nakonec uvedeme vˇetu, kter´a formuluje nutnou a postaˇcuj´ıc´ı podm´ınku primitivity, viz napˇr. [17, str. 174]. Vˇ eta 11. Necht’ A ∈ Rn×n je nez´aporn´a matice. Matice A je primitivn´ı tehdy a jen ~ tehdy, kdyˇz existuje takov´e `, ˇze A` > 0, tj. pokud v grafu G(A) existuje cesta mezi libovoln´ymi dvˇema uzly stejn´e d´elky `. D˚ ukaz. D˚ ukaz opˇet jen naznaˇc´ıme. Podle vˇety 9 lze imprimitivn´ı matice s indexem primitivity h > 1 simult´annˇe pˇrepermutovat do tvaru (6.2). Simult´ann´ı permutace ˇra´dk˚ u a sloupc˚ u matice pˇredstavuje jen pˇreˇc´ıslov´an´ı vrchol˚ u grafu. M˚ uˇzeme tedy bez u ´jmy na obecnosti uvaˇzovat matici pˇr´ımo ve tvaru (6.2). Vrcholy mnoˇziny I1 ≡ {1, . . . , n1 } mohou b´ yt pospojov´any pouze cestami d´elek h, 2h, 3h, atd. Z vrchol˚ u mnoˇziny I1 do vrchol˚ u mnoˇziny I2 ≡ {n1 + 1, . . . , n1 + n2 } vˇsak mohou existovat pouze cesty d´elek 1, 1 + h, 1 + 2h, 1 + 3h, atd. Cesty stejn´ ych d´elek tak mohou existovat jen tehdy, kdyˇz h = 1, tj. kdyˇz je matice primitivn´ı. Vˇsimnˇeme si, ˇze vˇeta 11 nevyˇzaduje nerozloˇzitelnost matice. Pokud ale plat´ı A` > 0 pro nˇejak´e `, pak je A nerozloˇziteln´a, a naopak pokud je matice rozloˇziteln´a, tj. v jej´ım grafu existuje dvojice bod˚ u, mezi kter´ ymi nevede ˇza´dn´a cesta, pak bude ` pˇr´ısluˇsn´a komponenta matice A nulov´a pro libovoln´e `, viz lemmata 7 a 8 a tak´e viz definici 6.
58
Poznamenejme, ˇze pro v´ yˇse uvedenou matici ` = 5. Zˇrejmˇe 0 3 3 0 6 0 0 0 1 2 0 0 2 H= 0 0 0 0 6 0 0 2 2 0 3 0 0 12 0 0 3 0 9 9 0 1 0 3 5 2 H2 = 0 6 6 18 0 2 3 0 2 9 0 3 3 0 36 42 6 72 0 0 18 28 1 6 12 22 H3 = 0 12 108 12 18 18 6 28 22 6 36 27 6 150 9 18 60 0 108 126 18 1 4 30 60 70 40 H = 324 54 18 84 66 46 60 39 40 135 9 42 60 90 504 588 174 900 54 108 360 1 5 500 174 282 332 H = 1944 276 360 234 240 438 174 392 332 138 504 495 174
hyperlink˚ u H plat´ı H ` > 0 pro 0 0 2 6 0 3
0 0 0 0 2 0
3 0 6 0 11 0
0 0 2 6 0 3
18 18 28 66 12 33
6 0 12 0 22 0
69 54 96 36 127 45
18 18 28 66 12 33
450 414 464 762 354 543
138 108 192 72 254 90
,
,
,
,
> 0;
viz tak´e tabulku 6.1, kde jsou vyps´any cesty d´elky pˇet mezi libovoln´ ymi dvˇema e + (1 − α)E, vrcholy grafu. Re´alnˇe ale pracujeme s googlovskou matic´ı G = αH 0 < α < 1, pro kterou plat´ı G` > 0 pro ` = 1 a kter´a je tedy vˇzdy primitivn´ı.
59
Googlovsk´a matice 1 1 G = α H + deT + (1 − α) eeT , n n
0<α<1
(6.10)
je nez´aporn´a (pˇresnˇeji ˇreˇceno kladn´a), nerozloˇziteln´a a primitivn´ı. Mocninn´a metoda aplikovan´a na matici GT bude pro libovoln´ y startovac´ı vektor π0 , π0 > 0, vˇzdy konvergovat k jednoznaˇcnˇe dan´emu Perronovu vlastn´ımu vektoru π, π > 0, kter´ y je z´aroveˇ n hledan´ ym PageRank vektorem. Pro vyjasnˇen´ı vztah˚ u mezi jednotliv´ ymi druhy matic opˇet odkazujeme na sch´ema na obr´azku 6.3 na konci textu na str. 62.
6.4
Mocninn´ a metoda pro googlovskou matici
V sekci, kde jsme vysvˇetlili mocninnou metodu pro obecn´e ˇctvercov´e matice, jsme zm´ınili, ˇze je potˇreba pouˇz´ıt nˇejakou vhodnˇe zvolenou normu. Nyn´ı mocninnou metodu specifikujeme pro googlovskou matici, a proto potˇrebujeme vybrat uˇz konkr´etn´ı normu. Lemma 11. Necht’ vektor v ≥ 0, kvk1 = 1 a S je stochastick´a matice. Pak pro vektor w, w = S T v, plat´ı w ≥ 0, kwk1 = 1. D˚ ukaz. Pro dok´az´an´ı tohoto lemmatu si staˇc´ı uvˇedomit, ˇze pokud existuje vektor v ≥ 0, jehoˇz souˇcet prvk˚ u je roven jedn´e, pak urˇcitˇe vektor w, kter´ y vznikne T vyn´asoben´ım stochastick´e matice S (kter´a m´a souˇcet prvk˚ u ve sloupci roven jedn´e) vektorem v, je tak´e kladn´ y a jeho jedniˇckov´a norma je tak´e jedna. Vezmˇeme si nyn´ı googlovskou matici G (G > 0) a zvolme si kladn´ y (protoˇze PageRank vektor pˇredpokl´ad´ame kladn´ y) startovac´ı vektor π0 > 0, kπ0 k1 = 1. Pro vektor r` (P1 ) .. π` ≡ (GT )` π0 ≡ , kde ` = 1, 2, 3, . . . . r` (Pn ) plat´ı π` > 0,
kπ` k1 = 1,
podle lemmatu 11 a tak´e plat´ı lim π` = (GT )` π0 = π,
`−→∞
(6.11)
kde π je PageRank vektor podle vˇety 8, a tedy lim r` (Pk ) = r(Pk ),
`−→∞
k = 1, . . . , n.
(6.12)
60
Tabulka 6.1: V grafu (internetu) na obr´azku 1.1 existuje cesta d´elky pˇet mezi libovoln´ ymi dvˇema vrcholy (str´ankami). Odkud P1 P1 P1 P1 P1 P1 P2 P2 P2 P2 P2 P2 P3 P3 P3 P3 P3 P3 P4 P4 P4 P4 P4 P4 P5 P5 P5 P5 P5 P5 P6 P6 P6 P6 P6 P6
1 −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→
P3 P2 P3 P3 P3 P3 P1 P1 P1 P1 P1 P1 P1 P5 P5 P4 P5 P4 P5 P5 P5 P5 P5 P5 P6 P3 P3 P4 P6 P6 P5 P2 P2 P5 P5 P2
2 −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→
P5 P1 P1 P5 P4 P5 P2 P3 P3 P3 P3 P3 P3 P6 P6 P5 P3 P5 P3 P6 P6 P3 P4 P3 P2 P1 P5 P5 P2 P5 P3 P1 P1 P3 P6 P1
3 −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→
P6 P2 P3 P4 P5 P6 P1 P5 P4 P4 P5 P4 P1 P2 P2 P4 P5 P6 P1 P2 P2 P4 P5 P4 P1 P2 P3 P4 P1 P6 P1 P2 P3 P4 P5 P3
4 −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→
P2 P1 P1 P5 P4 P5 P2 P6 P5 P5 P3 P5 P3 P1 P1 P5 P3 P5 P3 P1 P1 P5 P4 P5 P3 P1 P5 P5 P3 P5 P3 P1 P5 P5 P6 P5
5 −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→ −→
Kam P1 P2 P3 P4 P5 P6 P1 P2 P3 P4 P5 P6 P1 P2 P3 P4 P5 P6 P1 P2 P3 P4 P5 P6 P1 P2 P3 P4 P5 P6 P1 P2 P3 P4 P5 P6
61
Obr´azek 6.3: Pˇrehled vztah˚ u mezi jednotliv´ ymi druhy ˇctvercov´ ych matic
62
Nez´aporn´e matice A, A ≥ 0, aj,k ≥ 0 (sekce 2.1, definice 9, str. 25)
P Stochastick´e matice S, k sj,k = 1 (sekce 2.2, definice 10, str. 29) • ∃λ > 0, λ = %(S) = 1, obecnˇe n´asobn´e (vˇeta 3, sekce 2.2, str. 29) • e ≡ [1, . . . , 1]T , Se = e • ∃π ≥ 0, S T π = π, obecnˇe nejednoznaˇcn´ y (sekce 2.3, vˇeta 4, str. 30) e ≡ H + 1 deT • napˇr. opraven´a matice H, tj. H n
•
Kladn´e stochastick´e matice e + (1 − α) 1 eeT , 0 < α < 1 • napˇr. googlovsk´a matice G ≡ αH n P Substochastick´e matice A, 1 ≥ k aj,k ≥ 0 (sekce 4.1, str. 42) • napˇr. matice hyperlink˚ uH
•
Primitivn´ı matice A (sekce 6.1, definice 13, str. 54) • ∃` ∈ N, A` > 0 (sekce 6.3, vˇeta 11, str. 58)
Nez´aporn´e nerozloˇziteln´e matice A • (I + A)n−1 > 0 (sekce 3.2, lemma 9, str. 38) • ∃λ > 0, λ = %(A), jednoduch´e • ∃x > 0, Ax = x%(A), jednoznaˇcnˇe dan´ y (sekce 3.4, vˇeta 7, str. 39)
Nerozloˇziteln´e matice (sekce 3.2, definice 11, str. 35)
Kladn´e matice A, A > 0, aj,k > 0 (sekce 2.1, definice 9, str. 25) • ∃λ > 0, λ = %(A), jednoduch´e • ∃x > 0, Ax = x%(A), jednoznaˇcnˇe dan´ y (sekce 2.4, vˇeta 5, str. 31; existence) (sekce 3.3, vˇeta 6, str. 39; jednoznaˇcnost)
Vrat’me se nyn´ı k definici PageRanku, viz rovnici (1.7). K urˇcen´ı hodnot r(Pk ) je potˇreba prov´est limitn´ı pˇrechod (6.12), coˇz nen´ı v praxi moˇzn´e. Mocninn´a metoda je v tento okamˇzik vhodn´ y iteraˇcn´ı postup, jak nal´ezt alespoˇ n nˇejakou aproximaci hodnot r(Pk ). Tento pˇr´ıstup tak´e navrhli zakladatel´e PageRank, Brin a Page, protoˇze si byli vˇedomi, ˇze hodnoty r(Pk ), tedy PageRank odkazuj´ıc´ıch str´anek na Pj , jsou nezn´am´e. Na zaˇca´tku vˇsem str´ank´am na webu pˇriˇrad´ıme napˇr´ıklad stejn´e hodnoty PageRank. Tyto hodnoty jsou 1/n, kde n je poˇcet vˇsech stran webu. Tento postup pak poˇc´ıt´a r` (Pk ), tj. aproximaci r(Pk ) v `-t´em kroku pro kaˇzdou str´anku Pj . Dojdeme proto k modifikaci vzorce (1.7) r`+1 (Pk ) =
X r` (Pj ) . |Pj | P ∈B j
(6.13)
Pk
O tomto vztahu mus´ıme vˇsak jeˇstˇe chv´ıli uvaˇzovat. Prvn´ı probl´em s touto rovnic´ı je, ˇze nepoˇc´ıt´a s modelem uˇzivatele, kter´ y n´ahodnˇe pˇrech´az´ı ze str´anky na str´anku (s modelem random surfer) a obˇcas naraz´ı na dangling node, tj. vrchol grafu, do kter´eho vede cesta, ale uˇz nevede cesta z nˇej. Je proto potˇreba zaprv´e zahrnout do rovnice (1.7) dangling node vektor. Druh´ ym probl´emem je, ˇze vztah nepoˇc´ıt´a ani s uˇzivatelem, kter´ y nejenom ˇze proch´az´ı internetem pomoc´ı odkaz˚ u, ale obˇcas tak´e nap´ıˇse pˇr´ımo adresu webov´e str´anky a teleportuje se jinam, a proto je nutn´e zahrnout do definice teleportaˇcn´ı matici. Definici PageRanku, kter´a zahrnuje jiˇz vˇsechny v´ yˇse zm´ınˇen´e modifikace je n X r` (Pj ) α X 1−α X + r` (Pj ) + r` (Pj ), r`+1 (Pk ) = α |P n n j| j=1 Pj ∈D Pj ∈BPk | {z } | {z } | {z } (deT )T π`
H T π`
(6.14)
(eeT )π`
kde D je mnoˇzina vˇsech str´anek, kter´e neobsahuj´ı ˇza´dn´ y odkaz (dangling nodes) a kde jednotliv´e souˇcty pˇredstavuj´ı v´ yˇse zm´ınˇen´e modifikace, viz (6.10). Po kr´atk´e u ´vaze zjist´ıme, ˇze vrozec m˚ uˇzeme jeˇstˇe upravit. V´ıme totiˇz, ˇze plat´ı n X
r` (Pj ) = kπ` k1 = 1,
j=1
a proto r`+1 (Pk ) = α
X r` (Pj ) 1−α α X + r` (Pj ) + . |P n n j| P ∈B P ∈D j
Pk
(6.15)
j
Poznamenejme, ˇze p˚ uvodn´ı definice pˇred u ´pravami je platn´a a naprosto spr´avn´a pro model, ve kter´em by nebyl probl´em s dangling nodes, s nerozloˇzitelnost´ı a tak´e s teleportac´ı. V´ ypoˇcet PageRank vektoru pro n´aˇs modelov´ y internet z obr´azku 1.1 je moˇzn´e nal´ezt v pˇr´ıloze A.
63
Z´ avˇ er V t´eto pr´aci jsme se zab´ yvali PageRank vektorem, kter´ y je vyuˇz´ıv´an v mnoha odvˇetv´ıch, napˇr´ıklad silniˇcn´ı doprava nebo fyzika. My jsme hovoˇrili o PageRank vektoru neboli tak´e o Perronovu vlastn´ım vektoru v souvislosti s internetov´ ym vyhled´avaˇcem Google. PageRank byl tak´e navrˇzen pro potˇreby internetu, a to uˇz v roce 1976 Larry Pagem a Sergeyem Brinem na univerzitˇe ve Stanfordu. Pro spoleˇcnost Google se stal jej´ım srdcem, kter´e napom´ah´a spoleˇcnosti si drˇzet pˇredn´ı pozici mezi internetov´ ymi vyhled´avaˇci. V kapitole 1 jsme se vˇenovali nejprve nˇekter´ ym z´akladn´ım pojm˚ um z teorie matic a jejich vlastn´ıch ˇc´ısel, z teorie graf˚ u a tak´e jsme si uvedli p˚ uvodn´ı definici PageRank vektoru. D´ale n´asledovala prvn´ı ˇca´st pr´ace, kter´a se zab´ yvala existenc´ı PageRank vektoru. Zadefinovali jsme si stochastick´e matice, bez kter´ ych by PageRank neexistoval. D´ale jsme se vˇenovali problematice (ne)rozloˇzitelnosti, protoˇze jsme zjistili, ˇze v pˇr´ıpadˇe, ˇze je matice rozloˇziteln´a, nebude PageRank vektor jednoznaˇcn´ y. Museli jsme tedy upravit matici hyperlink˚ u, kter´a obecnˇe nen´ı ani stochastick´a ani nerozloˇziteln´a a dostali jsme googlovskou matici, pro kterou jiˇz PageRank vektor existuje a je jednoznaˇcn´ y. V druh´e ˇca´sti textu jsme se vˇenovali samotn´emu v´ ypoˇctu PageRank vektoru. K v´ ypoˇctu byla pouˇzita mocninn´a metoda, kterou jsme si pˇredstavili v kapitole 5. V z´avˇereˇcn´e kapitole 6 jsme jeˇstˇe narazili na probl´em spojen´ y s mocninnou metodou. Zjistili jsme, ˇze proto aby se PageRank vektor ust´alil k nˇejak´e konkr´etn´ı hodnotˇe, tj. aby mocninn´a metoda fungovala, potˇrebujeme pracovat s primitivn´ı matic´ı. Proto jsme si jeˇstˇe definovali (im)primitivn´ı matice a uk´azali si testy (im)primitivity. Po t´e n´am jiˇz nic nebr´anilo k u ´pravˇe definice PageRanku a k samotn´emu v´ ypoˇctu. V pr˚ ubˇehu cel´e pr´ace jsme pracovali s modelov´ ym internetem o ˇsesti str´ank´ach. Pro tento model jsme tak´e PageRank vektor spoˇc´ıtali, viz pˇr´ılohu A.
64
A
PageRank vektor modelov´ eho internetu z obr´ azku 1.1
Zde uv´ad´ıme pˇr´ıklad v´ ypoˇctu PageRanku. PageRank je vypoˇc´ıt´an pro n´aˇs modelov´ y internet z obr´azku 1.1. Zvol´ıme startovac´ı vektor π0 = [1/6, 1/6, 1/6, 1/6, 1/6, 1/6]T a zkus´ıme mocninnou metodu. Ta n´am uk´aˇze, ˇze nejd˚ uleˇzitˇejˇs´ı str´ankou je P5 a nejm´enˇe d˚ uleˇzitou je P6 . Zkus´ıme nyn´ı mocninnou metodu znovu, a to zaprv´e pro startovac´ı vektor π0 = [1/10, 1/10, 1/10, 1/10, 1/2, 1/10]T , tzn. t´e nejd˚ uleˇzitˇejˇs´ı str´ance P5 pˇriˇrad´ıme jiˇz na zaˇz´atku nejvˇetˇs´ı d˚ uleˇzitost a vid´ıme, ˇze nic zvl´aˇstn´ıho se nedˇeje. Hodnoty PageRanku se ust´alily po nˇekolika m´alo iterac´ıch a str´anka P5 z˚ ustala nejd˚ uleˇzitˇejˇs´ı. Zkusme se pod´ıvat na to, co se stane, kdyˇz si jako startovac´ı vektor zvol´ıme π0 = [1/10, 1/10, 1/10, 1/10, 1/10, 1/2]T , tzv. str´ance P6 pˇriˇrad´ıme na zaˇz´atku nejvˇetˇs´ı d˚ uleˇzitost. Zad´ame tedy faleˇsnou stopu a nejvyˇsˇs´ı d˚ uleˇzitost pˇriˇrad´ıme ve skuteˇcnosti nejm´enˇe d˚ uleˇzit´e str´ance. M˚ uˇzeme vidˇet, ˇze proces konvergence trv´a o nˇeco d´ele, ale nakonec dojdeme ke stejn´emu z´avˇeru, a to ˇze vypoˇcten´e PageRanky jsou r(P5 ) > r(P1 ) > r(P3 ) > r(P2 ) ≈ r(P4 ) > r(P6 ), viz obr´azek A.1. Poznamenejme, ˇze zde pracujeme pouze s matic´ı hyperlink˚ u H, viz (1.8), parametr α = 1, a proto se teleportaˇcn´ı matice v´ ypoˇctu ne´ uˇcastn´ı. Na obr´azku A.2 jiˇz studujeme vliv parametru α pro r˚ uzn´e hodnoty a pracujeme jiˇz s googlovskou matic´ı G = αH + (1 − α)E. V pˇr´ıpadˇe, kdy je α velk´e, m´a teleportaˇcn´ı matice m´enˇe v´ yznamn´ y vliv a rozd´ıly mezi PageRanky jsou v´ yraznˇejˇs´ı. Zjednoznaˇcn´ı se tak poˇrad´ı str´anek P2 a P4 , takˇze vid´ıme, ˇze r(P5 ) > r(P1 ) > r(P3 ) > r(P2 ) > r(P4 ) > r(P6 ).
65
V opaˇcn´em pˇr´ıpadˇe, tj. pro mal´a α, se PageRanky liˇs´ı m´enˇe a nav´ıc dojde k z´amˇenˇe poˇrad´ı str´anek P3 a P2 na r(P5 ) > r(P1 ) > r(P2 ) > r(P3 ) > r(P4 ) > r(P6 ). R Poznamenejme, ˇze v´ ypoˇcet je proveden v programu Matlab 8.1.0.604 (R2013a) R
TM na poˇc´ıtaˇci Dell Latitude 6430U s procesorem Intel Core i7-3687U, 2.10 GHz R s 8.00 GB RAM a se 64 bitov´ ym operaˇcn´ım syst´emem Windows 7 Professional, SP1.
66
0
P
P1
1
0.3
P2 P
PageRank
P
4
0.2
P
0.15
P6
5
poøadí stránky
3
0.25
1
P2
2
P3
3
P5
5
0.05
6
5
10 iterace
15
7 0
20
P
6
4
0.1
0 0
P4
5
10 iterace
15
0
P
P1
0.3
P2
1
P2
0.25
P3
2
P3
0.2
P5
3
P
0.15
P6
P4
poøadí stránky
PageRank
1
5
0.05
6
5
10 iterace
15
7 0
20
0.25
P3
0.2
P5
0.15
P6
P4
20
20
P P
2
P
3
P
4
P5
4
P6
6
15
15
3
0.05 10 iterace
10 iterace
2
5
5
5
1
0.1
0 0
6
1 poøadí stránky
P2
5
P
0
P1 0.3
P4
4
0.1
0 0
PageRank
20
7 0
5
10 iterace
15
20
Obr´azek A.1: Konvergence PageRank vektoru internetu z obr´azku 1.1. Googlovsk´a matice G = αH + (1 − α)E, kde matice hyperlink˚ u H je (1.8) a α = 1 (teleportaˇcn´ı matice E se tedy v´ ypoˇctu ne´ uˇcastn´ı). Vlevo v´ yvoj jednotliv´ ych PageRank˚ u, vpravo v´ yvoj poˇrad´ı str´anek. V jednotliv´ ych ˇrad´ach byla mocninn´a metoda nastartov´ana, 1 T 1 1 1 1 1 odshora, vektorem 6 [1, 1, 1, 1, 1, 1] , 2 [ 5 , 5 , 5 , 5 , 1, 15 ]T , resp. 21 [ 15 , 51 , 15 , 15 , 51 , 1]T . Vektor je normalizov´an tak, aby souˇcet prvk˚ u byl roven jedn´e. Vykresleno je prvn´ıch dvacet iterac´ı. Vypoˇcten´e PageRanky jsou r(P5 ) > r(P1 ) > r(P3 ) > r(P2 ) ≈ r(P4 ) > r(P6 ).
67
0
P
P1
0.3
P2
1
P2
0.25
P3
2
P3
0.2
P
3
P5
0.15
P6
P
4 5
poøadí stránky
PageRank
1
5
0.05
6
5
10 iterace
15
7 0
20
0.25
P3
0.2
P5
0.15
P6
P4
0.25
P3
0.2
P5
0.15
P6
P4
20
10 iterace
15
20
P P
2
P
3
P
4
P5 P
6
4
6
15
5
3
0.05 10 iterace
6
2
5
5
P
1
0.1
0 0
P5
1 poøadí stránky
PageRank
P2
3
P
0
P1 0.3
2
P
4
7 0
20
P
4
6
15
20
P
3
0.05 10 iterace
15
2
5
5
10 iterace
1
0.1
0 0
5
1 poøadí stránky
PageRank
P2
6
0
P1 0.3
P
4
0.1
0 0
P4
7 0
5
10 iterace
15
20
Obr´azek A.2: Konvergence PageRank vektoru internetu z obr´azku 1.1. Googlovsk´a matice G = αH +(1−α)E, kde matice hyperlink˚ u H je (1.8) a α = 0.9, 0.6, resp. 0.3, v jednotliv´ ych ˇrad´ach. Vlevo v´ yvoj jednotliv´ ych PageRank˚ u, vpravo v´ yvoj poˇrad´ı 1 T str´anek. Mocninn´a metoda byla nastartov´ana vektorem 6 [1, 1, 1, 1, 1, 1] . Vektor je normalizov´an tak, aby souˇcet prvk˚ u byl roven jedn´e. Vykresleno je prvn´ıch dvacet iterac´ı. Pro velk´a α se vypoˇcten´e poˇrad´ı str´anek P2 a P4 zjednoznaˇcn´ı tak, ˇze r(P5 ) > r(P1 ) > r(P3 ) > r(P2 ) > r(P4 ) > r(P6 ). Pro mal´a α (tj. pˇri velk´em vlivu teleportace) se zmenˇsuj´ı rozd´ıly mezi PageRanky. Nav´ıc dojde k z´amˇenˇe poˇrad´ı str´anek P3 a P2 na r(P5 ) > r(P1 ) > r(P2 ) > r(P3 ) > r(P4 ) > r(P6 ).
68
Literatura [1] A. Berman, R. J. Plemmons: Nonnegative matrices in the mathematical sciences, SIAM Publications, Philadelphia, 1994. [2] M. W. Berry, M. Browne: Understanding search engines. Mathematical modeling and text retrieval, 2nd ed., SIAM Publications, Philadelphia, 2005. [3] S. Brin, L. Page: The anatomy of a large-scale hypertextual Web search engine, Computer Networks and ISDN Systems 30(1–7) (1998), str. 107–117. [4] S. Brin, R. Motwani, L. Page, T. Winograd: What can you do with a Web in your pocket?, Data Engineering Bulletin 21(2) (1998), str. 37–47. [5] S. Brin, R. Motwani, L. Page, T. Winograd: The PageRank citation ranking: Bringing order to the Web, Technical Report 1999-0120, Computer Science Department, Stanford University, Stanford, 1999. [6] R. A. Brualdi, H. J. Ryser: Combinatorial matrix theory, Cambridge University Press (edice Encyclopedia of Mathematics and its Applications, vol. 39), Cambridge, 1991 (reprint 2003). [7] D. Cvektovi´c, P. Rowlinson, S. Simi´c: Eigenspaces of graphs, Cambridge University Press (edice Encyclopedia of Mathematics and its Applications, vol. 66), Cambridge, 1997 (reprint 2004). ˇ ık, V. Doleˇzal, M. Fiedler: Kombinatorikc´a anal´yza v praxi, SNTL, St´atn´ı [8] K. Cul´ nakladatelstv´ı technick´e literatury, Praha, 1967. [9] J. Demel: Grafy a jejich aplikace, Academia, Praha 2002. ˇ [10] J. Demel: Grafy, SNTL, St´atn´ı nakladatelstv´ı technick´e literatury (edice MVST, Matematika pro vysok´e ˇskoly technick´e, seˇsit XXXIV), Praha, 1988, resp. 1989 (dotisk). [11] J. Duintjer Tebbens, I. Hnˇetynkov´a, M. Pleˇsinger, Z. Strakoˇs, P. Tich´ y: Anal´yza metod pro maticov´e v´ypoˇcty. Z´akladn´ı metody, Matfyzpress, Praha, 2012. [12] M. Fiedler: Speci´aln´ı matice a jejich pouˇzit´ı v numerick´e matematice, SNTL, St´atn´ı nakladatelstv´ı technick´e literatury (edice TKI, Teoretick´a kniˇznice inˇzen´ yra), Praha, 1981.
69
[13] F. R. Gantmaqer: Teori matric, Izdatel~stvo Nauka, Moskva, 1966. [14] F. R. Gantmacher: The theory of matrices, AMS Chelsea Publishing, Providence, 1998. [15] G. H. Golub, C. F. Van Loan: Matrix computations (ˇctvrt´e vyd´an´ı), The Johns Hopkins University Press, Baltimore, 2013. [16] G. Chartrand: Introductory graph theory, Dover Publications, New York, 1985. [17] A. N. Langville, C. D. Meyer: Google’s PageRank and beyond. The science of search engine rankings, Princeton University Press, Princeton, 2006. [18] L. Maixner: Makovovy procesy a jejich aplikace, Univerzita Palack´eho v Olomouci, Olomouc, 1991. [19] J. Matouˇsek, J. Neˇsetˇril: Kapitoly z diskr´etn´ı matematiky, Karolinum, Praha, 2009. [20] J. Neˇsetˇril: Teorie graf˚ u, SNTL, St´atn´ı nakladatelstv´ı technick´e literatury (edice MS, Matematick´ y semin´aˇr, ˇc. 13), Praha, 1979. ´ [21] J. Sedl´aˇcek: Kombinatorika v teorii a praxi. Uvod do teorie graf˚ u, Academia (edice CV, Cesta k vˇedˇen´ı, ˇc. 7), Praha, 1964. ´ [22] J. Sedl´aˇcek: Uvod do teorie gra˚ u, Academia (edice CV, Cesta k vˇedˇen´ı, ˇc. 25, resp. 29), Praha, 1977 (2. vyd´an´ı), resp. 1981 (3. vyd´an´ı). [23] L. Unˇconvsk´ y: Stochastick´e modely operaˇcnej anal´yzy, Alfa/SNTL, Bratislava, 1980. [24] J. Vran´ y: Lokalizace algoritm˚ u pro ˇrazen´ı v´ysledk˚ u vyhled´av´an´ı informac´ı na webu, Disertaˇcn´ı pr´ace, TU v Liberci, Liberec, 2009.
70