検索エンジンを支える数学

検索エンジンを支える数学

藤田 遼

 

インターネットは本当に便利で身近になった。明日の天候予報を知りたいとき、モーニング娘。のライブの日程を調べたいとき、京都大学の入試情報を集めたいときに多くの人がインターネットを利用する。この便利さを支えるのがGoogleなどの検索エンジンだ。知りたい事柄のキーワードを入力するだけで、10億を超えるウェブサイトの中から、欲しい情報が一瞬で手に入る。

 

ところで、インターネット世界の情報は玉石混交。検索エンジンはその中から重要度の高い情報を選り分けなくてはならない。限られた時間で個々のウェブサイトの内容を吟味しつつ情報を選別するのは現実的でない。したがって、内容を読み取らずにウェブサイトの重要性を見極め、格付けする必要がある。

 

まず、ウェブサイトの内容は無視して、それらのネットワーク、つまりどのウェブサイトからどのウェブサイトへリンクが貼られているかにのみ注目しよう。気ままなネットサーファーなら、あるウェブサイトに10のリンクが貼られていたら、平等に10分の1の確率でリンクを伝って外のウェブサイトへ移動するだろう。このような確率の計算をネットワークの形状を加味しつつ繰り返すと、ネットサーファーの分布は時間が経つにつれある極限値に近づくことが理論的にわかり、「行列」という数学の概念を用いてそれを求めることもできる。そして、「リンクを伝って多くの人が閲覧しやすいウェブサイトほど重要」と考えて、この極限値からウェブサイトを格付けできる。このように、ウェブサイトの数値的な格付けには数学の理論が役立っている。