18世紀の数学者、レオンハルト・オイラーは1736年、「ケーニヒスベルクの問題」は不可能だという答えを出した。

ケーニヒスベルクの問題とは、プロイセン王国のケーニヒスベルク（現ロシア連邦のカリーニングラード）にある2つの島にかけられた7つの橋を、いずれも2度通ることなくすべて渡り元の場所に戻ってくること（いわゆる一筆書き）は可能か、という数学の問題だ。

オイラーはその問題への取り組みを「位置の幾何学」と呼んだ。そしてそれが、現在は「グラフ理論」と呼ばれている数学理論のはじまりとなった。

それから歳月を経て、プロイセン王国は消滅。ケーニヒスベルクはカリーニングラードへと名を変え、ソ連はプーチン率いるロシアへと取って代わった。しかしグーグルは、グラフ理論をもとにアプリを生み出すことに成功した。

グーグルは2016年9月に、旅行の計画に役立つ新しいスマートフォンアプリ「Trips」（日本語版記事）を発表した。たとえば「パリに8時間滞在する」と告げると、パリにある有名観光地をいくつか結んだルートを割り出してくれるアプリだ。しかも、ひとつめの観光地を十分に楽しんでから次に移動できるよう、時間も考慮してくれるという。

「訪れたい観光地がわかっていれば、オイラーの理論に加えて、別に搭載されているアルゴリズムを使って最良のルートを割り出せます」と話すのは、グーグルの研究者で、このアプリ開発にかかわったアンドリュー・トムキンスだ。

トムキンスは、Gmailツール「スマート・リプライ（日本語版記事）」の開発チームメンバーでもあった。スマート・リプライは、膨大な数の既存メールを分析して学んだ内容をもとに、自動で返事を送信する機能だ。

旅行のルートを割り出すTripsでは、ニューラルネットワークが利用されているが、ニューラルネットワークとはつきつめれば、きわめて複雑な線形代数だ。しかし、Tripsでさらに重要な役割を果たしているのがグラフ理論だ。

グラフ理論では、ケーニヒスベルクの橋は「エッジ」、陸地の部分は「ノード」と呼ばれている。グーグルはこのモデルを都市に当てはめ、Tripsが観光地巡りのルートを割り出せるようにした。つまり、観光地はノードで、その間を結ぶルートがエッジというわけだ。そしてこの場合も、ケーニヒスベルクと同じ問題が問いかけられる。「一筆書きのように、いずれのエッジも2度通ることなくすべて使うことは可能なのか？」という問題だ。

レオンハルト・オイラーは、この問題を「グラフ」に置き換えて思考している。

グーグルのアプリは、さらに観光地から観光地への移動時間、それぞれの観光地における所要時間や営業時間など様々な要素も考慮する。トムキンスによれば、そうした要素が絡むことで、この問題は「巡回セールスマンの問題」という別の有名な数学の問題になる。そのため、オイラーのグラフ理論を土台にした別のアルゴリズムも必要になる。それは「クリストフィードのアルゴリズム」と呼ばれるものだ。これはグラフ理論より歴史が浅く、発表されたのは1976年だった。

さらにグーグルは、そういった数学理論に途方もないデータを加えた。アンドロイド携帯に位置情報サービスが搭載され、観光客がビッグ・ベン（英国国会議事堂）やバッキンガム宮殿でどのくらい時間を過ごすのか、どこがどの時期に最も混雑するのかを把握できるようになったおかげだ。つまりこのアプリは、どの場所がいつ人気があるかを知っているのだ。「われわれは、集合知をプールしたいのです」とトムキンスは語る。

それは素晴らしいことだ。しかし、ひとつの疑問は残る。Google Tripsは、ケーニヒスベルクの複数の橋を渡る旅行を計画してくれるだろうか？という疑問だ。

トムキンスは、ケーニヒスベルクは「Tripsがカヴァーする都市のリストには入っていない」と答えてくれた。それはある意味、当然だろう。ケーニヒスベルクという都市はもう存在しないし、橋のいくつかはもう存在しないからだ。けれども残念なことでもある。われわれとしては、グーグルが不可能に挑戦するところをぜひ見てみたい。