【JR東日本ポケモンスタンプラリー2019 】 が、7月12日(金)~8月25日(日)で開催中です。スタンプ設置箇所は全43駅ありますが、ここでは攻略方法として遺伝的アルゴリズムによる最短経路解析によるルートの検討を行いました。
まずは、純粋に最短ルートをプログラムにより解析しました。 遺伝的アルゴリズムに ついての解説は省略しますが、巡回セールスマン問題の解析論理です。
解析条件は東京駅を出発し、各駅を巡って東京駅に戻る設定とし、鉄道路線は関係なく駅間を直線で結ぶ方法で行いました。専門用語になりますが、評価関数・交叉・突然変異などの設定・計算による、100万回の処理を重ねて得られた結果です。
解析結果の経路は
[東京 – 神田 – 両国 – 錦糸町 – 北千住 – 松戸 – 新浦安 – 津田沼 – 千葉 – 牛久 – 取手 – 柏 – 越谷レイクタウン – 蓮田 – 上尾 – 大宮 – 武蔵浦和 – 赤羽 – 板橋 – 池袋 – 巣鴨 – 日暮里 – 上野 – 秋葉原 – 浜松町 – 田町 – 渋谷 – 目黒 – 品川 – 羽田空港国際線ビル – 蒲田 – 川崎 – 横浜 – 桜木町 – 東戸塚 – 大船 – 八王子 – 立川 – 吉祥寺 – 西荻窪 – 中野 – 新宿 – 市ヶ谷 – 東京]
で総延長は約340kmでした。 (真の最短ルートではないかも知れません)
しかし、この結果では鉄道を利用する事を想定すると、あまりいいルートとは言えません。(新浦安-津田沼、千葉-牛久、羽田空港-蒲田、大船-八王子など。)
※自動車、バイク、自転車で回るならこのルートでいいと思います。
そこでプログラムに鉄道路線の条件を付加しました。(路線による最適化や、京急、東武など民鉄の利用も想定しています)
プログラムの実行ごとにランダムな結果となりますが、そのうちの一例が以下のようなルートとなりました。
[東京 – 錦糸町 – 両国 – 秋葉原 – 市ヶ谷 – 新宿 – 八王子 – 立川 – 吉祥寺 – 西荻窪 – 中野 – 渋谷 – 目黒 – 蒲田 – 川崎 – 横浜 – 東戸塚 – 大船 – 桜木町 – 羽田空港国際線ビル – 品川 – 田町 – 浜松町 – 神田 – 上野 – 北千住 – 日暮里 – 巣鴨 – 池袋 – 板橋 – 赤羽 – 蓮田 – 上尾 – 大宮 – 武蔵浦和 – 越谷レイクタウン – 松戸 – 取手 – 牛久 – 柏 – 津田沼 – 千葉 – 新浦安 – 東京]の約370km(各駅間の直線距離です、実質だと400km位でしょうか)
[ 東京 – 錦糸町 – 両国 – 秋葉原 – 市ヶ谷 – 新宿 ]
東京から総武快速線で錦糸町へ。錦糸町からは総武緩行線で新宿へ。
[ 新宿 – 八王子 ]
中央線は往復するので、行きは八王子へ直行。「あずさ、かいじ」でも、特別快速でもいいですが、ここは京王特急で京王八王子へ。徒歩でJR八王子駅が変化があっていいかも。
[ 八王子 – 立川 – 吉祥寺 – 西荻窪 – 中野 – 渋谷 – 目黒 – 蒲田 – 川崎 – 横浜 – 東戸塚 – 大船 ]
中央線、山手線、京浜東北線、横須賀線で。ここは修行区間。蒲田川崎を後回しにして大崎から湘南新宿ライン・横須賀線という手もありますね。
[ 大船 – 桜木町 – 羽田空港国際線ビル – 品川 ]
根岸線で桜木町へ。横浜からは京急で羽田へ行きたい。で、京急で品川でもいいけど、モノレールで浜松町ルートもあります。
※上記で蒲田、川崎をパスするのであれば、八王子-横浜を横浜線・根岸線を利用して大船へ。帰りに川崎蒲田経由で浜松町まで戻り、浜松町からモノレールで羽田空港往復も良いかも知れません (大人の事情) 。
[ 品川 – 田町 – 浜松町 – 神田 – 上野 – 北千住 – 日暮里 – 巣鴨 – 池袋 – 板橋 – 赤羽 ]
山手線、常磐線、埼京線で。ここも修行区間。
[ 赤羽 – 蓮田 – 上尾 – 大宮 ]
宇都宮線、高崎線ですが、蓮田駅-上尾駅を結ぶ路線バスがありますよ。
[ 大宮 – 武蔵浦和 – 越谷レイクタウン – 松戸 – 取手 – 牛久 – 柏 ]
埼京線、武蔵野線、常磐線で。後半なので駅間は長めに。
[ 柏 – 津田沼 – 千葉 – 新浦安 – 東京 ]
柏から津田沼は東武野田線経由や、乗り換えて新京成なども面白いかも。千葉からはモノレール、最後は京葉線で新浦安によって東京駅ゴール。
今回の43駅では、わざわざプログラムを作らなくても良かった気もしますが、遺伝的アルゴリズムの勉強を兼ねて、自身の経験を含めた最適ルートまでの検討として行いました。
関連リンク ポケモンスタンプラリー2019地図