You are on page 1of 23

Мiнiстерство освiти i науки України

Львiвський нацiональний унiверситет


iменi Iвана Франка
Механiко-математичний факультет

Кафедра алгебри, топологiї


та основ математики

КУРСОВА РОБОТА
на тему:
"Матричнi розкладання в рекомендацiйних системах"

Виконала:
студентка групи МТА-41с
Капiнус Катерина

Керiвник:
к. ф.-м. н., доц. Домша О. В.

Львiв - 2022
Змiст
1 Деякi елементи з теорiї графiв 2

2 Алгебраїчне пiдґрунтя 3
2.1 Матриця сумiжностi . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2 Матрицi перестановок . . . . . . . . . . . . . . . . . . . . . . . 4
2.3 Власнi значення та власнi вектори . . . . . . . . . . . . . . . . 6
2.4 Домiнуюче власне значення . . . . . . . . . . . . . . . . . . . . 7

3 Деякi елементи теорiї ланцюгiв Маркова 15

4 PageRank алгоримт 17
4.1 Степеневий метод . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.2 PageRank алгоритм . . . . . . . . . . . . . . . . . . . . . . . . . 19

5 Практична частина 21

6 Висновок 22

Вступ
PageRank — це алгоритм, який використовує Google Search для ранжування
веб-сайтiв у результатах пошуку. Його розробили у Стенфорскьому унiвер-
ситетi засновники Google: Леррi Пейдж та Сергiй Брiн, у 1996 роцi, як ча-
стину дослiдницького проекту про новий вид пошукових систем. PageRank
був названий в честь Леррi Пейджа. Головна iдея, що мiститься в оригi-
нальнiй роботi Пейджа та Брiна, полягає в тому, щоб вимiряти важливiсть
веб-сторiнок, зважаючи на кiлькiсть i актуальнiсть iнших зв’язаних сторi-
нок. Згiдно Google: PageRank пiдраховує кiлькiсть та якiсть посилань на
сторiнку, для грубої оцiнки важливостi веб-сайту. Основне припущення:
на важливiшi веб-сайти частiше посилаються iншi.
PageRank — це перший алгоритм, який використовувала компанiя i най-
популярнiший. Протягом останнiх рокiв його покращили та поєднали з iн-
шими методами.
Якщо бiльш детально, то PageRank — це алгоритм аналiзу посилань,
що призначає числове значення кожному елементу з гiперзв’язаного на-
бiру документiв, наприклад, Всесвiтньої павутини, з метою "вимiрюван-
ня"вiдносної елементiв множини. Алгоритм може бути використаний для
будь-якого набору суб’єктiв зi зворотнiми посиланнями та цитатами. Число-
ве значення, що присвоюється кожному елементу називають PageRank’ом
цього елементу.
PageRank отримується з математичного алгоритму, що базується на так
званому веб-графi, де усi сторiнки Всесвiтньої мережi - вузли, а гiперзв’язки
- гранi. Значення рангу показує важливiсть конкретної сторiнки. Гiперпо-
силання на сторiнку вважається голосом пiдтримки. PageRank сторiнки ви-
значається рекурсивно i залежить вiд кiлькостi i значенню PageRank’у усiх
сторiнок, якi посилаються на нього. Сторiнка, що посилається на багато
iнших з високим PageRank’ом також отримує високе значення.

1
Багато дослiджень проводилося над PageRank методом, також для ви-
значення помилково визначених PageRank значень. Керуючись цими до-
слiдженнями Googlе шукали, як покращити алгоритм, щоби знайти ефе-
ктивний метод iгнорування посилань з документами, що мiстили помилковi
PageRank’и.
У цьому робочому документi, ми хочемо представити пiдсумок усього
математичного пiдґрунтя, що має певне вiдношення до PageRank алгори-
тму. Насправдi, залучено достатньо багато математики, в основному, покри-
ваючи три великi математичнi сфери: теорiю графiв, трохи лiнiйної алгебри,
переважно власнi значення, i декiлька простих задач з ланцюгiв Маркова.
Першi три роздiли присвячнi цим темам. У четвертому роздiлi ми пред-
ставимо степеневий метод, iтеративний метод для розрахунку дрмiнуючих
власних значень та власного вектору, що є фундаментальною частиною
PageRank алгоритму, i сам оригiнальний алгоритм.

1 Деякi елементи з теорiї графiв


Означення 1. Граф — це пара G = (V, E), де V = {v1 , v2 , ..., vn } скiнчена
множина елементiв (вузли графа) i E = {e1 , e2 , ..., em } ⊆ V × V пiдмно-
жина пар вузлiв (гранi графа).
Якщо E — пiдмножина впорядкованих пар вузлiв, то граф G називає-
ться орiєнтованим графом.
На рисунку нижче злiва ми маємо можливе зображення графа G з
V = {v1 , v2 , v3 , v4 } i E = {(v1 , v2 ), (v1 , v3 ), (v1 , v4 ), (v2 , v3 ), (v3 , v4 )}. Справа
маємо зображення орiєнтованого графа G з V = {v1 , v2 , v3 , v4 } i
E = {(v1 , v2 ), (v1 , v3 ), (v2 , v3 ), (v3 , v4 ), (v4 , v1 )}

v1 v4 v1 v4

v2 v3 v2 v3

Неорiєнтований граф Орiєнтований граф

Рис. 1: Графи

Оскiльки ми в основному будемо зосередженi на орiєнтованих графах,


давайте згадаємо деякi класичнi означення, що їх стосуються.
Означення 2. Якщо G = (V, E) орiєнтований граф, прямий маршрут в G
це послiдовнiсть вузлiв (v0 , v1 , ..., vk ) такi, що (vi , vi+1 ) ∈ E для кожного
i = 0, 1, ..., k − 1. Вважаємо, що k — довжина маршруту.
Якщо жоден з вузлiв, за виключенням v0 та vk , зустрiчаються в послi-
довностi двiчi — маршрут простий. Якщо v0 = vk — маршрут закритий.
маршрут, що є простим i закритим називають циклом.
Для визначення поняття зв’язностi в орiєнтованому графi є важливим
розглядати маршрут незалежно вiд напряму граней.

2
Означення 3. У контекстi попереднього Означення, неорiєнтований мар-
шрут в G це послiдовнiсть вузлiв (v0 , v1 , ..., vk ), таких, що (vi , vi+1 ) або
(vi+1 , vi ) належить E для всiх i = 0, 1, ...k − 1.
Означення 4. Орiєнтований граф є зв’язним, якщо для кожної пари ву-
злiв (vi , vj ) в V iснує неорiєнтований маршрут, що з’єднює їх. Орiєнтова-
ний граф є сильно зв’язним, якщо для кожної пари вузлiв (vi , vj ) в V iснує
орiєнтований маршрут, що з’єднює їх.

2 Алгебраїчне пiдґрунтя
Важливi аспекти PageRank алгоритму зв’язанi з домiнантним власним зна-
ченнями Google матрицi та її вiдповiдним власним вектором.
Ми нагадаємо деякi теми з лiнiйної алгебри, що важливi у продовженнi.

v1 v4 v1 v4

v2 v3 v2 v3

Зв’язний граф Сильно зв’язний граф

Рис. 2: Зв’язнiсть

2.1 Матриця сумiжностi


Перш за все, iснують рiзнi способи зобразити граф. Наприклад, ми можемо
розмiстити усю важливу iнформацiю про граф у матрицi.
Вважаємо G = (V, E) орiєнтований граф.
Означення 5. Матриця сумiжностi графу G — n×n квадратна матриця
A, n = |V | таку, що

1, if (vi , vj ) ∈ E

aij =
0, if (vi , vj ) ∈
/ E.
Приклад. Ось приклад орiєнтованого графа та його матрицi сумiжностi.

v6 v5  
0 1 0 1 0 1
0 0 0 0 1 1
 
v1 v4 0 1 0 0 0 0
 
0 0 1 0 1 0
 
0 1 0 0 0 0
v2 v3
0 0 0 0 1 0
Граф Матриця зв’язностi

Рис. 3: Графи та матрицi

З графом може бути пов’язано багато матриць. Часто набагато легше


оперувати матрицею, нiж геометричним зображенням графiка.

3
2.2 Матрицi перестановок
Означення 6. n × n матриця P , рядки якої отримуються будь-якою пе-
рестановкою рядкiв одиничної матрицi називається матрицею переста-
новок.
Приклад. Прикладом матрицi перестановок є
 
0 0 1
P = 1 0 0
0 1 0

Матрицю P було отримано за допомогою перестановки (3 1 2) рядкiв


одиничної матрицi або еквiвалентною перестановкою (2 3 1) її стовпцiв. I цi
двi перестановки є оберненими одна до одної. 1
Щодо ефекту множення на матрицю перестановки, розглянемо простий
приклад:
         
a b c 0 0 1 b c a 0 0 1 a b c g h i
d e f  1 0 0 =  e f d i 1 0 0 d e f  = a b c 
g h i 0 1 0 h i g 0 1 0 g h i d e f

Результатом правого множення 3 × 3 матрицi A на перестановку P є


перестановка (2 3 1) стовпцiв A. Результатом лiвого множення A на P є
перестановка (3 1 2) рядкiв A.
Зауваження. Загалом, оскiльки рядки n×n матрицi перестановок P є фун-
даментальними векторами в Rn , результат P P T — це одинична матриця, а
потiм обернена до P транспонованого. Iншими словами P — ортогональна
матриця.
Причина в тому, що ми щойно побачили: якщо P має певну перестановку
рядкiв, то P T має цю перестановку на її колонках. Таким чином, розгля-
даючи P P T як праву перестановку P на P T , ми переставляємо стовпцi
P за допомогою перестановки її рядкiв. Але вони оберненi, i тодi ми отри-
муємо одиничну матрицю. Подiбним чином, ми розглядаємо P P T як лiву
перестановку P T на P .
Означення 7. Для будь-якої n × n квадратної матрицi A результат
A′ = P AP T , де P — матриця перестановок, називається симетричною
перестановкою A.
Зауваження. Розглядаючи результат правого i лiвого множення на матри-
цю перестановок, результат P AP T є певна перестановка рядкiв з наступною
такою ж перестановкою стовпцiв. Можна також зауважити, що з асоцiа-
тивною властивiстю множення матрицi результат буде тим самим, якщо ми
переставимо спочатку стовпцi, а далi рядки або рядки спочатку i стовпцi
потiм.
Приклад. Щоб побачити алгебраїчнi ефекти на матрицi та вiдповiднi ефе-
кти на графi, давайте зробимо приклад на матрицi сумiжностi простого
графа. Розглянемо орiєнтований граф G на Рис.4 разом з його матрицею
сумiжностi .
1 Подумайте, що якщо перший рядок переходить на k-ту позицiю, а потiм p
k1 = 1, то
k-й стовпець переходить на першу позицiю.

4
v1 v4
 
0 1 0 1
1 0 0 0
A=
1

1 0 0
v2 v3 0 0 1 0

Рис. 4: Приклад перестановок

Розглянемо також матрицю перестановок


 
0 0 1 0
 1 0 0 0
P =
 0 0 0 1

0 1 0 0

отриману перестановкою (3 1 4 2) рядкiв одиничної матрицi 4 × 4. Ми


маємо
     
0 0 1 0 0 1 0 1 0 1 0 0 0 1 0 1
1 0 0 0 1 0 0 0 0 0 0 1 0 0 1 1
P AP T = 
  
 = 
0 0 0 1 1 1 0 0 1 0 0 0  1 0 0 0
0 1 0 0 0 0 1 0 0 0 1 0 0 1 0 0

Вiдповiдний граф виглядає наступним чином

v1 v4

v2 v3

Легко помiтити, що результат симетричної перестановки на матрицю


сумiжностi графа полягає лише в перейменуваннi вузлiв графа. На граф
була задiяна перестановка (3 1 4 2) вузлiв i отримали:новий вузол 1 – це
старий вузол 3, новий вузол 2 – це старий вузол 1, новий вузол 3 – це старий
вузол 4, а новий вузол 4 – це старий вузол 2.
Варто зауважити, що єдине лiве множення матрицi сумiжностi на пе-
рестановку P не є цiкавим i не пов’язане з перестановкою вузлiв у графi.
Наприклад в нашому випадку
    
0 0 1 0 0 1 0 1 1 1 0 0
1 0 0 0 1 0 0 0 0 1 0 1
PA = 0 0 0 1 1 1 0 0 = 0 0 1 0
   

0 1 0 0 0 0 1 0 1 0 0 0

На Рис. 5 ми бачимо вплив несиметричної перестановки на вихiдний


граф. Очевидно, що в результатi деякi важливi топологiчнi властивостi ви-
хiдного графа знищенi.

5
v1 v4 v1 v4

v2 v3 v2 v3

Рис. 5: Вплив несиметричної перестановки на граф

2.3 Власнi значення та власнi вектори


Фундаментальнi кроки алгоритму PageRank пов’язанi з власними значен-
нями. Нагадаємо, що
Означення 8. Дано n × n дiйсну або комплексну матрицю A, дiйсне або
комплексне число λ i дiйсний або комплексний ненульовий вектор v є вiд-
повiдно власним значенням i асоцiйованим власним вектором A якщо

Av = λv.

Подiбним чином дiйсний або комплексний ненульовий вектор w є лiвим


власним вектором, пов’язаним з λ, якщо

wT A = λwT .

Нагадаємо, що власнi значення A є коренями P (λ) = det(A − λI), ха-


рактеристичного полiнома A. Кратнiстю λ як кореня характеристичного
полiнома є так звана алгебраїчна кратнiсть ma (λ) вiд λ.
У продовженнi нас буде цiкавити в основному реальнi випадки, але ва-
жливо мати на увазi, що для a полiнома, навiть з реальними коефiцiєнтами,
ми можемо гарантувати iснування лише комплексних коренiв. Основна тео-
рема алгебри стверджує, що кожен полiном з однiєю змiнною n ≥ 1 ступеня
з комплексними коефiцiєнтами має принаймнi один комплексний корiнь. Те-
орему також можна сформулювати так: кожен полiном з однiєю змiнною n
ступеня з комплексними коефiцiєнтами має, враховуючи з кратнiстю, рiвно
n коренiв. Еквiвалентнiсть двох тверджень можна довести за допомогою
використання послiдовного подiлу полiномiв.
Це включає в себе полiноми з дiйсними коефiцiєнтами. Iснують важливi
властивостi матрицi A, якi приводять до iснування реальних власних зна-
чень (принаймнi одного або всiх). Фундаментальним результатом є те, що
симетричнi матрицi мають усi власнi значення, якi є дiйсними.
Нас цiкавлять реальнi власнi значення λ ∈ R та пов’язанi з ними реальнi
власнi вектори v ∈ Rn .

Позначимо за допомогою:
• Vλ власний простiр власного значення λ, тобто пiдпростiр Rn , охопле-
ний власними векторами, пов’язаними з λ.

• Sp(A) спектр матрицi A, тобто набiр власних значень A.


• ρ(A) спектральний радiус A, тобто ρ(A) = max1≤i≤n |λi |.

6
Iнодi спектральним колом називають коло в комплекснiй площинi з цен-
тром у початку координат i радiусом, рiвним спектральний радiус. Очеви-
дно, що всi власнi значення належать спектральному колу.
Зауваження. Якщо λ є власним значенням A, його пов’язаний власний
простiр Vλ є множиною розв’язкiв лiнiйної однорiдної системи (A − I)v = 0.
Розмiрнiсть Vλ як пiдпростору Rn є так званою геометричною кратнiстю
mg (λ) вiд λ. Для кожного власного значення λ маємо, що mg (λ) ≤ ma (λ).
Означення 9. Якщо A є симетричною матрицею n × n, а x є ненульовим
вектором у Rn , то частка Релея R(A, x) визначається як
xT Ax
R(A, x) = .
xT x
Можна показати, що
xT Ax
minn = λmin
x∈R xT x
це найменше власне значення A. Мiнiмум досягається при x = vmin , де vmin
— власний вектор, пов’язаний з λmin . Аналогiчно
xT Ax
maxn = λmax
x∈R xT x
найбiльше власне значення A. Максимум досягається при x = vmax , де vmax
— власний вектор, пов’язаний з λmax .
Частка Релея використовується в алгоритмах власних значень для отри-
мання наближення власного значення з власного вектора наближення. Не-
забаром ми побачимо це в алгоритмi степеневого методу.

2.4 Домiнуюче власне значення


Фундаментальнi результати мають мiсце щодо провiдного (або домiнантно-
го) власного значення, тобто власного значення з максимальним модулем
(абсолютним значенням). Найвiдомiшою серед цих результатiв, мабуть, є
теорема Перрона-Фробенiуса, яка має важливу роль в алгоритмi PageRang.
Давайте спочатку дамо деякi визначення матриць.
Означення 10. Матриця A є додатною, якщо всi її елементи додатнi,
тобто aij > 0 для кожного i, j. Матриця A є невiд’ємною, якщо всi її
елементи невiд’ємнi, тобто aij ≥ 0 для кожного i, j.
Теорема Перрона-Фробенiуса по сутi говорить, що реальна квадратна
матриця з додатними елементами має унiкальне найбiльше дiйсне власне
значення. Крiм того, асоцiйований власний вектор можна вибрати так, щоб
вiн мав позитивнi компоненти. Схоже твердження виконується для деяких
класiв невiд’ємних матриць.
Першi результати завдяки Перрон щодо позитивних матриць. Узагаль-
нення було отримано пiзнiше Фробенiусом i має справу з невiд’ємними ма-
трицями.
Теорема має важливе застосування до теорiї ймовiрностей (ергодично-
стi ланцюгiв Маркова), до економiчної теорiї (модель введення-виведення
Леонтьєва) та багато iнших галузей.

7
Теорема 1 (Перрона-Фробенiуса для додатних матриць). Нехай A
— додатна матриця n × n. Тожi наступнi твердження справджуються.

(i) Iснує власне значення r (так зване власне значення Перрона-Фробенiуса),


яке є дiйсним i додатним, i для будь-якого iншого власне значення λ
маємо |λ| < r. Тодi r = ρ(A).
(ii) r — просте власне значення, тобто простий корiнь характеристи-
чного полiнома. Iншими словами, його алгебраїчнiсть кратнiсть оди-
ниця (ma (r) = 1). Як наслiдок, власний простiр Vr , пов’язаний з r, є
одновимiрним.
(iii) Iснує позитивний власний вектор v, пов’язаний з r. Вiдповiдно, iснує
позитивний лiвий власний вектор w.
(iv) Не iснує iнших позитивних власних векторiв A, крiм (позитивних)
кратних v (вiдповiдно, лiвих власних векторiв крiм w).
k
(v) lim Ar = vwT , де правий i лiвий власнi вектори нормованi, так
k→+∞
що w v = 1. Крiм того, матриця vwT — це проекцiя на власний
T

простiр Vr , так звана проекцiя Перрона.


(vi) Власне значення Перрона-Фробенiуса r задовольняє нерiвностi
X X
min aij ≤ r ≤ max aij
i i
j j

Приклад. Розглянемо позитивну матрицю


 
1 2 3
A = 4 5 6
7 8 9

За допомогою наукового програмного забезпечення2 отримуємо:

У першому запитi команда A=[...] просто визначає матрицю A. У дру-


гому запитi команда spec(A) дає власнi значення A, а саме

λ1 = 16.116844, λ2 = −1.116844, λ3 = 1.304 · 10−15 .3

У третьому запитi знову команда spec(A) у бiльш повнiй формi дає


дiагональну матрицю, подiбну до A (власнi значення знаходяться в головнiй
дiагоналi) i друга матриця, де стовпцi є нормованими власними векторами,
вiдповiдно до вiдповiдних власних значень у першiй матрицi.
Очевидно, що λ1 є власним значенням Перрона-Фробенiуса r; для iнших
власних значень нерiвностi |λ2 | < r i |λ3 | < r справджується.
Перший стовпець v1 останньої матрицi є генератором для власного про-
стору Vλ1 . Ми бачимо, що власний вектор v1 є негативним, що пiдтверджує
2 Ми використовували Scilab для чисельних обчислень.
3λ насправдi дорiвнює нулю, оскiльки матриця є виродженою
3

8
теорему Перрона-Фробенiуса, яка, звичайно, задовольняється значеннням
−v1 . Зауважте також, що два iнших нормалiзованих власних вектора v2 i v3
мають одночасно позитивнi та негативнi компоненти i тодi вони не мають
додатних кратних.
Ми можемо отримати лiвi власнi вектори за допомогою тих самих ко-
манд вище, застосованих до матрицi транспонування A (A′ в Scilab). Ось
Scilab:

Власнi значення, звичайно, однаковi (останнє дорiвнює нулю). Проти-


лежнiстю першого стовпця останньої матрицi є позитивний лiвий власний
вектор власного значення Перрона-Фробенiуса. Щоб перевiрити пункт 5,
ми можемо обчислити деякi потужностi Ak /rk для збiльшення значень k.
Деякi спроби показують, що вже при k = 5 ми близькi до збiжностi. Ось
Scilab:

Ми можемо визначити вектори v i w як додатнi правий i лiвий власнi


вектори, обчислити добуток vwT i отримати 4

Цiкаво, що двi матрицi не зовсiм однаковi. Елементи вiдрiзняються при-


близно на 5 вiдсоткiв. Причина — умова про нормалiзацiю. Два власних ве-
ктора повиннi бути нормованi для того, щоб забезпечити wT v = 1. Оскiльки
вони є векторами норми, ми можемо просто подiлити один iз двох на wT v.
У Scilab ми маємо

Тепер двi матрицi iдентичнi.


На завершення прикладу слiд негайно перевiрити пункт 6 тези, як
X X
min aij = 6 i max aij = 24.
i i
j j

Фробенiус поширив результати Перрона на випадок невiд’ємних матриць,


маючи як важливу схожiсть, так i вiдмiнностi. Для матриць такого ти-
пу легко отримати iснування невiд’ємного власного значення r з вiдповiд-
ним невiд’ємним власним вектором, таким, що r ≥ |λ| для кожного iншого
власного значення λ. Проблема в тому, щоб гарантувати унiкальнiсть. На-
справдi можуть бути власнi значення з однаковим абсолютним значенням.
Розглянемо для прикладу матрицю
 
0 1
,
1 0

яка є невiд’ємною i має −1 i 1 як власнi значення.


4У Scilab ви бачите фактично v T w, оскiльки вектори визначаються як вектори-рядки.

9
Крiм того, невiд’ємнi матрицi можуть мати максимальне власне значе-
ння, яке не є строго додатним i не є простим коренем характеристичного
полiнома. Вiзьмемо для прикладу матрицю
 
0 1
,
0 0
єдине власне значення якого дорiвнює 0 з алгебраїчною кратнiстю 2.
Основнi властивостi максимального власного значення, здається, зазна-
ють невдачi без жодної надiї.
Iдея Фробенiуса полягала в тому, щоб розглянути обмеження на клас
невiд’ємних матриць, щоб узагальнити в максимальнiй мiрi. У будь-якому
випадку, як ми побачимо, деякi властивостi власного значення позитивних
матриць Перрона втраченi.
Матрицi, для яких Фробенiус змiг розширити результати Перрона, є так
званими незводними матрицями. Вони можуть бути визначенi за допомогою
однiєї з кiлькох еквiвалентних властивостей, деякi чисто алгебраїчнi, iншi
пов’язанi з теорiєю графiв. Ми повiдомляємо про деякi з цих властивостей.
Нехай A — квадратна матриця n × n. A є незвiдною, якщо виконується
будь-яка з наступних еквiвалентних властивостей 1 − 2 − 3 − 4.
Перше — це геометрична властивiсть, пов’язана з лiнiйним перетворен-
ням на Rn , пов’язаною з матрицею A. Зробимо спочатку зауваження.
Координатним пiдпростором ми називаємо будь-який лiнiйний пiдпро-
стiр Rn , що складається з правильної нетривiальної пiдмножини Rn кано-
нiчного основи {e1 , e2 , ..., en }.
Властивiсть 1. A не має iнварiантних координатних пiдпросторiв.
Бiльш точно, для кожного координатного пiдпростору своє зображення
через лiнiйне перетворення, пов’язане з матрицею A не є самим пiдпросто-
ром чи його пiдмножиною.
Приклади. Матриця  
1 1
0 1
не є незвiдним, оскiльки в R2 координатному пiдпростiрi, охоплений e1 , є
iнварiантним. Фактично
    
1 1 x1 x1
=
0 1 0 0
I навпаки, матриця  
0 1
1 0
є незвiдною. Оскiльки єдиними координатними пiдпросторами в R2 є або
промiжок e1 , або промiжок e2 , легко бути переконаним, що жоднен з двох
не є iнварiантним.
Щоб прояснити, як задумана iнварiантнiсть, варто розглянути насту-
пний приклад. З матрицею
 
0 0 0
A = 1 0 0
1 0 0

10
зображенням координатних пiдпросторiв є
           
x1 0 0 0 0 0
A  0  = x1  , A x2  = 0 , A  0  = 0
0 x1 0 0 x3 0

i            
x1 0 x1 0 0 0
A x2  = x1  , A  0  =  x1  , A x2  = 0
0 x1 x3 x1 x3 0
Матриця не є незводною, оскiльки є три випадки, коли зображення є пiд-
простором координатного пiдпростору.
Властивiсть 2. A не може бути перетворена у верхню трикутну форму
блоку за допомогою матрицi перестановок P , тобто
 
B11 B12
P AP −1 не може мати форму ,
0 B22

де B11 i B22 — квадратнi матрицi порядку бiльшого або рiвного 1.


Приклади. Перша матриця попереднього прикладу явно вже є блоком верх-
нього трикутника.
Другу матрицю попереднього прикладу не можна помiстити у верхнiй
трикутний блочний вигляд, оскiльки єдиний нетривiальна матриця пере-
 3  
0 1 0 1
становки в R2 є матрицею i = .
1 0 1 0
У R3 матриця  
1 0 0
1 1 0
1 0 1
не є незвiдною. Фактично, взявши матрицю перестановок
 
0 1 0
P = 0 0 1
1 0 0
ми маємо
     
0 1 0 1 0 0 0 0 1 1 0 1
P AP T = 0 0 1 1 1 0 1 0 0 = 0 1 1
1 0 0 1 0 1 0 1 0 0 0 1

i в результатi виходить блок верхнiй трикутний.


Властивостi 1 i 2 є характеристиками незводної загальної матрицi. Для
невiд’ємних матриць iншi властивостi можна довести. Нижче наведено ти-
пову алгебраїчну властивiсть, яка може мати геометричну iнтерпретацiю
на вiдповiдному графi. У наступних роздiлах ми побачимо, що таке геоме-
трична версiя степенi матрицi.
Властивiсть 3. Для кожної пари iндексiв i та j iснує таке натуральне
число m, що (Am )ij є строго позитивним.

11
Зауваження. Повертаючись до попереднього прикладу, матриця
 
1 1
0 1

не є незвiдною, оскiльки легко побачити, що елемент (2, 1) кожної степенi


матрицi дорiвнює нулю.
I навпаки, матриця  
0 1
1 0
є звiдною, оскiльки
 2  
0 1 1 0
=
1 0 0 1
i тодi, якщо i ̸= j — ми маємо (Am )ij > 0 з m = 1, i якщо i = j — (Am )ij > 0
з m = 2.
Зауважимо, що властивiсть 3, звичайно, не означає, що iснує степiнь A,
що є позитивною матрицею.
Властивiсть 4. Невiд’ємна матриця (n × n) A може бути пов’язана з
орiєнтованим графом G з n вузлами, що мають ребро вiд вузла i до вузла
j тодi i тiльки тодi, коли aij > 0. Матриця є незвiдною тодi i тiльки
тодi, коли граф G сильно зв’язний.

Приклад. Давайте ще раз розглянемо приклад, який вже бачили ранiше, на


Рис. 6.

 
0 1 0 1 v1 v4
1 0 0 0
A=
1

1 0 0
0 0 1 0
v2 v3
з вiдповiдним графом

Рис. 6: Сумiжнiсть i зв’язнiсть

Граф сильно зв’язний, а A незвiдна. Ми можемо використовувати вла-


стивiсть 1: неважко побачити, що жоден координатний пiдпростiр, який ми
маємо в R4 не є iнварiантним.
Якщо ми розглянемо натомiсть приклад на Рис. 7, то легко побачити,
що графiк не є сильно зв’язним, бо, наприклад немає можливостi перейти
вiд v2 до v1 . Матриця сумiжностi не є незвiдною, як наприклад
   
x1 0
 0  0
A 0  = 0
  

0 0

12
 
0 1 0 1 v1 v4
0 0 0 1
A=
0

1 0 0
0 0 1 0
v2 v3
з вiдповiдним графом

Рис. 7: Сумiжнiсть i зв’язнiсть

Iнодi легше зрозумiти, чи є матриця незвiдною, подивившись на вiдпо-


вiдний граф, але якщо граф дуже великий i складний, тодi логiчно буде
вивчити алгебраїчнi аспекти матрицi.
Перш нiж ми перейдемо до деталей теореми у формi Фробенiуса, важли-
ве поняття перiоду матрицi.
Нехай A — невiд’ємна квадратна матриця
Означення 11. За iндексу i перiод iндексу i є найбiльшим спiльним дiль-
ником усiх натуральних чисел m що (Am )ii > 0.
Приклад. Давайте вiзьмемо матрицю перестановок, яку ми використовува-
ли ранiше  
0 1 0
0 0 1
1 0 0
Усвiдомлюючи, що
 
0 0 1
A2 = 1 0 0  = AT i A3 = A · A2 = A · AT = I3×3 ,
0 1 0
можна зробити висновок, що для кожного iндексу i = 1, 2, 3 перiод iндексу
i дорiвнює 3.
Коли A є незвiдною, перiод кожного iндексу однаковий i називається
перiодом матрицi A. У попередньому прикладi матриця не є незвiдною, але
iндекси однаковi. Матриця
 
0 1 1
A = 1 0 0
0 1 0
є незвiдною (його граф сильно зв’язний) i маємо
       
1 1 0 1 1 1 1 2 1 2 2 1
A2 = 0 1 1 , A3 = 1 1 0 , A4 = 1 1 1 , A5 = 1 2 1 .
1 0 0 0 1 1 1 1 0 1 1 1
Це означає, що перiод дорiвнює 1.
Означення 12. Матриця A є примiтивною, якщо вона невiд’ємна, а її
m-та ступiнь додатна для деякого натурального числа m. 5
5 Iнодi примiтивнi матрицi визначають як невiд’ємнi матрицi, що мають лише одне

власне значення r = ρ(A) у спектральному колi.Таким чином наше визначення може


бути перетворено в теорему: невiд’ємна матриця A є примiтивною, якщо i тiльки якщо
iснує m > 0 таке, що Am додатне.

13
Характеристика така:
Теорема 2. Матриця A є примiтивною тодi i тiльки тодi, коли A є не-
вiд’ємною, незвiдною та апериодичною.
Останнiй приклад показує примiтивну матрицю.
Ось теорема Перрона-Фробенiуса для невiд’ємних незвiдних матриць.6
Теорема 3 (Перрона-Фробенiуса для невiд’ємних незвiдних ма-
триць). Нехай A — невiд’ємна незвiдна n × n матриця з перiодом p i спе-
ктральним радiусом ρ(A) = r. Тодi мають мiсце наступнi твердження.
(i) r додатне i є власним значенням матрицi A, яке називається вла-
сним значенням Перрона-Фробенiуса.
(ii) r просте. I правий, i лiвий власнi простори, пов’язанi з r, є однови-
мiрними.
(iii) A має лiвий власний вектор v i правий власний вектор w, пов’язанi з
r, компоненти яких додатнi для обох i єдиними власними векторами
з усiма додатними компонентами є тi, якi пов’язанi з r.
(iv) Матриця A має саме p (перiод) комплексних власних значень з моду-
лем r. Кожен з них є простим коренем характеристичного полiнома
i є добутком r з p-им комплексним коренем з одиницi.
k
(v) lim Ar = vwT , де правий i лiвий власнi вектори нормованi, так
k→+∞
що wT v = 1. Крiм того, матриця vwT — це проекцiя на власний
простiр Vr , так звана проекцiя Перрона.

(vi) Власне значення Перрона-Фробенiуса r задовольняє нерiвностi


X X
min aij ≤ r ≤ max aij
i i
j j

На завершення цього роздiлу згадаємо ще один наслiдок щодо примi-


тивних матриць.
Теорема 4. Якщо A є невiд’ємною i незвiдною, з r = ρ(A), A є примiтив-
ним тодi i тiльки тодi, коли
 k
A
lim iснує.
k→+∞ r

У цьому випадку
 k
A pq T
lim = T ,
k→+∞ r q p
де p i q T — вiдповiдно правий i лiвий вектори Перрона-Фробенiуса.
6 Насправдi iснують деякi iншi можливi твердження, пов’язанi з теоремою Перрона-

Фробенiуса, якi ми не згадуємо.

14
3 Деякi елементи теорiї ланцюгiв Маркова
Для використання моделi ланцюга Маркова в алгоритмi PageRank вико-
ристовуємо достатнiй пiдхiд до ланцюгiв Маркова. Тому ми пропустимо
загальне визначення, яке включає iмовiрнiсну концепцiю загального випад-
кового процесу. Ми можемо просто подумати про n можливих станiв систе-
ми, для яких часи t = 1, 2, 3, ... є актуальними. Кожного разу система може
перебувати в одному (i тiльки в одному) зi своїх станiв.
Щоб дати трохи формалiзацiї, ми можемо подумати про випадковi ве-
личини Xt , t = 1, 2, 3, ..., де кожен може приймати його значення в множинi
станiв E = {1, 2, ..., n}. Ми вважаємо, що в момент часу t система перебу-
ває у своєму k-му станi, якщо випадковa змiнна Xt приймає значення k.
Звичайно, це станеться з ймовiрнiстю P rob(Xt = k).
Наша система є ланцюгом Маркова, якщо виконується наступна власти-
вiсть: для кожного t = 1, 2, 3, ..., для кожної пари станiв i, j та для кожної
послiдовностi станiв v0 , v1 , ..., vt−1 ∈ E

P rob(Xt+1 = j|X0 = v0 , X1 = x1 , ..., Xt−1 = vt−1 , Xt = i) = P rob(Xt+1 = j|Xt = i).

Це означає: ймовiрнiсть того, що система переходить iз стану i в стан j


у момент t, не залежить вiд станiв в яких система була до часу t.
Наприклад, вiзьмемо t = 1,

P rob(X2 = j | X0 = v0 , X1 = i) = P rob(X2 = j | Xt = i),

тобто перехiд в момент часу t = 1 не залежить вiд початкового стану v0 ,


а залежить лише вiд стану i в даний час. Умовна ймовiрнiсть

P rob(Xt+1 = j | Xt = i) = pij (t)

називається ймовiрнiстю переходу в момент t iз стану i в стан j. Звичайно,


ця ймовiрнiсть може залежати, а може i не залежати вiд t. Ланцюг Маркова
називають однорiдним або стацiонарним у часi, якщо ймовiрнiсть переходу
ну залежить вiд t, а саме

pij (t) = pij для кожного t.

Зрозумiло, що до стацiонарного ланцюга Маркова ми можемо пов’язати


як матрицю (незалежну вiд t), так i граф. Матриця P = (pij ) називається
матрицею переходiв ланцюга i має такi властивостi:

1. pij ≥ 0 для кожних i, j;


Pn
2. j=1 pij = 1 для кожного i.

Матриця з властивостями 1 i 2 називається стохастичною матрицею.


Зауваження. Властивiсть 2 можна записати у матричному виглядi у вигля-
дi Pu = u, де u = (1, ..., 1)T . Це означає, що будь-якa cтохастична матриця
має власне значення 1 i u є вiдповiдним власним вектором. Можна довести,
що стохастичнi матрицi мають спектральний радiус 1.
Матрицю переходiв P ланцюга Маркова цiлком природно зв’язати з пря-
мим графом. Насправдi P є рiзновидом матрицi сумiжностi з додатковою

15
iнформацiєю: вона говорить не тiльки про можливi переходи, але й про те,
яка ймовiрнiсть будь-якого окремого переходу.
Враховуючи квадратну матрицю переходiв P = (pij ) порядку n, асоцi-
йований граф має n вузлiв {v1 , ..., vn } i має ребро (vi , vj ) тодi i тiльки тодi,
коли pij > 0. Це те, що називається зваженим графом, графом, у якому ко-
жне ребро є позитивно зважененим, у цьому випадку ваги є ймовiрностями.
Звичайно, стан j доступний iз стану i тодi i тiльки тодi, якщл на графiку
iснує прямий шлях вiд vi до vj .

Означення 13. Ланцюг Маркова є незвiдним, якщо його матриця пере-


ходiв P незвiдна.
Зауваження. Серед рiзноманiтних характеристик незводних матриць, якi
ми бачили ранiше, це означає, що графiк є сильно зв’язним, а саме для
будь-яких двох вузлiв vi i vj iснує прямий шлях, що йде вiд vi до vj .

Означення 14. Ланцюг Маркова є аперiодичним, якщо вiн незвiдний, а


його матриця переходiв P примiтивна.
Назвемо векторомP ймовiрностi будь-який невiд’ємний вектор-рядок pT =
n
(p1 , ..., pn ), такий, що i=1 pi = 1.

Означення 15. Вектор ймовiрностi p — це стацiонарний вектор ймовiр-


ностi для ланцюга Маркова з матрицею переходiв P якщо

pT P = pT

Зауваження. Ввиявляється, що важливiсть P у тому, щоб бути незвiдною.


Фактично з теореми Перрона-Фробенiуса в у цьому випадку гарантується
iснування та єдинiсть стацiонарного вектора ймовiрностi. Це вирiшальний
аспект у алгоритмi PageRank.
Зрозумiло, що вектори ймовiрностi є правильними теоретичними спосо-
бами опису системи з плином часу. Нам потрiбно просто формалiзувати
спосiб змiни векторiв ймовiрностi в часi.
Припустимо, що у нас є початковий вектор ймовiрностi

pT (0) = (p1 (0), ..., pn (0)).

Цей вектор дає ймовiрностi того, що система перебуває в станi 1, ..., n


при t = 0. Таким же чином

pT (t) = (p1 (t), ..., pn (t))

буде вектором ймовiрностi в момент часу t: вiн дає ймовiрностi, що система


перебуває в станi 1, ..., n в момент часу t. Тепер, враховуючи ймовiрностi
в момент t, давайте обчислимо ймовiрнiсть того, що система перебуває в
станi j в момент часу t + 1

16
 
pj (t + 1) = P rob(Xt+1 = j) = P rob (Xt+1 = j) ∩ (Xt = 1 ∪ ... ∪ Xt = n)
 
= P rob (Xt+1 = j ∩ Xt = 1) ∩ ... ∩ (Xt+1 = j ∩ Xt = n)
n
X
= P rob(Xt+1 = j ∩ Xt = i)
i=1
Xn
= P rob(Xt+1 = j | Xt = i) · P rob(Xt = i)
i=1
Xn
= pij · pi (t).
i=1

Це означає, що j-ий компонент вектора рядка pT (t + 1) задається вну-


трiшнiм добутком вектора pT (t) на себе по j-му стовпцю матрицi переходiв
P . У матрично-векторнiй формi

pT (t + 1) = pT (t)P.

Це означає, що для будь-якого часу t = 1, 2, ... можемо написати

pT (t) = pT (0)P t

Як ми побачимо в наступному пiдроздiлi, це характерний основний крок


степеневого методу.

4 PageRank алгоримт
Основним кроком алгоритму Google PageRank є iтерацiя методу, який ми
описуємо в наступному пiдроздiлi.

4.1 Степеневий метод


З метою знаходження домiнантного власного значення матрицi разом iз вiд-
повiдним власним вектором великий розроблено рiзноманiтнi методи. Цей
метод є фундаментальним кроком в алгоритмi Google PageRank.
Розглянемо квадратну матрицю n × n A, яка має n лiнiйно незалежних
власних векторiв, пов’язаних з власними значеннями λ1 , λ2 , ..., λn i припу-
стимо
|λ1 | > |λ2 | ≥ ... ≥ λn |.
Це означає, що ми припускаємо, що домiнантне власне значення λ1 має
алгебраїчну кратнiсть одиницю. Назвемо v1 , v2 , ..., vn вiдповiдним власними
векторами. Це означає

Av i = λi v i , i = 1, 2, ..., n.

Степеневий метод, починаючи з будь-якого довiльно обраного вектора


x(0) , створює послiдовнiсть векторiв {x(k) }, яка сходиться до власного ве-
ктора, пов’язаного з домiнуючим власним значенням.

17
Нехай x(0) є довiльним вектором у Rn . Ми можемо записати x(0) як
лiнiйну комбiнацiю v1 , v2 , ..., vn що, тому що гiпотеза лiнiйної незалежностi,
є основою Rn .
Xn
x(0) = αi v i i α ̸= 0.7
i=1

Починаючи з x (0)
, ми можемо побудувати послiдовнiсть
(1)
x = Ax(0) , x(2) = Ax(1) , ..., x(k) = Ax(k−1) , ...
Справедливий наступний результат:
Теорема 5. Для послiдовностi {x(k) }k∈N маємо що
xj (k+1) x(k)
lim = λ1 lim = cv 1 (1)
k→+∞ xj (k) k→+∞ xj (k)

де j - iндекс, для якого x(k) j ̸= 0, для кожного значення k.


Доведення. З визначення послiдовностi {x(k) } маємо
n
X n
X n
X
x(k) = Ax(k−1) = A2 Ax(k−2) = ... = Ak x(0) = Ak αi v i = αi Ak v i = αλk i v i .
i=1 i=1 i=1

Зiбравши λ k
1 отримуємо
n  k !
(k) k 1
X λi i
x = λ1 α1 v + αi v
λ1
i=2

i потiм !
n  k+1
(k+1) k+1 1
X λi i
x = λ1 α1 v + αi v
λ1
i=2

Тодi для iндексiв j, для яких x(k) j ̸= 0 та vj 1 ̸= 0 можна записати


Pn  k+1
1 λi
xj (k+1) α1 v j + i=2 αi λ1 vj i
= λ1  k (2)
xj (k) Pn
α1 vj 1 + i=2 αi λλ1i vj i

Так як | λλ1i < 1 для 2 ≤ i ≤ n, маємо

xj (k+1)
= λ1 lim
k→+∞ xj (k)
n (k) o
Тепер розглянемо послiдовнiсть векторiв xxj (k) , взявши знову, для ко-
жного значення k, x(k) j компонент вiдмiнний вiд нуля. Тодi
Pn  k+1
1 λi
x(k+1) α 1 v + α
i=2 i λ1 vi
= λ1  k
xj (k) Pn
α1 vj 1 + i=2 αi λλ1i vj i
7 Умова означає, що нам не потрiбно починати з точки в пiдпросторi, охопленої вла-
сними векторами v 2 , v 3 , ..., v n . Нам потрiбно x(0) , щоб мати компонент у пiдпросторi,
охопленому v 1 .

18
i знову, взявши границю при k → +∞, отримуємо

x(k+1) v1
lim (k)
= 1 ,
k→+∞ xj v j
це «нормалiзацiя» власного вектора v1 .
Зауваження. Власне значення можна отримати також як границю iншої
послiдовностi, а саме як
T
x(k) Ax(k)
lim
k→+∞ x(k) T x(k)

тобто границя выдношення Релея послiдовностi x(k) .


Зауваження. Варто уточнити, що в практичних реалiзацiях методу деякi
чисельнi задачi ймовiрно виникнуть. Метод, якщо реалiзований так, як вiн
був представлений, дає проблеми з переповненням/недоповненням. Тому
на кожному кроцi зручно нормувати вектор x(k) . Властивостi сходження не
змiнюються i ми не допускаємо, щоб норми ставали занадто великими.

4.2 PageRank алгоритм


Ми даємо основний опис алгоритму, а для подальшої роботи залишимо
подальший аналiз та деякi моделювання.
Google є однiєю з найважливiших пошукових систем, доступних в Iнтер-
нетi. По сутi, двигун, у вiдповiдь на запитання вiдповiдає класифiкацiєю в
порядку певної важливостi веб-сторiнок, пов’язаних з самим запитом. Як
ми всi знаємо, вiдповiдь майже миттєва.
Серцем реалiзацiї механiзму є алгоритм пiд назвою PageRank. Вiн за-
снований на концепцiї «популярнiстi посилань»: певна веб-сторiнка є ва-
жливою, якщо, крiм отримання посилань з iнших важливих сторiнок, має
деяку кiлькiсть посилань на iншi сторiнки.
Формальне представлення концепцiї дається наступною формулою. P i
Q — це сторiнки Iнтернету i ми позначаємо за допомогою r(P ) i r(Q) ранги
сторiнок, а саме їх важливiсть.
X r(Q)
r(P ) = , (3)
|Q|
Q→P

де |Q| – кiлькiсть зовнiшнiх посилань сторiнки Q, а Q → P означає, що су-


мування розширюється над сторiнками Q, якi мають посилання на сторiнку
P.
Зауваження. Звичайно, сенс полягає в тому, що для рейтингу P лише сто-
рiнки, пов’язанi з P , мають релевантнiсть i важливiсть цих сторiнок змен-
шується з загальною кiлькiсть посилань на цих сторiнках. Чим менше зов-
нiшнiх посилань на сторiнцi має тим краще для рейтингу P .
Ми можемо надати рiвнянню матричну форму. Давайте {P1 , P2 , ..., Pn }
— n сторiнок в Iнтернетi. Ми можемо визначити матрицю переходу A, а саме
матрицю ймовiрностей переходу зi сторiнки на iншу, у наступному спосiб:
(
1
, якщо Pj → Pi
aij = P rob(Pj → Pi ) = |Pj |
0, в iншому випадку.

19
Звичайно, цей параметр передбачає, що якщо Pj пов’язаний з Pi , перехiд
вiд Pj до Pi є лише одним iз |Pj | можливих переходiв, кожен з яких має
однакову ймовiрнiсть.
Причина, чому домiнантне власне значення та вiдповiдний йому власний
вектор є важливими в алгоритмi PageRank зараз стане явною. Припустимо,
що ми збираємо ранги всiх веб-сторiнок у векторi r i припустимо, що ми
хочемо це зробити iтерацiйним способом, починаючи з попередньої оцiнки
самого r. На початку найрозумнiший або, можливо, єдино можливий спосiб,
полягає в припущеннi, що всi сторiнки мають однаковий ранг i, оскiльки
ймовiрностi є неявно задiянi, r = r(0) є «вектором рiвномiрного розподiлу»
1 1 1 T 8
r(0) =
, , ..., .
n n n
Давайте перепишемо рiвняння (3) у термiнах n сторiнок P1 , P2 , ..., Pn
мережi, i зокрема для i-ї сторiнки Pi , пiсля першого переходу:

X r(0) j X 1 Xn
ri (1) (P ) = = · r(0) j = aij · r(0) j i = 1, 2, ..., n
|Pj | |Pj |
Pj →Pi Pj →Pi j=1

У матричному/векторному виглядi попереднє рiвняння можна записати


так
r(1) = Ar(0) .
Тодi чiтко визначається iтеративна послiдовнiсть, а саме

rk+1 = Ar(k) k = 0, 1, ...

i це загальна iтерацiя степеневого методу. Ми бачили, що границя послi-


довностi є власним вектором пов’язаним з домiнуючим власним значенням.
Ранги веб-сторiнок є компонентами цього граничного вектора, зручно нор-
малiзованi.
Зауваження. Пара негайних зауважень. По-перше, очевидною є надзвичай-
на важкiсть обчислень. Кiлькiсть веб-сторiнок перевищує пару мiльярдiв, i
це довжина вектора рангу r i порядок матрицi .
Бiльш теоретичний аспект полягає в тому, що iснування та властивостi
домiнантного власного значення залежать вiд деяких властивостi матрицi
A, i на даний момент ми не знаємо, чи має матриця переходiв цi властивостi.
Ми розглянемо цi деталi в наступнiй роботi.

8 Транспонування потрiбне в наступних векторних/матричних позначеннях.

20
5 Практична частина
Можна iмплементувати цей алгоритм за допомогою Python-у.

21
6 Висновок
Алгоритм PageRank, ядро методу, що використовує Google Search, щоб да-
вати нам вiдповiдi на запитання, якi ми ставимо в мережi, мiстить багато
математики. Можна було б сказати, що графи та Ланцюги Маркова на за-
дньому планi, у той час як найважливiшi кроки про- ходять в контекстi лi-
нiйної алгебри, оскiльки у розра- хунки залученi власнi значення матриць.
У цiй роботi ми будемо мали справу з усiєю потрiбною математикою для
пояснення принципу роботи PageRank методу та втiлили цей метод за до-
помогою мови програмування Python.

Лiтература
[1] Ван Лоан Г. Г. Голуб. 1996.
[2] Л. Р. Фолдс. Застосування теорiї графiв. Шпрингер-Верлаг, 1992.

22

You might also like