(57)【特許請求の範囲】
【請求項１】
ユーザインタフェースからの対象となる事例の選択を受け付けるステップと、
ストレージに保存されている時系列データから、選択された事例に対応する事象を抽出し、抽出した事象に対して頂点の情報を生成するステップと、
前記時系列データの時間の情報、および前記ストレージに保存されている前記時系列データの源の関係性の情報に基づいて前記頂点の辺の情報を生成するステップと、
前記頂点間の類似性から複数の前記頂点の情報を統合するステップと、を有することを特徴とする情報処理方法。
【請求項２】
請求項１に記載の情報処理方法において、
前記時系列データは、空間的に分散して配置されたセンサ群で取得され、
前記関係性の情報は、前記センサ群の配置に関する情報であることを特徴とする情報処理方法。
【請求項３】
請求項２に記載の情報処理方法において、
前記センサ群は道路に配置されており、
前記センサ群の配置に関する情報は、各センサ間が前記道路上で隣り合っているか否かの情報であることを特徴とする情報処理方法。
【請求項４】
請求項１に記載の情報処理方法において、
統合された前記頂点の情報に基づいて前記頂点間の遷移確率を求めるステップを有することを特徴とする情報処理方法。
【請求項５】
請求項４に記載の情報処理方法において、
前記ユーザインタフェースからの開始頂点の選択を受け付けるステップと、
求めた遷移確率に基づいて、選択された開始頂点を起点とした頂点群で形成されるシナリオを出力するステップと、を有することを特徴とする情報処理方法。
【請求項６】
請求項５に記載の情報処理方法において、   
前記シナリオは、選択された開始頂点を起点として各頂点から最も高い遷移確率の辺で接続される頂点群で形成されていることを特徴とする情報処理方法。
【請求項７】
請求項５に記載の情報処理方法において、   
前記シナリオは、選択された開始頂点を起点として各頂点から最も低い遷移確率の辺で接続される頂点群で形成されていることを特徴とする情報処理方法。
【請求項８】
対象となる事例の選択を受け付けるユーザインタフェースと、
時系列データおよび前記時系列データの源の関係性の情報を保存するストレージと、を有し、
前記時系列データから、選択された事例に対応する事象を抽出し、抽出した事象に対して頂点の情報を生成し、
前記時系列データの時間の情報、および前記関係性の情報に基づいて前記頂点の辺の情報を生成し、
前記頂点間の類似性から複数の前記頂点の情報を統合する情報処理システム。
【請求項９】
請求項８に記載の情報処理システムにおいて、
前記時系列データを取得する空間的に分散して配置されたセンサ群を有し、
前記関係性の情報は、前記センサ群の配置に関する情報であることを特徴とする情報処理システム。
【請求項１０】
請求項９に記載の情報処理システムにおいて、
前記センサ群は道路に配置されており、
前記センサ群の配置に関する情報は、各センサ間が前記道路上で隣り合っているか否かの情報であることを特徴とする情報処理システム。
【請求項１１】
請求項８に記載の情報処理システムにおいて、
統合された前記頂点の情報に基づいて前記頂点間の遷移確率を求めることを特徴とする情報処理システム。
【請求項１２】
請求項８に記載の情報処理システムにおいて、
前記ユーザインタフェースから開始頂点の選択を受け付け、
求めた遷移確率に基づいて、選択された開始頂点を起点とした頂点群で形成されるシナリオを出力することを特徴とする情報処理システム。
【請求項１３】
請求項１２に記載の情報処理システムにおいて、
前記シナリオは、選択された開始頂点を起点として各頂点から最も高い遷移確率の辺で接続される頂点群で形成されていることを特徴とする情報処理システム。
【請求項１４】
請求項１２に記載の情報処理システムにおいて、
前記シナリオは、選択された開始頂点を起点として各頂点から最も低い遷移確率の辺で接続される頂点群で形成されていることを特徴とする情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理方法および情報処理システムに関し、特にグラフ処理を実行する情報処理システムとその情報処理方法に関する。
【背景技術】
【０００２】
社会インフラや都市などを効率的に設計、運用するためのツールとして、実社会を予測するためのシミュレータが注目されている。このシミュレータにおいては、予測精度そのものの追求よりも、想定外などを含む「可能性の束」を提示することが求められている。【０００３】
可能性の束は、複数の、シナリオと呼ばれる対象の時間変化を表現したものから構成され、シナリオは、センサのログやシミュレータの出力結果等である。例えば、対象の事例が渋滞であるならば、シナリオは渋滞の長さ等の時間変化を表現したものである。可能性の束の提示を受けることができれば、シミュレータのユーザは複数のシナリオを観測することで、対象の変化の可能性を得ることができる。【０００４】
特許文献１に開示の技術では、シナリオの表現として確率過程グラフを用い、確率過程グラフに基づいて、希少な事例などの予測を行っていた。特許文献１に開示の技術では、事例がプログラムの性能、シナリオが命令の実行順序（即ち命令の時間変化）として可能性の束を算出しており、算出された可能性の束から希少な事例（プログラムのボトルネック）の発見、解析をしている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許出願公開第２０１２／０１９７８５４号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、特許文献１に開示の技術である確率過程グラフは、対象がプログラムや文章や音楽などの場合に適合するが、渋滞などの対象が複数に分裂したり、複数が一つに統合したりする事例には適合できない。例えば、前者の文章の例では、日本語の文章で「私」の次に来る単語は「は」や「たち」などのどれかひとつだが、後者の渋滞では、ある渋滞の次の場合に、対象の渋滞が二つの区間に（即ち二つの渋滞に）分裂、また二つの渋滞が一つの区間に（即ち一つの渋滞に）統合する場合がある。【０００７】
したがって、渋滞等の対象は、従来の確率過程グラフでは扱えない課題がある。この課題は、確率過程グラフの頂点がひとつの状態しか保持していないことに起因する。各頂点は、接続された複数の辺にそれぞれ付加された遷移確率に従って、複数の辺のどれかひとつの辺に沿って他の頂点へ遷移する。そのため、各頂点から複数の頂点に平行して遷移することができず、状態が分裂したり統合したりする場合に対応できない。【０００８】
本発明は、ひとつの頂点から複数の頂点に平行して遷移する場合にも対応する情報処理を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明では、時系列データから事象を抽出して、抽出した事象に対して頂点を生成し、時系列データの時間の情報および時系列データの源の関係性の情報に基づいて頂点の辺を生成し、頂点間の類似性から複数の頂点を統合することで、上述の課題を解決する。
【発明の効果】
【００１０】
本発明により、ひとつの頂点から複数の頂点に平行して遷移する場合にも対応することができ、ひいては可能性の束の算出、希少な事例の発見や解析ができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施例である情報処理システムのブロック図である。
【図２】情報処理システムのグラフ処理の動作のフローチャートである。
【図３Ａ】時系列データの例を示す図である。
【図３Ｂ】時系列データの例を示す図である。
【図４Ａ】関係性データの例を示す図である。
【図４Ｂ】関係性データの例を示す図である。
【図４Ｃ】関係性データの例の元となる道路上へのセンサ配置の例を示す図である。
【図５】事例生成処理のフローチャートである。
【図６Ａ】事象抽出の具体例を示す図である。
【図６Ｂ】事象抽出の具体例を示す図である。
【図６Ｃ】事例グラフデータの例を示す図である。
【図７Ａ】事例生成処理の具体例を示す図である。
【図７Ｂ】事例グラフデータの例を示す図である。
【図８】シナリオ生成処理のフローチャートである。
【図９Ａ】事例グラフデータの例を示す図である。
【図９Ｂ】事象グラフデータのグラフ表記の例を示す図である。
【図９Ｃ】類似頂点リストの例を示す図である。
【図１０Ａ】シナリオグラフデータのグラフ表記の例を示す図である。
【図１０Ｂ】シナリオグラフデータの例を示す図である。
【図１１】可能性の束生成処理のフローチャートである。
【図１２】トラバース処理のフローチャートである。
【図１３Ａ】シナリオデータの具体例を示す図である。
【図１３Ｂ】シナリオデータのグラフ表記の例を示す図である。
【図１４】実施例２におけるトラバース処理のフローチャートである。
【図１５】実施例２におけるシナリオデータの具体例である。
【図１６Ａ】実施例３におけるシナリオデータの具体例である。
【図１６Ｂ】実施例３におけるシナリオデータのグラフ表記の例を示す図である。
【図１７】実施例３におけるシナリオグラフ生成処理のフローチャートである。
【図１８】本発明の実施例である情報処理システムおよびユーザ端末の構成を示す図である。
【図１９】入力された事例グラフデータについて頂点の統合がなされ、重みつきの確率過程グラフが作成される概念を示す模式図である。
【発明を実施するための形態】
【実施例１】
【００１２】
本発明の情報処理システムおよび情報処理方法の実施例について以下に説明する。図１に、本実施例の情報処理システム１０１のブロック図を示す。【００１３】
情報処理システム１０１は、グラフ処理装置１１０と、データベース１２５と、事例データベース１２６とを有する。グラフ処理装置１１０は、対象選択器１２０と、事例生成器１２２と、シナリオグラフ生成器１２３と、可能性の束生成器１２４とを有する。グラフ処理装置１１０は、時系列データ１０７および関係性データ１０８を入力とし、シナリオグラフデータ１０５および可能性の束データ１０２を出力する。可能性の束１０２は、ユーザに提示するためにユーザインタフェース（Ｉ／Ｆ）１２７へ出力される。【００１４】
本実施例では、例として渋滞を対象としたグラフ処理を処理対象として説明する。ここで、時系列データ１０７の例を図３Ａ，Ｂに示す。時系列データ１０７は、データベース１２５に保存される。図３Ａには、時刻別の通行車両数の時系列データ３００を、図３Ｂにはデータ３００に対応する平均車速の時系列データ３０１を示した。時系列データ１０７は、道路に配置されたセンサ毎に取得されるものであり、道路を通過する通行車両数および同平均車速が取得される。【００１５】
関係性データ１０８の例を図４Ａ，Ｂに示す。また、図４Ａ，Ｂに示した関係性データ１０８の元になる道路に対するセンサの配置を図４Ｃに示す。【００１６】
関係性データ１０８は、時系列データの源と源との間の関係性を表したデータであり、本実施例ではセンサ間の関係性を表したデータである。関係性データ１０８は、データベース１２５に保存される。図４Ｃに示した交差点４０２を含む道路上に分散して配置されたセンサ１〜７を、各センサを頂点とし、隣り合うセンサを辺でつないでグラフ表記すると図４Ａのグラフ４００になる。また、図４Ｂのセンサ間の関係性のデータ４０１は、図４Ａのグラフ４００をデータ構造で表記したものである。センサ間の関係性のデータ４０１では、センサ間に関係性がある場合は「１」、無い場合は「０」となる。本実施例では、関係性は道路による繋がりを表し、例えば、道路１の道路２との交差点４０２に配置されたセンサ１と道路２に配置されたセンサ２は、道路１と道路２が交差点で接続されており、またセンサ同士がグラフ４００上で隣り合って接続されているので関係性があり、センサ２とセンサ３はグラフ４００上で隣り合って接続されていないので、関係性がない。本実施例では、渋滞を事例とし、関係性はセンサ群の空間的な配置関係であるが、他の実施例としては、会社の倒産を事例とし、関係性は会社間の取引関係とすることもできる。【００１７】
図１８に、情報処理システム１０１およびユーザ端末１８０１のハードウェア構成を示す。情報処理システム１０１とユーザ端末１８０１の間は、ネットワーク１８０２および無線基地局１８０３を介して、無線接続される。本実施例では、無線接続の例を示したが、有線接続でも実施可能である。また、本実施例の道路上に配置されたセンサ群（センサ１，２，・・・）１８０４は、ネットワーク１８０２を介して情報処理システム１０１と接続される。これにより、情報処理システム１０１は、時系列データの源であるセンサ群１８０４からの情報を収集し、時系列データ１０７を作成して、データベース１２５に保存することができる。【００１８】
情報処理システム１０１は、中央処理装置（ＣＰＵ）１８０５と、主記憶１８０６と、ストレージ１８０７と、ネットワークインタフェース（Ｉ／Ｆ）１８０８とを有する。情報処理システム１０１の対象選択器１２０、事例生成器１２２、シナリオグラフ生成器１２３、および可能性の束生成器１２４は、プログラムとしてストレージ１８０７に保存され、ＣＰＵ１８０５および主記憶１８０６で実行される。【００１９】
ユーザ端末１８０１は、例えばタブレット端末などの携帯端末であり、ユーザＩ／Ｆ１２７を実現する。ユーザ端末１８０１は、ＣＰＵ１８０９と、主記憶１８１０と、ストレージ１８１１と、タッチパネル１８１２と、ネットワークＩ／Ｆ１８１３とを備える。ユーザ端末１８０１は、タッチパネル１８１２で対象の事例の選択などのユーザからの入力を受け付け、タッチパネル１８１２の液晶画面に可能性の束１０２などを表示する。【００２０】
次に、本実施例の情報処理システム１０１によるグラフ処理について説明する。図２に、情報処理システム１０１のグラフ処理の動作のフローチャートを示す。【００２１】
先ず、対象の選択のステップ２０１で、ユーザは対象の事例を選択する。本実施例では、ユーザは、対象選択器１２０からユーザ端末１８０１のタッチパネル１８１２を介して提示される対象の候補うち「渋滞」を対象として選択したとする。対象として「渋滞」が選択されたことを受信した対象選択器１２０は、事例生成器１２２に、対象の定義１０３として「渋滞」の定義を送信する。本実施例では、「渋滞」の定義は、平均車速２０ｋｍ／ｈ以下とする。対象の定義１０３は、予めストレージ１８０７に保存しておいてもよいし、ユーザがタッチパネル１８１２から入力できるようにしてもよい。また、対象選択器１２０は、対象の定義１０３として、さらに、昨日と一昨日の事例と指定して、事例生成器１２２に送信する。昨日と一昨日という事例の期間は、ユーザがタッチパネル１８１２から入力できるようにしてもよいし、予め設定しておいてもよい。【００２２】
対象の定義１０３を受信した事例生成器１２２は、受信した対象の定義１０３に対応する時系列データ１０７と関係性データ１０８とをデータベース１２５から取得する。図２においては、当該処理はステップ２０２とステップ２０３に相当する。【００２３】
事例生成処理２０４について説明する。事例生成処理２０４は事例生成器１２２で実行される。事例生成器１２２は、対象の定義１０３、時系列データ１０７、および関係性データ１０８を入力とし、事例グラフデータ１０６を出力とする。【００２４】
事例生成処理２０４の詳細フローチャートを図５に記す。処理５０１−１〜５０１−２間のループ処理において、事例生成器１２２は、時系列データ１０７を走査し、事象（本実施例では渋滞）を抽出し（処理５０２）、抽出された事象に対応する頂点の情報を生成する（処理５０３）。【００２５】
図６Ａ，Ｂ，Ｃに処理５０２および処理５０３の例を示す。事例生成器１２２は、平均車速の時系列データ３０１において、対象の定義１０３に適合する事象を抽出する。ここでは平均時速２０ｋｍ／ｈ以下に適合する事象である図６Ａで楕円６０１〜６０３で囲んだ事象１〜３が抽出される。抽出された事象は頂点の情報として生成され、グラフ表記では図６Ｂに示したグラフ６１０の頂点となり、データ構造で表現すると図６Ｃに示した事例グラフデータ６２０のエントリになる。各頂点の情報は、事例グラフデータ６２０の各エントリのように、頂点データとして、センサ識別情報（ＩＤ）やセンサデータの取得の時刻などの時系列データの情報と対応付けられて、主記憶１８０６やストレージ１８０７に保持される（処理５０４）。【００２６】
続いて、事例生成器１２２は、生成された頂点の情報から任意の２つの頂点に対するループ処理（処理５０５−１〜５０５−２）を実行する。ここで、説明のために仮に、任意の２つの頂点として選択された頂点をそれぞれ、頂点Ａおよび頂点Ｂとする。事例生成器１２２は、当該２つの頂点の情報に保持されている時刻のデータから、頂点間のセンサデータの取得の時間間隔を処理５０６で評価する。時間間隔（頂点Ｂのセンサデータの取得の時刻と頂点Ａのセンサデータの取得の時刻の間の時間）が０より大きく予め決められた閾値よりも小さい場合、事例生成器１２２は、処理５０７において、当該２つの頂点の関係性を関係性データ４０１から取得する。事例生成器１２２は、取得した関係性を処理５０８で評価し、関係性が「１」、即ち関係性がある場合は、処理５０９において当該２つの頂点間（ここでは頂点Ａと頂点Ｂの間）に辺の情報を出力する。出力された辺の情報は、頂点Ａの情報の辺データの頂点Ｂの列に「１」として保存される。一方、処理５０７、処理５０９のいずれかの評価で条件を充たさない（Ｎであった）場合は、事例生成器１２２は、辺の情報を出力しない。したがって、辺の情報は「０」のままになる。以上のようにして、事例生成器１２２は辺の情報を生成する。【００２７】
図７Ａ，Ｂに、処理５０５−１〜処理５０５−２の処理の例を示す。ここで閾値を２とし、図６Ｃの頂点１（６１１）と頂点２（６１２）を例に説明する。頂点１（６１１）と前記頂点２（６１２）は、事例グラフデータ６２０から時間間隔（頂点２の時刻（＝４）−頂点１の時刻（＝３）＝１）が１であり、処理５０６の評価式（０＜１＜２）が成り立つ。また、センサ間の関係性のデータ４０１より関係性があり処理５０８の評価式（関係性＝１）が成り立つ。従って、頂点１と頂点２間で図７Ａのグラフ表記７００の辺１（７０１）の情報が図７Ｂの辺データ７１１のように出力される。同様に、事例生成器１２２は、頂点１と頂点３間で辺２（７０２）の情報を出力し、頂点２と頂点３間には辺の情報を出力しない。ここで、辺は時間方向に大きくなる方向に対して方向を持つ有向辺である。以上の生成された辺の情報をデータ表記で示すと、図７Ｂの事例グラフデータ７１０の各エントリのようになる。【００２８】
以上の処理で、事例生成器１２２は、対象の定義１０３、時系列データ１０７および関係性データ１０８を入力とし、事例グラフデータ１０６を出力する。【００２９】
次に、シナリオグラフ生成処理２０５について説明する。シナリオグラフ生成処理は、事例グラフデータの複数のエントリを統合し、シナリオグラフ（確率過程グラフ）を生成する処理である。【００３０】
シナリオグラフ生成処理２０５は、シナリオグラフ生成器１２３で実行される。シナリオグラフ生成器１２３は、事例グラフデータ１０６を入力とし、シナリオグラフデータ１０５を出力とする。【００３１】
シナリオグラフ生成処理２０５のフローチャートを図８に示す。先ず処理８０１において、シナリオグラフ生成器１２３は、事例グラフデータを取得する。その後、シナリオグラフ生成器１２３は、事例グラフデータから任意の１頂点を選択（選択した頂点を頂点Ａとする）するループ処理（８０２−１〜８０２−２）を実行する。【００３２】
シナリオグラフ生成器１２３は、頂点Ａが既に類似頂点として選択されているかどうかの評価を処理８０３で実施し、選択されていない場合は処理８０４に移行する。続いて、シナリオグラフ生成器１２３は、取得した事例グラフデータから頂点Ａ以外の頂点を選択（選択した頂点を頂点Ｂとする）するループ処理（８０５−１〜８０５〜２）を実行する。処理８０６にて、シナリオグラフ生成器１２３は、頂点Ａと頂点Ｂの類似度を計算する。類似度は、例えば、それぞれの頂点が保持する平均速度などのデータの差分絶対値を指標とする。シナリオグラフ生成器１２３は、処理８０７において、求めた類似度と予め指定された閾値とを比較して評価し、評価式（類似度＜閾値）が充たされれば、処理８０８に移行し、頂点Ｂを頂点Ａの類似頂点として類似頂点リストに登録する。【００３３】
処理８０１〜８０５−２までの処理の具体例を図９Ａ，Ｂ，Ｃに示す。例として、処理８０１でシナリオグラフ生成器１２３が取得した事例グラフデータを、図９Ａに示した事例グラフデータ１（９００）と事例グラフデータ２（９２０）とする。それぞれの事例グラフデータは対象の定義１０３で指定されたものであり、事例グラフデータ１が昨日のデータで、事例グラフデータ２が一昨日のデータに対応する。事象グラフデータ１および事象グラフデータ２のグラフ表記をそれぞれ図９Ｂのグラフ９１０およびグラフ９３０に示す。【００３４】
シナリオグラフ生成器１２３は、先ず頂点Ａとして事例グラフデータ１の頂点１を選択する。頂点Ａは、類似頂点として選択されたことは無い。ループ処理８０５にて、シナリオグラフ生成器１２３は、頂点Ｂとして事例グラフデータ１の頂点２を選択する。そして、シナリオグラフ生成器１２３は、頂点Ａと頂点Ｂの平均車速から類似度を計算（頂点Ａの平均車速（＝１５）−頂点Ｂの平均車速（＝１０）＝５）し、閾値と比較する。ここで、閾値は１とすると、処理８０７の評価式（５＜１）は充足しないことになり、頂点Ｂは類似頂点リストに追加されない。シナリオグラフ生成器１２３は、処理８０５−１に戻り、頂点Ｂとして事例グラフデータ１の頂点３を選択し、同様に処理する。ここでも、評価式は充足されないので頂点Ｂは類似頂点リストに追加されない。続いて同様に、シナリオグラフ生成器１２３は、事例グラフデータ２の頂点１を処理する。事例グラフデータ２の頂点１は処理８０７の評価式を充足するので、類似頂点リストに追加される。これを繰り返し、図９Ｃに示した類似頂点リスト９４０が生成される。ここで、類自頂点リスト９４０の頂点Ａの列に事例グラフデータ２の頂点１が含まれないが、これは事例グラフデータ１を先に処理したために、事例グラフデータ２の頂点１が類似頂点として選択されたためである。【００３５】
次に、処理８１０以降を説明する。処理８１０にて、シナリオグラフ生成器１２３は、辺識別子を定義し、「２」で初期化する。その後、シナリオグラフ生成器１２３は、頂点Ａに対する類似頂点リストから頂点を選択（選択した頂点を類似頂点とする）するループ処理（８１１−１〜８１１−２）を実行する。【００３６】
処理８１２において、シナリオグラフ生成器１２３は、類似頂点の辺データを取得し、辺データが「１」のデータ、即ち関係性のある頂点に対する辺、を「２」で初期化された辺識別子に変更する（処理８１３）。そして処理８１４にて、シナリオグラフ生成器１２３は、類似頂点の頂点データおよび変更された辺データを頂点Ａの情報に保存する。シナリオグラフ生成器１２３は、当該ループの最後に辺識別子に１を加える。辺識別子に１を加える理由は、辺識別子が重複した値を持つことを回避するためであり、変形例としては、１以外の数字または重複リストなどによっても実現できる。以上を類似頂点リストの頂点がなくなるまで繰り返すことによって、頂点Ａと類似する頂点を、頂点Ａに統合し、辺識別子によって、統合された辺と統合前の辺とを区別することが可能となる。これらを繰り返すことによって、事例グラフデータの複数のエントリを、一つのグラフデータに統合できる。ここで、統合されたグラフデータをシナリオグラフデータと呼ぶ。【００３７】
処理８１０〜処理８１１−２までの処理の具体例を図１０Ａ，Ｂに示す。図１０では、簡単のため、事例グラフデータ１の頂点１を頂点１１、事例グラフデータ２の頂点１を頂点２１のように記載する。頂点Ａが頂点１１の際に、類似頂点リスト９４０の対応する類似頂点は頂点２１である。従って、処理８１２にて、シナリオグラフ生成器は頂点２１の辺データを取得する。頂点２１の辺データでは、頂点２２に対応する辺が「１」となっているため、処理８１３にて、シナリオグラフ生成器１２３は、辺データを辺識別子「２」に書き換える。そして処理８１４にて、シナリオグラフ生成器１２３は、頂点２１の保持するデータを頂点１１に追加する。以上を繰り返すことによって、図１０Ｂに示したシナリオグラフデータ１０１０が生成される。このとき、シナリオグラフデータ１０１０のグラフ表記は図１０Ａのグラフ１０００のように描け、複数の事例グラフデータのエントリが一つに統合されたことが分かる。さらに、シナリオグラフデータ１０１０では、辺識別情報データ１０１１から、統合前の辺を区別できる。【００３８】
以上の処理で、シナリオグラフ生成処理２０５では、事例グラフデータ１０６が入力され、シナリオグラフデータ１０５が出力される。【００３９】
次に可能性の束生成処理２０６について説明する。可能性の束生成処理は、シナリオグラフデータを元に、複数のシナリオ（これを可能性の束と定義する）を生成する処理である。複数のシナリオは、時系列データと関係性データから予測された、例えば、未来の起き得る事例群であり、ユーザは複数のシナリオを本実施例のシステムによって得ることで、想定していなかった事例などを発見できる。【００４０】
可能性の束生成処理２０６は、可能性の束生成器１２４で実行される。可能性の束生成器１２４は、シナリオグラフデータ１０５を入力とし、可能性の束１０２を出力とする。【００４１】
可能性の束生成処理２０６のフローチャートを図１１に示す。先ず、処理１１０１において、可能性の束生成器１２４は、シナリオグラフデータを取得する。その後、可能性の束生成器１２４は頂点リストを初期化し（処理１１０２）、ユーザがタッチパネル１８１２から開始頂点の選択をする（処理１１０３）。処理１１０３では、例えば、グラフ処理装置１１０はユーザに対し、タッチパネル１８０２を介して取得したシナリオデータに基づいてシナリオグラフを提示し、ユーザは提示されたシナリオグラフ内から開始頂点を選択する。【００４２】
処理１１０４にて、可能性の束生成器１２４は、選択された開始頂点を頂点リストへ追加する。次に、可能性の束生成器１２４は処理１１０５のトラバース処理を実行するが、当該処理は再帰関数となっており、トラバース処理内部でトラバース処理を実行している。【００４３】
トラバース処理１１０５のフローチャートを図１２に示す。トラバース処理では、選択された頂点の辺データを取得（処理１２０１）し、取得した辺データに格納されている辺識別子のうちから確率的に遷移する辺識別子を取得（処理１２０２）し、取得した辺識別子の遷移確率を算出し（処理１２０３）、算出した遷移確率から遷移する辺を選択する（処理１２０４）。【００４４】
処理１２０３では、遷移確率は、０を除く辺識別子の種類数を母数として、各識別子の種類間で等しい遷移確率とする。また処理１２０４では、可能性の束生成器１２４は、算出した遷移確率に基づいて最も低い遷移確率を持つ辺を選択する。遷移確率に差ができうるのは、統合される複数の頂点がそれぞれ同じ統合された頂点への遷移確率を有すると、統合により遷移確率がその和となるためである。【００４５】
図１９は、入力された事例グラフデータについて頂点の統合がなされ、重みつきの確率過程グラフが作成される概念を示した模式図である。図１９の左の二つの事例グラフ１９０１間で、２組（１９０２、１９０３）の頂点が類似の特徴を持つために統合され、図１９の右に示したように他の辺に対して重みが大きい辺を有する確率過程グラフ１９０４ができる。【００４６】
次に、処理１２０５で、可能性の束生成器１２４は、選択された辺に含まれる辺識別子と同一の辺識別子を持つ全ての辺の辺データを取得する。可能性の束生成器１２４は、取得した辺データが０かどうか評価し（処理１２０６）、０で無かった場合、取得した辺のループ処理（１２０７−１〜１２０７−２）を実行する。当該ループ処理内では、該辺の接続先の頂点を選択し（処理１２０８）、頂点リストに追加（処理１２０９）、そして、トラバース処理１１０５を実行する再帰処理となる。【００４７】
上記の処理を行うことで得られた頂点リストをシナリオとして登録することで、シナリオグラフデータ１０５から、選択された開始頂点を起点としたシナリオを生成することができる。また、複数の開始頂点を選択することで、複数のシナリオを生成することができる。当該複数のシナリオを可能性の束と呼ぶ。【００４８】
処理１１０１〜処理１１０６までの処理の具体例を示す。本例では、可能性の束生成器１２４は、図１０Ｂのシナリオグラフデータ１０００を処理１１０１にて取得する。またここで、処理１１０３で選択された開始頂点を頂点１１とする。処理１１０４において、頂点１１が頂点リストに追加される。その後トラバース処理１１０５において、可能性の束生成器１２４は、頂点１１の辺データを取得し（処理１２０１）、確率的に遷移する辺識別子を取得する（処理１２０２）。頂点１１の０を除く辺識別子の種類数は２（１と２の２種類）であるから、確率的に遷移する辺識別子は辺識別子１と辺識別子２である。次に処理１２０３において、頂点１１の辺識別子の種類数は２であるから、辺識別子１の遷移確率は１／２、辺識別子２の遷移確率は１／２となる。本実施例では、最小となる確率の辺が複数あった場合には、若い番号の辺識別子を選択する。したがって本例では、処理１２０５で辺識別子１が選択される。ここで、遷移確率に差が生じる場合としては、仮に例えば、頂点Ｘから頂点Ｙに向かう辺があり、頂点Ｘと頂点１１とが類似し、また頂点Ｙと頂点２２とが類似する場合であり、この場合には頂点１１から頂点２２に遷移する確率が２／３で、頂点１１から頂点１２および頂点１３に遷移する確率の１／３よりも高くなる。辺識別子１を持つ辺は頂点１２と頂点１３であり、頂点１２と頂点１３は並行して遷移するので、処理１２０７−１〜１２０７−２のループ処理では頂点１２と頂点１３が対象となる。まず頂点１２が選択され（処理１２０８）、頂点１２が頂点リストへ登録される（処理１２０９）。次のトラバース処理では頂点１２が選択された頂点として処理される。当該頂点は接続する辺を持たないため、評価式（処理１２０６）が偽となり、トラバース処理が終了する。頂点１３においても頂点１２と同様に処理される。【００４９】
以上の処理から、頂点リストには頂点１１、頂点１２、頂点１３が登録されており、これがシナリオデータとなる。この登録されたシナリオデータを図１３Ａに示す。シナリオデータ１３１０は各頂点の頂点データと辺データを保持している。また、シナリオデータ１３１０のグラフ表記を図１３Ｂのグラフ１３００に示す。さらに、処理１１０３で複数の頂点が選択されることで、単一のシナリオだけでなく、複数のシナリオ、すなわち可能性の束を得ることができる。【００５０】
最後に、可能性の束生成処理２０６は、生成した可能性の束となるシナリオデータを事例データベース１２６に保存し、タッチパネル１８１２に可能性の束を提示する（処理２０７）。【００５１】
以上の処理（処理２０１〜２０７）によって、グラフ処理装置１１０は、時系列データと関係性データを入力とし、シナリオグラフデータ（確率過程グラフ）を生成し、シナリオグラフデータから複数のシナリオ、即ち可能性の束を出力する。【００５２】
以上のように、本実施例の情報処理システム１０１は、ひとつの頂点から複数の頂点に平行して遷移する場合にも対応することができ、ひいては可能性の束の算出、希少な事例の発見や解析ができる。また、本実施例では、もっとも小さい遷移確率となる辺を処理１２０４で選択したが、逆に処理１２０４でもっとも高い遷移確率となる辺を選択することで、もっとも起こりそうな事例の発見や解析が可能となる。
【実施例２】
【００５３】
実施例２では、実施例１の可能性の束生成処理２０６の処理１２０３において、最小の確率で遷移する辺でなく、全ての辺である場合を説明する。実施例２は一つの開始頂点から複数のシナリオを作成する効果がある。【００５４】
図１４に、実施例２におけるトラバース処理のフローチャートを示す。図１２と同一の処理は同じ符号を付してある。実施例１と比較すると、処理１２１０、１２１１、１２１２、１２１３が異なる。【００５５】
処理１２１０では、可能性の束生成器１２４は、頂点リストをメモリに保存する。これは、次処理である処理１２１１で辺識別子のループを行う際、各辺識別子の処理で同一の頂点リストから開始するためである。例えば、頂点リストに頂点Ａが格納されている場合、可能性の束生成器１２４は、処理１２１０で前記頂点リストを保存し、処理１２１１−１で辺識別子として辺識別子Ａを選択し、処理１２１２で、処理１２１２で保存した頂点リストを取得する。【００５６】
その後の処理で、例えば、頂点リストに頂点Ｂが追加されると、頂点リストには頂点Ａと頂点Ｂが格納されている。次に処理１２１１−１に戻って辺識別子Ｂが選択され、処理１２１２で、処理１２１０で保存した頂点リストを取得する。その後の処理で、例えば、頂点リストに頂点Ｃが追加されると、頂点リストには頂点Ａと頂点Ｃが格納されている。即ち、頂点Ａから頂点Ｂへ遷移するシナリオと頂点Ａから頂点Ｃへ遷移するシナリオの二つのシナリオを生成できた。【００５７】
また、処理１２１３では、選択頂点に対し遷移確率データを付加する。前記遷移確率データは処理１２０３で算出した値である。図１５に、遷移確率データを付加したシナリオデータ１５００を示す。遷移確率データは各辺に定義され、図１５の例では頂点１１から頂点１２と頂点１３へ遷移する確率は０．５（５０％）であることを示している。前記遷移確率は複数のシナリオ間で、シナリオの発生確率を評価する際に用いられる。【００５８】
以上の処理により、一つの開始頂点から複数のシナリオを生成できる。
【実施例３】
【００５９】
実施例３では、実施例１において、辺識別子を持つ代わりに仮想頂点の配置によって解決する方法である場合を説明する。実施例３は階層的な辺の識別が可能になる効果がある。【００６０】
図１７に仮想頂点を用いた場合のシナリオグラフ生成処理フローチャートを示す。図１７は図８の結合子「１」以降の処理を記載している。また、図８と同一処理は同一符号を付している。【００６１】
処理８１２において、シナリオグラフ生成器１２３は、類似頂点の辺データを取得した後、処理１７０１にて前記辺データの数が１より大きいかどうかの評価を行う。前記評価が偽であった場合、シナリオグラフ生成器１２３は、実施例１の処理８１４と同様の処理を行う。一方、前記評価が真であった場合、シナリオグラフ生成器１２３は、仮想頂点を生成する（処理１７０２）。次に、シナリオグラフ生成器１２３は、類似頂点の頂点データを頂点Ａに追加し（処理１７０３）、前記類自頂点の辺データに仮想頂点を追加する（処理１７０４）。これら処理により、頂点Ａは、類似頂点のデータを持ち、仮想頂点に対し辺を持つ。さらに、シナリオグラフ生成器１２３は、処理１７０５において類似頂点の辺データを仮想頂点の辺データに保存することで、頂点Ａから仮想頂点を媒介し他の頂点に接続する。また複数の仮想頂点を用いることで、仮想頂点から仮想頂点への辺など階層的なグラフを生成できる。【００６２】
図１６Ａ，Ｂに、仮想頂点を用いた場合のシナリオデータの例を示す。図１６Ａに示したように、シナリオデータ１６１０は、仮想頂点識別子１６１１と仮想頂点辺データ１６１２を有する。前記仮想頂点識別子は、仮想頂点のとき１、それ以外は０となるデータである。頂点１１は仮想頂点辺データによって仮想頂点１００に接続する。仮想頂点１００は辺データによって頂点１２および頂点１３に接続する。また、頂点データは、頂点１１に保持され、仮想頂点は頂点データを持たない。以上のシナリオデータ１６１０のグラフ表記を図１６Ｂのグラフ１６００に示す。前記グラフ表記では、仮想頂点は、実施例１における同一辺識別子を持つ辺の分岐点の役割を示していることがわかる。
【符号の説明】
【００６３】
１０１：情報処理システム、１１０：グラフ処理装置、１２０：対象選択器、１２２：事例生成器、１２３：シナリオグラフ生成器、１２４：可能性の束生成器、１２５：データベース、１２６：事例データベース、１８０１：ユーザ端末、１８０２：ネットワーク、１８０３：無線基地局、１８０４：センサ群、１８０５：中央処理装置（ＣＰＵ）、１８０６：主記憶、１８０７：ストレージ、１８０８：ネットワークインタフェース（Ｉ／Ｆ）、１８０９：ＣＰＵ、１８１０：主記憶、１８１１：ストレージ、１８１２：タッチパネル、１８１３：ネットワークＩ／Ｆ。
【図１】
0006014751.tif 000002
【図２】
0006014751.tif 000003
【図３Ａ】
0006014751.tif 000004
【図３Ｂ】
0006014751.tif 000005
【図４Ａ】
0006014751.tif 000006
【図４Ｂ】
0006014751.tif 000007
【図４Ｃ】
0006014751.tif 000008
【図５】
0006014751.tif 000009
【図６Ａ】
0006014751.tif 000010
【図６Ｂ】
0006014751.tif 000011
【図６Ｃ】
0006014751.tif 000012
【図７Ａ】
0006014751.tif 000013
【図７Ｂ】
0006014751.tif 000014
【図８】
0006014751.tif 000015
【図９Ａ】
0006014751.tif 000016
【図９Ｂ】
0006014751.tif 000017
【図９Ｃ】
0006014751.tif 000018
【図１０Ａ】
0006014751.tif 000019
【図１０Ｂ】
0006014751.tif 000020
【図１１】
0006014751.tif 000021
【図１２】
0006014751.tif 000022
【図１３Ａ】
0006014751.tif 000023
【図１３Ｂ】
0006014751.tif 000024
【図１４】
0006014751.tif 000025
【図１５】
0006014751.tif 000026
【図１６Ａ】
0006014751.tif 000027
【図１６Ｂ】
0006014751.tif 000028
【図１７】
0006014751.tif 000029
【図１８】
0006014751.tif 000030
【図１９】
0006014751.tif 000031