トップページ > 入学志望の皆様 > 数学小景 > 石井豊 准教授

数学小景

インターネットを支える数学 石井豊

皆さんはインターネット上で何かしらのキーワードを検索した経験が一度はあることでしょう。その時に使う検索エンジンの中で、いま世界的に最も大きなシェアを占めているのがグーグルです。グーグルがこれほどまでに成功した最大の要因は、重要度の高いページをほぼ確実に探し当てる、その検索結果の的確さにあります。このウェブサイトの重要度を表す指標はページランクと呼ばれるもので、この値が高いほどそのウェブサイトは検索結果の上位に表示され、より多くの人の注目を浴びることができます。実はこのページランクの計算アルゴリズムに、数学の理論が非常に効果的に使われていることを皆さんはご存知ですか?ここでは、どの様な数学がこのグーグルの技術を支えているかについて簡単に説明しましょう。


まず、そもそもインターネットとは何でしょう?これは大雑把に言って、各人の持っているウェブサイトとそれらの間に張られた数多くのリンクのことを指します。 そこで、1つのウェブサイトを1つの頂点で、またそれらのリンク関係を矢印で表すとすると、インターネットの世界は有限個の(とは言っても現実には数百億の!) 頂点とそれらの間の矢印として表現出来ます。この様な対象を数学では有向グラフと呼び、これがインターネットの数学的なモデルになるわけです。


では、上で述べたように検索結果の順位を大きく左右するページランクとはどのように計算されるのでしょうか?それは、
(1) より数多くのウェブサイトからの
(2) よりページランクの高いウェブサイトからの
(3) よりリンク先を厳選したウェブサイトからの
リンクがあるほど、そのウェブサイトのページランクはより高くなる、という原理に従って算出されます。つまり、あるウェブサイトの重要度の計算は、単にリンクされた数の多さだけを考慮するのではなく、それらの質、つまり高い支持を集めるウェブサイトからのリンクの方がより良質であり、さらに乱発されたリンクよりは選び抜かれたリンクの方により信頼性がある、という考え方に基づいているわけです。ところがこの計算原理は、まるで「ニワトリが先か、タマゴが先か」の状態になってしまっていますね?例えば2つのウェブサイトijが互いにリンクし合っていると、iでのページランクを計算するにはjでのページランクを、逆にjでのページランクを計算するにはiでのページランクを、それぞれ知る必要があります。 この様な場合でも、果たしてページランクはうまく決まるのでしょうか?

(1)ウェブサイトのリンク関係

(2)ウェブサイトの関係を表す有向グラフ

(3)ウェブサイトの関係を表現する行列

実はこの計算原理は、インターネットの有向グラフとしての構造のみから決まる(行と列ともにウェブサイトの数だけある超巨大な)ある行列Hと、各ウェブサイトのページランクを縦に並べて得られる列ベクトルrを用いて、


H r = r


と表現することが出来るのです(※1)。この関係式は、大学1年生で習う「線形代数」の言葉で次のようにも言い表せます。一般に行列Aに対して、スカラーλとゼロベクトルでない列ベクトルx がAx =λxを満たすとき、λを行列Aの固有値、xを固有値λに対する固有ベクトルと呼びます。すると上の関係式は、「ページランクを計算するには、行列Hの固有値1に対する固有ベクトルrを求めればよい」と言い換えられます。


ところで、そもそも上の関係式を満たす様な固有ベクトルrは本当に存在するんでしょうか?もしそうでないと、ページランクそのものが存在しないことになってしまいますね。次に、もしその様なベクトルrが存在したとしても、それは(定数倍を除いて)ただ一つなのでしょうか?もしそうでないと、一つのウェブサイトに複数のページランクを割り振らなければならなくなってしまいます。さらに、もしベクトルrがただ一つだけ存在することが抽象的にわかっても、それを現実的に算出する方法はあるのでしょうか?行列H の行や列は数百億にもなるので、うまい計算方法を見つけないと、その計算時間は天文学的な長さになってしまうでしょう。 実は、これらの疑問に答えてくれるのが数学の理論なのです。具体的には、固有ベクトルrがただ一つ存在することはPerron-Frobenius の定理と呼ばれる事実によって、またベキ乗法と呼ばれる手法で固有ベクトルrを精度良く計算できることはマルコフ連鎖の収束定理と呼ばれる事実によって、それぞれ保証されます。つまり、グーグルのページランクの概念やその計算方法は、数学のこれらの定理を通して初めて正当化されるのです。


以上のように、幾つかの(どちらかといえば初等的な)数学的事実を非常に巧みに組み合わせて得られた技術を基に、グーグルは年商1兆円以上の超巨大企業に成長しました。現代社会において普段から私たちが何気なく使っている便利な技術のいくつかには、数学がこのように本質的に寄与しています。これはつまり言い方を換えれば、大学で数学を学ぶことは、ページランクに匹敵するような新しいテクノ ロジーの発見のチャンスをあなたに与えてくれることを意味しているのです(※2)。

※1 具体的には、Hの(i, j) 成分はウェブサイトjからウェブサイトiへ張られたリンクの数をjから出発するリンクの総数で割った数として与えられます。ただし現実には、「原始性」と呼ばれる性質を満たすように行列Hを少し修正する必要があります。

※2 もちろん、「新しいテクノロジーの発見」だけが数学を学ぶ目的ではありません。