数学の世界には、セールスマンがいい感じにすべての場所を経由して一周する最短経路を求める問題があり、「巡回セールスマン問題」と呼ばれています。
実際、宅配便の配達ルート設計などに使われていると聞きますが、計算したルートをたどるとどうなるのか、ずっと気になっていました。
自分の足を使って試したら、理論と現実のギャップに打ちのめされました。
巡回セールスマン問題とは
数学の世界には巡回セールスマン問題という、最適化問題(いい感じの計算方法でいい感じの答えを導こうぜ!)というものがあります。
セールスマンが複数の都市を最短経路で経由して元の場所に戻りたいとします。
図のようなルートが答えとなります。
上記のように経由する都市が5ヶ所であれば簡単ですが経由する都市数が増えれば増えるほど最短距離のルートを探すことが難しくなります。
そのため、最短経路の答えになるべく近く計算時間も短いものを見つけるというものが巡回セールスマン問題と呼ばれるもので、プログラムは宅配便の配達ルートの設定などに使われているそうです。
今回は実際に歩いてみて「最短経路だ!巡回セールスマン問題の研究ってすごいなあ」と体感したいと思います。
中央区の全公園、56か所の最短経路を描きます
巡回するのは中央区の全公園(56か所)に決めました。セールスマンはビジネス街の公園にいるイメージがあるからです。
中央区にある全公園56か所は以下の位置にあります(児童遊園を含めるとプラス33か所で流石にクタクタになるだろうという不安があり、今回は除外しました)。
こちらの地図含め、本記事の公園の位置情報は「中央区オープンデータ」より取得しました。
約10平方キロメートルの中央区の範囲を東西南北様々な場所に公園があります。
この56か所をなんのプログラムも使わず一筆書きで最短距離で一周するルートを見つけ出すのは、悔しいですが難しそうです。
そこで、使うのが巡回セールスマン問題の計算プログラムというわけです。
56か所の公園同士の移動時間と距離を調べて、そのデータをもとにプログラムが最短経路を導出してくれます。
算出された最短経路がこちらです。
ちょうど何にも例えずらいフォルムの最短経路ができました。全体的には近そうな公園をうまく経由してるなというくらいの感想です。
ただ、日本橋駅付近から、築地市場まで南西に走る1本の道沿いを見ると、あえて途中で銀座方面の公園を経由し築地市場から北上しなおしており、人間には簡単には思いつかないルート構築なのが分かります。
マイマップの該当箇所を拡大表示
まさにこの辺りは頭の柔軟さとは違う合理性の極致といった印象です。
道のりは合計で21km、ハーフマラソン相当です。めちゃくちゃ長い。いや、巡回セールスマン問題のおかげでたった21kmですんだと思うことにしましょう。
この最短経路の道順を、グーグルマップで調べなおして、各地点の到着予想時間をグラフにまとめてみました
この経路と時間を信じて実際に歩いきます。272分の旅の始まりです。
京橋1丁目からスタート
スタート地点の楓川久安橋公園に向かいます。
9時開始のつもりが、着いた時刻は13時21分。3度寝はしない方が良いそうです。
なお全公園を巡り終える終了予定時刻は272分後、17時53分です。このとおりの時間に戻ってこられるかどうか、検証したいと思います。
おおきなリンゴとミカン 2か所目~11か所目
それでは56箇所の公園を巡っていきたいと思います。見どころをダイジェストでお送りします。
5か所目、水谷橋公園では予想外の疲労を味わうことに。
階段を使って後悔です。エレベーターをお勧めします。経験者からのアドバイスです。
10か所目は、築地川銀座公園。この公園は個人的な盛り上がりスポットでした。
実は私、この2年間で観葉植物主趣味にはまりにはまってしまい、一時期は週一で観葉植物のお店に行き都内の主要なお店はあらかた行ってしまったほどです。
そんな私の目の前にアガベが咲いているのです。アガベの花はめったに見られないもので、1世紀に一度咲く花と言われます。
ここ数年日本では一斉にこのタイプのアガベが開花しているのですが、私はそれらを見るタイミングを逃しており、初めて生で目撃することが出来ました! 嬉しい!アガベはまだ自分は所有していないのですが、手にしたいという情熱が溢れていきます。
「興奮してないで、巡回セールスマン問題の件はどうなったの?」私の理性が指摘してきたので、ここまでの時間を確認しましょう。
順調に遅れています。本来3.5キロを47分で歩かなければならないところを、66分かけてしまっているのです。
遅さの心当たりは2つあります。1つ目は足の遅さです。私はハチャメチャに足が遅く普段から街中でご老人に抜かれることすら頻繁にあります。
そして、どの公園も特色があり、気になるポイントを撮影したらすぐ時間が経過してしまうのです。困ったものです。
11か所目~22か所目
15か所目、桜川屋上公園。再び屋上タイプの公園です。今回ここで2つ目です。
のちにわかることですが屋上タイプの公園は中央区に5か所あり、そのたびに私の足に疲労をあたえてくださいました。
ここで月島に突入です。再度、経過時間を確認しましょう。私は遅れをリカバーできたのかな?
理論では88分のところを127分で40分の遅延です。客先に40分遅刻と考えると大失態です。しっかりしてください!
先ほどまでは足の遅さ、公園の特色に目移りすることが遅れの理由でしたが、広すぎる公園、階段を登らないといけない川沿いの公園や屋上にある公園があり、足への疲労が蓄積した結果、遅れに繋がっていると感じております。
しかも、雨粒がかすかに降り始め文字通り雲行きが不安です。
23か所目~37か所目
26か所目(豊海児童公園)から27か所目(朝潮運河親水公園)の途中で問題発生。工事で道が封鎖されており、予定の進路に戻るのに手間取りまくり。
16時20分ごろにはだいぶ暗くなりました。日没が早すぎる。
月島には3か所連続で屋上に公園がありました。その3か所だけ他の公園には無かった、区が公式で制定している別名があるのがみどころです。
暗いし、雨がふってきました。私の心にも雨がふります。
月島エリアを巡り終え、残り19か所です。がんばれ私!現時点の進捗を振り返りましょう。
38か所目~56か所目
疲労がピークに達し、ベンチに座ったらびちょびちょでした。悲しくて立ち上がれません。
もはや雨を無視できません。我慢できずに傘を買いました。傘に文明を感じます。
なぜか最後の公園、楓川新場橋公園は見つけ出すのに苦労しました。公園ぽっさが今日一で無いのです。
あたりをグルグル回っり地図とにらめっこし、「いま立っている場所が楓川新場橋公園か!!」と判明、さながら幸せの青い鳥のような結末でした。
というわけで無理やり無事に、ゴール地点に到着です。時刻は20時16分。
雨、寒さ、暗さ、疲労。あらゆる問題が私を阻み、私もめげずに頑張りました。結果は以下の通りです。
ゴールの到着時刻は20時16分。予定より約140分遅れです。仕事ではやっちゃいけない数字。
この膨大な遅れの理由は元からの足の遅さ、公園の魅力のおかげ生じた写真撮影の手間、思ったより多い階段、長距離の疲労、冬の時期がもたらす寒さと日の入りの速さの合わせ技、降りしきる雨、と上げればきりがないというありさまです。
私の向こう見ずな所を踏まえてたとしてもこんなにも苦難が多いのは完全なる想定外でした。
巡回セールスマン問題の解にしたがって歩いていると、「無駄なルートを歩いていない」と意識で気持ちが楽でした。
しかし、雨風寒さ疲労を考慮できておらず想像以上に遅れました。今後街中の特定の施設(コインパーキングや区役所、公衆トイレ、国内の世界遺産などなど)を全部回る企画をするときには、疲労の概念を忘れずにスケジュールを組むことを心がけようと思います。