(57)【要約】【課題】最安運賃データの計算に要する時間やコストを削減することができる。また、改札の混雑を抑制して鉄道の円滑な利用を促進することができる。【解決手段】第１テーブルから発駅着駅間の最安運賃データを読み出す工程と、前記第１テーブルに前記発駅着駅間の最安運賃データが記憶されていない場合に、第２テーブルから前記発駅着駅間の最安運賃データを読み出す工程と、前記第２テーブルに前記発駅着駅間の最安運賃データが記憶されていない場合に、前記発駅着駅間の最安運賃データを計算により算出する工程と、前記算出した最安運賃データを前記発駅着駅間の最安運賃データとして前記第２テーブルに記憶する工程と、を有する方法。【選択図】図１
2017138933.tif 000002
【特許請求の範囲】
【請求項１】
第１テーブルから発駅着駅間の最安運賃データを読み出す工程と、
前記第１テーブルに前記発駅着駅間の最安運賃データが記憶されていない場合に、第２テーブルから前記発駅着駅間の最安運賃データを読み出す工程と、
前記第２テーブルに前記発駅着駅間の最安運賃データが記憶されていない場合に、前記発駅着駅間の最安運賃データを計算により算出する工程と、
前記算出した最安運賃データを前記発駅着駅間の最安運賃データとして前記第２テーブルに記憶する工程と、を有する方法。
【請求項２】
定期券の利用区間外である場合に、前記第１テーブルからの読み出し、前記第２テーブルからの読み出し、または前記最安運賃データの算出を行う請求項１に記載の方法。
【請求項３】
第３テーブルから前記発駅着駅間の最安運賃データを読み出す工程と、
前記第３テーブルに前記発駅着駅間の最安運賃データが記憶されていない場合に、前記第１テーブルからの読み出し、前記第２テーブルからの読み出し、または前記最安運賃データの算出を行う工程と、
前記最安運賃データの算出を行った場合に、前記算出した最安運賃データを前記発駅着駅間の最安運賃データとして前記第３テーブルに記憶する工程と、
を有する請求項１または２に記載の方法。
【請求項４】
請求項１から３のいずれか１項に記載の方法を実行する装置。
【請求項５】
複数の駅務装置と、前記複数の駅務装置に接続される請求項４に記載の装置と、を備えたシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は運賃データの計算に関する。
【背景技術】
【０００２】
２駅間の最安運賃テーブルをあらかじめ生成し、これを用いて最安運賃を計算する方法が知られている（特許文献１及び非特許文献１乃至３を参照）。また、定期券などの利用を考慮して最安運賃を計算する方法が知られている（特許文献２を参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−２６８２４２号公報
【特許文献２】特開２００７−２４９４４８号公報
【非特許文献】
【０００４】
【非特許文献１】幡山五郎、“自動改札機の運賃計算プログラムはいかにデバッグされているのか？  １０の４０乗という運賃パターンのテスト方法を開発者が解説（前編）”、［ｏｎｌｉｎｅ］、［平成２８年２月７日検索］、インターネット（ＵＲＬ：http://www.publickey1.jp/blog/12/_1040.html）
【非特許文献２】幡山五郎、“自動改札機の運賃計算プログラムはいかにデバッグされているのか？  １０の４０乗という運賃パターンのテスト方法を開発者が解説（中編）”、［ｏｎｌｉｎｅ］、［平成２８年２月７日検索］、インターネット（ＵＲＬ：http://www.publickey1.jp/blog/12/_1040_1.html）
【非特許文献３】幡山五郎、“自動改札機の運賃計算プログラムはいかにデバッグされているのか？  １０の４０乗という運賃パターンのテスト方法を開発者が解説（後編）”、［ｏｎｌｉｎｅ］、［平成２８年２月７日検索］、インターネット（ＵＲＬ：http://www.publickey1.jp/blog/12/_1040_2.html）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、あらゆる２駅間の最安運賃が記憶されたテーブルをあらかじめ作成するのには時間やコストがかかる。また、利用客が改札を通過するたびに最安運賃を計算していたのでは、高価な装置を使用しない限り計算に時間がかかり、改札が混雑して鉄道の利用に支障の出る虞がある。これらの時間やコストは、定期券の利用を考慮した場合により一層大きくなる。
【課題を解決するための手段】
【０００６】
上記の課題は、例えば、次の手段により解決することができる。
【０００７】
第１テーブルから発駅着駅間の最安運賃データを読み出す工程と、前記第１テーブルに前記発駅着駅間の最安運賃データが記憶されていない場合に、第２テーブルから前記発駅着駅間の最安運賃データを読み出す工程と、前記第２テーブルに前記発駅着駅間の最安運賃データが記憶されていない場合に、前記発駅着駅間の最安運賃データを計算により算出する工程と、前記算出した最安運賃データを前記発駅着駅間の最安運賃データとして前記第２テーブルに記憶する工程と、を有する方法。
【０００８】
上記の方法を実行する装置。
【０００９】
複数の駅務装置と、前記複数の駅務装置に接続される上記の装置と、を備えたシステム。
【発明の効果】
【００１０】
最安運賃データの計算に要する時間やコストを削減することができる。また、改札の混雑を抑制して鉄道の円滑な利用を促進することができる。
【図面の簡単な説明】
【００１１】
【図１】実施形態１に係るシステムの構成例を示す模式図である。
【図２】実施形態１に係るシステムの動作例を示す図である。
【図３】実施形態１に係るシステムの他の動作例を示す図である。
【図４】発駅着駅間の経路例を説明する図である。
【図５】実施形態１に係る方法を説明するフローチャートである。
【図６】第１テーブルの構成例を示す図である。
【図７】第２テーブルの構成例を示す図である。
【図８】第２テーブルの構成例を示す図である。
【図９Ａ】実施形態２に係る方法を説明するフローチャートである。
【図９Ｂ】実施形態２に係る方法を説明するフローチャートである。
【図１０】第２テーブルの構成例を示す図である。
【図１１Ａ】実施形態３に係る方法を説明するフローチャートである。
【図１１Ｂ】実施形態３に係る方法を説明するフローチャートである。
【図１２】第３テーブルの構成例を示す図である。
【発明を実施するための形態】
【００１２】
［システムの構成例］
図１は実施形態１に係るシステムの構成例を示す模式図である。システムは、発駅着駅間の最安運賃データ（最安運賃を特定するデータ）を計算するシステムであり、図１に示すように、複数の駅務装置１０と装置２０とを備えている。複数の駅務装置１０と装置２０は専用回線やインターネットなどのネットワークを介して互いに接続されている。複数の駅務装置１０は発駅と着駅を含む様々な駅に設置することができる。発駅とは乗車駅のことであり、着駅とは下車駅のことである。複数の駅務装置１０には自動改札機、精算機、窓口処理機などを用いることができる。装置２０にはサーバコンピュータなどを用いることができる。装置２０は、ＣＰＵなどの演算装置、ＲＡＭなどの短期記憶装置、及びハードディスクなどの長期記憶装置などを備えている。装置２０の演算装置が所定のプログラムを実行することにより、装置２０は動作する。
【００１３】
［システムの動作例］
図２は実施形態１に係るシステムの動作例を示す図である。以下、図２を参照しつつ説明する。
【００１４】
（ステップＳ１）
まず、着駅に設置された駅務装置１０が、装置２０に対して、乗車データを送信する（ステップＳ１）。この送信は、例えば、鉄道の利用客や駅員が、鉄道の利用客が所有する非接触通信型のＩＣカードを着駅の駅務装置１０に対してかざした際に行うことができる。また、この送信は、例えば、着駅の駅務装置１０に乗車券が投入された際に行うことができる。
【００１５】
乗車データは少なくとも着駅データと発駅データを特定することができるデータである発駅データとは発駅を識別するデータであり、着駅データとは着駅を識別するデータである。着駅データは例えば着駅の駅務装置１０に記憶されている。発駅データは、例えば、着駅の駅務装置１０にかざされたＩＣカードや、着駅の駅務装置１０に投入された乗車券に記憶されている。
【００１６】
乗車データは少なくとも着駅データとカード番号を特定することができるデータであってもよい。カード番号とはＩＣカードを識別することができるデータである。この場合は、例えば、発駅の駅務装置１０にＩＣカードがかざされた際に、発駅の駅務装置１０から装置２０に対して発駅データとカード番号を特定することができるデータが送信され、装置２０において、発駅データがカード番号に対応付けて記憶される。発駅データは例えば発駅の駅務装置１０に記憶されており、カード番号は発駅の駅務装置１０にかざされたＩＣカードに記憶されている。
【００１７】
乗車データから発駅データを特定できる限り、発駅データそのものは、乗車データに含まれていてもよいし、含まれていなくてもよい。同様に、乗車データから着駅データを特定できる限り、着駅データそのものは、乗車データに含まれていてもよいし、含まれていなくてもよい。同様に、乗車データからカード番号を特定できる限り、カード番号そのものは、乗車データに含まれていてもよいし、含まれていなくてもよい。
【００１８】
（ステップＳ２）
装置２０は、駅務装置１０から乗車データを受信した場合、乗車データを用いて、発駅着駅間の最安運賃データを計算する（ステップＳ２）。具体的には、乗車データから特定される発駅データと着駅データを用いて発駅着駅間の最安運賃データを計算する。装置２０においてカード番号と発駅データが対応付けて記憶されている場合は、乗車データから特定されるカード番号に対応付けて記憶されている発駅データと、乗車データから特定される着駅データと、を用いて、発駅着駅間の最安運賃データを計算してもよい。
【００１９】
（ステップＳ３）
装置２０は、発駅着駅間の最安運賃データを計算した場合、計算した発駅着駅間の最安運賃データを駅務装置１０に対して送信する（ステップＳ３）。なお、最安運賃データそのものが送信されない場合であっても、送信されたデータから最安運賃データを特定できる場合は、最安運賃データが送信されるものとみなす。
【００２０】
（ステップＳ４）
駅務装置１０は、発駅着駅間の最安運賃データを受信した場合、これをディスプレイなどに表示するとともに（ステップＳ４）、決済処理行う（ステップＳ５）。決済処理は、ＩＣカードが用いられる場合は、例えば、ＩＣカードに記憶されている電子マネーの残額から、最安運賃データにより特定される金額を減算することにより行うことができる。また、決済処理は、乗車券が用いられる場合は、当該乗車券を駅務装置１０内に回収することにより行うことができる。駅務装置１０は、例えば、電子マネーの残金や乗車券に記憶されている金額が最安運賃データにより特定される金額に満たない場合、駅務装置１０が備えるゲートを閉じたり警報音を発したりすることにより、利用客や駅員に決済できないことを知らせることができる。
【００２１】
［システムの他の動作例］
図３は実施形態１に係るシステムの他の動作例を示す図である。図３に示すように、決済処理は、装置２０により行うこともできる（ステップＳ６）。この場合、装置２０は、決済が成功したか失敗したかを示す決済結果データを駅務装置１０に対して送信する（ステップＳ７）。駅務装置１０は、受信した決済結果データをディスプレイなどに表示する（ステップＳ８）。駅務装置１０は、例えば、決済結果データが決済の失敗を示す場合、駅務装置１０が備えるゲートを閉じたり警報音を発したりすることにより、利用客や駅員に決済できないことを知らせることができる。なお、決済結果データそのものが送信されない場合であっても、送信されたデータから決済結果データを特定できる場合は、決済結果データが送信されるものとみなす。
【００２２】
［経路の例］
図４は発駅着駅間の経路例を説明する図である。図４に示すように、例えば駅１が発駅であり、駅５が着駅である場合、発駅から着駅の経路には、駅１→駅２→駅３→駅４→駅５で示される経路１と、駅１→駅２→駅３→駅６→駅７→駅４→駅５で示される経路２と、駅１→駅２→駅３→駅４→駅７→駅８→駅５で示される経路３と、駅１→駅２→駅３→駅６→駅７→駅８→駅５で示される経路４と、の合計４つの経路が考えられる。運賃が最も安くなる経路が最安経路である。利用客が支払わなければならない運賃は、利用客が実際に利用した経路の運賃ではなく、最安経路の運賃、すなわち最安運賃と定められているものとする。
【００２３】
［方法：実施形態１］
図５は実施形態１に係る方法を説明するフローチャートである。以下、乗車データから駅１を識別する発駅データと駅５を識別する着駅データが特定されるものとして、発駅が駅１であり着駅が駅５である場合の発駅着駅間の最安運賃データ、すなわち、駅１で乗車し駅５で下車する場合の最安運賃データを計算する方法を説明する。
【００２４】
（ステップＳ２１）
図５に示すように、まず、装置２０は、第１テーブルから駅１を発駅とし駅５を着駅とする最安運賃データを読み出す（ステップＳ２１）。第１テーブルとは２駅間の最安運賃データが記憶されるテーブルである。図６に示すように、第１テーブルには、発駅データと着駅データと最安運賃データとが互いに対応付けて記憶されている。図６に示す例によると、駅１を発駅とし駅２を着駅とする場合の最安運賃は２５０円となり、駅１を発駅とし駅３を着駅とする場合の最安運賃は３２０円となる。図６に示すように、第１テーブルには駅１を発駅とし駅５を着駅とする最安運賃データが記憶されていない。
【００２５】
（ステップＳ２２、ステップＳ２３）
装置２０は、第１テーブルに駅１を発駅とし駅５を着駅とする最安運賃データが記憶されていない場合、第２テーブルから当該最安運賃データを読み出す（ステップＳ２２、ステップＳ２３）。第２テーブルとは、第１テーブルとは別に設けられた、２駅間の最安運賃データが記憶されるテーブルである。図７に示すように、第２テーブルには、発駅データと着駅データと最安運賃データとが互いに対応付けて記憶されている。図７に示す例によると、駅１を発駅とし駅８を着駅とする場合の最安運賃は６５０円となる。図７に示すように、第２テーブルには駅１を発駅とし駅５を着駅とする最安運賃データが記憶されていない。
【００２６】
（ステップＳ２４、ステップＳ２５）
装置２０は、第２テーブルに駅１を発駅とし駅５を着駅とする最安運賃データが記憶されていない場合、当該最安運賃データを計算により算出する（ステップＳ２４、ステップＳ２５）。ここでは、駅１を発駅とし駅５を着駅とする最安運賃データとして、４５０円を示すデータが算出されるものとする。なお、計算は例えば鉄道会社各社により定められているルールに従い行うことができる。計算に際しては、第１テーブルや第２テーブルを利用してもよい。また、計算に際しては、第１テーブルや第２テーブルとは異なる別のテーブル（例：三角表）を利用してもよい。この場合、三角表などの別のテーブルは、第１テーブルや第２テーブルとともに、装置２０にあらかじめ記憶しておくことができる。計算は例えば積み上げ計算により行うことができる。
【００２７】
（ステップＳ２６）
図８に示すように、装置２０は、算出した最安運賃データ（４５０円）を、駅１を発駅とし駅５を着駅とする最安運賃データとして第２テーブルに記憶する（ステップＳ２６）。これにより、以後は、新たな計算を行なわずとも、駅１を発駅とし駅５を着駅とする最安運賃データ（４５０円）を第２テーブルから読み出すことが可能となる（ステップＳ２３）。
【００２８】
以上説明したように、本実施形態によれば、最安運賃データの計算に要する時間やコストを削減することができる。また、改札の混雑を抑制して鉄道の円滑な利用を促進することができる。
【００２９】
すなわち、計算する頻度が高い発駅着駅間の最安運賃データについては、これをあらかじめ計算して第１テーブルに記憶しておき、新たな計算を行うことなく利用することができる（ステップＳ２１）。他方、計算する頻度が低い最安運賃データについては、その計算の必要が生じた際に、これを新たに計算して利用することができる（ステップＳ２５）。したがって、あらゆる２駅間の最安運賃データが記憶されたテーブルをあらかじめ作成しておく必要がなく、装置２０の初期設定に要する時間やコストを削減することができる。
【００３０】
また、計算する頻度が低い発駅着駅間の最安運賃データであっても、一度計算した場合には、これを第２テーブルに記憶しておき（ステップＳ２６）、以後は、新たな計算を行なわずとも利用することができる（ステップＳ２３）。したがって、システムの利用が進むに従い、最安運賃データの決定に要する時間とコストを削減することができる。
【００３１】
さらに、運賃改定などがあった場合においても、あらゆる２駅間の最安運賃データを更新するのではなく、第１テーブルに記憶される最安運賃データについてのみ更新を行うことで、作業時間とコストを削減することができる。
【００３２】
［他の方法：実施形態２］
図９Ａ及び図９Ｂは実施形態２に係る方法を説明するフローチャートである。図９Ａ及び図９Ｂに示すように、実施形態２に係る方法は、定期券の利用区間外である場合（ステップＳ２７）に、第１テーブルからの読み出し（ステップＳ２１）、第２テーブルからの読み出し（ステップＳ２３）、または最安運賃データの算出（ステップＳ２５）を行う点で、実施形態１に係る方法と相違する。定期券の利用区間内である場合（ステップＳ２７）は、最安運賃データは０円に設定される（ステップＳ２８）。このように、定期券の利用区間内であるか否かを考慮に入れたうえで、最安運賃データを計算することもできる。特に、定期券の利用を考慮に入れた場合には、最安運賃データの計算が非常に複雑になる。しかしながら、実施形態２によれば、このような場合であっても、最安運賃データの決定に要する時間とコストを削減できる。定期券の利用区間内であるか否かの判断（ステップＳ２７）は、例えば、発駅と着駅の双方が定期券の利用区間内に位置しているかどうかで判断することができる。
【００３３】
装置２０は、例えば、定期券の利用区間が駅１から駅８である場合、次のようにして、駅１を発駅とし駅５を着駅とする最安運賃データを算出することができる（ステップＳ２５）。すなわち、駅８を経由する経路と駅７を経由する経路とがあるため、装置２０は、まず、駅７を発駅とし駅５を着駅とする場合の最安運賃データ（２５０円）と、駅８を発駅とし駅５を着駅とする場合の最安運賃データ（３００円）とを、鉄道会社各社が定めるルールに従って計算する。そして、装置２０は、両者を比較し、安い方の最安運賃データ（２５０円）を、駅１を発駅とし駅５を着駅とする発駅着駅間の最安運賃データとする。この場合、図１０に示すように、計算により得られた最安運賃データ（２５０円）と最安運賃データ（３００円）は、いずれも、算出された最安運賃データとして、第２テーブルに記憶される（ステップＳ２６）。したがって、これらの最安運賃データは、以後は、上記した計算を行なわずとも第２テーブルから読み出すことにより（ステップＳ２３）、利用することができる。
【００３４】
［他の方法：実施形態３］
図１１Ａ及び図１１Ｂは実施形態３に係る方法を説明するフローチャートである。図１１Ａ及び図１１Ｂに示すように、実施形態３に係る方法は、カード番号や発駅データや着駅データなどに基づいて第３テーブルから駅１を発駅とし駅５を着駅とする最安運賃データを読み出す工程（ステップＳ２９）と、第３テーブルに当該最安運賃データが記憶されていない場合に（ステップＳ３０）、第１テーブルからの読み出し（ステップＳ２１）、第２テーブルからの読み出し（ステップＳ２３）、または最安運賃データの算出（ステップＳ２５）を行う工程と、算出した最安運賃データを、駅１を発駅とし駅５を着駅とする最安運賃データとして第３テーブルに記憶する工程（ステップＳ３１）と、を有する点で、実施形態２に係る方法と相違する。第３テーブルは利用客に固有の２駅間の最安運賃データが記憶されるテーブルである。図１２に示すように、第３テーブルにおいては、カード番号と、発駅データと、着駅データと、最安運賃データと、が互いに対応付けて記憶される。図１２に示すように、駅１を発駅とし駅５を着駅とする最安運賃データ（２５０円）は、算出された最安運賃データとして、第３テーブルに記憶される（ステップＳ３１）。定期券などの利用が考慮される場合は、発駅着駅間の最安運賃データが利用客ごとに異なり得る。しかしながら、実施形態３によれば、このような場合であっても、一度計算した発駅着駅間の最安運賃データを再び計算することなく、第３テーブルから読み出すことにより利用することができる（ステップＳ２９）。したがって、より一層、システムの利用が進むに従い、最安運賃データの決定に要する時間とコストを削減することができる。
【００３５】
以上、実施形態１から３について説明したが、最安運賃データは、算出（ステップＳ２５）に要する時間が所定の時間を超えるもののみ、第２テーブルや第３テーブルに記憶してもよい（ステップＳ２６、ステップＳ３１）。このようにすれば、第２テーブルや第３テーブルが肥大化することを抑制して、第２テーブルや第３テーブルからの読み出し（ステップＳ２３、ステップＳ２９）に要する時間を削減することができる。
【００３６】
また、最安運賃データは、算出（ステップＳ２５）の頻度が所定の頻度を超えるもののみ、第２テーブルや第３テーブルに記憶してもよい（ステップＳ２６、ステップＳ３１）。このようにしても、第２テーブルや第３テーブルが肥大化することを抑制して、第２テーブルや第３テーブルからの読み出し（ステップＳ２３、ステップＳ２９）に要する時間を削減することができる。この場合、装置２０は、算出（ステップＳ２５）の頻度を記憶しておくことが好ましい。
【００３７】
また、装置２０は、第２テーブルや第３テーブルに記憶されている最安運賃データのうち、読み出しの頻度が所定の頻度未満であるものを削除することができる。このようにしても、第２テーブルや第３テーブルが肥大化することを抑制して、第２テーブルや第３テーブルからの読み出し（ステップＳ２３、ステップＳ２９）に要する時間を削減することができる。この場合、装置２０は、最安運賃データの読み出しの頻度を記憶しておくことが好ましい。
【００３８】
なお、図７、図８、図１０、及び図１２に示すように、第２テーブルや第３テーブルにデータを記憶（ステップＳ２６、ステップＳ３１）した日時を記憶しておけば、運賃改定時に第２テーブルや第３テーブルの内容を更新しない場合であっても、運賃改定前に記憶された最安運賃データを誤って利用することを抑制できる。
【００３９】
以上、実施形態について説明したが、これらの説明は、本発明の一例に関するものであり、本発明は、これらの説明によって何ら限定されるものではない。
【符号の説明】
【００４０】
１０    駅務装置
２０    装置
【図１】
2017138933.tif 000003
【図２】
2017138933.tif 000004
【図３】
2017138933.tif 000005
【図４】
2017138933.tif 000006
【図５】
2017138933.tif 000007
【図６】
2017138933.tif 000008
【図７】
2017138933.tif 000009
【図８】
2017138933.tif 000010
【図９Ａ】
2017138933.tif 000011
【図９Ｂ】
2017138933.tif 000012
【図１０】
2017138933.tif 000013
【図１１Ａ】
2017138933.tif 000014
【図１１Ｂ】
2017138933.tif 000015
【図１２】
2017138933.tif 000016