167
Google (2011/08/12 ) ( ) Random Walk & Google Page Rank Agora on Aug. 2011 1 / 167

グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

  • Upload
    others

  • View
    4

  • Download
    1

Embed Size (px)

Citation preview

Page 1: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

グラフ上のランダムウォークとGoogle のページランク

内藤 久資

名古屋大学多元数理科学研究科

2011年度数学アゴラ夏季集中コース2011年8月

(2011/08/12 改訂版)

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 1 / 167

Page 2: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

Introduction

はじめに

コンピュータやインターネットで使われている数学

コンピュータやプログラムの基本論理:

ラムダ計算・数理論理学

画像・動画・音声などの処理:

フーリエ変換(解析学)・符号理論(代数学)

3Dグラフィックス:

アフィン幾何学・射影幾何学・微分幾何学

コンピュータネットワーク:

グラフ理論・確率論・暗号(整数論・代数学)

この他にもいろいろ

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 2 / 167

Page 3: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

Introduction

はじめに

今回の数学アゴラでは

夏の数学アゴラ

ランダムウォークと Google ページランク

秋の数学アゴラ

線形代数と3Dグラフィックス

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 3 / 167

Page 4: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

Introduction

話の計画

想定している予備知識

おおよそ高校2年程度の数学

ある程度知っていると仮定していること

◮ 連立一次方程式・二次方程式・複素数◮ 平面ベクトル・数列・確率

知っていると望ましいこと◮ 空間ベクトル・行列・一次変換◮ 三角関数・和の記号(Σ)◮ 数列の収束

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 4 / 167

Page 5: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

Introduction

話の計画

Plan of Talk

1日目◮ Google ページランクとは何か (Section 2)

◮ 連立一次方程式と線形代数 (Section 3.1 ~ 3.3)

2日目◮ 連立一次方程式と線形代数 (Section 3.4 ~ 3.5)

◮ 行列の固有値と固有ベクトル (Section 3.6 ~ 3.8)

3日目◮ グラフとランダムウォーク (Section 4.1 ~ 4.6)

4日目◮ Google ページランクとその計算 (Section 5)

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 5 / 167

Page 6: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

Introduction

話の計画

この話の目標

以下の中身を「数学」として理解すること

◮ Google のページランクはどのような考え方の下に決まっているか?

◮ その考え方の基礎になっている数学はどのようなものか?

◮ 実際にページランクを計算する際に問題となることは何か?

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 6 / 167

Page 7: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

Google ページランクとは?

Google ページランクとは?

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 7 / 167

Page 8: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

Google ページランクとは?

Google ページランク

Google ページランクとは何か? (Section 1.1)

「Google 検索」を実現している技術

◮ インターネット上に存在するウェブページのデータを収集する

◮ ウェブページのデータから「キーワード」を抜き出し

データベースに保存する

◮ キーワードに一致するウェブページの情報を

データベースから検索する

◮ キーワードに一致したウェブページを

「重要なものを上位にして」表示する

「重要なものを上位に表示」=「ページランクの順位で表示」

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 8 / 167

Page 9: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

Google ページランクとは?

Google ページランク

Google ページランクとは何か? (Section 2)

「ページランク」とは

◮ 検索結果のウェブページの情報の重要度をきめる尺度

◮ Google の研究者である S.Brin と L.Page によって定義された

(1999 年)

◮ 「L.Page によるランク付け」という言葉の意味もある

「重要度」は以下の2つの考え方による

◮ 多くのページからリンクされているページは「重要なページ」

◮ 重要なページからリンクされているページは「重要なページ」

すべてのウェブページに「重要度」という数値を計算する

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 9 / 167

Page 10: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

Google ページランクとは?

問題のモデル化

ページランクのモデル化 (Section 2.1)

ページランクのように数学的に曖昧な問題には

「モデル化」ということを行う必要がある

「問題のモデル化」とは...

◮ 問題の本質的な部分を抜き出して

◮ 数学の言葉に書き直す

◮ 細かいことは後からモデルを修正することで対応する

なので, 細かいことは気にせず,

「うまく記述できる」数学的なモデルを探すことが重要

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 10 / 167

Page 11: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

Google ページランクとは?

問題のモデル化

ページランクのモデル化 (Section 2.1)

ウェブページの中身◮ ウェブページは「HyperText Mark up Language」と呼ばれる

仕様で記述されている◮ HTML の中には「Hyper Link」と呼ばれる

他のページへのリンク情報が書いてある

そこで....

◮ 各ページを「1つの点」とおきかえる◮ ページ A にページ B へのリンクがあるとき

「A から B への矢印」をつける◮ これをすべてのページに適用する

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 11 / 167

Page 12: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

Google ページランクとは?

問題のモデル化

ページランクのモデル化 (Section 2.1)

世界に3つのページ v1, v2, v3 のみが存在し,

v1 からは v2, v3 へ, v2 からは v3 へ, v3 からは v1 へ

リンクがあるとき

このリンクをあらわす図は以下のようになる.v1

v2 v3

(Example 2.1.1, P.5)

このような「頂点と向きの付いた辺の組」を

「グラフ」(「有向グラフ」)と呼ぶ.

(Definition 2.1.2, P. 5)

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 12 / 167

Page 13: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

Google ページランクとは?

問題のモデル化

ページランクのモデル化 (Section 2.1)

ページランクのモデル化の第1ステップ:

「インターネット上のウェブデータ全体のリンク構造を

(有向)グラフと考える」

ページランクの定義 (Definition 2.1.3, P. 6)

ページ vi のランク r(vi) を次の式で定義する

r(vi) =∑

vj∈Bvi

r(vj)

|vj |(2.1)

(ただし Bviは vi を始点とする辺の集合)

「すべてのページに対するページランクの値の組 {r(vi)} を

式 (2.1) が成り立つように定義する」という意味である.

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 13 / 167

Page 14: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

Google ページランクとは?

問題のモデル化

ページランクのモデル化 (Section 2.1)

Example 2.1.6 のグラフから決まるページランクの式

r1 = r3,

r2 =1

2r1,

r3 =1

2r1 + r2

(2.2)

(Example 2.1.6, P. 7)

これは, 未知数 {r1, r2, r3} に対する連立一次方程式

連立一次方程式 (2.2) の解

r1 = k, r2 = k/2, r3 = k

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 14 / 167

Page 15: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

Google ページランクとは?

問題のモデル化

ページランクのモデル化 (Section 2.1)

Example の連立一次方程式 (2.2) は

r1 − r3 = 0,

−1

2r1 + r2 = 0,

−1

2r1 − r2 + r3 = 0

(2.3)

の形をしているので (0, 0, 0) は明らかに解となる

なので (0, 0, 0) 以外の解を探す必要がある

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 15 / 167

Page 16: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

Google ページランクとは?

問題のモデル化

ページランクのモデル化 (Section 2.1)

これでページランクを以下のようにモデル化できた

◮ インターネット上のウェブデータ全体のリンク構造を

有向グラフと考え

◮ 連立一次方程式 (2.1) の解として

ページランクを定義する

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 16 / 167

Page 17: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

Google ページランクとは?

問題の確率的なモデル化

ページランクの確率的なモデル化 (Section 2.2)

ページランクのもう一つのモデル化として

ユーザの滞在確率に基づくモデル化ができる

ある時刻 t = n でのインターネットの滞在ユーザのうち

ページ vi に滞在しているユーザの割合を pi(n) とおく

ページ vi に滞在しているユーザは

次の時刻 t = n + 1 にはリンクをたどって他のページに

移動する

ユーザがページ内のどのリンクをクリックするかは

等確率と仮定する

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 17 / 167

Page 18: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

Google ページランクとは?

問題の確率的なモデル化

ページランクの確率的なモデル化 (Section 2.2)

長時間にわたって, このプロセスを繰り返したときの各ページのユーザの滞在確率

p(vi) = pi = limn→∞

pi(n)

をページ vi のページランクと定義する.

つまり {pi(n)} から {pi(n + 1)} をきめる式は

pi(n + 1) =∑

vj∈Bvi

1

|vj |pj(n) (2.4)

で与えられる.

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 18 / 167

Page 19: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

Google ページランクとは?

問題の確率的なモデル化

ページランクの確率的なモデル化 (Section 2.2)

Example 2.1.1 の場合

p1(n + 1) = p3(n),

p2(n + 1) =1

2p1(n),

p3(n + 1) =1

2p1(n) + p2(n)

(2.5)

p1(0) = 1, p2(0) = p3(0) = 0 の時t 1 2 3 4 5 6 7 8 9 · · ·

p1 0 1/2 1/2 1/4 1/2 3/8 3/8 7/16 3/8 → 2/5p2 1/2 0 1/4 1/2 1/8 1/4 3/16 3/16 7/32 → 1/5p3 1/2 1/2 1/4 1/2 3/8 3/8 7/16 3/8 13/32 → 2/5

長時間経過したときの滞在確率 (p1, p2, p3) = (2/5, 1/5, 2/5)

は Example 2.1.6 の連立一次方程式の解になる

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 19 / 167

Page 20: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

Google ページランクとは?

問題の確率的なモデル化

ページランクの確率的なモデル化 (Section 2.2)

Theorem 2.2.4 (P. 9)

数列 {pi(n)} を漸化式 (2.4) で定義する.

すべての i について pi(n) の n → ∞ としたときの

極限 pi が存在すると仮定すれば, 極限 {pi} は

pi =∑

vj∈Bvi

1

|vj|pj (2.6)

をみたす

つまり, この定理の仮定の下では

両方のモデルによる定義式 (2.6), (2.1) は同じ

要するに「どっちのモデルで考えてもよい」

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 20 / 167

Page 21: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

Google ページランクとは?

モデル化のまとめ

ページランクのモデル化のまとめ (Section 2.3)

インターネット上のウェブデータ全体のリンク構造を(有向)グラフと考え

◮ 各ページのリンク情報をあらわす連立一次方程式の解を

ページランクとする◮ ユーザの滞在確率をページランクとする

のいずれかのモデルを考えればよいことがわかる

いずれのモデルであっても次のような問題を考察する必要がある

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 21 / 167

Page 22: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

Google ページランクとは?

モデル化のまとめ

ページランクのモデルに関する問題 (Section 2.3)

これらのモデルを考えるために適切な数学の道具は何か?第一のモデルについて:

◮ この連立一次方程式は, 必ず解を持つのか?◮ 解を持つとしたら, その解はただ一つに限るのか?

第二のモデルについて:◮ 長時間経過したときに, 滞在確率は, 必ずある一定の値に収束するのか?

◮ それは初期条件(t = 0 での滞在確率)の与え方に依存するのか?

◮ 「長時間」とはどのくらいの時間(計算ステップ数)を意味するのか?

これらの計算プロセスは, どのくらいの時間がかかるのか?数万~数十億ページを含むデータに対して計算可能なのか?

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 22 / 167

Page 23: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

連立一次方程式と線形代数

連立一次方程式と線形代数

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 23 / 167

Page 24: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

連立一次方程式と線形代数

連立一次方程式

連立一次方程式 (Section 3.1)

ここでは連立一次方程式{

ax + by = x1,

cx + dy = y1,(3.1)

の解について調べよう

本当は, より一般の連立一次方程式を調べたいのだけど...

a11x1 + a12x2 + · · · + a1NxN = a1,

a21x1 + a22x2 + · · · + a2NxN = a2,

...

aN1x1 + aN2x2 + · · · + aNNxN = aN ,

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 24 / 167

Page 25: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

連立一次方程式と線形代数

連立一次方程式

連立一次方程式 (Section 3.1)

(3.1) の解について, 高校では次のようにならう(はず)

1 直線 ax + by = x1, cx + dy = y1 が相異る2直線であり,平行でない場合には, 2直線の共有点は xy-平面上の1点となり,その点が (3.1) の解となる. 特に, 解は次のように書ける.

x =by1 − dx1

ad − bc, y =

ay1 − cx1

ad − bc

2 直線 ax + by = x1, cx + dy = y1 が同一の直線となる場合には, その同一の直線 ax + by = x1 上のすべての点が (3.1) の解となる.

3 直線 ax + by = x1, cx + dy = y1 が平行な相異る2直線である場合には, この2直線の共有点は存在しないので, (3.1) の解は存在しない.

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 25 / 167

Page 26: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

連立一次方程式と線形代数

連立一次方程式

連立一次方程式 (Section 3.1)

前ページの事実を次のことを使って書き換える.

◮ 「ax + by = x1, cx + dy = y1 が平行」

⇐⇒ 「ad − bc = 0」◮ 「ax + by = x1, cx + dy = y1 が同一の直線」

⇐⇒ 「a : b : x1 = c : d : y1」

(3.1) の解の存在は次のように分類できる

1 ad − bc 6= 0 ならば, (3.1) はただひとつの解を持つ

2 ad − bc = 0 かつ by1 − dx1 = 0 (または ay1 − cx1 = 0)ならば, ax + by = x1 をみたすすべての (x, y) が (3.1) の解となる.

3 ad − bc = 0 かつ by1 − dx1 6= 0 (または ay1 − cx1 6= 0) ならば, (3.1) の解は存在しない.

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 26 / 167

Page 27: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

連立一次方程式と線形代数

連立一次方程式

連立一次方程式 (Section 3.1)

重要なこと

「解がただひとつに決まる」⇐⇒ 「ad − bc 6= 0」

連立一次方程式を「写像」と考える(

xy

)

7→

(

ax + bycx + dy

)

xy-平面上の点 (x, y) を (ax + by, cx + dy) へ「移動」した

とき (ax+ by, cx+ dy) = (x1, y1) となる点 (x, y) が見つかる

⇐⇒ (x, y) は (3.1) の解

このとき ad − bc 6= 0 という条件は何を意味するのか?

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 27 / 167

Page 28: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

連立一次方程式と線形代数

数ベクトル空間

ベクトル (Section 3.2)

「ベクトル」とはN 個の実数 {xi}Ni=1 を縦に並べたもの

x =

x1...

xN

x = (xi) と簡単に書いてしまうこともある

(Definition 3.2.1, P. 13)

各 xi を x の第 i 成分と呼ぶ

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 28 / 167

Page 29: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

連立一次方程式と線形代数

数ベクトル空間

数ベクトル空間 (Section 3.2)

N 成分の列ベクトル全体の集合

RN =

x =

x1...

xN

: xi ∈ R

を N 次元数ベクトル空間と呼ぶ

(Definition 3.2.2, P. 13)

RN の元で, すべての成分が 0 であるベクトルを零ベクトル

0 と書く (Definition 3.2.4, P. 13)

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 29 / 167

Page 30: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

連立一次方程式と線形代数

数ベクトル空間

数ベクトル空間 (Section 3.2)

2次元数ベクトル空間 R2 の元と

xy-平面上の点とは1対1対応がある◮ xy-平面上の座標 (x, y) を持つ点と

ベクトル x =

(

xy

)

は1対1に対応する

3次元数ベクトル空間 R3 の元と

xyz-空間内の点は1対1に対応する

N 次元数ベクトル空間 RN は

座標平面・座標空間を一般化した概念

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 30 / 167

Page 31: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

連立一次方程式と線形代数

数ベクトル空間

ベクトルの和とスカラー倍 (Section 3.2)

RN の2つのベクトル x, y ∈ R

N に対して和 x + y

x =

x1...

xN

, y =

y1...

yN

=⇒ x + y =

x1 + y1...

xN + yN

a ∈ R, x ∈ RN に対して x の a 倍(スカラー倍)

x =

x1...

xN

=⇒ ax =

ax1...

axN

(Definition 3.2.6, P. 14)

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 31 / 167

Page 32: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

連立一次方程式と線形代数

数ベクトル空間

ベクトル空間とは (Section 3.2)

ベクトル空間とは◮ 和とスカラー倍が定義できて◮ 零ベクトルと呼ばれる特別な元が存在する集合のこと

数ベクトル空間と

座標平面・座標空間を同一視することによって

座標平面・座標空間に演算が定義できるようになった

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 32 / 167

Page 33: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

連立一次方程式と線形代数

数ベクトル空間

ベクトル空間の部分空間 (Section 3.2)

RN の部分集合 W が部分空間であるとは

W が以下の3つの条件をみたすこと

1 零ベクトルは W に含まれる. すなわち, 0 ∈ W である.

2 W の任意の2つの元 x, y ∈ W に対して x + w ∈ W をみたす.

3 W の任意の元 x ∈ W と任意の a ∈ R に対して ax ∈ W をみたす.

R2 の部分空間とは xy-平面上の原点を通る直線のこと

R3 の部分空間とは

xyz-空間内の原点を通る直線または原点を通る平面のこと

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 33 / 167

Page 34: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

連立一次方程式と線形代数

数ベクトル空間

ベクトル空間の部分空間の例 (Section 3.2, Example 3.2.9)

x ∈ R2 に対してW = {ax : a ∈ R} は

xy-平面上で, 原点を通り, 方向ベクトルが x となる直線

◮ x =

(

12

)

ならばW =

{(

a2a

)}

(直線 y = 2x 上の点全体)

x, y ∈ R3 (x は y のスカラー倍でない)に対して

W = {ax + by : a, b ∈ R}

は xyz-座標空間内で, 原点を通り, x, y を含む平面

◮ x =

110

, y =

011

ならばW =

aa + b

b

(平面 x − y + z = 0 上の点全体)

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 34 / 167

Page 35: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

連立一次方程式と線形代数

数ベクトル空間

ベクトル空間・部分空間の次元 (Section 3.2)

我々が普通に思っている次元◮ 「1点」=「0次元」◮ 「直線」=「1次元」◮ 「平面」=「2次元」◮ 「空間」=「3次元」

「次元」=「自由に動き回れる方向」

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 35 / 167

Page 36: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

連立一次方程式と線形代数

数ベクトル空間

ベクトル空間・部分空間の次元 (Section 3.2)

RN の中の k 本のベクトルの組 {x1, . . . xk} が一次独立

a1x1 + · · · + akxk = 0 =⇒ a1 = · · · = ak = 0

が成り立つこと◮ 一次独立でないとき一次従属という

(Definition 3.2.11, P. 15)

2つのベクトル {x,y} が平行でない⇐⇒ {x,y} は一次独立

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 36 / 167

Page 37: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

連立一次方程式と線形代数

数ベクトル空間

ベクトル空間・部分空間の次元 (Section 3.2, Example 3.2.13)

ベクトルの組 {x,y,z} が一次従属であると仮定する

ax + by + cz = 0

かつa, b, c のうち少なくとも一つは 0 でない

◮ a 6= 0 と仮定すると, x = − bay − c

az

◮ よって, ベクトル x は y と z を含む平面上の点をあらわす

y

z

x

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 37 / 167

Page 38: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

連立一次方程式と線形代数

数ベクトル空間

ベクトル空間・部分空間の次元 (Section 3.2, Example 3.2.14)

x =

(

12

)

, y =

(

1−1

)

:一次独立

x =

(

12

)

, y =

(

−2−4

)

:一次従属 (y + 2x = 0)

x =

110

, y =

011

:一次独立

x =

110

, y =

011

, z =

1−11

:一次独立

x =

110

, y =

011

, z =

231

:一次従属 (2x+y−z = 0)

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 38 / 167

Page 39: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

連立一次方程式と線形代数

数ベクトル空間

ベクトル空間・部分空間の次元 (Section 3.2)

数ベクトル空間またはその部分空間 V の次元が k

(dim V = k)

◮ V の中から一次独立な k 個のベクトルの組を選べる◮ V の任意の k + 1 個のベクトルは一次従属

(Definition 3.2.15, P. 17)

これで我々がおもっている「自由に動ける方向の自由度」

と一致した次元になる

dim RN = N なので, R

N の中から N 個のベクトルの組

{x1, . . . ,xN} で一次独立なものを選ぶことができる

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 39 / 167

Page 40: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

連立一次方程式と線形代数

数ベクトル空間

ベクトル空間・部分空間の基底 (Section 3.2)

dim V = k のとき一次独立な V のベクトル k 個からなる組を基底と呼ぶ

(Definition 3.2.19, 18)

数ベクトル空間 RN において

e1 =

10...0

, · · · , eN =

0...01

∈ RN

は基底になる:RN の標準基底

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 40 / 167

Page 41: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

連立一次方程式と線形代数

数ベクトル空間

ベクトル空間・部分空間の基底 (Section 3.2)

dim V = k であって, {x1, . . . ,xk} が基底であるとき◮ すべての x ∈ V は

x = a1x1 + · · · + akxk

と書くことができる

◮ 一次独立なベクトルの組の上のような和で書くことを

一次結合であらわすという

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 41 / 167

Page 42: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

連立一次方程式と線形代数

数ベクトル空間

ベクトル空間・部分空間の基底 (Section 3.2)

R2 の基底の例:(Example 3.2.21, P. 18)

◮ e1 =

(

10

)

, e2 =

(

01

)

:標準基底

◮ x1 =

(

11

)

, x2 =

(

1−1

)

◮ y1 =

(

10

)

, y2 =

(

11

)

このほかにも無数の基底の取り方がある

x =

(

23

)

を上のそれぞれの基底の一次結合で書いてみる

x = 2e1 + 3e2 =5

2x1 −

1

2x2 = −y1 + 3y2

(Example 3.2.24, P. 18)

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 42 / 167

Page 43: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

連立一次方程式と線形代数

数ベクトル空間

ベクトルのノルム (Section 3.2)

RN のベクトル x のノルム ‖x‖ とは

1 x ∈ RN に対して, ‖x‖ は非負実数をきめる

2 x ∈ RN , k ∈ R に対して, ‖kx‖ = |k| ‖x‖ が成り立つ

3 x, y ∈ RN に対して, ‖x + y‖ ≤ ‖x‖ + ‖y‖ が成り立つ

4 ‖x‖ = 0 ⇐⇒ x = 0 が成り立つ

(Definition 3.2.25, P. 19)

通常我々が使う「ベクトルの長さ」,

「ベクトルの間の角度」, 「2点間の距離」をきめている√

x2 + y2 のなかから

「ベクトルの長さ」がもつ性質だけを抜き出したもの

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 43 / 167

Page 44: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

連立一次方程式と線形代数

数ベクトル空間

ベクトルのノルム (Section 3.2)

よく利用されるノルムの例 (Example 3.2.26, P. 19)

‖x‖1 = |x1| + · · · + |xN |,

‖x‖2 =√

|x1|2 + · · · + |xN |2,

‖x‖∞ = maxi=1,...,N

|xi|

1−1

1

−1

1−1

1

−1

1−1

1

−1

‖x‖1 = 1 ‖x‖2 = 1 ‖x‖∞ = 1

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 44 / 167

Page 45: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

連立一次方程式と線形代数

行列と連立一次方程式

行列 (Section 3.3, Definition 3.3.1)

N × N 行列(N 次正方行列)

A =

a11 a12 · · · a1N

a21 a22 · · · a2N...

.... . .

...aN1 an2 · · · aNN

=(

a1 . . . aN

)

=

a1...

aN

aij : A の (i, j) 成分

前から k 列目の列ベクトル ak =

a1k...

aNk

を第 k 列

前から ℓ 行目の行ベクトル aℓ =(

a1ℓ · · · aNℓ

)

を第 ℓ 行

簡単に A = (aij) と書いちゃうこともある

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 45 / 167

Page 46: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

連立一次方程式と線形代数

行列と連立一次方程式

行列 (Section 3.3, Definition 3.3.3)

A = (aij) の aii の部分:対角成分

E =

1 · · · 0...

. . ....

0 · · · 1

単位行列

O =

0 · · · 0...

. . ....

0 · · · 0

零行列

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 46 / 167

Page 47: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

連立一次方程式と線形代数

行列と連立一次方程式

行列の和とスカラー倍 (Section 3.3, Definition 3.3.4)

N × N 行列 A = (aij), B = (bij) に対して, 和 A + B を

A + B = (aij + bij)

k ∈ R, N × N 行列 A = (aij) に対して, スカラー倍 kA を

kA = (kaij)

A =

(

1 23 4

)

, B =

(

3 12 5

)

のとき

A + B =

(

4 34 9

)

, 3A =

(

3 69 12

)

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 47 / 167

Page 48: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

連立一次方程式と線形代数

行列と連立一次方程式

行列とベクトルの積 (Section 3.3)

(縦ベクトル) x = (xi) ∈ RN と

N × N 行列 A = (aij) の積 Ax を

Ax =

(

N∑

k=1

aikxk

)

結果は RN の縦ベクトル (Definition 3.3.5, P. 21)

A =

(

1 23 4

)

, x =

(

23

)

のときAx =

(

818

)

A =

(

a bc d

)

, x =

(

xy

)

のときAx =

(

ax + bycx + dy

)

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 48 / 167

Page 49: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

連立一次方程式と線形代数

行列と連立一次方程式

行列と行列の積 (Section 3.3)

N × N 行列 A = (aij), B = (bij) の積 AB を

AB =

(

N∑

k=1

aikbkj

)

結果は N × N 行列 (Definition 3.3.6, P. 21)

A =

(

a bc d

)

, B =

(

x yw z

)

のとき

AB =

(

ax + bw ay + bzcx + dw cy + dz

)

, BA =

(

ax + cy bx + dyaw + cz bw + dz

)

A =

(

1 23 4

)

, B =

(

2 34 5

)

のとき

AB =

(

10 1322 29

)

BA =

(

11 1619 28

)

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 49 / 167

Page 50: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

連立一次方程式と線形代数

行列と連立一次方程式

行列 (Section 3.3)

N × N 行列 A = (aij), B = (bij) の積 AB は

B =(

b1 · · · bN

)

と縦ベクトルで書いたとき

AB =(

Ab1 · · · AbN

)

として N 個の「行列×ベクトル」の計算をしていること

(Remark 3.3.12, P. 22)

N × N 行列 A = (aij) に対して

その転置行列 AT をAT = (aji) と定義する

(行と列を入れ替えた行列のこと)

(Definition 3.3.7, P. 21)

A =

(

a bc d

)

のときAT =

(

a cb d

)

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 50 / 167

Page 51: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

連立一次方程式と線形代数

行列と連立一次方程式

連立一次方程式を行列で書く (Section 3.3, Example 3.3.13)

連立一次方程式{

ax + by = x1,

cx + dy = y1,(3.1)

A =

(

a bc d

)

, x =

(

xy

)

, b =

(

x1

y1

)

とおくとAx = b

と単純な形で書くことができる

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 51 / 167

Page 52: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

連立一次方程式と線形代数

線形写像

線形写像 (Section 3.4)

N × N 行列 A = (aij) が定める線形写像(一次変換)

RN ∋ x 7→ Ax ∈ R

N

のこと (Definition 3.4.1, P. 23)

線形写像は次の性質を持つ.

1 A0 = 0.

2 任意の x, y ∈ RN , λ, µ ∈ R に対して,

A(λx + µy) = λAx + µAy

が成り立つ.

(Proposition 3.4.2, P. 23)

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 52 / 167

Page 53: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

連立一次方程式と線形代数

線形写像

線形写像の例 (Section 3.4, Example 3.4.4)

A =

(

1 23 4

)

のとき

Ae1 =

(

1 23 4

)(

10

)

=

(

13

)

, Ae2 =

(

1 23 4

)(

01

)

=

(

24

)

よって, Ax =

(

1 23 4

)(

23

)

=

(

818

)

基底 {xi} を取ったとき,

行列 A から定まる線形写像の行き先は,

基底の行き先 {Axi} で完全に記述できる

(Remark 3.4.5, P. 25)

単位行列 E は Ex = x となる線形写像をきめる

零行列 O は Ox = 0 となる線形写像をきめる

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 53 / 167

Page 54: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

連立一次方程式と線形代数

線形写像

線形写像の例 (Section 3.4, Example 3.4.7)

行列A =

(

−1 00 1

)

が定める線形写像は, x 7→ −x, y 7→ y であるので, y 軸に関する折り返し

A =

(

1 00 −1

)

が定める線形写像は x 軸に関する折り返し

原点を通る直線に関する折り返しは線形写像

x Ax

x

Ax

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 54 / 167

Page 55: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

連立一次方程式と線形代数

線形写像

線形写像の例 (Section 3.4, Example 3.4.8)

原点を中心とする角度 θ の回転は

行列A =

(

cos θ − sin θsin θ cos θ

)

できまる線形写像

xAx

θ

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 55 / 167

Page 56: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

連立一次方程式と線形代数

線形写像

逆行列 (Section 3.4)

N × N 行列 A に対して,

AA−1 = A−1A = E

をみたす N × N 行列 A−1 が存在すれば

A−1 を A の逆行列と呼ぶ (Definition 3.4.9, P. 26)

A に逆行列が存在するとき, A は正則とよばれる

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 56 / 167

Page 57: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

連立一次方程式と線形代数

線形写像

逆行列 (Section 3.4)

A =

(

a bc d

)

, A−1 =

(

x yz w

)

とおいて計算してみる

AA−1 =

(

ax + bz ay + bwcx + dz cy + dw

)

=

(

1 00 1

)

◮ ad − bc 6= 0 ならば

A−1 =

(

x yz w

)

=1

ad − bc

(

a −b−c d

)

◮ ad − bc = 0 の時には逆行列が存在しない

(Example 3.4.10, P. 26)

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 57 / 167

Page 58: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

連立一次方程式と線形代数

線形写像

連立一次方程式の解の存在と逆行列 (Section 3.4)

「連立一次方程式がただひとつの解を持つための条件」

⇐⇒

「A が逆行列を持つための条件」

となっていることがわかった

N × N 行列 A が逆行列を持てば

連立一次方程式 Ax = b にはただひとつの解

x = A−1b

が存在する (Theorem 3.4.14, P. 27)

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 58 / 167

Page 59: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

連立一次方程式と線形代数

線形写像

連立一次方程式の解の存在と逆行列 (Section 3.4, Example 3.4.15)

{

x + 2y = 3,

3x + 4y = 4

(

1 23 4

)(

xy

)

=

(

34

)

この行列(

1 23 4

)

には逆行列が存在する

(

xy

)

=

(

−2 132 −1

2

)(

1 23 4

)(

xy

)

=

(

−2 132 −1

2

)(

34

)

=

(

−252

)

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 59 / 167

Page 60: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

連立一次方程式と線形代数

線形写像

ページランクをきめる連立一次方程式 (Section 3.4)

ページランクを計算する際の連立一次方程式

r(vi) =∑

vj∈Bvi

r(vj)

|vj |(2.1)

はAx = x

の形をしている

この連立一次方程式は,

両辺に逆行列を左からかけても解を得ることはできない

ページランクに関係する連立一次方程式を解くためには,

線形写像に関するより詳しい情報が必要

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 60 / 167

Page 61: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

連立一次方程式と線形代数

行列式

逆行列を持つための条件と行列式 (Section 3.5)

2 × 2 行列A =

(

a bc d

)

について以下の4条件は同値

1 A が正則である. (A には逆行列 A−1 が存在する.)

2 ad − bc 6= 0

3 A を2つの列ベクトル a1 =

(

ac

)

, a2 =

(

bd

)

を使って

A = (a1a2) と書いたとき, {a1, a2} が一次独立である.

4 A を2つの行ベクトル a1 =(

a b)

, a2 =(

c d)

を使って

A =

(

a1

a2

)

と書いたとき, {a1, a2} が一次独立である.

(Theorem 3.5.1, P. 28)

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 61 / 167

Page 62: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

連立一次方程式と線形代数

行列式

行列式 (Section 3.5)

2 × 2 行列A =

(

a bc d

)

に対して, その行列式 det A を

det A = ad − bc

で定義する (Definition 3.5.2, P. 28)

N × N 行列の場合の行列式◮ 3 × 3 行列の場合

detA = a11a22a33 + a12a23a31 + a13a21a32

− a13a22a31 − a12a21a33 − a11a23a32

(3次式になっている)◮ N × N 行列の場合には, aij に関する N 次式の N ! 項の和

(Remark 3.5.3, P. 28)

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 62 / 167

Page 63: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

連立一次方程式と線形代数

行列式

逆行列を持つための条件と行列式 (Section 3.5)

N × N 行列A = (aij) に対して, 以下の4条件は同値

1 A が正則である. (A には逆行列 A−1 が存在する.)

2 detA 6= 0

3 A を N 本の列ベクトル ai =

a1i

...aNi

を使って

A = (a1 . . .aN ) と書いたとき, {a1, . . . , aN} が一次独立

4 A を N 本の行ベクトル aj =(

aj1 · · · ajN

)

を使って

A =

a1

...aN

と書いたとき, {a1, . . . , aN} が一次独立

(Theorem 3.5.4, P. 29)

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 63 / 167

Page 64: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

連立一次方程式と線形代数

行列式

行列式の性質 (Section 3.5)

行列式は以下の性質をみたす.

1 detE = 1

2 (detA)(det B) = (det AB)

3 detAT = detA

(Theorem 3.5.6, P. 29)

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 64 / 167

Page 65: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

連立一次方程式と線形代数

行列式

行列のランク (Section 3.5)

N × N 行列 A を N 本の列ベクトル {ak}Nk=1 を使って

A =(

a1 · · ·aN

)

と書いたとき, {ak}Nk=1 の中の

一次独立なベクトルの本数の最大の値を

A のランクと呼ぶ

(Definition 3.5.7, P. 29)

N × N 行列A に対して, 以下の条件は同値

1 A が正則である. (A には逆行列 A−1 が存在する.)

2 rankA = N である.

(Theorem 3.5.8, P. 29)

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 65 / 167

Page 66: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

連立一次方程式と線形代数

行列式

行列のランクと線形写像 (Section 3.5)

N × N 行列 A がきめる線形写像を

fA : RN −→ R

N , x 7→ Ax

と書くことにしよう

このとき次が成り立つ◮ rankA = N ならば (det A 6= 0 ならば)

fA(RN ) = RN が成り立つ◮ rankA < N ならば (det A = 0 ならば)

fA(RN ) ⊂ RN (真に部分空間)が成り立つ

つまり detA = 0 のとき Ax = b が解を持つか否かは

b ∈ fA(RN ) or b 6∈ fA(RN )

で状況が異なる

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 66 / 167

Page 67: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

連立一次方程式と線形代数

行列式

次元定理 (Section 3.5)

「像」と「核」の定義◮ N × N 行列 A が定める線形写像 fA に対して

fA(RN ) を fA の像と呼び Im fA または Im A であらわす

◮ {x ∈ RN : fA(x) = 0} = {x ∈ RN : A(x) = 0}

を fA の核と呼び, ker fA または kerA であらわす

(Definition 3.5.9, P. 30)

N × N 行列 A に対して, 次が成り立つ.

1 dim Im A = rankA,

2 N − dimkerA = dim ImA. (「次元定理」)

3 detA 6= 0 ならば dim Im A = N , dimkerA = 0.

(Theorem 3.5.11, P. 30)

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 67 / 167

Page 68: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

連立一次方程式と線形代数

行列式

連立一次方程式の可解性 (Section 3.5)

連立一次方程式Ax = b の可解性は以下のように分類できる

1 A が正則ならば, 任意の b ∈ RN に対して,

ただひとつの解 x = A−1b が存在する.

2 A が正則でないとき.

2.1 b 6∈ ImA ならば, 解は存在しない.

2.2 b ∈ ImA ならば, 解が存在する.

一つの解を x0 とおいたとき, 任意の y ∈ ker A に対して,

x = x0 + y も解となり, 任意の2解の差は kerA に入る.

(Theorem 3.5.13, P. 31)

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 68 / 167

Page 69: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

連立一次方程式と線形代数

行列式

連立一次方程式の可解性(2 × 2 行列の場合) (Section 3.5)

連立一次方程式(

a bc d

)(

xy

)

=

(

x1

y1

)

の可解性

1 ad − bc 6= 0 ならば, 任意の b ∈ R2 に対して,

ただひとつの解 x = A−1b が存在する.

2 ad − bc = 0 ならば

2.1

a

c

«

と„

x1

y1

«

が平行でないならば解は存在しない.

2.2

a

c

«

と„

x1

y1

«

が平行でならば解が存在する.

解 x0 が一つでも見つかれば, その他の解 x は

x = x0 + k

b

−a

«

と書ける.

(Corollary 3.5.14, P. 31)(

ac

)

∈ Im A,

(

b−a

)

∈ ker A であることに注意しよう

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 69 / 167

Page 70: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

連立一次方程式と線形代数

行列式

連立一次方程式の可解性(2 × 2 行列の場合) (Section 3.5)

Im A

ker A

(x1, y1)

Im A

ker A

(x1, y1)

このような時には解は存在しない このような時には解は存在する

ImA

ker A

Im A

ker A

a + d 6= 1 の時 a + d = 1 の時(cf. Example 3.5.15) (cf. Example 3.5.16)

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 70 / 167

Page 71: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

連立一次方程式と線形代数

行列式

2 × 2 行列の場合 (Section 3.5, Example 3.5.15)(

2 1−2 −1

)(

xy

)

=

(

ab

)

の解を調べてみる

◮ detA = 0

◮ kerA = span

{(

−12

)}

, Im A = span

{(

1−1

)}

◮ b =

(

ab

)

∈ Im A の時(a = −b の時)にのみ解が存在する

◮ x =

(

a−a

)

+ t

(

−12

)

と書ける

これは kerA を表している直線 2x + y = 0 に平行で,

(a,−a) を通る直線

a = b = 0 と取ったときAx = 0 に 0 でない解が存在する

その解は 1 次元(= dim ker A)分存在している

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 71 / 167

Page 72: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

行列の固有値

行列の固有値

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 72 / 167

Page 73: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

行列の固有値

行列の固有値とは

固有値ってなに? (Section 3.6)

ページランクの連立一次方程式 (2.1) の形Ax = x を一般化してみる

N × N 行列 A に対して,

ある λ ∈ R と x ∈ RN (x 6= 0) が存在して

Ax = λx (3.2)

が成り立つとき, λ を A の固有値,

x を, 固有値 λ に対する固有ベクトルと呼ぶ

(Definition 3.6.1, P. 35)

ページランク x は A の「固有値 1 に対する固有ベクトル」

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 73 / 167

Page 74: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

行列の固有値

行列の固有値とは

固有値 (Section 3.6)

x が固有値 λ に対する固有ベクトル =⇒

A(kx) = kAx = k(λx) = λ(kx) for all k ∈ R

したがって kx も固有ベクトルになる

(Remark 3.6.2, P. 35)

個々の「固有ベクトル」を考えるかわりに

「固有ベクトルの方向」=「固有方向」

のみを考えればよい場合も多い

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 74 / 167

Page 75: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

行列の固有値

行列の固有値とは

固有値の求め方 (Section 3.6)

Ax = tx をみたすような t, x を求めるための手順

1 Ax − tEx = 0 と書きかえる

2 (A − tE)x = 0 が成り立つ

3 もし det(A − tE) 6= 0 ならば

x = (A − tE)−10 = 0 となってしまう

よって det(A − tE) = 0

λ がN × N 行列 A の固有値であることの必要十分条件は,

λ が t に関する N 次方程式

det(A − tE) = 0

の解であること (Theorem 3.6.4, P. 36)

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 75 / 167

Page 76: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

行列の固有値

行列の固有値とは

代数学の基本定理 (Section 3.6)

複素数を係数とする N 次方程式

tN + an−1tn−1 + · · · + a1t + a0 = 0

は, 複素数の範囲で重複をこめて N 個の解を持つ

(Theorem 3.6.5, P. 36)

実数係数 N × N 行列 A の固有値は,

複素数の範囲に, 重複をこめて N 個存在する.

(Remark 3.6.6, P. 36)

なぜなら, t に関する N 次方程式

det(A − tE) = 0

は複素数の範囲に, N 個の解をもつから

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 76 / 167

Page 77: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

行列の固有値

行列の固有値とは

固有値の計算例 (Section 3.6, Example 3.6.7)

A =

(

1 22 1

)

の時,

det(A−tE) = det

(

1 − t 22 1 − t

)

= t2−2t−3 = (t+1)(t−3)

であるので, A の固有値は −1, 3 である.

A =

(

1 −22 1

)

の時,

det(A − tE) = det

(

1 − t −22 1 − t

)

= t2 − 2t + 5

であるので, A の固有値は 1 + 2i, 1 − 2i である.

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 77 / 167

Page 78: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

行列の固有値

行列の固有値とは

固有値の計算例 (Section 3.6, Example 3.6.7)

A =

3 −1 −1−1 3 −1−1 −1 3

の時,

det(A − tE) = −t3 + 9t2 − 24t + 16 = −(t − 1)(t − 4)2

であるので, A の固有値は 4, 4, 1 である.

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 78 / 167

Page 79: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

行列の固有値

行列の固有値とは

固有値の重複度 (Section 3.6)

det(A − tE) を A の固有多項式

A の固有値 λ の重複度が k であるとは,

λ が固有多項式の k 重根であること

すなわち, λ1, . . . , λj を A の相異なる固有値としたとき,

det(A − tE) = (t − λ1)k1 · · · (t − λj)

kj

と因数分解できたときの t − λi の巾が λi の重複度

(Definition 3.6.8, P. 37)

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 79 / 167

Page 80: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

行列の固有値

行列の固有値とは

固有ベクトルの計算方法 (Section 3.6)

λ ∈ R が det(A − λE) = 0 をみたせば,

dim ker(A − λE) > 0 なので,

少なくとも1つ(1方向)は固有ベクトルが存在する

なので ker(A − λE) に入るベクトル x を

dim ker(A − λE) 本求めればよい

なお, 固有値 λ の重複度を k としたとき

dim ker(A − λE) ≤ k が成り立つ

(必ずしも “=” になるとは限らない)

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 80 / 167

Page 81: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

行列の固有値

行列の固有値とは

固有ベクトルの計算例 (Section 3.6, Example 3.6.10)

A =

(

1 22 1

)

. 固有値は {−1, 3}

◮ A + E =

(

2 22 2

)

なので x =

(

xy

)

とおけば,

2x + 2y = 0 が成り立つ.

よって λ = −1 に対する固有ベクトル(の一つ)は

x =

(

1−1

)

◮ λ = 3 に対する固有ベクトルは x =

(

11

)

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 81 / 167

Page 82: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

行列の固有値

行列の固有値とは

固有ベクトルの計算例 (Section 3.6, Example 3.6.10)

A =

(

1 −22 1

)

. 固有値は {1 + 2i, 1 − 2i}

◮ A − (1 + 2i)E =

(

−2i −22 −2i

)

なので λ = 1 + 2i に対する固

有ベクトルは x =

(

i1

)

◮ λ = 1 − 2i に対する固有ベクトルは x =

(

−i1

)

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 82 / 167

Page 83: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

行列の固有値

行列の固有値とは

固有値の性質 (Section 3.6)

N × N 行列 A の固有値に関して, 次の性質が成り立つ.

1 A の固有値と転置行列 AT の固有値は一致する.

2 任意の正則行列 T に対して,

A の固有値と T−1AT の固有値は一致する.

(Theorem 3.6.12, P. 39)

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 83 / 167

Page 84: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

行列の固有値

行列の固有値とは

ページランクと固有値の関係 (Section 3.6)

ページランクに関する連立一次方程式

Ax = x (2.1)

の解を求める問題(ページランクを求める問題)は,

次の問題に帰着できた.

ウェブデータ全体のリンク構造をあらわすグラフから作った行列 A に関して,

1 A は固有値 1 を持つか?

2 A が固有値 1 を持った場合の固有ベクトル x をどうやって求めるか?

3 その固有ベクトルの成分は正の値を持つようにできるか?

(Problem 3.6.14, P. 40)

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 84 / 167

Page 85: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

行列の固有値

固有値と固有ベクトルの意味

行列の n 乗を求めてみる (Section 3.7, Example 3.7.1)

「問題」A =

(

3 1−2 0

)

, T =

(

−1 12 −1

)

としたとき,

B = T−1AT を求め, それを利用して An を求めよ.

「解答の方針」B =

(

1 00 2

)

より, Bn =

(

1 00 2n

)

An = (TBT−1)n = TBT−1TB · · ·BT−1 = TBnT−1

「重要なこと」◮ B の対角成分の 1, 2 は A の固有値◮ T の第 1 列のベクトルは A の固有値 1 の固有ベクトル

T の第 2 列のベクトルは A の固有値 2 の固有ベクトル◮ 固有ベクトルを並べた行列 T を作って T−1AT とすると,

対角行列が出てくる

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 85 / 167

Page 86: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

行列の固有値

固有値と固有ベクトルの意味

行列の対角化 (Section 3.7)

実数係数 N × N 行列 A のすべての固有値が実数であり,

それらの固有値が相異なると仮定する.

固有値 λi に対する固有ベクトルを xi とおく.

このとき,T =

(

x1 · · ·xN

)

とおくと,

T−1AT =

λ1

. . .

λN

が成り立つ.

(Corollary 3.7.3, P. 41)

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 86 / 167

Page 87: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

行列の固有値

固有値と固有ベクトルの意味

固有値と線形写像 (Section 3.7)

L =

(

λ1 00 λ2

)

があらわす線形写像を考えると

(ただし λ1 6= λ2 と仮定する)

Ae1 = λ1e1,

Ae2 = λ2e2,

2 × 2 行列 A が固有値 λ1, λ2 をもつ時

λi に関する固有ベクトルを ai とおくと

Aa1 = λ1a1,

Aa2 = λ2a2,(3.5)

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 87 / 167

Page 88: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

行列の固有値

固有値と固有ベクトルの意味

固有値と線形写像 (Section 3.7)

T =(

a b)

おくと (3.5) はAT = TL となり,

対角化の式 T−1AT = L と同じになる

固有ベクトルからなる基底 {a1,a2} を取れば,

A がきめる線形写像は

「基底の方向には固有値倍する線形写像」にみえる

a1

a2

3a1

2a2

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 88 / 167

Page 89: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

行列の固有値

固有値と固有ベクトルの意味

固有値が複素数の場合 (Section 3.7)

A =

(

cos θ − sin θsin θ cos θ

)

固有値 cos θ ± i sin θ = e±iθ

2 × 2 行列で固有値 e±iθ となる場合:原点を中心とする角度 θ の回転

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 89 / 167

Page 90: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

行列の固有値

固有値を計算する

「みただけで」固有値がわかる場合 (Section 3.8)

A が対角行列の時. 対角成分が固有値となる.

A が

A =

∗ ∗ · · · · · · ∗

0. . . · · · · · · ∗

... ∗ · · · ∗

0 · · ·. . . ∗

0 · · · · · · ∗

の形(上三角行列)または下三角行列の時.

対角成分が固有値となる.

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 90 / 167

Page 91: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

行列の固有値

固有値を計算する

コンピュータで固有値を計算する (Section 3.8, Theorem 3.8.1)

A の固有値 {λi}Ni=1 が

|λ1| > |λ2| ≥ · · · ≥ |λN |

をみたしていると仮定する.

このとき x0 を勝手に選んで

yk+1 = Axk,

xk+1 =1

‖yk+1‖yk+1

と計算する

ほとんどすべての x0 に対して,

xN は絶対値最大固有値 λ1

に対する固有ベクトルに収束する.

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 91 / 167

Page 92: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

行列の固有値

固有値を計算する

固有値が存在する範囲 (Section 3.8)

「ガーシュゴリンの定理」(Theorem 3.8.3, P. 44)

N × N 行列 A = (aij) に対して,

Bi = {z ∈ C : |z − aii| ≤∑N

j=1,j 6=i |aij |}

とおく.このとき, A のすべての固有値 λ は, N 個の円盤 Bi のいずれかに含まれる.

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 92 / 167

Page 93: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

行列の固有値

固有値を計算する

固有値が存在する範囲 (Section 3.8)

N × N 行列 A = (aij) の

すべての要素が非負 (aij ≥ 0) であるとき,

A の固有値 λ ∈ C は

|λ| ≤ maxi=1,...,N

N∑

j=1

aij

をみたす. (Theorem 3.8.4, P. 45)

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 93 / 167

Page 94: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

グラフ

グラフ

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 94 / 167

Page 95: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

グラフ

グラフと行列

グラフとは (Section 4.1)

V , E : 有限集合

E の各元 e ∈ E に対して,

2つの V の元 o(e), t(e) ∈ V がきまる

このとき G = (V,E) をグラフという◮ V の元を頂点◮ E の元を辺◮ o(e) を辺 e の始点◮ t(e) を辺 e の終点

(Definition 4.1.1, P. 47)1

2

3 4

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 95 / 167

Page 96: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

グラフ

グラフと行列

グラフとは (Section 4.1)

グラフの図の書き方はいろいろある

頂点の番号(名前)の付け方もいろいろある

重要なのは「つながり方」

1

2

3 4

1

2

34

この2つのグラフは同一のグラフである

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 96 / 167

Page 97: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

グラフ

グラフと行列

グラフを行列であらわす (Section 4.1)

このままでは単なる「図」に過ぎないので扱いにくい

グラフ G = (V,E) に対して,

以下の方法で作った行列 AG をグラフ G の隣接行列と呼ぶ.

1 頂点の集合 V の元に, 番号 1, . . . , N をつける.

(つける順序は勝手につけて良い.)

ただし, N は集合 V の要素の数であるとする.

2 N × N 行列 AG を,

各辺 e ∈ E に対して, o(e) = i, t(e) = j であれば aji = 1

そのような辺がないときには, aji = 0 とする

(Definition 4.1.4, P. 48)

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 97 / 167

Page 98: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

グラフ

グラフと行列

グラフを行列であらわす (Section 4.1)

1

2

3 4

AG =

0 0 0 11 0 0 11 1 0 01 0 1 0

(Example 4.1.5, P. 48)

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 98 / 167

Page 99: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

グラフ

グラフと行列

グラフを行列であらわす (Section 4.1, Example 4.1.6)

1

2

3 4

2

1

3 4

AG1=

0 0 0 11 0 0 11 1 0 01 0 1 0

, AG2=

0 1 0 10 0 0 11 1 0 00 1 1 0

同じグラフなのに隣接行列が同じにならない

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 99 / 167

Page 100: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

グラフ

グラフと行列

グラフを行列であらわす (Section 4.1, Example 4.1.6)

でも

D1,2 =

0 1 0 01 0 0 00 0 1 00 0 0 1

とおくとD1,2AG2D1,2 = AG1

が成り立つ

D1,2D1,2 = E なのでD−11,2AG2

D1,2 = AG1となる

頂点の番号のつけかえは隣接行列では

T−1AG2T = AG1

の関係になる

(固有値のところで出てきた「基底の取り替え」と同じ形)

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 100 / 167

Page 101: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

グラフ

グラフと行列

行列からグラフを作る (Section 4.1, Example 4.1.6)

0 と 1 だけを要素に持つ N × N 行列 A を考える

A からグラフ G を作ることができる◮ N 個の頂点を用意する◮ aji = 1 ならば, 頂点 j から頂点 i に矢印をひく

このようにして作ったグラフ G の隣接行列 AG は

A = AG

をみたす

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 101 / 167

Page 102: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

グラフ

グラフの連結性

グラフが連結であるとは (Section 4.2, Definition 4.2.1)

グラフ G = (V,E) の頂点 x, y をつなぐ路とは

x と y を向きを忘れた辺でつなぐことができる

グラフ G = (V,E) の頂点 x, y をつなぐ有向路とは

x と y を辺でつなぐことができる

路だが有向路ではない 有向路

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 102 / 167

Page 103: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

グラフ

グラフの連結性

グラフが連結であるとは (Section 4.2, Definition 4.2.3)

グラフ G = (V,E) が連結⇐⇒

G の任意の頂点 x, y ∈ V を結ぶ路が存在する

グラフ G = (V,E) が強連結⇐⇒

G の任意の頂点 x, y ∈ V を結ぶ有向路が存在する

G = (V,E) が強連結ならば連結

(Proposition 4.2.4, P. 50)

連結でない 連結だが強連結でない 強連結

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 103 / 167

Page 104: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

グラフ

グラフの連結性

連結性を行列で判定する (Section 4.2, Example 4.2.6)

AG1=

0 1 0 01 0 0 00 0 0 10 0 1 0

, A2G1

=

1 0 0 00 1 0 00 0 1 00 0 0 1

A3G1

=

0 1 0 01 0 0 00 0 0 10 0 1 0

AG1+ A2

G1+ A3

G1=

1 2 0 02 1 0 00 0 1 20 0 2 1

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 104 / 167

Page 105: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

グラフ

グラフの連結性

連結性を行列で判定する (Section 4.2, Example 4.2.6)

AG2=

0 1 0 01 0 0 00 1 0 10 0 1 0

, A2G2

=

1 0 0 00 1 0 01 0 1 00 1 0 1

A3G2

=

0 1 0 01 0 0 00 2 0 11 0 1 0

AG2+ A2

G2+ A3

G2=

1 2 0 02 1 0 01 3 1 21 1 2 1

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 105 / 167

Page 106: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

グラフ

グラフの連結性

連結性を行列で判定する (Section 4.2, Example 4.2.6)

AG3=

0 1 0 01 0 1 00 1 0 10 0 1 0

, A2G3

=

1 0 1 00 2 0 11 0 2 00 1 0 1

A3G3

=

0 2 0 12 0 3 00 3 0 21 0 2 0

AG3+ A2

G3+ A3

G3=

1 3 1 13 2 4 11 4 2 31 1 3 1

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 106 / 167

Page 107: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

グラフ

グラフの連結性

連結性を行列で判定する (Section 4.2)

グラフ G の隣接行列 AG に対して

AG + A2G + · · · + AN−1

G

のすべての成分が正である

⇐⇒ G が強連結(N は G の頂点数)

(Theorem 4.2.7, P. 52)

N × N 行列 X が(

A OB C

)

の形に区分できる

⇐⇒ X は可約

X は可約でない⇐⇒ 既約

(Definition 4.2.8, P. 52)

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 107 / 167

Page 108: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

グラフ

グラフの連結性

連結性を行列で判定する (Section 4.2)

グラフ G が強連結

⇐⇒

G の頂点の番号をどのようにつけたとしても,

G の隣接行列 AG が既約になる

(Theorem 4.2.10, P. 53)

既約で 0 と 1 だけを要素に持つ N × N 行列 A を考えると

A を隣接行列にもつ強連結グラフを作ることができる

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 108 / 167

Page 109: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

グラフ

グラフの連結性

連結性を行列で判定する (Section 4.2, Example 4.2.9)

AG1=

0 1 0 01 0 0 00 0 0 10 0 1 0

, AG2=

0 1 0 01 0 0 00 1 0 10 0 1 0

可約行列

AG3=

0 1 0 01 0 1 00 1 0 10 0 1 0

既約行列

G1 G2 G3

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 109 / 167

Page 110: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

グラフ上のランダムウォーク

グラフ上のランダムウォーク

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 110 / 167

Page 111: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

グラフ上のランダムウォーク

ランダムウォーク

グラフ上のランダムウォークとは (Section 4.3)

以下ではグラフ G は全て強連結と仮定する

例えば次のグラフ G = (V,E) を考えよう

(Example 4.3.1, P. 53)v1

v2

v3

◮ 時刻 t = n で「粒子」が G のどこかの頂点にいる◮ 次の時刻 t = n + 1 には粒子は, 以下のルールにしたがって

G のどこかの頂点に移動する

• 粒子はグラフの辺に沿ってのみ移動できる

• 頂点 i を始点とする複数の辺があるときには,

どの辺を使って移動するかは等確率

◮ 長時間経過したとき, 各頂点粒子がいる確率を求めたい

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 111 / 167

Page 112: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

グラフ上のランダムウォーク

ランダムウォーク

グラフ上のランダムウォークとは (Section 4.3)

時刻 t = n で粒子が頂点 vi にいる確率を p(n, i) とおくと

p(n + 1, 1)p(n + 1, 2)p(n + 1, 3)

=

0 1/2 1/21/2 0 1/21/2 1/2 0

p(n, 1)p(n, 2)p(n, 3)

(4.1)

π(n + 1) = PGπ(n) (4.2)

と表せる

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 112 / 167

Page 113: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

グラフ上のランダムウォーク

ランダムウォーク

グラフ上のランダムウォークとは (Section 4.3)

π = (pi) ∈ RN が

p1 + · · · + pN = 1, 0 ≤ pi ≤ 1

をみたすとき π を確率分布と呼ぶ (Definition 4.3.2, P. 54)

N × N 行列 P = (pij) が次の条件をみたすときP を確率行列と呼ぶ

◮ 0 ≤ pij ≤ 1

∑N

i=1pij = 1 (どの列も成分の和は 1)

(Definition 4.3.4, P. 54)

前のページの PG は確率行列

π が確率分布, P が確率行列のとき P π も確率分布となる

(Proposition 4.3.5, P. 55)

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 113 / 167

Page 114: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

グラフ上のランダムウォーク

ランダムウォーク

グラフ上のランダムウォークとは (Section 4.3)

π(n + 1) = PGπ(n) は◮ π(0) は確率分布ならば, 全ての n に対して π(n) も確率分布◮ 時間が変化するにしたがって,

確率分布 π(n) も変化していく様子を表している

定められたルールによって

確率分布が時間ごとに変化していくとき,

そのルールを確率過程と呼ぶ

(Definition 4.3.3, P. 54)

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 114 / 167

Page 115: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

グラフ上のランダムウォーク

ランダムウォーク

グラフ上のランダムウォークとは (Section 4.3, Definition 4.3.7)

強連結グラフ G = (V,E) に対して行列 PG を以下で定義◮ 頂点 i から j への辺があるとき pji = 1/K

ただし K は頂点 i を始点する辺の数◮ 頂点 i から j への辺がないとき pji = 0

PG を G の推移確率行列

PG から決まる確率過程

π(n + 1) = PGπ(n) (4.4)

をグラフ G 上の単純ランダムウォーク

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 115 / 167

Page 116: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

グラフ上のランダムウォーク

ランダムウォーク

グラフ上のランダムウォークとは (Section 4.3)

G PG AG

v1

v2

v3

0 1/2 1/21/2 0 1/21/2 1/2 0

0 1 11 0 11 1 0

v1

v2

v3

0 1/2 1/20 0 1/21 1/2 0

0 1 10 0 11 1 0

v1

v2

v3

0 1/2 1/31/2 0 1/31/2 1/2 1/3

0 1 11 0 11 1 1

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 116 / 167

Page 117: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

グラフ上のランダムウォーク

ランダムウォーク

「単純」ではないランダムウォーク (Section 4.3)

既約な N × N 確率行列 P を与えて

π(n + 1) = P π(n)

できめた確率過程をランダムウォークと呼ぶ

(Definition 4.3.13, P. 57)

これはグラフ上のランダムウォークと思える

1 P の 0 でない要素を全て 1 にした行列を A

2 A を隣接行列に持つグラフ G を作る

◮ G は強連結グラフとなる◮ G の隣接行列 AG は AG = A をみたす

「既約な確率行列を与えること」

=「強連結グラフ上のランダムウォークを考えること」

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 117 / 167

Page 118: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

グラフ上のランダムウォーク

ランダムウォーク

「単純」ではないランダムウォーク (Section 4.3)

P =

0 3/4 1/51/3 0 4/52/3 1/4 0

確率行列

A =

0 1 11 0 11 1 0

を隣接行列とするグラフ:

v1

v2

v3

1/32/3

1/43/4

1/5

4/5

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 118 / 167

Page 119: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

グラフ上のランダムウォーク

ランダムウォーク

ランダムウォークの不変分布 (Section 4.3, Definition 4.3.15)

既約な確率行列 P から決まるランダムウォーク

π(n + 1) = P π(n)

の t = 0 での確率分布 π(0) を初期分布と呼ぶ

初期分布を与えるごとに t = n での確率分布は

π(n) = P nπ(0)

で完全にきまる

π = P π をみたす確率分布を不変分布と呼ぶ(π∞ と書く)

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 119 / 167

Page 120: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

グラフ上のランダムウォーク

ランダムウォーク

ランダムウォークとページランク (Section 4.3)

「ページランクを求めること」は◮ ウェブデータ全体のリンク構造から決まるグラフ G 上の

単純ランダムウォーク π(n + 1) = PGπ(n) を考え,

◮ 長時間経過したときの分布

π∞ = limn→∞

π(n)

が存在すれば◮ π = PGπ をみたす確率分布(不変分布 π∞)を求めること

既約確率行列 P がきめるランダムウォークの不変分布は

π∞ = P π∞

π∞ は P の固有値 1 に対する固有ベクトル

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 120 / 167

Page 121: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

グラフ上のランダムウォーク

ランダムウォーク

ランダムウォークとページランク (Section 4.3)

ウェブデータ全体のリンク構造をあらわすグラフから決まる

ランダムウォークは不変分布を持つか?

(推移確率行列は固有値 1 を持つか?)

不変分布を持つならば任意の初期分布に π(0) に対して,

π∞ = limt→∞

π(t)

が成り立つか?

(Problem 4.3.17, P. 58)

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 121 / 167

Page 122: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

グラフ上のランダムウォーク

ランダムウォーク

ランダムウォークとページランク (Section 4.3)

ウェブデータ全体のリンク構造をあらわすグラフから決まる

ランダムウォークの推移確率行列 P は,

任意の初期分布に π(0) に対して,

π∞ = limn→∞

P nπ(0)

をみたすか?

(Problem 4.3.18, P. 58)

(cf. Theorem 3.8.1, P. 44)

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 122 / 167

Page 123: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

グラフ上のランダムウォーク

ランダムウォークの不変分布

非負行列の固有値 (Section 4.4)

N × N 行列 A のすべての要素が aij ≥ 0 であるときA を非負行列と呼ぶ (Definition 4.4.1, P. 59)

◮ 例:確率行列 P は非負行列

A が既約な非負行列のとき以下の性質をみたす固有値 λ(A) が存在する

1 λ(A) は実数であり, λ(A) > 0 が成り立つ.

2 A の他の固有値 µ は, |µ| ≤ λ(A) をみたす.

3 λ(A) の重複度は 1 である.

4 λ(A) に対する固有ベクトル x として,

すべての要素が正のものが取れる.

5 λ(A) 以外の固有値に対する固有ベクトルは,

すべての要素が正になることはない.

(「ペロン・フロベニウスの定理」 Theorem 4.4.2, P. 59)

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 123 / 167

Page 124: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

グラフ上のランダムウォーク

ランダムウォークの不変分布

確率行列の固有値 (Section 4.4)

P が既約な確率行列のとき, 次が成り立つ.

1 P は固有値 1 をもち, その重複度は 1 である.

2 P の 1 以外の固有値 µ に対して |µ| ≤ 1 が成り立つ.

3 P の固有値 1 に対する固有ベクトルとして

確率分布を取ることができる.

(Theorem 4.4.3, P. 59)

既約確率行列の時には, ペロン・フロベニウスの定理でλ(P ) = 1 と取れることを意味している

ペロン・フロベニウスの定理を認めれば証明は易しい

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 124 / 167

Page 125: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

グラフ上のランダムウォーク

ランダムウォークの不変分布

(証明) (Section 4.4)

1 ペロン・フロベニウスの定理から, 絶対値最大固有値 λ(P ) は

実数であり λ(P ) > 0 をみたす.

2 λ(P ) に対する固有ベクトル x として,

すべての要素が正であるものが取れて,

そのような固有ベクトルをもつ固有値は λ(P ) に限る.

3 P の各列の和は 1 なので, e = (1, . . . , 1)T とおくと

P Te = e

が成り立つ. よって P T は固有値 1 をもつ

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 125 / 167

Page 126: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

グラフ上のランダムウォーク

ランダムウォークの不変分布

(証明の続き) (Section 4.4)

4 非負行列の全ての固有値 µ は

|µ| ≤

n∑

j=1

pji = 1

をみたすので 1 は P T の絶対値最大固有値

5 P T の固有値と P の固有値は一致するので,

1 は P の絶対値最大固有値(λ(P ) = 1)

6 よって, P の固有値 1 に対する固有ベクトル x として,全ての要素が正のものが取れる

特に, ‖π‖1 = 1 となるような固有ベクトルを取れば,π は確率分布となる

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 126 / 167

Page 127: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

グラフ上のランダムウォーク

ランダムウォークの不変分布

ページランクとの関係 (Section 4.4)

既約な確率行列 P は固有値 1 をもち,

固有ベクトルとして確率分布を持つことがわかった

これでページランクの問題は解決したように思える

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 127 / 167

Page 128: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

グラフ上のランダムウォーク

ランダムウォークの不変分布

ページランクとの関係 (Section 4.4)

次のグラフを考える

PG =

(

0 11 0

)

固有値 = {1,−1}

π(0) =

(

10

)

ととると π(2n) =

(

10

)

π(2n + 1) =

(

01

)

つまり, 同じ状態が交互にあらわれる (Example 4.4.4, P. 60)

次のグラフでも事情は同じ1

23 5

4

この場合は固有値 {1, e2πi/3, e−2πi/3} (Example 4.4.5, P. 61)

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 128 / 167

Page 129: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

グラフ上のランダムウォーク

ランダムウォークの不変分布

ページランクとの関係 (Section 4.4)

1 以外に |µ| = 1 となる固有値 µ が存在すること問題

Theorem 3.8.1 (P. 44) の条件

|λ1| > |λ2| ≥ · · · ≥ |λN |

をみたしていないので,

π∞ = limn→∞

P nπ(0)

と計算できない

既約な確率行列の 1 以外の全ての固有値 µ が

|µ| < 1

をみたすための条件は何か?

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 129 / 167

Page 130: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

グラフ上のランダムウォーク

ランダムウォークの周期性

ランダムウォークの周期 (Section 4.5)

「ある一定時間ごとに同じ状態が繰り返される」ことが,

「ランダムウォークの不変分布が存在するための障害」

になっていると予想できる.

確率行列 P に対して

ki = gcd{k ∈ N : p(k)ii > 0} ただし P k = p

(k)ij

と定義し, ki を頂点 i の周期と呼ぶ

頂点 i にいた粒子が,

再び同じ頂点に戻ってくる確率が正になる最短の時間

(Definition 4.5.1, P. 62)

確率行列 P が既約ならば ki = kj が成り立つ

(Proposition 4.5.2, P. 62)

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 130 / 167

Page 131: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

グラフ上のランダムウォーク

ランダムウォークの周期性

ランダムウォークの周期 (Section 4.5)

ki ≥ 2 のとき P がきめるランダムウォークは周期的,

ki = 1 のとき非周期的と呼ぶ (Definition 4.5.4, P. 63)

周期的な例(周期 = 3)1

23 5

4

(Example 4.5.8, P. 63)

非周期的な例1

23 5

46

(Example 4.5.10, P. 64)

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 131 / 167

Page 132: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

グラフ上のランダムウォーク

ランダムウォークの周期性

非周期性の判定条件と固有値 (Section 4.5)

既約な確率行列 P で定義されたランダムウォークは,

P の対角成分 {pii} のうち1つでも正のものがあれば,

非周期的となる. (Theorem 4.5.5, P. 63)

既約な確率行列 P で定義されたランダムウォークが

非周期的ならば, P の固有値 λ で |λ| = 1 となるものは

λ = 1 に限る.

特に, すべての成分が正であるような

任意の初期分布 π(0) は,

t → ∞ の時, 不変分布 π に収束する. (Theorem 4.5.6, P. 63)

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 132 / 167

Page 133: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

グラフ上のランダムウォーク

ランダムウォークの周期性

非周期性の判定条件と固有値 (Section 4.5)

既約な確率行列 P で定義されたランダムウォークが

周期 k となるとき, 絶対値 1 となる固有値として e2πi/k が出てくる.

固有値に e2πi/k = cos(2π/k) + i sin(2π/k) が出てくるときの様子はこの図のようになる(k = 5 の時の図)

(Example 3.7.4, P. 43)

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 133 / 167

Page 134: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

グラフ上のランダムウォーク

ランダムウォークとページランク

数学としての結論 (Section 4.6)

既約な確率行列 P で定義されたランダムウォークが非周期的ならば, 以下が成り立つ

1 ただひとつの不変分布 π∞ が存在する

2 すべての成分が正であるような

任意の初期分布 π(0) に対して limn→∞

P nπ(0) が存在して

π∞ = limn→∞

P nπ(0)

が成り立つ.

(Theorem 4.6.1, P. 65)

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 134 / 167

Page 135: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

グラフ上のランダムウォーク

ランダムウォークとページランク

ページランクとしての結論 (Section 4.6)

ウェブデータ全体のリンク構造がなすグラフに関しての

ランダムウォークを考えたとき,

その確率行列が Theorem 4.6.1 の仮定をみたすならば,

ページランクは不変分布 π∞ として定義することができる.

(Theorem 4.6.2, P. 66)

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 135 / 167

Page 136: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

グラフ上のランダムウォーク

ランダムウォークとページランク

残った問題点 (Section 4.6)

ウェブデータ全体のリンク構造がなすグラフが

◮ 強連結なのか?◮ ランダムウォークは非周期的なのか?

実際に不変分布はどのように計算すればよいのか?

インターネット上のウェブページは数千~数十億にもなる◮ それでも不変分布は計算できるのか?◮ いったいどのくらいの計算をすればよいのか?

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 136 / 167

Page 137: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

Google ページランク

Google ページランク

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 137 / 167

Page 138: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

Google ページランク

Goolge 行列とページランク

ページランク (Section 5.1)

最初に説明したページランクの定義

インターネット上のウェブデータ全体の

リンク構造のなすグラフを考え

そのグラフ上の単純ランダムウォークの不変分布を

ページランクと呼ぶ

「ウェブのデータの中をリンクをたどりながらあちらこちらに移動するユーザの各ウェブページの滞在確率」

でも「強連結性」や「非周期性」は?

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 138 / 167

Page 139: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

Google ページランク

Goolge 行列とページランク

ハイパーリンク行列 (Section 5.1)

以下では, G はインターネット上のウェブデータ全体の

リンク構造がなすグラフとする

G から作られる「推移確率行列」を H とおき,

ハイパーリンク行列と呼ぶ (Definition 5.1.1, P. 67)

実際には H は確率行列にはならない1

23 5

46

(5から出ていく辺がない)

(Remark 5.1.2, P. 67), (Example 5.1.3, P. 67)

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 139 / 167

Page 140: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

Google ページランク

Goolge 行列とページランク

ぶら下がりノード (Section 5.1)

グラフ G = (V,E) の頂点(ウェブページ) v で,

v を始点とする辺(ページ v から出ていくリンク)が

ないページをぶら下がりノードと呼ぶ.

(Example 5.1.3, P. 67)

前ページの例では

H =

0 1 0 0 0 00 0 1/2 0 0 01 0 0 0 0 00 0 1/2 0 0 00 0 0 0 0 10 0 0 1 0 0

, π∞ =

000010

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 140 / 167

Page 141: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

Google ページランク

Goolge 行列とページランク

ぶら下がりノード (Section 5.1)

以下のように新しい行列 S をきめる◮ d = (di) ∈ R

N を

di =

{

1 ページ i がぶら下がりノード,

0 ページ i はぶら下がりノードでない,

◮ S = 1

NdeT , ただし e =

1...1

∈ RN

S =(

s1 · · · sN

)

は以下のような行列(確率行列)になる

si =

1

Ne ページ i がぶら下がりノード,

0 ページ i はぶら下がりノードでない,

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 141 / 167

Page 142: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

Google ページランク

Goolge 行列とページランク

確率行列の定義 (Section 5.1)

リンク構造をあらわす行列 P を

P = H + S

で定義する

P は確率行列となる

Example 5.1.4 のグラフに対して P を計算すると

S =

0 0 0 0 1/6 00 0 0 0 1/6 00 0 0 0 1/6 00 0 0 0 1/6 00 0 0 0 1/6 00 0 0 0 1/6 0

,P =

0 1 0 0 1/6 00 0 1/2 0 1/6 01 0 0 0 1/6 00 0 1/2 0 1/6 00 0 0 0 1/6 10 0 0 1 1/6 0

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 142 / 167

Page 143: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

Google ページランク

Goolge 行列とページランク

これでOK? (Section 5.1)

ここまでで, リンク構造をあらわす確率行列 P を◮ リンク構造から決まるハイパーリンク行列 H

◮ ぶら下がりノードへの対応の行列 S

を使って P = H + S ときめた

P は確率行列なのでランダムウォークが定義できる

このランダムウォークの不変分布を計算すればよい?◮ 非周期的かどうかわからない◮ 仮に非周期的としても P の 1 に一番近い固有値が

1 にものすごく近いかもしれない

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 143 / 167

Page 144: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

Google ページランク

Goolge 行列とページランク

テレポーテーション行列 (Section 5.1)

テレポーテーション行列 T

T =1

NeeT =

1/N · · · 1/N...

. . ....

1/N · · · 1/N

(Definition 5.1.5, P. 70)

T は確率行列

リンクをたどらずに自由に移動するユーザの動きをあらわす

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 144 / 167

Page 145: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

Google ページランク

Goolge 行列とページランク

Google 行列 (Section 5.1)

Google 行列 G(α)

G(α) = αP + (1 − α)T

ただし 0 < α < 1 (Definition 5.1.6, P. 70)

α : ユーザがリンクをたどって他のページに移動する確率

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 145 / 167

Page 146: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

Google ページランク

Goolge 行列とページランク

Google 行列 (Section 5.1)

Example 5.1.4 のグラフの時 (α = 9/10)

P =

0 1 0 0 1/6 00 0 1/2 0 1/6 01 0 0 0 1/6 00 0 1/2 0 1/6 00 0 0 0 1/6 10 0 0 1 1/6 0

, T =

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

G =9

10P +

1

10T =

160

1112

160

160

16

160

160

160

715

160

16

160

1112

160

160

160

16

160

160

160

715

160

16

160

160

160

160

160

16

1112

160

160

160

1112

16

160

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 146 / 167

Page 147: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

Google ページランク

Goolge 行列とページランク

Google 行列とページランク (Section 5.1)

0 < α < 1 のとき◮ G(α) は既約な確率行列

(勝手な2つのページを結ぶリンクが存在する)◮ G(α) がきめるランダムウォークは非周期的

(G(α) の全ての対角成分は正)◮ G(α) がきめるランダムウォークは不変分布 π∞ を持ち

π∞ = limn→∞ Gnπ(0) が成り立つ

(Theorem 5.1.8, P. 70)

Google 行列 G(α) が定めるランダムウォークの不変分布:

ページランク

(Definition 5.1.10, P. 71)

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 147 / 167

Page 148: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

Google ページランク

Goolge 行列とページランク

ページランクの計算例 (Section 5.1)

1

23 5

46

G(9

10) =

160

1112

160

160

16

160

160

160

715

160

16

160

1112

160

160

160

16

160

160

160

715

160

16

160

160

160

160

160

16

1112

160

160

160

1112

16

160

, π∞ =

0.1677580.1350070.1972340.1350070.1972340.167758

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 148 / 167

Page 149: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

Google ページランク

Goolge 行列とページランク

α の取り方 (Section 5.1)

G(α) = αP + (1 − α)T の α の取り方でページランクは変化してしまう

◮ α が 1 に近いとき∥

ddα

π∞(α)∥

∥ は大きくなり,

◮ α が 0 に近いとき∥

ddα

π∞(α)∥

∥ は小さくなる

(Remark 5.1.11, P. 71)

Google は α = 0.85 と設定している(らしい)

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 149 / 167

Page 150: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

Google ページランク

ページランクの計算

ページランクの計算方法 (Section 5.2)

ページランクを計算するには

1 G(α) を計算して

2 π(0) =

1/N...

1/N

∈ RN を初期分布に取って

3 Gnπ(0) を計算すればよい

πn+1 = G(α)πn

によって絶対値最大固有値の固有ベクトルを計算する方法

(Theorem 3.8.1, P. 44)

何回くらい繰り返し計算すればよいのか?

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 150 / 167

Page 151: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

Google ページランク

ページランクの計算

繰り返し計算の計算回数 (Section 5.2)

Theorem 3.8.1 を使って πk を計算するとき

‖πk − π∞‖ が 0 に収束する速さは∣

λ2

λ1

k

に比例する.

(Theorem 5.2.6, P. 74)

G(α) のとき λ1 = 1 だから ‖πk − π∞‖ ∼ O(

|λ2|k)

1 の次に小さい固有値が小さいほど速く収束する

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 151 / 167

Page 152: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

Google ページランク

ページランクの計算

数列の収束 (Section 5.2)

任意の ǫ > 0 に対して

ǫ に応じて十分大きな N ∈ N が存在して

n > N をみたすすべての n に対して

|an − a| < ǫ が成り立つとき

数列 {an}∞n=1 は a に収束するという (Definition 5.2.2, P. 72)

|r| < 1 ならば 数列 rn → 0

◮ 小さな数 ǫ > 0 を一つきめると n > logr ǫ =⇒ |rn| < ǫ が成り立つ

(Example 5.2.3, P. 73)

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 152 / 167

Page 153: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

Google ページランク

ページランクの計算

数列の収束 (Section 5.2, Example 5.2.4)

ǫ = 1/1000 = 10−3 のとき n ∼ logr ǫ = −3 log 10/ log r

r 0.3 0.5 0.6 0.7 0.8 0.85 0.9 0.99 0.999

n 5.74 9.97 13.5 19.4 31.0 42.5 65.6 687 6910

1e-250

1e-200

1e-150

1e-100

1e-50

1

0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000

r = 0.7r = 0.8r = 0.9

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 153 / 167

Page 154: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

Google ページランク

ページランクの計算

ページランク計算の繰り返し回数 (Section 5.2)

G(α) の2番目に大きい固有値が小さいほどうれしい

P の固有値 {1, λ2, λ3, . . . , λN} のとき

G(α) = αP + (1 − α)T の固有値は

{1, αλ2, αλ3, . . . , αλN}

特に G(α) の絶対値が2番目に大きな固有値の

絶対値は α 未満 (Theorem 5.2.8, P. 75)

例えば λ2 = 0.999 の時, (0.999)k ≤ 0.5 × 10−4

をみたす最小の k は k = 9899

α = 0.85 ならば (0.85)k ≤ 0.5 × 10−4

をみたす最小の k は k = 61

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 154 / 167

Page 155: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

Google ページランク

ページランクの計算

ページランクの計算量 (Section 5.2)

N × N 行列 G と π ∈ RN の積 Gπ を計算するには,

O(N2) 回の計算が必要 (Proposition 5.2.9, P. 75)

Intel Core i7 の計算スピード: 50Gflops (1秒間に 500億回)

N =1億 ならば1回の乗算は 55.5 時間

(Remark 5.2.10, P. 75)

「計算時間」は「並列計算」で時間を短縮可能

(Remark 5.2.16, P. 77)

N =1億 の行列を格納するメモリ: 800 ペタバイト

(Proposition 5.2.11, P. 76)

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 155 / 167

Page 156: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

Google ページランク

ページランクの計算

ページランクの計算に必要なメモリ (Section 5.2)

N × N 行列 の 0 でない要素が O(N) 程度の時, 疎行列,

それ以上に 0 でない要素があるとき密行列と呼ぶ

(Definition 5.2.12, P. 76)

ハイパーリンク行列 H は疎行列Google 行列 G は密行列

G と π の掛け算をするだけなら

Gπ = αHπ + (eT π)

(

α

Nd +

1 − α

Ne

)

と計算すれば O(N) 程度のメモリしか必要としない

(Proposition 5.2.14, P. 76), (Proposition 5.2.15, P. 76)

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 156 / 167

Page 157: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

Google ページランク

ページランクの計算

繰り返し計算の回数 (Section 5.2)

ページランク(G(α) の不変分布)の近似値の計算

π(n + 1) = Gπ(n)

の繰り返し回数は, α が小さいほど少ない回数でよい近似を得ることができる

‖π(k) − π∞‖ = O(αk)

実際には ‖π(k + 1) − π(k)‖ ≤ (1 − α)ǫ

が成り立つまで計算を繰り返す

このとき ‖π(k) − π∞‖ ≤ ǫ を保証できる

(Remark 5.2.18, P. 78)

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 157 / 167

Page 158: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

Google ページランク

ページランクの計算例

ページランクの計算例 (Section 5.3, Example 5.3.1)

1

2

3

5

6

4

H =

0 0 1/3 0 0 01/2 0 1/3 0 0 01/2 0 0 0 0 00 0 1/3 0 0 1/20 0 0 1/2 0 1/20 0 0 1/2 1 0

, d =

010000

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 158 / 167

Page 159: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

Google ページランク

ページランクの計算例

ページランクの計算例 (Section 5.3, Example 5.3.1)

P = H +1

6dT e =

0 1/6 1/3 0 0 01/2 1/6 1/3 0 0 01/2 1/6 0 0 0 00 1/6 1/3 0 0 1/20 1/6 0 1/2 0 1/20 1/6 0 1/2 1 0

α = 0.85 の時

π∞ =

0.051704750.073679260.057412410.19990380.26859610.3487037

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 159 / 167

Page 160: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

Google ページランク

ページランクの計算例

ページランクの計算例 (Section 5.3, Example 5.3.1)

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

0.45

0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95 1

Page rank

v1v2v3v4v5v6

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 160 / 167

Page 161: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

Google ページランク

ページランクの計算例

ページランクの計算例 (Section 5.3, Example 5.3.1)

1e-14

1e-12

1e-10

1e-08

1e-06

0.0001

0.01

1

0 10 20 30 40 50 60 70 80

Iteration count - Error

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 161 / 167

Page 162: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

Google ページランク

ページランクの計算例

ページランクの計算例 (Section 5.3, Example 5.3.2)

N = 5757, リンク数 = 24451,1ページあたりの平均リンク数 = 4.25

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 162 / 167

Page 163: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

Google ページランク

ページランクの計算例

ページランクの計算例 (Section 5.3, Example 5.3.2)

1e-10

1e-09

1e-08

1e-07

1e-06

1e-05

0.0001

0.001

0.01

0.1

1

0 50 100 150 200 250 300 350

Iteration count - Error

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 163 / 167

Page 164: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

Google ページランク

ページランクの計算例

ページランクの計算例 (Section 5.3, Example 5.3.2)

1

10

100

1000

0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95 1

Elasped time

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 164 / 167

Page 165: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

まとめ

現実には

現実の Goolge での検索結果の表示順位は◮ そのページに含まれる検索語の数などの情報◮ ページランクの順位付けの過去の変動◮ ウェブページの更新頻度◮ Google が把握できる範囲でのアクセス状況

などの要素を加味して決定されている

ページランクが低いページが検索結果の上位に来ることは稀

我々が知ることができる「ページランク」は 10 から 0 までの 11 段階に分類された値

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 165 / 167

Page 166: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

まとめ

まとめ

Google のページランクとは

ウェブデータ全体のなすリンク構造のなすグラフに関する

ランダムウォークの不変分布のことである

単に不変分布を計算しようとしてもうまくいかないので

数学的にも有効な工夫がなされている

実際には非常に巨大な行列の計算を行う必要があり,

Google は「スーパーコンピュータ」で計算をしている

このように意外な (?)ところにも広く数学が利用されている

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 166 / 167

Page 167: グラフ上のランダムウォークと Google のページランクnaito/lecture/... · Google のページランク 内藤久資 名古屋大学多元数理科学研究科 2011年度数学アゴラ

まとめ

おしまい

内藤 久資 (名大・多元数理) Random Walk & Google Page Rank Agora on Aug. 2011 167 / 167