説明

寄り道検索装置及び方法及びプログラム

【課題】 ユーザにとっての時間的な制約を満たすような検索要求や、待ち時間も含めたスケジューリングを可能とする。
【解決手段】 本発明は、ユーザから出発点、到達点、経由点を含むカテゴリ情報と、ユーザ指定時間条件を取得し、カテゴリ情報に合致する経由点をグラフデータベースを参照して取得し、経由点のうちユーザ指定の情報とサービス時間条件に合致しない経由点を排除し、排除されていない経由点について、ユーザ指定時間条件を満たし、出発点出発時刻、経由点到着時刻、経由点滞在時刻、経由点滞在終了時刻、経由点出発時刻、到達点到着時刻、及び待ち時間を含むスケジュールを生成し、該経由点においてサービスを受け、全体として最小の所要時間で、出発点から該経由点を経由し、到達点に至るルートを検索する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、寄り道検索装置及び方法及びプログラムに係り、特に、交通やグルメ等のインターネット上の検索サービス、カーナビ等のナビゲーションシステム、旅行日程作成支援のような計画作成支援等において、所定の地点を通過する経路のうち、最短の経路を探索するための寄り道検索装置及び方法及びプログラムに関する。
【背景技術】
【0002】
グラフにおける最短経路を求める技術として、ダイクストラ法、A*法等のグラフ探索技術が確立している(例えば、非特許文献1参照)。これらの技術は、ノード間の移動コスト(例:所要時間)が与えられたグラフにおいて、合計コストが最小となる「最短の」経路を求める手法である。この技術は鉄道網や道路網から所望のルートを探索するサービスに活用されている。
【0003】
一方、ユーザに対して、ユーザの希望や趣向等に応じて、行きたい場所を推薦するレコメンドサービスがある。レコメンドサービスとして、代表的な技術に以下の2つがある。
【0004】
・位置情報を用いたグルメ情報等の推薦;
・経路探索時の経路の近辺の店・サービスの推薦;
前者は、ユーザがGPS機能を持つ携帯電話、スマートフォン等を持ち、その位置情報からその近くのユーザの希望や趣向にあった店を推薦するという技術である。
【0005】
後者は、カーナビ等で、目的地までの経路を検索したときに、その経路沿いのガソリンスタンドやファーストフード店等を表示するような技術である。
【0006】
グラフ情報を蓄積・検索する手段として、グラフデータベースが提案されている(例えば、非特許文献2参照)。
【0007】
上記技術と関連するが目的が少し異なる、次のような要求がある。例えば、ユーザがどこかに出張するときに、必ずしも最短経路でなく、多少遠回りしてもよいから、その経路上で自分の好みの昼食をとってから目的地に到達したい、という要求である。この要求を満たす検索を「寄り道検索」と呼ぶことにする。このとき経由する経由地をPOI(Point Of Interest)と呼ぶ。ユーザからは、直接具体的なPOIを指定するのではなく、「寿司が食べたい」とか「銀行に行きたい」というような行きたい場所のカテゴリで指定されることを想定する。具体的なPOIが事前に決まっているのであれば、出発点−POI・POI−到達点の2つのルートを最短経路探索法で求めればよいので、技術的には既存の技術で解決できる。しかし、寄り道検索では、予めわからないPOIを探索しつつ、できるだけ最短経路に近いような経路を求めることが必要になる。寄り道検索については、ダイクストラ法をベースとした検索方式が提案されている。
【0008】
以下に、具体的な寄り道検索の手法について説明する。
【0009】
図1に、従来の寄り道検索しシステムの全体処理のフローチャートを示し、図2に従来のPOIチェック機能の処理のフローチャートを示す。
【0010】
図2は、図1のS5,S6の「S側(E側)で確定したノードがPOIかチェック」の中のフローである。S側とE側のフローは共有される。
【0011】
図1と図2のフローの基本的な考え方は以下の通りである。
【0012】
・ダイクストラ法を出発点側(S側)と到着点側(E側)の両方から実行する;
・S側・E側からそれぞれスタートして、POIに到達したら、当該ノードへの経路を候補テーブルに登録する;
・候補テーブルにS側・E側から同じPOIに到達する経路があれば、それを結果テーブルに登録する;
・以上を終了条件を満たすまで繰り返す。
【0013】
結果テーブルは、全体のコスト(=S側からのコスト+E側からのコスト)でソートされている。結果テーブルに含まれる要素の個数をk件と予め決めておき、最終的にそのk件の結果を返却することによって、最もコストの少ない上位k件の寄り道検索結果を返却することができる。
【0014】
探索終了条件は、ダイクストラ法で最短経路探索を行う場合はエンドコードが確定(コストが決定)すれば終了してかまわないが、寄り道検索の場合は、その判定法を用いることができない。寄り道検索の場合は、以下のように決定される。
【0015】
・既にk個の解が求められ、以下の条件がS側・E側の両方で成立するとき終了(よりコストの小さいルートは得られない)。
【0016】
条件:結果テーブルの最大コスト≦候補テーブルの最小コスト+現在ノードのコスト
・上記条件だけでは、k個の解が見つからないときに終了せずに延々と遠回りして解を探してしまう。よって、コストの現実的な値で上限を設け(例えば、180分以内のルートを求める)終了条件とする。
【0017】
以下に図2の処理を説明する。
【0018】
ステップ101) 当該ノードのカテゴリがユーザによって指定されたカテゴリに一致しているかを判定し、一致していない場合は当該処理を終了する。
【0019】
ステップ102) カテゴリが一致している場合には、反対側(E側ならばS側、S側ならばE側)から当該ノードへの経路が候補テーブルに既に登録されているかを判定し、登録されている場合にはステップ103に移行し、登録されていない場合はステップ105に移行する。
【0020】
ステップ103) 結果テーブルに当該ノードへの経路と反対側からの経路を組にして登録する。
【0021】
ステップ104) 結果テーブルをコストでソートして当該処理を終了する。
【0022】
ステップ105) 候補テーブルに未登録の場合は、候補テーブルに当該ノードを登録し、当該処理を終了する。
【先行技術文献】
【非特許文献】
【0023】
【非特許文献1】五十嵐健夫「データ構造とアルゴリズム」(数理工学社,2007).
【非特許文献2】Neo4j http://now4j.org/
【発明の概要】
【発明が解決しようとする課題】
【0024】
上記寄り道検索において、寄り道をするときに、寄り道する店が開店していないと意味がない。店の開店時間は12時〜22時のように制限がある。この制限を満たすような店を寄り道して欲しい。例えば、夜遅めに出発するときには、閉店前に間に合うように出発点からなるべく近くの場所に寄り道する必要がある。これは開店時間だけでなく、「12時〜13時、ランチ2割引」や『17時以降、閉店前3割引』のような時間限定のタイムセールのときに来店したいという要求と同じ課題であるといえる。このような、時間制約を持つような寄り道検索を「タイムセール寄り道検索」と呼ぶ。上記では、開店時間などのPOIの時間制約を例として挙げたが、「その店で2時間ゆっくりしたい」「銀行でお金をおろすのでぎりぎりに間に合えばよい」と言うような、ユーザにとっての時間的な制約を満たすような検索要求もあり、これらを満たす検索も同様に「タイムセール寄り道検索」と呼ぶ。
【0025】
タイムセール寄り道検索においては、基本的な時間制約をチェックする手順と条件が課題となる。通常の寄り道検索では全体所要時間は、出発点からPOIまでの所要時間と、POIから到達点までの所要時間を単純に足せばよいが、タイムセール寄り道検索の場合、待ち時間も許容することがサービス的に有効である。POIにサービス開始よりも5分早めに着いたとしても、待ち時間を含めればトータルの所要時間は小さい場合もある。このように、待ちも含めた全体スケジュールを提案できることが課題となる。
【0026】
寄り道検索の従来手法はダイクストラ法をベースとしているが、ダイクストラ法は貪欲的な特徴を持ち、近傍のノードをすべて展開していく。よって、従来の寄り道検索手法において、全体の所要時間に予め制約をかけることによって、探索の発散を抑止している。この探索範囲の増大と、不自然な制約は大規模で複雑なネットワークに適用する上での課題である。タイムセール寄り道検索においては、時間制約を利用して、探索の範囲を狭められる可能性がある。ダイクストラ法では、所要時間に相当するエッジに与えられる数値をコストと呼ぶことが多いため(所要時間よりは広い意味)、今後、所要時間をコストと呼ぶことがある。
【0027】
本発明は、上記の点に鑑みなされたもので、ユーザにとっての時間的な制約を満たすような検索要求に対応でき、かつ、待ち時間も含めたスケジューリングが可能な寄り道検索装置及び方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0028】
上記の課題を解決するため、本発明(請求項1)は、グラフにおける寄り道の最短経路を求める寄り道検索装置であって、
ノードのID、名前、カテゴリ情報を持つノード情報と、2つのノードIDの組で表現されるノード間の関係と該ノード間の移動所要時間を持つエッジ情報からなるグラフ情報と、ノードで実施されるサービスの開始・終了時刻とサービス内容を格納したグラフデータベースと、
ユーザから指定された、出発点、到達点、経由点を含むカテゴリ情報と、出発点での出発時刻の最大値及び最小値、該経由点での滞在時間の最大値及び最小値、該経由点での到着時刻の最大値及び最小値、該経由点での出発時刻の最大値及び最小値、該到達点での到着時刻の最大値及び最小値を含むユーザ指定時間条件を取得するユーザインタフェース手段と、
前記ユーザインタフェース手段で入力された前記カテゴリ情報に合致する経由点を、前記グラフデータベースを参照して取得するPOI(Point Of Interest)チェック手段と、
前記POIチェック手段で取得した前記経由点のうち、前記ユーザから指定された情報とサービス時間条件に合致しない経由点を排除するユーザ・サービス条件チェック手段と、
前記ユーザ・サービス条件チェック手段で排除されていない経由点について、ユーザ指定時間条件を満たし、出発点出発時刻、経由点到着時刻、経由点滞在時刻、経由点滞在終了時刻、経由点出発時刻、到達点到着時刻、及び待ち時間を含むスケジュールを生成し、該経由点においてサービスを受け、全体として最小の所要時間で、前記出発点から該経由点を経由し、前記到達点に至るルートを検索する全体スケジュール算出手段と、
を有する。
【0029】
また、本発明(請求項2)は、前記POIチェック手段の実施前に、前記ユーザの指定する条件に合致しない経由点を処理対象から除外する探索制限手段を更に有する・
【発明の効果】
【0030】
本発明により、ユーザが求める寄り道要求に応えるナビゲーションサービスを実現できる。自分の好みの店を通る経路を求める、ATMの終了時間に間に合うような経路を求める、等のサービスを可能にする。また、探索制限の効果によって、探索範囲を限定し、レスポンスタイムを向上させることができる。但し、探索範囲の制限は、ユーザ指定条件に依存する。例えば、ユーザが非常に緩い条件を指定した場合(極端な例はどんな時間でもよいからサービスを受けたい)、探索範囲の制限の効果はなくなる。しかし、ランチタイム、宴会時間などのように時間が限定される場合、例えば、行きの探索範囲は、大まかにはスタート予定時刻から宴会開始までという範囲に限定され、無秩序な探索は抑制される効果がある。
【図面の簡単な説明】
【0031】
【図1】従来の寄り道検索装置のフローチャートである。
【図2】従来の寄り道検索装置におけるPOIチェック機能のフローチャートである。
【図3】本発明の一実施の形態における寄り道検索装置の構成図である。
【図4】本発明の一実施の形態におけるタイムセール寄り道検索のフローチャート(方式1)である。
【図5】本発明の一実施の形態におけるユーザ条件とサービス条件の付き合わせ処理のフローチャートである。
【図6】本発明の一実施の形態におけるPOI滞在開始・終了とサービス条件の制約チェックの例である。
【図7】本発明の一実施の形態におけるPOI滞在時間の制約チェックの例である。
【図8】本発明の一実施の形態におけるコスト情報とPOI滞在開始・終了条件の制約チェックの例である。
【図9】本発明の一実施の形態の戦略例における個別値の決定イメージである。
【図10】本発明の一実施の形態の戦略例における個別値の決定例である。
【図11】本発明の一実施の形態における調製フェーズのイメージである。
【図12】本発明の一実施の形態のすぐ出発する戦略における時刻の決定イメージである。
【図13】本発明の一実施の形態におけるタイムセール寄り道検索のフローチャート(方式2)である。
【図14】本発明の一実施の形態における方式2のタイムセール寄り道検索のS406の詳細動作のフローチャートである。
【図15】本発明の一実施の形態における図13のS404の詳細なフローチャートである。
【図16】本発明の一実施の形態における条件1〜4のイメージである。
【図17】本発明の一実施例のグラフの例である。
【図18】本発明の一実施例のグラフデータベース例である。
【図19】本発明の一実施例の出発路側のコストテーブルのイメージである。
【図20】本発明の一実施例の到着路側のコストテーブルのイメージである。
【図21】本発明の一実施例の候補テーブルと結果テーブルの例である。
【図22】本発明の一実施例のタイムセール寄り道検索における値の指定例である。
【図23】本発明の一実施例のコスト情報とPOI滞在開始・終了事件のチェックの例である。
【図24】本発明の一実施例の全体コストを求めるときの個別値決定フェーズである。
【図25】本発明の一実施例の決定された個別値である。
【図26】本発明の一実施例の調整フェーズのイメージである。
【発明を実施するための形態】
【0032】
以下図面と共に、本発明の実施の形態を説明する。
【0033】
図3は、本発明の一実施の形態における寄り道検索装置の構成を示す。
【0034】
同図に示す寄り道検索装置は、コストテーブル101、グラフデータベース102、ユーザインタフェース部105、探索制御部110、POIチェック部120、コストテーブル更新部130、探索終了判定部140、ユーザ・サービス条件チェック部150、全体スケジュール算出部160、探索結果作成部170、探索制限部180、グラフDB制御部190から構成される。さらに、図示しないが、結果テーブルや候補テーブルを保持するメモリも具備する。
【0035】
コストテーブル101は、探索されたノード、そのノードに至るまでのその時点での最小コスト、そのノードに至る一つ前のエッジの情報を持つ。また、コストテーブル101は、出発点から探索されたコストテーブル、到着点から探索されたコストテーブルの2つがある(図19,20)。
【0036】
グラフデータベース102は、ノードのID、名前、カテゴリ情報からなるノード情報と、2つのノードIDの組で表現されるノード間の関係とノード間の移動所要時間からなるエッジ情報と、各ノードで実施されるサービスの開始・終了時刻、開店時間やタイムセール等の時間制約情報を、グラフデータモデルの形で二次記憶に永続的に記憶する(図18)。
【0037】
ユーザインタフェース部105は、ユーザが指定する出発点、到着点、行きたい場所のカテゴリ、時間制約を入力する機能を持つ。詳しくは、出発点、到達点、経由点を含むカテゴリ情報と、出発点での出発時刻の最大値及び最小値、該経由点での滞在時間の最大値及び最小値、該経由点での到着時刻の最大値及び最小値、該経由点での出発時刻の最大値及び最小値、該到達点での到着時刻の最大値及び最小値を含むユーザ指定時間条件を取得する。
【0038】
探索制御部110は、ユーザインタフェース部105で指定された情報を元に、探索を実行し探索結果を作成するまでの全体の制御を行う。
【0039】
POIチェック部120は、探索の途中で、ユーザが現在いる地点が指定されたカテゴリを満たすかどうか判定する機能を持つ。ユーザ・サービス条件チェック部150、全体スケジュール算出部160に問い合わせることにより、「寿司」「銀行」のようなカテゴリと一致していることをチェックし、計算されたコスト情報から、その地点に寄り道したときに所望の条件と合致しているか(開店時間やタイムセールに間に合ったか、2時間ゆっくりできるのか等)を判定する。
【0040】
コストテーブル更新部130は、ユーザが現在いる点の隣の全てのエッジを求め、もし、そのエッジを経由するルートが最小コストであれば、コストテーブル101を更新する機能を持つ。
【0041】
探索終了判定部140は、探索を終了してよいのかの判定を行う。判定は、
・出発店からPOIまでの経路と到着点からPOIまでの両方の経路が求められていること;
・事前に設定された個数の経路を導出していること;
・これ以上よりよいコストの経路が求められないこと;
・コストの限界値以下であること;
等を用いて判定を行う。
【0042】
ユーザ・サービス条件チェック部150は、POIチェック部120におけるPOIチェック時に、ユーザ条件とサービス条件を照らし合わせて、その矛盾があるかないのかの判定を行う機能を持つ。矛盾がある場合はPOIチェック部120にNGを返却する。
【0043】
全体スケジュール算出部160は、出発点〜POIの道のり(以降、「出発路」と呼ぶ)、POI〜到着点の道のり(以降、「到着路」と呼ぶ)に掛かるコストと、サービス条件を満たすように補正されたユーザ条件を受け取り、全体のスケジュールを算出する機能を持ち、その結果をPOIチェック部120に返却する。
【0044】
探索結果作成部170は、探索終了後に、コストテーブル101の情報から、全経路を構成する機能を持つ。終了点のコストテーブルから、順に前のコストテーブル101を追っていけば全経路を見つけることができる。
【0045】
探索制限部180は、探索している位置とユーザ条件からそれ以上展開する必要があるかを判定し、不要であれば、コストテーブル101のノードのコストを無限大にすることでノードの展開を停止させ、探索を制限する機能を持つ。
【0046】
グラフDB制御部190は、グラフデータベース102への検索機能を提供する。提供される機能としては、あるノードから隣のノードを求める、あるエッジの両側のノードを求める、などの基本的なグラフ情報を検索する機能である。
【0047】
上記の構成のうち、ユーザ・サービス条件チェック部150、全体スケジュール算出部160は、単なる寄り道検索ではなく、「タイムセール寄り道検索」を実施するために必要な機能である。太線で示された探索制御部180とPOIチェック部120は、タイムセール寄り道検索を実施するにあたって、追加された上記のユーザ・サービス条件チェック部150、全体スケジュール算出部160の機能を呼び出すところが従来の技術と異なる点である。なお、タイムセール寄り道検索では当然グラフデータベース102にPOIのサービス条件が追加される点で異なる。太い二重線で示された探索制御部180は、タイムセール寄り道検索において探索を効率的に実行するために必要な機能である。
【0048】
<タイムセール寄り道検索>
以下に、タイムセール寄り道検索の実現法について説明する。
【0049】
最初に実現するために必要となる情報の定義について説明する。この情報については、サービス提供側の情報とユーザ側の都合の情報の2種類がある。それぞれを「サービス条件」「ユーザ条件」と呼ぶことにする。最初にサービス条件について説明する。
【0050】
<サービス条件>
・タイムセールの開始時刻:service_start
・タイムセールの終了時刻:service_end
・タイムセールのサービス内容:serice_content
タイムセールの開始時刻、終了時刻はその名とおりの定義であり、ランチサービスならば、"service_start = 11:30・service_end = 14:00"等となる。また、開店時刻、閉店時刻もこの値を使用することとする。
【0051】
また、以下の例では、電車網を意識した例で説明するが、電車の始発・終電を考慮した検索が可能になっている。電車の始発時刻・終電時刻は、駅を表すノードの"serive_start"と"service_end"であると定義することにする。電車網を検索する場合、本来は時刻表と乗り継ぎの関係も考慮する必要があるが、それは容易であるため、単純化のために、ここでは考慮しないことにする。
【0052】
"service_content"はタイムセールのサービス内容であり、例えば、『ランチ食べ放題』や、『残り商品全品3割引』、等といった値をとり得る。ユーザが希望するサービス内容を指定することを考えると、例えば、「ランチand 3割引」、等の組合せの指定がある。そのためには、"serivce_content"を構造化し、検索可能にする必要があるが、その方法は容易であるため、ここでは、"serivce_content"は一つの項目として構造化されていないと想定する。
【0053】
次に、ユーザ条件について定義する。
【0054】
<ユーザ条件>
・出発点を出発する時刻の最大値と最小値をそれぞれかstart_max、start_min;
・POI滞在時間の最大値と最小値を、pos_stay_max、pos_stay_min;
・POI到着時刻の最大値と最小値を、poi_start_max、poi_start_min;
・POI出発時刻の最大値と最小値を、poi_end_max、poi_end_min;
・到着点へ到着する時刻の最大値と最小値を、end_max、end_min;
これらの定義の意味を説明する。出発点の最大値は「できるだけ遅く出発する時刻」、最小値は「できるだけ早く出発する時刻」を意味する。以下にその例を示す。
【0055】
(1)POIの滞在時間:
・最低1時間はゆっくり食をしたい場合、"poi_stay_min = 60"とする。
【0056】
・2時間で食事を切り上げたい場合、"poi_stay_max = 120"とする。
【0057】
・チケット購入のように、窓口に滑り込みで間に合えばよいという場合、"poi_stay_max( = poi_stay_min)= 0"とすればよい。
【0058】
・POI到着時刻は、食事を遅くとも19:00から始めたい場合は、"poi_start_max = 19:00"とする。
【0059】
・食事を18:00より前には始めたくない場合は、"poi_start_ min = 18:00"とする。
【0060】
(2)POI出発時刻:
・食事を22時には必ず切り上げる場合は、"poi_end_max = 22:00"とする。
【0061】
・食事を21:00までは必ず時間をかけて食べる場合は、"poi_end_min = 21:00"とする。
【0062】
(3)到着時刻
・到着する時刻の最大値は、遅くなっても24:00には帰宅したい場合は、"end_max = 24:00"とする。
【0063】
・23:00にならないと家の鍵が開かないので、それよりも遅く帰る必要があるという場合は、"end_min = 23:00"とする。
【0064】
タイムセール寄り道検索を実現するためには、ユーザ・サービス条件チェック部150において、ユーザ条件とサービス条件が合致するかをチェックしながら探索を行う必要がある。そのチェックの仕方により2つの方式がある。
【0065】
一つはタイムセール条件を最後にチェックする方式であり、寄り道が完成するタイミングで、タイムセール条件を満たすかどうかチェックする方式である。(請求項1,3に対応)
もう一つは、タイムセール条件を事前にチェックする方式であり、寄り道が完成していない時点でも、タイムセール条件を利用すると探索を停止できるケースがある。その条件を積極的に利用して、事前に探索範囲を狭める方式である。(請求項2、4に対応)
以下に、上記の2つの方式について詳細に説明する。
【0066】
<方式1:タイムセール条件を最後にチェックする方式>
寄り道が完成するのは、POIチェックの処理内であるので、その処理をタイムセールに対応するよう前述の図2のフローを図4のように変更する。
【0067】
以下に、変更箇所を説明する。なお、図2と同一処理には図2と同一のステップ番号を付与し、その説明を省略する。
【0068】
ステップ201) 両側からのルートが発見された後(ステップ102、Yes)に、ユーザ・サービス条件チェック部150は、そのルートがタイムセールに関するユーザ条件・サービス条件を満たすかどうかをチェックする。ここで、ユーザ条件とサービス条件をチェックし矛盾する場合には排除される。もし、満足しない場合(例:タイムセール時間内に寄り道できない場合)は、POIチェックはNGとなり停止する。ここまでの処理で、行き・帰り・POI滞在の「時間(の長さ)」が決定される。
【0069】
ステップ202) 全体スケジュール算出部160は、全体スケジュールを算出し、結果テーブルに登録する。ここでは、待ち時間がある場合も考慮して、出発時刻、経由点出発時刻等の全体スケジュールを求めて、結果テーブルに登録する。通常の寄り道検索では、S側とE側のコストを単純に加えたものであるが、タイムセール寄り道検索の場合は、それでは不十分である。サービスが始まるまで、待たされる可能性があるからである。待ちのあるなしで、コストの順番が逆転する可能性がある。最終的なコストは、出発時刻と到着時刻の差となる。このステップで行きから帰りまでの全ての「時刻」が決定される。
【0070】
次に、ユーザ・サービス条件チェック150による突合せ(比較)について説明する。
【0071】
図5は、本発明の一実施の形態におけるユーザ条件とサービス条件の突合せ処理のフローチャートである。
【0072】
ステップ301) 最初に、「POI滞在開始・滞在終了条件とサービス条件に矛盾がない」ことをチェックする。図6にその状況を示す。"poi_start"、"poi_end"はそれぞれPOI開始・終了時刻の候補となる「区間」であり、"poi_stay"はPOI滞在時間の「長さ」を表している(最大値がpoi_stay_max、最小値がpoi_stay_min)。"service"はサービス条件を表す区間である。POIの滞在開始と滞在終了はサービス時間に含まれる必要があるため、以下の関係が成り立つ必要がある(サービスは1区間で表現されると仮定している)。
【0073】
service_start≦poi_start_max
poi_end_min≦service_end
ステップ302) 次に、POI滞在開始区間とPOI滞在終了区間を補正する。サービス区間に含まれないPOI滞在開始・終了区間は実質的に除外してよいので、POI滞在開始区間・終了区間とサービス区間で交わりをとり、それを補正されたPOI滞在開始区間・終了区間として今後の処理で使用する(図6の"poi_start'"と"poi_end'")。
【0074】
ステップ303) 次に「補正されたPOI滞在開始・滞在終了条件とPOI滞在時間に矛盾がない」ことをチェックする。図7にPOI滞在時間と開始時間・終了時間の関係を示す。図7に示すように、滞在時間の長さが滞在開始・終了時間に対して短い場合(ケース1)は矛盾である。OKである条件は以下で表現される。
【0075】
前者が"poi_stay"が短い場合の排除、後者が"poi_stay"が長い場合の排除である。
【0076】
poi_end'_min < poi_start'_max + poi_stay_min
poi_start'_min + poi_stay_max ≦ poi_end'_max
ステップ304) 次に、コストテーブル101とグラフデータベース102を参照して、POIまでのコスト情報とPOI滞在情報に矛盾がないかをチェックする。S側からのPOIまでのコストを"cost_s"、E側からPOI案でのコストを"cost_e"とする。図8にそれらの相対関係を示す。制約を満たさないケースとして、行くときのコストが大きすぎてPOI滞在開始に間に合わないケース(ケース1)、帰るときのコストが大きすぎて目的地到着に間に合わないケース(ケース2)がある。また、「待ち」を許容する場合は、ケース3のようにPOIに到着してからPOI滞在開始まで待ったり、POI滞在終了してから、移動するまで待つというケースは許容することができる。
【0077】
この条件で式を書くと以下のようになる。この条件をチェックする。
【0078】
start_min + cost_s < poi_start'_max
start_end'_min + cost_e < end_max
また、出発から到着までのトータルの長さが区間の最大幅を超えないようにする必要があるので(ケース5)、以下の条件をチェックする。
【0079】
cost_s + poi_stay_min + cost_e < end_max - start_min
これでユーザ条件とサービス条件の付き合わせは完了である。
【0080】
ステップ202) 次に、全体スケジュール算出部160は、待ち時間を含めた全体スケジュールを算出し、結果テーブルに登録する。この前のステップ201のチェックによって、「時間(の長さ)」について矛盾するような条件は排除されているが、これまで与えられた制約では、いつ出発し、POIに滞在し、目的地に到着するという「時刻」は一意には決定されない(全体コストは一意に決まらない)。全体のプランを決定するためには、時間制約を持つ、寄り道検索に対す戦略の知識が必要である。ここでは、代表的な戦略例に基づいて全体プランを決定し、全体コストを求める方法を提示する。この戦略は単純化されており、現実のアプリケーション上必ずしも有効とは限らない。実際にはアプリケーションに適した戦略を実現する必要があるが、それは下記戦略の応用で容易に実現できる。
【0081】
まず、説明のために幾つかの用語を定義する。
【0082】
・全体の出発と到着の時刻を、total_start、total_endとする。
【0083】
・総コスト(出発してから到着するまでの時間をtotal_costとする。
【0084】
・自明な関係として、total_cost = total_end - total_startが成り立つ(関係1)
・実際にPOIに滞在する時間の開始時刻と終了時刻をそれぞれ、poi_stay_start、poi_stay_endとする(宴会の開始と終了時刻のイメージ)
・POIに到着する時刻と出発する時刻をpoi_arrive、poi_leaveとする。
【0085】
・自明な関係として、poi_arrive = total_start + cost_sが成り立つ(関係2)。
【0086】
・自明な関係として、total_end = poi_leave + cost_eが成り立つ(関係3)。
【0087】
やや用語が紛らわしいが、POIへの滞在とは、POIの店に入っていた時間のイメージであり、POIの到着・出発時刻とは区別をしていることに注意されたい。POIへの滞在を比喩的に理解するために、今後、滞在を「宴会」の開始・終了を例として表現することがある。これからの目標は、戦略に応じて、"total_start"、"poi_arrive"、"poi_stay_start"、"poi_stay_end"、"poi_leave"、"total_end"の6つの値を決定することである(実質的には関係2,3があるので4つ決定すればよい。また、これらが決めれば関係1により"total_cost"も決定する)。以下の例では簡単のために、POIへの滞在時間(宴会時間)は固定であるとする。これは、POI滞在時間の最大値と最小値が等しいことを意味する(この値を"poi_stay"とする)ので、式で表現すると以下が成り立つ。
【0088】
poi_stay_min = poi_stay_max
<戦略例>できるだけ待ちをなくし、かつ早く行動する:
この戦略の特徴を以下に示す。
【0089】
・できるだけ早く宴会を開始する;
・できるだけ早く帰宅しようとする;
・待ち時間はできるだけ発生させない→出発は宴会開始に近づける;
スケジュールの算出は、「個別値決定フェーズ」と「調整フェーズ」の2つのフェーズによって構成される。
【0090】
個別値決定フェーズとは、まず、全体としてスケジュールの整合性は無視し、出発時刻(Start)、到着時刻(End)、経由地滞在開始(POI)の3つの値をそれぞれの制約条件を元に決定する。
【0091】
調整フェーズでは、前に決定された値から全体スケジュールとして矛盾しないような調整を行う。
【0092】
●個別値決定フェーズ:
図9に個別値決定フェーズのイメージを示す。このフェーズでは、大きく、出発路の区間(S区間。ケース1〜3)、到着路の区間(E区間。ケース1,2)、滞在地の区間(P区間。ケース1,2)の3つの区間を決める。この戦略における出発路区間は、cost_sの値が小さいときは、許容されるぎりぎりの(start_max)に出発し、POI到着後宴会開始まで待つことになる(ケース1)。"cost_s"がだんだん大きくなり待ちが短くなり、"poi_arrive"が"poi_start_min"に到着すると、次に"total_start"が前倒しされる(ケース2)。"total_start"が"start_min"に到達した時点で、"poi_arrive"が後ろにずれていく(ケース3)。"cost_s"の最大値は"poi_start_max - start_min"で、これより大きくなることはない(既にそのケースは事前に除外されている)。
【0093】
到着路区間は"cost_e"の値が小さいときは、許容されるぎりぎり(end_min)に到着するようにPOIを出発する。宴会終了後POI出発まで待つことになる(ケース1)。"cost_e"がだんだん大きくなり待ちが短くなり、"poi_leave"が"por_end_min"に到達すると、次に、"total_end"が後ろにずれる(ケース2)。"cost_e"の最大値は"end_max - poi_end_min"で、これより大きくなることはない(既にそのケースは事前に除外されている)。
【0094】
滞在区間は、POI滞在時間(poi_stay)が小さいときは、許容されるぎりぎり(poi_end_min)に収容するように宴会が行われる(ケース1)。POI滞在時間がだんだん大きくなり"poi_stay_start"が"por_start_min"に到達すると、次に"poi_stay_end"が後ろにずれる(ケース2)。POI滞在時間の最大値は"poi_end_max - poi_start_min"で、これより大きくなることはない。
【0095】
上記の戦略例において決定された個別値を図10に示す。
【0096】
●調整フェーズ:
次に、調整フェーズについて説明する。上記のパターンの組合せによって全体が決定されるが、調整が必要な場合として、一般的には以下の2つがある。
【0097】
・各区間の間に空きがある場合;
・各区間に重なりがある場合;
しかし、POI滞在時間を固定としたために、空きがある場合は、それは待ち時間となり、調整の余地はない。次に、重なりがある場合の解決法を図11に示す。上記の個別値決定では可能な限り、前倒しになるようにスケジュールが決定されているので、重なりが発生した場合は、後ろの区間を後ろにずらすという対応をすればよい。S区間とP区間が重なったら、P区間を後ろにずらし(調整1後)、更にP区間とE区間が重なったらE区間を後ろにずらす(調整2後)。その結果、"total_end"が"end_max"を超えることがないように事前に除外されている。
【0098】
上記の戦略例とやや違う戦略の例としては、すぐに出発したいというパターンがある。その場合の時刻決定イメージを図12に示す。この場合、必ず"start_min"に出発し、早く着いたら待つ、という動きになる。P区間、E区間については上記戦略例をそのまま利用できる。調整フェーズについても同じである。
【0099】
<方式2:タイムセール条件を事前にチェックする方式>
方式2は、タイムセール条件を積極的に利用して、事前に探索範囲を狭める方式である。アルゴリズムの中で、事前に探索範囲を狭められる箇所は、以下の3つの時点である。
【0100】
・Step1:ノードへの最短距離が確定する時点;
・Step2:POIを発見する時点;
・Step3:POIへの両側からのパスが見つかる時点;
前述の方式1は、最後のチェックタイミングであるStep3で全てのチェックを行う方式であったといえる。上記のStep1〜3のチェックを加えた処理フローを図13と図14に示す。図14は、図13におけるステップ406の「S側(E側)で確定したノードがPOIかチェック」の中でフローである。(S側とE側ではフローは共有される)。
【0101】
図13では、S側、E側それぞれのコスト確定後に(ステップ402,403の処理後)そのノードに対するチェックを行っている(ステップ404)。この時点で探索候補から排除できると、その後のノード展開数を大幅に減らすことができる。ステップ404におけるチェックの詳細を図15に示す。当該処理は探索制限部180で行われる。ここでは、S側、E側それぞれの確定ノードに対して、条件チェックを行い、チェックが満たされない場合は(ステップ601,602、No)、当該ノードのコストを無限大にしている(ステップ603)。当該ノードのコストが無限大である場合、そのノードの先はコストが無限大になるので展開されることはない。
【0102】
図14では、当該ノードがPOIであることがわかったら(ステップ501、Yes)、次に上記のStep2(POIを発見する時点)のチェックを行う。チェックが満たされない場合は(ステップ502、No)、当該ノードは候補テーブルにも、結果テーブルにも追加されることはない。よって、無駄な候補テーブル、結果テーブルの要素を作成する必要がないので、処理量を削減することができる。両側からPOIへのパスが見つかった後に(ステップ503、Yes)、Step3(POIへの両側からのパスが見つかる時点)のチェックを行う(ステップ505)。これは、前述した方式1のタイミングと同じであり、この条件を満たさない場合は(ステップ505、満足しない)、結果テーブルへの登録がキャンセルされる。
【0103】
次に、上記のStep1〜3でそれぞれ可能なチェックについてまとめる。全部で7つのチェック条件がある(以下の条件が満たされる場合にOKとなる)。これらのチェックを実現するのが探索制限部180となる。
【0104】
・条件1:S側から探索し、POIに到達する前に"poi_start"区間を過ぎないこと;
・条件2:E側から探索し、POIに到達する前に"poi_end"区間を過ぎないこと;
・条件3:S側から探索し、そのコストに滞在時間の最小値を加えたとき、"poi_end"区間をすぎないこと;
・条件4:E側から探索し、そのコストに滞在時間の最小値を加えたとき、"poi_start"区間をすぎないこと;
・条件5:図6に示した、POI滞在開始・終了とサービス条件の制約チェック;
・条件6:図7に示した、POI滞在時間の制約チェック;
・条件7:図8に示した、S側からのコスト情報とPOI滞在終了の制約チェック;
・条件8:図8に示した、E側からのコスト情報とPOI滞在終了の制約チェック;
・条件9:図8に示した、全体のコスト情報の制約チェック;
上記の条件1〜4は、POIに到達する前にチェックできるので、Step1でのチェックが可能である。Step1での探索制限部180による処理は図15に示すとおりであり、Step1で修正された例を図16に示す。一方、条件5〜8は、POIに到達しないとチェックができないが、両側からコストを要求していないので、Step2(POIを発見する時点)でのチェックが可能である。条件9は、両側からのコストが必要なので、Step3(POIへの両側からのパスが見つかる時点)でのチェックが必要である(条件5,6は複数の式、それ以外は一つの式で一つの条件としているが、ここでは、S側、E側、POIの単位で条件としている)。
【0105】
上記の条件1〜9を表す式を以下に示す。
【0106】
・条件1:start_min + cost_s ≦ pos_start_max
・条件2:poi_endo_min + cost_e ≦ end_max
・条件3:start_min + cost_s + poi_stay_min ≦ poi_end_max
・条件4:poi_start_min ≦ end_max - (cost_e + poi_stay_min)
・条件5:service_start ≦ poi_start_max, poi_end_min ≦ service_end
・条件6:poi_end'_min < poi_start'_max + poi_stay_min,
poi_start'_min +poi_stay_max ≦ poi_end'_max
・条件7:start_min + cost_s ≦ poi_start'_max
・条件8:poi_end'_min + coste ≦ end_max
・条件9:cost_s + poi_stay_min + cost_e < end_max - start_min
探索制限部180において、これらの条件をチェックすることにより、探索範囲の絞込みができ、同じ結果を効率よく得ることができる。
【0107】
<終了条件の修正>
タイムセール寄り道検索では、POI滞在時間を考慮する必要があるため、通常の寄り道検索で使われた以下の終了条件をそのまま使うことができない。
【0108】
結果テーブルの最大コスト≦候補テーブルの最小コスト+現在のノードのコスト
修正された終了条件は以下のようになる。
【0109】
POI滞在含む結果の最大コスト≦候補テーブルの最小コスト+現在ノードのコスト
+ poi_stay_min
【実施例】
【0110】
以下に、本発明の実施例を説明する。
【0111】
<寄り道検索>
以下に寄り道探索の実施例を説明する。
【0112】
例で用いるグラフを図17に示す。同図において、○と☆はノードであり、☆はPOIであり、○はそれ以外である。Sが出発地で、Eが目的地である。ノード間にはエッジが定義されており、その上の数字はノード間の移動コストを表す(単純化のためにコストの単位は分・時等ではなく何らかの単位時間とする)。このグラフをグラフデータベース102として表現した例を図18に示す。同図の例では、グラフデータベース102は関係データベースのような表形式で表現しているが、ノードの関係をポインタで表現したり、関係データベース以外でも実装は可能である。グラフデータベース102の機能としては、「ノード名を指定してノードidを取得」、「ノードidを取得してそれに繋がるエッジを取得」等を仮定する。これらは例えば、関係データベースで容易に実装できる。
【0113】
寄り道検索を実行した場合のコストテーブル101のイメージを図19(出発路側)、図20(到着路側)に示す。それぞれ、S、Eを出発点としたダイクストラ探索の実行であり、前述の非特許文献1等に示されている方法と同じである。但し、POIに到達した場合に、候補テーブルにノード(とそこまでのコスト)の登録を行う。例えば、出発路側コストテーブルにおいて、Step3でP1が確定しており、候補として「スタート側から,P1に到達,コストは3」という情報が登録されている。
【0114】
図21に候補テーブルと結果テーブルを示す。例えば、同図中のStep7において、S側とE側に共通するP2というPOIが出現したので、それを結果テーブルに登録している(P2,P+12)。同図の数値が足し算になっているのは、S側からのコストとE側からのコストを後での説明上明記しておくためである。同図に示す結果テーブルはトータルコストでソートされている。よってこの場合の求める寄り道経路は、P1を経由する経路であり、トータルのコストは"18"である。具体的な経路は、ダイクストラ法と同様の方法で求めることができる(例:各ノードの前のノードを保存しておく)。
【0115】
<タイムセール寄り道検索>
次に、タイムセール寄り道検索の実施例を示す。
【0116】
対象となるグラフは上記と同じ例を利用する。
【0117】
各時間の指定例を図22に示す。数直線は時間を表し、単位はグラフ上のコストと同じ単位であると仮定する。例えば、"start_min"の値は時刻0であり、"poi_start_min"は時刻13である。これから、時間に関する条件チェックの実施例を説明する。
【0118】
まず、「POI滞在開始・終了条件とサービス条件に矛盾がない」チェック(図6)について述べる。
【0119】
図22中にP1〜P5のサービス時間例を示した。この例では、P2の終了が矛盾となっており(poi_end_min ≦ service_endを満たさない)、候補から除外される。サービス条件を加味し、POI滞在開始・終了条件は補正されるが、その例を同じ図中に示してある(P1の例)。数直線としての交わりを求めている。このように補正された区間で以後の議論を続ける必要があるが、今後の議論では簡単のために、P1〜P5のサービス条件を全て、13〜28と仮定し、ここでは補正が発生しない、とする。
【0120】
<「補正されたPOI滞在開始・終了条件とPOI滞在時間に矛盾がない」チェック>
次に、「補正されたPOI滞在開始・終了条件とPOI滞在時間に矛盾がない」チェック(図7)について述べる。この例では、POI滞在時間が5〜15(例:"poi_stay_min = 5 and poi_stay_max = 15")であれば、この制約は満たされる。今後は、"poi_stay_min = poi_stay_max = 10"(ちょうど10だけ滞在する)と仮定して説明する。
【0121】
「コスト情報とPOI滞在開始・終了条件の矛盾」チェック(図8)について述べる。条件式
start_min + cost_s < poi_start'_max
start_end'_min + cost_e < end_max
cost_s + poi_stay_min + cost_e < end_max - start_min
が満たされるかどうかをチェックする。そのチェックの様子を図23に示す。例えば、P1において、"start_min + cost_s"は、"poi_start'_max"を超えるので条件を満たさない。この時点で、P5はPOIの候補から除外される。トータルのコストチェックについては、"end_max − stat_min"の値が38で、"cost_s + poi_stay_min + cost_e"の値が28〜36なので満たされる(P5は満たされないが既に除外されている)。
【0122】
<「待ち時間も含めた全体コストを求める」の処理>
「待ち時間も含めた全体コストを求める」(図14のS506)の実施例を示す。
【0123】
個別値決定フェーズであるが、そのイメージを示した図9を本実施例に適用したものを図24に示す。ケース1、ケース2等に示した数直線と値は、それぞれの場合のスレッシュホールドとなっている。例えば、S区間のケース1は区間の先頭が時間0〜5の場合であり、ケース2は区間の終点が13〜18の場合である。
【0124】
実施例に従って、場合を決定して個別の値(total_startとpoi_leave)を決めた結果を図25に示す。また、P区間についても決定する必要があるが、本実施例では、"poi_stay = 10"であったから、場合はケース1であり、"poi_stay_start"は10となる。
【0125】
調整フェーズの例を図26に示す。P1,P2,P4は重なりがないので調整の必要がない。P1は出発路で待ちが生じるパターンとなっている。P3は重なりがあるので、後ろにずらして最終的な結果を得る。これらの最終結果から、全体のコスト(total_end − total_start)が求まる。図26の右端にその値を示す。最小となるのは、P2を経由するケースであることがわる。時間的な制約を考慮しない寄り道検索では、P1を経由する経路が最適解であったが、P1を経由する場合、P1の位置が出発点に近いためにPOIに早く到着してしまい、待ちが発生する。それでP2が逆転している。これは例えて言えば、宴会に丁度よい時間にPOIを訪れることができていないということである。つまり、このタイムセール寄り道検索を用いることによって、興味のある場所に最適な時間に訪れることが可能になる。
【0126】
<方式2:条件評価を先に行う場合>
最後に方式2(条件評価を先に行う場合)について説明する。
【0127】
当該方式2を採用する場合、本実施例においては、図23でNGとなったP5を最終的なチェックではなく、出発路側の探索でP5に到達した時点で、それ以降の探索を停止することができる。本実施例の図19では、P5に到達する時点が、step11であるため、ステップ数の削減とはなっていないが、一般的には、展開数を削減することに貢献することができる。
【0128】
なお、上記の実施の形態における図3に示す寄り道検索装置の構成要素の動作をプログラムとして構築し、寄り道検索装置として利用されるコンピュータにインストールして実行させる、または、ネットワークを介して流通させることが可能である。
【0129】
本発明は、上記の実施の形態及び実施例に限定されることなく、特許請求の範囲内において種々変更・応用が可能である。
【符号の説明】
【0130】
100 寄り道検索装置
101 コストテーブル
102 グラフデータベース
105 ユーザインタフェース部
110 探索制御部
120 POIチェック部
130 コストテーブル更新部
140 探索終了判定部
150 ユーザ・サービス条件チェック部
160 全体スケジュール算出部
170 探索結果作成部
180 探索制限部
190 グラフデータベース制御部

【特許請求の範囲】
【請求項1】
グラフにおける寄り道の最短経路を求める寄り道検索装置であって、
ノードのID、名前、カテゴリ情報を持つノード情報と、2つのノードIDの組で表現されるノード間の関係と該ノード間の移動所要時間を持つエッジ情報からなるグラフ情報と、ノードで実施されるサービスの開始・終了時刻とサービス内容を格納したグラフデータベースと、
ユーザから指定された、出発点、到達点、経由点を含むカテゴリ情報と、出発点での出発時刻の最大値及び最小値、該経由点での滞在時間の最大値及び最小値、該経由点での到着時刻の最大値及び最小値、該経由点での出発時刻の最大値及び最小値、該到達点での到着時刻の最大値及び最小値を含むユーザ指定時間条件を取得するユーザインタフェース手段と、
前記ユーザインタフェース手段で入力された前記カテゴリ情報に合致する経由点を、前記グラフデータベースを参照して取得するPOI(Point Of Interest)チェック手段と、
前記POIチェック手段で取得した前記経由点のうち、前記ユーザから指定された情報とサービス時間条件に合致しない経由点を排除するユーザ・サービス条件チェック手段と、
前記ユーザ・サービス条件チェック手段で排除されていない経由点について、ユーザ指定時間条件を満たし、出発点出発時刻、経由点到着時刻、経由点滞在時刻、経由点滞在終了時刻、経由点出発時刻、到達点到着時刻、及び待ち時間を含むスケジュールを生成し、該経由点においてサービスを受け、全体として最小の所要時間で、前記出発点から該経由点を経由し、前記到達点に至るルートを検索する全体スケジュール算出手段と、
を有することを特徴とする寄り道検索装置。
【請求項2】
前記POIチェック手段の実施前に、前記ユーザの指定する条件に合致しない経由点を処理対象から除外する探索制限手段を更に有する
請求項1記載の寄り道探索装置。
【請求項3】
グラフにおける寄り道の最短経路を求める寄り道検索方法であって、
ノードのID、名前、カテゴリ情報を持つノード情報と、2つのノードIDの組で表現されるノード間の関係と該ノード間の移動所要時間を持つエッジ情報からなるグラフ情報と、ノードで実施されるサービスの開始・終了時刻とサービス内容を格納したグラフデータベースを有する装置において、
ユーザインタフェース手段が、ユーザから指定された、出発点、到達点、経由点を含むカテゴリ情報と、出発点での出発時刻の最大値及び最小値、該経由点での滞在時間の最大値及び最小値、該経由点での到着時刻の最大値及び最小値、該経由点での出発時刻の最大値及び最小値、該到達点での到着時刻の最大値及び最小値を含むユーザ指定時間条件を取得するユーザ入力ステップと、
POI(Point Of Interest)チェック手段が、前記ユーザ入力ステップで入力された前記カテゴリ情報に合致する経由点を、前記グラフデータベースを参照して取得するPOIチェックステップと、
ユーザ・サービス条件チェック手段が、前記POIチェックステップで取得した前記経由点のうち、前記ユーザから指定された情報とサービス時間条件に合致しない経由点を排除するユーザ・サービス条件チェックステップと、
全体スケジュール算出手段が、前記ユーザ・サービス条件チェックにおいて排除されていない経由点について、ユーザ指定時間条件を満たし、出発点出発時刻、経由点到着時刻、経由点滞在時刻、経由点滞在終了時刻、経由点出発時刻、到達点到着時刻、及び待ち時間を含むスケジュールを生成し、該経由点においてサービスを受け、全体として最小の所要時間で、前記出発点から該経由点を経由し、前記到達点に至るルートを検索する全体スケジュール算出ステップと、
を有することを特徴とする寄り道検索方法。
【請求項4】
前記POIチェックステップの実施前に、前記ユーザの指定する条件に合致しない経由点を処理対象から除外する探索制限ステップを更に行う
請求項3記載の寄り道探索方法。
【請求項5】
コンピュータを、
請求項1または2に記載の寄り道検索装置の各手段として機能させるための寄り道検索プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate


【公開番号】特開2012−242183(P2012−242183A)
【公開日】平成24年12月10日(2012.12.10)
【国際特許分類】
【出願番号】特願2011−110845(P2011−110845)
【出願日】平成23年5月17日(2011.5.17)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】