最長片道きっぷの経路を求める
[付録2-2] 2004年3月版(質問編)

このページのあらまし

 最長片道きっぷを買って旅人が実際に旅行するという、 類まれな紀行番組「列島縦断 鉄道12000kmの旅」が NHK で放送されています。 この番組を見た人が不思議に思いそうなことをQ&A形式でまとめます。

 なお、このページで疑問が解けなかった場合は、本編の「[5] よくある質問と答え」、 あるいは付録1も参照してください。 ただし、本編・付録1は2000〜2003年に書かれたものであり、 現在では事情の変わっているものもあります。 「付録2(このページ)」と「本編・付録1」で矛盾した記述がある場合、 付録2(このページ)の記述が2004年7月時点での正解です。


目次


ごく基本的な質問

[Q] そもそも最長片道きっぷって何ですか?
[A] 最長の片道きっぷです。:-)

 最長片道きっぷとは、文字どおり「最長の片道きっぷ」です。 詳しくは、LOP のトップページ中「最長片道きっぷとは?」 を参照してほしいのですが、要約すると以下のようになります。

[Q] なぜ最長経路が鹿児島県着ではないんですか?
[Q] なぜ最長経路は四国を通らないんですか?
[A] 全ルートから最長のものを選んだらそうなりました。

 最長片道きっぷの経路の終点は佐賀県の肥前山口駅で、 (JRでは)最南端の鹿児島県ではありません。また、四国は通りません。
 その理由はいずれも「計算してみたらそうなったから」としか言いようがありません。 「鹿児島県で終わるより佐賀県まで引っ張ったほうが長いルートになる」 「四国に入るより入らないほうが長いルートになる」ということが客観的な計算によって判明したのであって、 私たちが恣意的に決めたわけではありません。 始発駅がJR最北端の稚内というのは多くの人の直感と一致すると思いますが、 これもあくまで「計算したらたまたま稚内発が最長になった」というだけです。 現に、一時期は道東の広尾駅が最長経路の出発点でした。
 ただ、計算するまでもなく分かる性質として、北海道、四国、九州の3島のうち、 最長片道きっぷで訪問できるのは2島以下というものがあります。 というのは、3島と本州を結ぶ路線がそれぞれ1本しかなく、 島に一度入ると出られない(逆に、島から一度出ると入れない)からです。 (本州・九州間の新在同時利用については「[2-4] 整数計画法で(戦略編)」を参照してください。)

 なお、NHK の「列島縦断 鉄道12000kmの旅」では四国も訪問しますが、 これは最長片道きっぷで岡山に途中下車し、 その間に別の乗車券で四国を一周してから再び岡山に戻るということです。NHK 自身も「本来なら四国は最長片道きっぷの旅に含まれないが、 特別編として訪問する」と説明しています。
 また、かつては本州と四国を結ぶ連絡船が2航路あったため、 最長片道きっぷの経路は北海道、四国、九州の3島をすべて通っていました。

[Q] 全行程普通列車で行くことはできますか?
[A] 新幹線・急行しか走らない区間があるので不可能です。

 最長片道きっぷの経路は、時として新幹線を通っています。 新幹線と在来線のどちらに乗るかを任意で選べる場合もありますが、 必ず新幹線に乗らないといけない場合もあります (「新幹線と、それに並行する在来線の双方を通る区間」や、 並行する在来線が存在しない区間)。
 また、青函トンネルを含む海峡線(木古内・中小国間)には普通列車が走っておらず、 この区間では急行・特急列車に乗らないといけません。

[Q] ルートを見ると、経路が交差しているところがあるんですが?
[A] 交差部分に駅がなければ問題ありません。

 経路図を見ると、最長ルートは何度か「立体交差」しています。 たとえば国府津の少し先(新幹線と御殿場線)、 武蔵小杉のあたり(南武線といわゆる「横須賀線」)、 尼崎の少し先(新幹線と福知山線)などです。
 これらの交差部分に関しては「同じ地点を2度通過」することになりますが、 交差地点に駅がないので「同じ駅を2度通過」することにはならず、 片道きっぷを買う上で特に問題はありません。

[Q] 経路図を見ると、湘南新宿ラインが描かれていませんが?
[A] 実際の線路と「運賃計算用の路線図」には細かなちがいがあります。

 経路図を見ると、ふだん列車が走っているのに描かれていない線路があります。 たとえば大崎と西大井を結ぶ、いわゆる「湘南新宿ライン」はその典型です。 これは、最長経路を示す経路図が「運賃計算用の路線図」をベースにしているからです。
 JRの運賃計算に使う路線図は、 実際の線路とぴったり一致しているわけではありません。 特に、もともと貨物線だった線路を活用した「短絡線」の類は、 現地には線路があるのに運賃計算用の地図にはその線路が存在しないことになっていて、 実際にその線路を走る旅客列車に乗った場合には、 別の「もっとメジャーな線路」を通ったものとして運賃を計算することが多くあります。
 たとえば前述の大崎・西大井間は、運賃を「大崎・品川・西大井」で計算します。 また別の例として、 特急〔はるか〕〔オーシャンアロー〕などが走る新大阪・西九条間の線路は、 運賃を「新大阪・大阪・西九条」で計算します。
 このような相違があるため、 たとえば「…→品川−(山手線)→大崎−(湘南新宿ライン)→西大井→…」といった経路は、 運賃計算経路が「…→品川→大崎→品川→西大井→…」となるので、 片道乗車券を買えません。

 また逆に、駅構内などで別々の路線が同じ線路を共有していて、 実際に旅行すると同じ線路の上を2度通ることもありますが、 運賃計算に使う路線図で各路線が独立した線路を持っていることになっていれば、 片道乗車券を買うことができます。

[Q] 川崎付近でもっと長い経路を見つけましたが?
[A] 「運賃計算用の路線図」では、横須賀線と東海道線は鶴見で合流します。

 以前から非常に多い質問として、 川崎付近の最長経路は以下のようになるのではないか、というものがあります。

…→立川→尻手→浜川崎→鶴見→品川−(横須賀線)→横浜→大船→…

 しかし実は、これは片道乗車券を買えない経路です。というのは、運賃計算上、 横須賀線と東海道線は鶴見で合流していると扱うからです。 「鶴見に駅がないのに?」「時刻表の索引地図では新子安の手前で合流してるのに?」 という疑問はもっともだと思いますが、 「運賃計算用の路線図」では鶴見で合流していることになっています。

[Q] 四国と沖縄を除いて全都道府県を通りますか?
[A] 通ります。

 説明は略しますが、最長経路は四国と沖縄を除いた42都道府県をすべて通ります。

[Q] 自分も最長片道きっぷを買って旅行してみたいんですが?
[A] 決しておすすめはしません。

 最長片道きっぷを買って実際に旅行すると、 どんなに急いでも2週間では済みません。 それに、日程を詰めれば詰めたで、1日の大半を列車の中で過ごすことになります。 単なる「日本一周ツアー」感覚で始めると途中でうんざりすること請け合いで、 「極度に鉄道の好きな人」以外にはおすすめしません。

[Q] 最長片道きっぷは機械では発券できないんですか?
[A] 現在の機械では無理です。

 最長片道きっぷは、現在のところ機械での発券ができません。 その理由は、経由路線が多すぎて入力ができないからです。
 端末の種類にもよりますが、機械で発券できるのは経由路線が数十(詳細不明ながら、 多くとも40路線と思われる)までです。 最長片道きっぷではゆうに100路線を超えるので、 機械発券は不可能ということになります。

[Q] 最長片道きっぷを買うのにどのくらい時間がかかりますか?
[A] 大きな駅でも1週間は見ておいたほうがいいでしょう。

 前のQ&Aにも関連しますが、 最長片道きっぷは機械で発券できないので手書きによる発券となり、 発券には時間がかかります。きっぷに文字を書き入れる作業もさることながら、 経路の妥当性や運賃のチェックにかなりの時間を食うことでしょう(機械発券ならば、 このような作業は計算機が行うので一瞬で済みます)。
 具体的な所要時間はそれぞれの発行所の事情によりますが、 もっとも無難と思われる「地域で一番大きな駅」で購入するとしても、 1週間は見ておいたほうがいいでしょう。 決して「旅行開始当日に稚内駅で買えばいいや」などと考えないでください (どうしても稚内駅発行の乗車券がほしければ、 事前に「発注」しておいて当日は引き取るだけにしておくしかないでしょう)。
 券種は「普通乗車券」ですが実際には普通でない乗車券ですので、 購入にあたってはそれなりの配慮をすべきでしょう。


きっぷの基本的なルールに関する質問

[Q] 肥前山口駅を2度通っているんですが?
[A] 2度目の訪問時に、そこで旅行をやめればOKというルールです。

 最長片道きっぷのルートを見ると、 佐賀県の肥前山口駅を2度通ることになっています。これに関して、 「同じ駅を2度通過してはいけない」と言っているのになぜ?という質問が多いのですが、 JRのルールでは同じ駅を2度目に訪問するまでは片道きっぷが買えるのです。
 より詳しく言えば、 片道乗車券が買えるのは「環状線(=ループ状の線路)一周を超えない」とき、 と規定されています。 環状線をちょうど一周してそこでやめる分には問題ないわけです。 この文書の最初のQ&Aでもいちおう気をつかって、 「同じ駅を2度通過しない限り…」と書いてあります。

[Q] ルートを見ると、わざわざ近道しているところがあるんですが?
[A] 運賃計算の特例のせいです。

 経路図を見ると、北海道(森・大沼間)、山口県(岩国・櫛ヶ浜間)の2カ所で、 遠回りができるのにわざわざ近道をしています。 これは「遠回りをするときも近道で運賃を計算しなさい」という特例があるからです。 このページで提供している経路図では「運賃計算経路」を示しています。
 上記2区間は乗車券に経路が指定されておらず、 「近道」「遠回り」のどちらに乗ってもいいことになっていますが、 旅行の趣旨からして実際には遠回りをするのが妥当でしょう。 (ただ、私は実際の旅行時に少々サボって、 後者を新幹線で突っ切ってしまいました。)

[Q] 並行する新幹線と在来線は両方使っていいんですか?
[A] 区間、条件によっては両方使えます。

 新幹線と在来線が並行して走っている場合、 その両方を使ってもいいのか?というのもよくある疑問ですが、 区間と条件によっては両方使うことができます
 より詳しく言うと、新幹線と在来線の関係は以下の4種類に分けられます。

  1. 常に同一線として扱う
    (東京・品川間、三河安城・名古屋間など)
  2. 原則は同一線だが、区間の途中で分岐するなどの場合に限り別の線として扱う
    (品川・小田原間、高崎・越後湯沢間など)
  3. 原則は別の線だが、運賃計算時など特定の場面では同一線に準じて扱う
    (新下関・小倉・博多間)
  4. もともとまったく別の線、あるいは並行在来線というものがない
    (盛岡・八戸間、高崎・長野間、新八代・川内間)

 このうち4は何も考える必要がありません。 また1は、新幹線と在来線を常に同じ線路として扱うので、 どうやっても片方しか利用できません(両方使ったら「同じ線路を2度通る」ことになる)。
 次に2ですが、これには 「指定された区間の中間駅で他線に乗り継ぐ場合には別線扱いする」 という規則があります。 たとえば「指定された区間」の1つである品川・小田原間について見てみると、 最長経路は川崎、国府津、 新横浜など「品川・小田原間の中間駅」で他線に乗り移っているので、 前述の規則に合致し、新幹線と東海道本線を別の路線として扱うことができます。 逆に、「品川−(新幹線)→小田原−(在来線)→品川」のように、 中間駅で他線に乗り移らない経路の場合には、新幹線と在来線を同一線として扱うので、 両者を1枚の片道乗車券にまとめることはできません(前述の例は往復乗車券になる)。
 なお、3については複雑な問題をはらんでいるため、「[付録2-3] 2004年3月版(質問編九州版)」を参照してください。

[Q] 新幹線と在来線が並行しているところでは必ず在来線を使うんですか?
[A] 運賃計算上の距離はどちらも同じなので、任意に選べます。

 新幹線と在来線が並行している区間のうち、 1つ上のQ&A中で「(条件付きを含め)同一線として扱う」とされている区間(1. と 2.)については、 新幹線と在来線のどちらを通るかは自由です。 新幹線経由の乗車券で在来線に乗れますし、その逆も可能です。
 また、1. から 3. については、運賃計算上、 新幹線と並行在来線は同一距離とされているため、 「どちら経由が最長か」という質問に対しては 「運賃計算上はどちらでも同じです」と答えることになります。

 ただ、実際には新幹線と在来線は別のルートを通っているため、 実距離は若干ちがいます。
 概して、2地点間を直線的に結ぶ新幹線のほうが並行在来線よりも短いのですが、 区間によっては並行在来線より新幹線のほうが実距離が長いこともあります。 確たる裏付けをとれる情報源がないので断定を避けますが、 最長片道きっぷのルート上では、大宮→熊谷、京都→新大阪、 新下関→小倉が「在来線より新幹線のほうが実距離が長い」区間のようです。 (また、広島→岩国より広島→新岩国のほうが実距離は長いようですが、 広島→徳山で比較すると在来線のほうが長くなります。 選択乗車云々の議論はここでは割愛します。)
 「より長い経路をとる」という最長片道きっぷの精神からいけば、 在来線と新幹線のうち、実距離のより長いほうを選択するというのが妥当でしょう。 私は自分自身の実乗時にそこまで考えませんでしたが、NHK の番組ではそのへんまで考慮しているようで、 5月26日の放送では大宮→熊谷でわざわざ新幹線を利用していました。 (ただ、その後「小田原→三島」「静岡→豊橋」「鹿児島中央→川内」で新幹線、 「新下関→小倉」で在来線に乗っていたので、よく分からなくなりました。)

[Q] 途中下車は可能ですか?
[A] もちろん可能です。

 最長片道きっぷではもちろん途中下車が可能です。
 自動券売機で売っているようなJRの近距離きっぷでは途中下車ができませんが、 これは単に距離が短いからで、 JRでは原則として片道100kmを超える乗車券なら途中下車が可能です。 (ただし、100kmを超えても例外的に途中下車のできない場合があります。)
 なお、途中下車のできる乗車券には、 「途中下車できます」といった表記は特にありません。 逆に、途中下車のできない乗車券には「下車前途無効」のような表記があります(今度、 近距離のきっぷを買ったときに確認してみてください)。 これは、JRの運送約款が「途中下車は原則可能、 ただし100km未満などの場合には例外的に不可」という書き方になっているためだと考えられます。

[Q] ルートの最後は時計回り、反時計回りのどちらですか?
[A] きっぷを買うときに指定すれば、どちらでも可能です。

 最長経路の最後はループ状になっていますが、この部分は時計回り、 反時計回りのどちらかを任意に選べます。 ただし、乗車券を買う前にどちら回りかを決める必要があります。

[Q] NHK 版では赤穂線の代わりに山陽本線を通っていますが、どちらが正解?
[A] 運賃計算キロ、営業キロのどちらを最長にするかによります。

 この Web ページで紹介している最長経路は 「運賃計算経路の運賃計算キロを最長にする」ことを目標にして算出したものですが、 最長片道きっぷの流儀として「営業キロを最長にする」というものもあり、 こちらの流儀に従うと、相生・東岡山間が赤穂線経由ではなく山陽本線経由になります。 というのは、この区間、営業キロでは「赤穂線<山陽本線」なのに対し、 運賃計算キロでは「赤穂線>山陽本線」だからです。
 NHK の番組では「営業キロ最長」の流儀に従ったため、 この区間は山陽本線経由となっていましたが、 流儀のちがいなので「どちらが正解でどちらが不正解」とはいえません。

 以下、用語の解説です。
 まず「営業キロ」とは、 文字どおり「営業上(運賃などを計算するうえで)用いる距離」のことで、 ほとんどの場合には実際の距離と一致しています。
 さて、運賃計算上、JRの路線は「幹線」 「地方交通線」の2つに分類されていて、 地方交通線の運賃は(同距離で比較すると)幹線の運賃より高く設定されています。 大ざっぱにいって、「地方交通線にnキロ乗ったときの運賃は、 幹線にn×1.1キロ乗ったときの運賃と同じ」です。 このため、地方交通線には「営業キロの約1.1倍」となる 「換算キロ」「擬制キロ」が定義されています (「換算」「擬制」の差は、ここでは単に呼び名のちがいだと思ってください)。
 幹線と地方交通線にまたがる経路の運賃計算では、幹線に関しては「営業キロ」、 地方交通線に関しては「換算キロ」「擬制キロ」を用い、全経路の距離を通算します。 このように、 「営業キロ」と「換算キロ」「擬制キロ」を通算したものを 「運賃計算キロ」と呼び、 この運賃計算キロを運賃表にあてはめて運賃を計算します。
 以上のようなしくみになっているため、 「最も高い乗車券がほしい人」は「運賃計算キロ最長」を目指し、 「最も長い距離に乗れる乗車券がほしい人」は「営業キロ最長」を目指します。 そして、この2つの差が、前述の「相生→東岡山」だけだったということです。

[Q] なぜ新下関・小倉間を新幹線にしたんですか?
[A] 在来線より実キロが長いからです。

 このページで紹介している最長経路では、2004年以降、 本州・九州間で新幹線を利用しています(以前の地図は在来線経由)。 これは、新下関・小倉間で新幹線と在来線を比較した場合、 新幹線のほうが実際の距離が長いということに(今さらながら)気付いたからです。
 なお、運賃計算上の距離(営業キロ)は新幹線、在来線ともに同じです。 また、JR九州の乗車距離は在来線経由のほうが長くなるので、加算運賃を考慮すると、 在来線経由のほうが運賃が高くなる可能性があります(実際には今後当分の間、 どちらを経由しても加算運賃の上限額が適用されることになると思いますが)。

[Q] JR以外の会社を間にはさんではいけないんですか?
[A] はさむこともできますが、めんどうなので今回はやめました。

 このページで紹介している最長経路は「JR線だけを利用する」 という前提で算出したものですが、 JRと他の運輸機関の乗車券を1枚にした、 いわゆる「連絡乗車券」も考慮に入れれば、 さらに長距離の乗車券を買うことができます
 ただ、連絡乗車券を考慮に入れると、以下のような問題が生じます。

 発着駅にかかわりなく「JR−他社−JR」 という乗車券を発売できるのは数社しかなく、この数社を路線図に加えるだけで、 実際の「他社またがりを許す最長経路」は出てくると思いますが、前述のとおり、 得られた経路が最長であることを客観的に証明するのがめんどうなので、 このページでは扱っていません。

[Q] 時刻表には11000km付近の運賃表・有効日数が載っていませんが?
[A] 旅客営業規則には計算方法が載っています。

 たいていの時刻表には、「何kmから何kmまで何円」といった形式の、 距離と運賃の対応を示した運賃表が載っていると思いますが、 大型の時刻表でもさすがに10000km乗ったときの運賃までは載っていません。 たとえば手元にある JTB 時刻表では3400kmまでです。
 では、運賃計算キロが11552.7kmの最長片道きっぷはどうやって運賃を計算するの?と不思議に思う人がいるかもしれませんが、運送約款(旅客営業規則)を読むと、 JRの運賃はかんたんな計算式で定義されているので、 何kmでも(理論的には10万kmでも)運賃を計算することができます。
 有効期間も同様で、「営業キロ100kmまで1日、200kmまで2日、 それ以降200kmごとに1日加算」と定義されているので、 営業キロ11158.0kmの最長片道きっぷの有効期間は、 (11158.0を200km単位に切り上げて)11200÷200+1=57日となります。

 以下、JRの運賃の計算方法(というより定義そのもの)です。
 JRの運賃は、以下の表のように、 1kmあたりの運賃が乗車距離に応じて3段階になっています。

JRの1kmあたりの運賃(幹線)
距離 1kmあたりの運賃
(税抜き)
300km以下
(第1地帯)
16.20円
300km超〜600km以下
(第2地帯)
12.85円
600km超
(第3地帯)
7.05円

 しかし、この単価に単純にキロ数をかければいいというわけではありません。 というのは、運賃は階段状に上がっていくからです。
 具体的には、キロ数が600km以上の場合、運賃は40km刻みで上がり、 600km超〜640km以下の運賃は620km(=600〜640kmの中間)乗ったものとみなして計算します。 つまり、601km乗っても640km乗っても運賃は同じ(620km分)です。 以下、640km超〜680km以下の運賃は660km分、 680km超〜720km以下の運賃は700km分…と、40km刻みが永遠に続きます。
 運賃計算キロが11552.7kmだと、 「11520km超〜11560km以下」という範囲に入るので、 運賃は(範囲の中間である)11540km分ということになります。
 あとは、この「11540km」を先ほどの表にあてはめるだけです。 11540kmのうち最初の300kmが16.2円/km、次の300kmが12.85円/km、 残る10940kmが7.05円/kmなので、合計で300×16.2+300×12.85+10940×7.05=85842円。 これを100円単位に丸めてから消費税を加えると、85800×1.05=90090円となります。
 実際にはこれに北海道、九州の加算運賃(いずれも最高額で、それぞれ310円、 420円)が追加されるので、乗車券のねだんは90090+310+420=90820円となります。


最長ルートの算出についての質問

[Q] これまで知られていた算出方法と何がちがうんですか?
[A] 最長であるということを数学的に保証できています。

 このページで紹介している最長ルートの算出方法の一番の特徴は、 求めたルートが最長であることを数学的に保証できているという点です。

 最長ルートを求めるすべての試みを調べたわけではありませんが、 私が知る限り、これまで、 最長ルート算出は主に経験とカンに基づいた手計算で行われていました。 算出過程の一部に計算機を利用するにしても、 たとえば「北海道と九州を必ず通る」といった仮定をおいて、 問題を簡略化することが多かったように思います。
 これらの手法でも実際の最長ルート(=最長であると私たちが証明したルート) を求めることはできますが、 求めたルートが最長であるということを保証できないという問題があります。 たとえば、「北海道発九州着より、 本州内をぐるぐる回ったほうが距離をかせげる」という主張に対して、 きちんとした根拠を添えて反論することができなかったわけです。
 たとえ手計算でも、かなり工夫すれば、あるいはかなりの手間をかければ、 求めたルートが最長であるということを証明するのは可能でしょう。 しかしそれはおそらく、路線図の形に即した手法を各地方ごとに考案するという、 かなり骨の折れる作業になると思われます。
 それが、このページで紹介している手法を用いると、 「本州内をぐるぐる回る経路」「北海道発四国行の経路」など、 発券し得るすべての片道きっぷの中から確実に最長経路を選び出すことができるのです。
 「計算時間が数分」というのも特長の1つですが、 特に時間短縮を追求したわけではありませんし、 時が経つにつれて計算機は勝手に(?)速くなっていくので、 これを特長として強く主張するつもりはありません。 もちろん計算時間は短いほうがいいのですが、 計算時間が数日、数年、数百年とかいうオーダーにならない限り、 実用上問題はないと私は考えています。

[Q] 手計算に計算機で勝って楽しいですか?
[A] 私たちは「長さ比べ」で遊んでいるわけではありません。

 これはQ&Aというよりは「A&Q」なのですが、 私たちのやっていることをできるだけ理解してほしいと思うので書きます。
 「計算機を使って最長経路を求めています」と言うと、 「手計算でやっている人もいるのに、 計算機を使うのはずるい」という意味合いのことを言う人がたまにいますが、 私たちは、だれかと競って「長さ比べのパズル」を解いているわけではありません。 最長片道きっぷは「がんばればもっと記録が伸びる」 という性質のものではないからです。
 手計算で最長経路を求めようとする人には、最長経路の探索は、 たとえば棒高跳びの記録を練習によって更新していくように、「試行錯誤しながら、 従来の『最長記録』を次々と更新していく」という作業に見えるかもしれません。
 しかし本来、最長片道きっぷの経路の長さというのは、 路線図(と運賃計算のルール)が与えられた時点で一つに決まっています。 あとはその「たった一つの答え」を見つけられるかどうかです。 棒高跳びの世界記録は練習を積めばまだまだ伸びるかもしれませんが、 最長経路の長さは路線図やルールといった前提条件が変わらない限り、 絶対に伸びません。
 目標である「最長経路」はたった1点なので、 探索方法も単なる「長さ比べ」とはちがいます。 「10500kmの経路は見つかったから、 次はそれ以上の経路を探そう」という「下から迫る」方法だけでなく、 「12000kmの経路は存在しないことが分かったから、 これ以下のものを探そう」という「上から迫る」方法も使っています。
 以上のように、最長片道きっぷの経路を求める際、 「目標」=最長距離はただ1点なのですが、 「答えはたった1つ」ということが分かっているだけで、 問題を解いている間は当然、その答えが何なのかは分かりません。 ですから、実際に(手計算でも何でもかまいませんが)その1点にたどり着いても、 そこがほんとうの目標なのかどうか、確認できなければ意味がありません。 その「確認すること」というのが、 このページで何度となく唱えている「数学的な保証を得ること」です。

[Q] 最長ルートを計算するソフトを作ったんですか?
[A] 作ったのはソフトではなく、数式です。

 これが解法に関して最も多い誤解かもしれません。
 「最長経路を計算機で求めました」と言うと、たいていの人が「じゃあ、 最長経路を求めるソフトを作ったんですね?」と答えますが、 私たちが作ったのは数式であって、 (狭い意味での)ソフトウェアではありません。
 ごくかんたんに言うと、 世の中には「方程式や不等式を解く電卓」のようなプログラムがすでにあって、 私たちは「手で解けないような複雑な方程式や不等式」を作り、 その「すごい電卓」に解かせた、それだけです。
 ただ、私たちが利用した「整数計画法」という手法、英語でいうと「Integer Programming」なので、プログラミングといえばそうなのかもしれません。 でも、まちがっても「私たちが整数計画問題を解くプログラムを作った」 などと誤解しないでくださいね。

[Q] 手計算でも時間をかければ最長ルートを求められますか?
[A] 計算機と同じアプローチではほぼ不可能です。

 計算機を使わなくても、 時間をかければ保証つきの最長ルートは求められるのでは?と思う人もいるかもしれませんが、 計算機と同じアプローチで人間が解くのは、おそらく不可能です。 今すぐ始めてもあなたの生きているうちには終わらないでしょう。
 ただ、異なる手法をとれば、最長経路を求め、 それが最長であることを証明するのは可能かもしれません。興味のある方、 まずは「最長経路が北海道発九州着になること」を証明してみてください。

[Q] 方程式を解いているんですか?
[A] だいたいそんなものですが、不等式が混じっています。

 このページで紹介している手法では、 ひとことでいうと連立不等式を用いています。
 中学校で習う連立方程式は、未知数が2つ以上あって、 たいていは式の数が未知数と同じだけあって、 答えが1つに決まるというものでした。
 いっぽう、 このページの手法では「連立方程式の中に不等式が混じったもの」を解きます。 連立方程式と同じく、 与えられた式をすべて満たすような未知数の値を求めればいいわけですが、 不等式なので答えは一般的に「ある領域」となり(1つに決まらない)、 その領域の中で最も距離が長いものを探します(実際には、 未知数の多くは整数でないといけないので、その条件も加えて探します)。 未知数は数百程度、式の数は2000程度です。

[Q] 計算時間はどのくらいですか?
[A] 合計で数分程度です。この時間にはデータ作成などの時間を含みません。

 計算に要する時間は、 商用のソルバー(整数計画問題を解くプログラム)と一般的なPCを利用すると、 合計で数分程度です。ただし、この時間にはデータ作成の時間を含みません。
 1999年冬、初めてこの手法で最長経路を求めたときには、 データ作成や数式の考案などにだいたい1カ月を要しました。 その後、路線の改廃に対応する作業は単純なデータ作成だけなので、 数分〜数時間あれば準備が終わります。


細かい質問

 この章は「その筋の人」以外にはおそらく意味不明です。

[Q] なぜ今回「新在同時利用不可」説を採ったんですか?
[A] 心境の変化です。

 このページでは、かつて「新下関・小倉・博多間は条件により新在同時利用可」 説を採ってきましたが、 2004年3月以降は「常に同時利用不可」説を採ることにしました。
 これは、来るべき「最長片道きっぷブーム」に備えたものです。NHK での番組放映にともない、2004年度の最長片道きっぷ発売実績は、 6月末の時点ですでに前年度の年間実績の2.3倍(速報値)となっています。 また、購入者も重度の鉄道マニアから一般層へ広がってきています。 そこで、窓口での無用のトラブルを避けるため、 高度に政治的な判断により、新在同時利用は不可としました。 …というのは嘘です
 ほんとうのところ、解釈を変えたのにそれほど明確な理由はありません。 ただ、最長経路を紹介している以上、「運がよければ認められる経路」よりは 「確実に片道乗車券の出てくる経路」のほうが無難ですし(実際、 この問題についてきちんと理解している人はまれで、 本州内の「区間の途中で他線と接続していればOK」と混同している人、 「博多・吉塚間で折り返す部分が『直接乗り継ぎ』にあたる」とかんちがいしている人、 さまざまです)、 JR各社のうち新在同時利用不可説を採る会社にいやな顔をされるのは本意ではないので、 2004年以降は「新在同時利用不可」版の最長経路をメインに据えることにしました。

[Q] 「肥薩おれんじ」を使えば九州新幹線以前の経路にできますか?
[A] 通過連絡運輸の契約がないので不可能です。

 肥薩おれんじ鉄道はJRと「通過連絡運輸」を行っていません(2004年7月現在)。 したがって、 肥薩おれんじ鉄道を利用して九州新幹線開業以前の最長ルートをたどる場合、 ルート全体を1枚の片道乗車券におさめることはできません。

[Q] 「IGR+青い森」を使えば、北東北の経路を以前のようにできますか?
[A] 通過連絡運輸の「向き」が限定されているので不可能です。

 IGR いわて銀河鉄道・青い森鉄道とJRの通過連絡運輸は、 盛岡・目時・八戸間および盛岡・好摩間にのみ設定されており、 好摩・目時・八戸間には設定されていません。したがって、 「…→青森→八戸→目時→好摩→大館→…」といった経路の片道乗車券は購入できず、 東北新幹線八戸延長前の最長経路を1枚の片道きっぷでたどることはできません。



(c) SWA / KASAI TakayaSWA へメールを送る
最終更新: 2004年10月31日
簡易包装にご協力ください。