(57)【要約】【課題】グリッドロックが発生した場合に、妥当なシミュレーション結果を得ること。【解決手段】シミュレーション装置１０は、シミュレーション部１４ａと、記憶部１３と、検出部１４ｂと、選択部１４ｃと、変更部１４ｄとを有する。シミュレーション部１４ａは、モデル１３ａに基づいて、複数の車両の挙動を模擬する。記憶部１３は、シミュレーション部１４ａにより模擬された複数の車両の挙動を記憶する。検出部１４ｂは、記憶部１３に記憶された複数の車両の挙動に基づいて、グリッドロックの発生を検出する。選択部１４ｃは、検出部１４ｂによりグリッドロックの発生が検出された場合には、記憶部１３に記憶された複数の車両の挙動に基づいて、グリッドロックの発生の要因となる要因車両を選択する。変更部１４ｄは、グリッドロックが解消されるように、選択部１４ｃにより選択された要因車両に対するシミュレーション部１４ａによる模擬を変更する。【選択図】図１
2012247863.tif 000002
【特許請求の範囲】
【請求項１】
モデルに基づいて、複数の車両の挙動を模擬するシミュレーション部と、
前記シミュレーション部により模擬された複数の車両の挙動を記憶する記憶部と、
前記記憶部に記憶された複数の車両の挙動に基づいて、グリッドロックの発生を検出する検出部と、
前記検出部によりグリッドロックの発生が検出された場合には、前記記憶部に記憶された複数の車両の挙動に基づいて、該グリッドロックの発生の要因となる要因車両を選択する選択部と、
前記グリッドロックが解消されるように、前記選択部により選択された要因車両に対して、前記シミュレーション部により模擬された挙動を変更する変更部と
を有することを特徴とするシミュレーション装置。
【請求項２】
前記検出部は、複数の車両のそれぞれについて、停止の原因となる他の車両を特定可能な情報を取得し、取得した車両が環状に連鎖する場合には、グリッドロックの発生を検出する
ことを特徴とする請求項１に記載のシミュレーション装置。
【請求項３】
前記変更部は、前記複数の車両のうち、前記選択部により選択された要因車両がシミュレーション対象の車両とならないように、前記シミュレーション部により模擬された要因車両の挙動を変更する
ことを特徴とする請求項１または２に記載のシミュレーション装置。
【請求項４】
前記変更部は、前記選択部により選択された要因車両が移動するように、前記シミュレーション部により模擬された要因車両の挙動を変更する
ことを特徴とする請求項１〜３のいずれか１つに記載のシミュレーション装置。
【請求項５】
前記変更部は、前記選択部により選択された要因車両の移動時に、該要因車両と他の車両とが衝突する場合であっても、該要因車両と該他の車両とを互いに衝突しないとみなすことで、前記シミュレーション部により模擬された要因車両の挙動を変更する
ことを特徴とする請求項１または２に記載のシミュレーション装置。
【請求項６】
前記選択部は、前記環状に連鎖する複数の車両のうち、停止時間が最も長い車両を要因車両として選択する
ことを特徴とする請求項２に記載のシミュレーション装置。
【請求項７】
前記選択部は、前記環状に連鎖する複数の車両のうち、交差点内に存在する車両を要因車両として選択する
ことを特徴とする請求項２に記載のシミュレーション装置。
【請求項８】
前記選択部は、前記環状に連鎖する複数の車両であって、同一方向の複数の車線のそれぞれを走行する複数の車両の各車線の先頭車両のうち、進行方向に対して最も前方の先頭車両を要因車両として選択する
ことを特徴とする請求項２に記載のシミュレーション装置。
【請求項９】
前記選択部は、前記環状に連鎖する複数の車両の相対位置の関係、道路交通ルール、または道路交通マナーに応じて、前記環状に連鎖する位置に存在する複数の車両のなかから要因車両を選択する
ことを特徴とする請求項２に記載のシミュレーション装置。
【請求項１０】
コンピュータに、
モデルに基づいて、複数の車両の挙動を模擬するシミュレーション部により模擬された複数の車両の挙動を記憶する記憶部に記憶された複数の車両の挙動に基づいて、グリッドロックの発生を検出し、
グリッドロックの発生が検出された場合には、前記記憶部に記憶された複数の車両の挙動に基づいて、該グリッドロックの発生の要因となる要因車両を選択し、
前記グリッドロックが解消されるように、選択された要因車両に対して、前記シミュレーション部により模擬された挙動を変更する
処理を実行させることを特徴とするシミュレーションプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シミュレーション装置およびシミュレーションプログラムに関する。
【背景技術】
【０００２】
複数の車両の各々の挙動のシミュレーションを行うシミュレーション装置が存在する。例えば、運転者の認知、判断、操作、車両の物理挙動を含んだモデルを用いて、車両のシミュレーションを行うシミュレーション装置が存在する。
【０００３】
シミュレーション装置によるシミュレーション結果は、道路の改良、信号制御方式の変更、ドライバへの情報提供などを実施した場合の渋滞改善効果、事故削減効果、ＣＯ２排出の環境影響などの各種評価に用いられる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−９３４２５号公報
【特許文献２】特開２００２−２５９８８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記の従来のシミュレーション装置では、複数台の車両が停止し互いに動くことができなくなる状態、いわゆるグリッドロックが発生した場合に、グリッドロックが解消されないため、妥当なシミュレーション結果を得ることができないという問題がある。妥当なシミュレーション結果を得ることができない理由の一例について説明する。実世界では、グリッドロックが発生しない、あるいは、グリッドロックが発生した場合であっても時間の経過とともにグリッドロックが解消するが、シミュレーションでは、グリッドロックが発生し、発生したグリッドロックが解消されない。そのため、上記の従来のシミュレーション装置では、実世界での車両の挙動と異なる車両の挙動をシミュレーションする。
【０００６】
ここで、グリッドロックの具体例を説明する。図８Ａ〜８Ｄは、グリッドロックの一例を説明するための図である。図８Ａの例は、複数台の車両８０の各々が、前方の車両が停止あるいは減速したため、衝突を回避するために、停止した場合に発生するグリッドロックの一例を示す。図８Ａの例は、４つの交差点８１の各々を右折する車両８０が交差点８１で停止するとともに、道路を直進する車両８０が走行中の道路で停止する場合を示す。
【０００７】
図８Ｂの例は、互いに対向車線を走行する先頭車両８５が右折する場合に、対向車線に車両８６が存在するため、先頭車両８５が停止した結果、先頭車両８５の後続車両８７、８６が停止するときに発生するグリッドロックの一例を示す。図８Ｂの例は、先頭車両８５、後続車両８６、８７が走行中の道路で停止する場合を示す。
【０００８】
図８Ｃの例は、同一方向の２つの車線のそれぞれを走行する２台の先頭車両８８のうち、右側の車線を走行する先頭車両８８が左折し、左側の車線を走行する先頭車両８８が右折する場合に、発生するグリッドロックの一例を示す。すなわち、図８Ｃの例は、互いの先頭車両８８の存在が走行の妨げとなり、先頭車両８８が停止した結果、先頭車両８８の後続車両８９が停止する。
【０００９】
図８Ｄの例は、３台の車両９０が、交差点で、互いの車両９０の存在が走行の妨げとなり、車両９０が停止した結果、車両９０の後続車両９１が停止する場合に発生するグリッドロックの一例を示す。
【００１０】
実世界においても、他の車両の存在が、走行の妨げとなる場合がある。しかしながら、このような場合であっても、車両のドライバは、互いに、他の車両の走行を妨げないような運転をしたり、前方車両との距離が狭くても、車両を進めたりする。また、実世界では、車両のドライバは、他の車両の存在が、走行の妨げとなる場合には、車両が走行する空間経路の変更をしたりする。このようにして、実世界では、車両のドライバは、グリッドロックが発生することを抑制する。したがって、実世界では、グリッドロックが発生しない、あるいは、グリッドロックが発生した場合であっても時間の経過とともにグリッドロックが解消する。
【００１１】
そこで、複数の車両の各々の挙動のシミュレーションにおいても、グリッドロックの発生が抑制されるように、実世界でのドライバのグリッドロックの発生を抑制する動作をモデル化したものをドライバモデルとして用いることが考えられる。しかしながら、あらゆる交通状況、道路形状などを考慮して、このようなドライバモデルを構築することは、事実上困難である。
【００１２】
開示の技術は、上記に鑑みてなされたものであって、グリッドロックが発生した場合に、妥当なシミュレーション結果を得ることができるシミュレーション装置およびシミュレーションプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
本願の開示するシミュレーション装置は、一つの態様において、シミュレーション部と、記憶部と、検出部と、選択部と、変更部とを有する。シミュレーション部は、モデルに基づいて、複数の車両の挙動を模擬する。記憶部は、シミュレーション部により模擬された複数の車両の挙動を記憶する。検出部は、記憶部に記憶された複数の車両の挙動に基づいて、グリッドロックの発生を検出する。選択部は、検出部によりグリッドロックの発生が検出された場合には、記憶部に記憶された複数の車両の挙動に基づいて、グリッドロックの発生の要因となる要因車両を選択する。変更部は、グリッドロックが解消されるように、選択部により選択された要因車両に対するシミュレーション部による模擬を変更する。
【発明の効果】
【００１４】
本願の開示するシミュレーション装置の一つの態様によれば、グリッドロックが発生した場合に、妥当なシミュレーション結果を得ることができる。
【図面の簡単な説明】
【００１５】
【図１】図１は、実施例１に係るシミュレーション装置の機能構成の一例を示す図である。
【図２】図２は、車両挙動の一例を示す図である。
【図３Ａ】図３Ａは、原因車両の特定方法の一例を説明するための図である。
【図３Ｂ】図３Ｂは、原因車両の特定方法の一例を説明するための図である。
【図４】図４は、実施例１に係るシミュレーション処理の手順を示すフローチャートである。
【図５】図５は、実施例２に係るシミュレーション装置の機能構成の一例を示す図である。
【図６】図６は、実施例２に係るシミュレーション処理の手順を示すフローチャートである。
【図７】図７は、シミュレーションプログラムを実行するコンピュータを示す図である。
【図８Ａ】図８Ａは、グリッドロックの一例を説明するための図である。
【図８Ｂ】図８Ｂは、グリッドロックの一例を説明するための図である。
【図８Ｃ】図８Ｃは、グリッドロックの一例を説明するための図である。
【図８Ｄ】図８Ｄは、グリッドロックの一例を説明するための図である。
【発明を実施するための形態】
【００１６】
以下に、本願の開示するシミュレーション装置の各実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【実施例１】
【００１７】
［シミュレーション装置の機能構成例］
実施例１に係るシミュレーション装置について説明する。図１は、実施例１に係るシミュレーション装置の機能構成の一例を示す図である。本実施例に係るシミュレーション装置１０は、道路モデル、車両モデルおよびドライバモデルに基づいて、車両の挙動を計算することで、車両の挙動のシミュレーションを行う。図１に示すように、シミュレーション装置１０は、入力部１１と、表示部１２と、記憶部１３と、制御部１４とを有する。
【００１８】
入力部１１は、ユーザの操作を受け付けて各種情報を制御部１４に入力する。例えば、入力部１１は、シミュレーション処理を実行する指示を、ユーザから受け付けて、受け付けた指示を制御部１４に入力する。入力部１１の一例としては、キーボードやマウスなどを含む操作受付デバイスが挙げられる。
【００１９】
表示部１２は、シミュレーション結果を表示する。例えば、表示部１２は、後述のシミュレーション部１４ａから送信された、複数の車両の交通流などのシミュレーション結果を受信し、受信したシミュレーション結果を表示する。表示部１２の一例としては、ＬＣＤ（Liquid  Crystal  Display）やＣＲＴ（Cathode  Ray  Tube）などの表示デバイスが挙げられる。
【００２０】
記憶部１３は、モデル１３ａおよび車両挙動１３ｂを記憶する。モデル１３ａについて説明する。モデル１３ａは、交通シミュレーションにおいて、車両の挙動を計算するために用いられるモデルである。例えば、モデル１３ａは、道路モデル、車両モデルおよびドライバモデルを含む。道路モデル、車両モデルおよびドライバモデルは、後述のシミュレーション部１４ａが、車両の挙動を計算する際に用いられる。
【００２１】
ここで、道路モデル、車両モデルおよびドライバモデルの一例について説明する。例えば、道路モデルは、各道路のセグメントを一意に識別するためのＩＤ（Identification）ごとに、開始位置、道幅、方角、傾斜、路面状態などのデータを有するモデルである。また、車両モデルは、車両の内部状態および外部状態を計算するためのモデルである。内部状態には、エンジン状態、動力伝達系状態、タイヤ状態が含まれる。また、外部状態には、車両の位置、進行方向、速度、車種が含まれる。また、ドライバモデルは、ドライバ状態および運転操作状態を計算するためのモデルである。ドライバ状態には、走行予定経路、認知・判断状態が含まれる。運転操作状態には、ハンドル状態、アクセル状態、ブレーキ状態が含まれる。
【００２２】
車両挙動１３ｂには、計算された車両の挙動や、変更された車両の挙動が、車両ごとに登録される。例えば、車両挙動１３ｂには、車両の位置座標、速度、車両が停止している場合に、停止の原因となる他の車両のＩＤ、車両が停止している場合に、車両が継続して停止している時間、シミュレーション対象の車両であるか否かを示す情報が登録される。図２は、車両挙動の一例を示す図である。図２の例では、図中手前から奥に向けて、車両ごとに各種情報が登録される場合が示されている。図２の例では、最も手前に各種情報が表示される車両のＩＤが「１」である場合を想定する。図２の例では、ＩＤが「１」である車両の位置の座標が、（ｘ，ｙ，ｚ）である場合が示されている。また、図２の例では、ＩＤが「１」である車両の速度が、０ｋｍ／ｈである場合が示されている。なお、車両の速度が０ｋｍ／ｈである場合には、車両は停止している。また、図２の例では、ＩＤが「１」である車両が停止する原因となる他の車両のＩＤが「２」である場合が示されている。また、図２の例では、ＩＤが「１」である車両が、継続して停止している時間が５秒である場合が示されている。また、図２の例では、シミュレーション対象の車両であることを示す「ｔｒｕｅ」、シミュレーション対象外の車両であることを示す「ｆａｌｓｅ」のうち、「ｔｒｕｅ」が、ＩＤが「１」である車両の車両挙動のフラグに登録されている。そのため、図２の例は、ＩＤが「１」である車両が、シミュレーション対象の車両である場合を示す。車両挙動１３ｂには、後述のシミュレーション部１４ａにより計算された車両の挙動が登録される。また、車両挙動１３ｂには、後述の変更部１４ｄにより変更された車両の挙動が登録される。
【００２３】
記憶部１３は、例えば、フラッシュメモリなどの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。なお、記憶部１３は、上記の種類の記憶装置に限定されるものではなく、ＲＡＭ（Random  Access  Memory)、ＲＯＭ（Read  Only  Memory)であってもよい。
【００２４】
制御部１４は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部１４は、図１に示すように、シミュレーション部１４ａと、検出部１４ｂと、選択部１４ｃと、変更部１４ｄとを有する。
【００２５】
シミュレーション部１４ａは、モデル１３ａに基づいて、複数の車両の挙動を所定時間間隔で模擬する。例えば、シミュレーション部１４ａは、入力部１１から、シミュレーション処理を実行する指示が入力された場合に、モデル１３ａを記憶部１３から取得する。そして、シミュレーション部１４ａは、モデル１３ａに基づいて、複数の車両の各々の位置を示す座標、速度を計算する。
【００２６】
また、シミュレーション部１４ａは、計算した速度が０ｋｍ／ｈである場合、すなわち停止した場合に、各車両の位置に基づいて、停止した車両の前方に存在する他の車両を特定する。そして、シミュレーション部１４ａは、特定した他の車両を、車両が停止した原因となる原因車両として選択する。図３Ａおよび図３Ｂは、原因車両の特定方法の一例を説明するための図である。図３Ａの例では、車両７０Ａ〜７０Ｌの各々が停止している場合が示されている。図３Ａの例では、車両７０Ｃは、車両７０Ｃの前方に存在する車両７０Ｄと衝突しないように、停止している。このため、図３Ａの例では、シミュレーション部１４ａは、車両７０Ｃの前方に存在する車両７０Ｄを特定し、特定した車両７０Ｄを車両７０Ｃが停止した原因となる原因車両として選択する。一方、図３Ａの例では、車列の先頭で、信号待ちのために停止している車両７０Ｆには、前方に車両が存在せず、車両７０Ｆが停止した原因となる原因車両が存在しない。このため、図３Ａの例では、シミュレーション部１４ａは、車両７０Ｆが停止した原因となる原因車両を選択しない。
【００２７】
また、図３Ｂの例では、車両７０Ｍ〜７０Ｚ、７０ＡＡの各々が停止している場合が示されている。図３Ｂの例では、車両７０Ｓは、車両７０Ｓの前方に存在する車両７０Ｔと衝突しないように、停止している。このため、図３Ｂの例では、シミュレーション部１４ａは、車両７０Ｓの前方に存在する車両７０Ｔを特定し、特定した車両７０Ｔを車両７０Ｓが停止した原因となる原因車両として選択する。
【００２８】
また、シミュレーション部１４ａは、車両が停止している場合、車両が継続して停止している時間を計算する。そして、シミュレーション部１４ａは、計算した複数の車両の各々の位置を示す座標、速度などに加え、車両が停止している場合には、原因車両、車両が継続して停止している時間を、車両ごとに、車両挙動１３ｂに登録する。
【００２９】
また、シミュレーション部１４ａは、モデル１３ａに基づいて、所定時間間隔で計算した複数の車両の各々の挙動を、表示部１２に送信する。
【００３０】
検出部１４ｂは、記憶部１３に記憶された車両挙動１３ｂに基づいて、グリッドロックの発生を検出する。例えば、検出部１４ｂは、記憶部１３に記憶された車両挙動１３ｂを取得する。そして、検出部１４ｂは、車両挙動１３ｂから、原因車両を取得する。続いて、検出部１４ｂは、取得した原因車両のそれぞれについて、隣接する原因車両を取得する。その後、検出部１４ｂは、隣接する原因車両が環状に連鎖する場合には、グリッドロックが発生したと考えられるため、グリッドロックの発生を検出する。
【００３１】
先の図３Ｂの例では、車両７０Ｍ〜７０Ｚ、７０ＡＡのそれぞれに対して、原因車両７０Ｎ〜７０Ｙ、７０ＡＡ、７０Ｏのそれぞれが存在する。また、図３Ｂの例では、原因車両７０Ｏ〜７０Ｙ、７０ＡＡが環状に連鎖する。そのため、図３Ｂの例では、検出部１４ｂは、グリッドロックの発生を検出する。
【００３２】
一方、先の図３Ａの例では、車両７０Ａ〜７０Ｅ、７０Ｇ〜７０Ｌのそれぞれに対して、原因車両７０Ｂ〜７０Ｆ、７０Ｈ〜７０Ｉ、７０Ｃ、７０Ｋが存在する。また、図３Ａの例では、車両７０Ｅの原因車両となる車両７０Ｆに対して、原因車両が存在しない。すなわち、図３Ａの例では、原因車両７０Ｆに対する原因車両が存在しないことにより原因車両の連鎖が途切れ、原因車両が環状に連鎖していない。そのため、図３Ａの例では、検出部１４ｂは、グリッドロックの発生を検出しない。
【００３３】
選択部１４ｃは、検出部１４ｂによりグリッドロックの発生が検出された場合には、記憶部１３に記憶された複数の車両の挙動に基づいて、グリッドロックを解消するための車両を選択する。グリッドロックを解消するための車両の一例としては、車両をシミュレーション対象から外したり、車両の位置を移動させたりして車両の挙動を変更することで、グリッドロックが解消されるような車両が挙げられる。また、挙動を変更する車両の一例としては、グリッドロックの発生の要因となった車両である要因車両などが挙げられる。
【００３４】
例えば、選択部１４ｃは、検出部１４ｂによりグリッドロックの発生が検出された場合には、記憶部１３から車両挙動１３ｂを取得する。そして、選択部１４ｃは、車両挙動１３ｂに登録された、各車両が継続して停止している時間などに基づいて、環状に連鎖する原因車両のうち、継続して停止している時間が最も長い原因車両を、要因車両として選択する。これは、継続して停止している時間が最も長い原因車両がグリッドロックの発生の起点になっている可能性が、他の原因車両と比較して、高いからである。
【００３５】
また、選択部１４ｃは、車両挙動１３ｂに登録された各車両の位置を示す座標や、記憶部１３に記憶された交差点などの位置を示す道路情報などに基づいて、環状に連鎖する原因車両のうち、交差点に存在する原因車両を、要因車両として選択することもできる。これは、交差点内で停止している原因車両は、この原因車両の進行方向とは他の進行方向に走行する車両や、自身の後続車両などに対する交通の流れを阻害して、グリッドロックの原因になっている可能性があるからである。
【００３６】
ここで、グリッドロックを解消するために挙動を変更する車両を選択するという観点から、選択部１４ｃは、２台の車両が相互に、停止の原因となり、その結果、交通の流れを阻害している場合には、相対的な位置関係、道路の優先度を含む交通ルール、交通マナーなどに基づいて、車両を選択してもよい。例えば、先の図８Ｃの例では、選択部１４ｃは、同一方向の２つの車線のそれぞれを走行する２台の先頭車両８８のうち、前方に位置する左側の車線を走行する先頭車両８８を、グリッドロックを解消するための要因車両として選択してもよい。また、選択部１４ｃは、主道路と従道路とが交差する地点でグリッドロックが発生している場合に、従道路側の車両を、グリッドロックを解消するための要因車両として選択してもよい。
【００３７】
変更部１４ｄは、グリッドロックが解消されるように、選択部１４ｃにより選択された要因車両に対して、シミュレーション部１４ａにより模擬された挙動を変更する。例えば、変更部１４ｄは、車両挙動１３ｂが示す、要因車両のシミュレーション対象の車両であるか否かを示すフラグの設定値を「ｔｒｕｅ」から「ｆａｌｓｅ」に変更する。これにより、要因車両は、シミュレーション部１４ａによるシミュレーションの対象外となる。なお、変更部１４ｄは、車両挙動１３ｂが示す複数の車両の車両挙動のうち、要因車両の車両挙動の情報を削除することで、要因車両を、シミュレーション部１４ａによるシミュレーションの対象外とすることもできる。
【００３８】
また、変更部１４ｄは、車両挙動１３ｂが示す要因車両の位置を、グリッドロックが解消されるような、グリッドロックに関わらない位置に変更することで、要因車両に対して、シミュレーション部１４ａにより模擬された挙動を変更してもよい。
【００３９】
そもそも、グリッドロックの要因となる車両の全車両に対する割合は、通常、非常に低い。しかしながら、全車両に対して僅かな割合の車両を要因として発生するグリッドロックは、シミュレーション結果の車両の挙動に大きく影響する。そのため、発生したグリッドロックが解消されない場合などには、妥当なシミュレーション結果が得られないときがある。そこで、変更部１４ｄは、要因車両に対して模擬された挙動を変更することで、妥当なシミュレーション結果を得るために障害となるグリッドロックを解消する。なお、僅かな割合の要因車両をシミュレーションの対象外としても、シミュレーション結果に与える影響は微小である。そのため、変更部１４ｄによって、要因車両をシミュレーションの対象外としても、妥当なシミュレーション結果を得ることができる。
【００４０】
制御部１４は、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などの集積回路またはＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などの電子回路である。
【００４１】
［処理の流れ］
次に、本実施例に係るシミュレーション装置１０の処理の流れを説明する。図４は、実施例１に係るシミュレーション処理の手順を示すフローチャートである。このシミュレーション処理は、入力部１１からシミュレーション処理を実行する指示が入力された場合に実行される。
【００４２】
図４に示すように、シミュレーション部１４ａは、シミュレーションを行う時間であるシミュレーション時間が経過したか否かを判定する（ステップＳ１０１）。シミュレーション時間が経過した場合（ステップＳ１０１肯定）には、処理を終了する。一方、シミュレーション時間が経過していない場合（ステップＳ１０１否定）には、シミュレーション対象の車両のうち、時刻ｔにおいて、下記のステップＳ１０３で未選択の車両があるか否かを判定する（ステップＳ１０２）。
【００４３】
未選択の車両がある場合（ステップＳ１０２肯定）には、シミュレーション部１４ａは、シミュレーション対象の車両のうち、時刻ｔにおいて、未選択の車両を１つ選択する（ステップＳ１０３）。シミュレーション部１４ａは、モデル１３ａを用いて、選択した車両の時刻ｔにおける挙動を計算する（ステップＳ１０４）。シミュレーション部１４ａは、ステップＳ１０４で計算した挙動に含まれる速度が、０ｋｍ／ｈである場合には、停止の原因となった原因車両を記録し（ステップＳ１０５）、ステップＳ１０２に戻る。
【００４４】
未選択の車両がない場合（ステップＳ１０２否定）には、検出部１４ｂは、記憶部１３に記憶された車両挙動１３ｂに基づいて、グリッドロックの発生を検出し、グリッドロックが発生したか否かを判定する（ステップＳ１０６）。グリッドロックが発生していない場合（ステップＳ１０６否定）には、シミュレーション部１４ａは、時刻ｔに所定時間Δｔを加えた時刻（ｔ＋Δｔ）を、次のシミュレーションを行う新たな時刻ｔとし（ステップＳ１０９）、ステップＳ１０１へ戻る。
【００４５】
グリッドロックが発生した場合（ステップＳ１０６肯定）には、選択部１４ｃは、記憶部１３に記憶された複数の車両の挙動に基づいて、挙動を変更する要因車両を選択する（ステップＳ１０７）。変更部１４ｄは、グリッドロックが解消されるように、選択部１４ｃにより選択された要因車両に対して、シミュレーション部１４ａにより模擬された挙動を変更し（ステップＳ１０８）、ステップＳ１０９へ進む。
【００４６】
［実施例１の効果］
上述してきたように、本実施例に係るシミュレーション装置１０は、モデル１３ａに基づいて、複数の車両の挙動を模擬する。本実施例に係るシミュレーション装置１０は、模擬された複数の車両の挙動を記憶する。本実施例に係るシミュレーション装置１０は、記憶された複数の車両の挙動に基づいて、グリッドロックの発生を検出する。本実施例に係るシミュレーション装置１０は、グリッドロックの発生が検出された場合には、記憶された複数の車両の挙動に基づいて、グリッドロックの発生の要因となる要因車両を選択する。本実施例に係るシミュレーション装置１０は、グリッドロックが解消されるように、選択された要因車両に対して、シミュレーション部により模擬された挙動を変更する。したがって、本実施例に係るシミュレーション装置１０によれば、発生したグリッドロックが解消されるので、グリッドロックが発生した場合に、妥当なシミュレーション結果を得ることができる。
【００４７】
また、本実施例に係るシミュレーション装置１０は、車両が停止した原因となる原因車両が環状に連鎖する場合に、グリッドロックの発生を検出する。このように、本実施例に係るシミュレーション装置１０によれば、従来困難であったグリッドロックの検出を、車両が停止した原因となる原因車両に基づいて、容易に行うことが可能となる。
【００４８】
また、本実施例に係るシミュレーション装置１０は、環状に連鎖する複数の原因車両のうち、停止時間が最も長い車両、交差点内に存在する車両をグリッドロックの発生の要因となる要因車両として選択することができる。
【００４９】
また、本実施例に係るシミュレーション装置１０は、環状に連鎖する複数の原因車両であって、同一方向の複数の車線のそれぞれを走行する複数の原因車両の各車線の先頭車両のうち、進行方向に対して最も前方の先頭車両を要因車両として選択することもできる。また、本実施例に係るシミュレーション装置１０は、環状に連鎖する複数の原因車両の相対位置の関係、道路交通ルール、または道路交通マナーに応じて、環状に連鎖する複数の原因車両のなかから要因車両を選択することもできる。
【実施例２】
【００５０】
さて、上記の実施例１では、時刻ｔにおいてシミュレーション対象の全車両の挙動を計算した後に、時刻ｔにおける計算結果を用いてグリッドロックの検出を行い、グリッドロックが発生した場合には、要因車両の挙動を変更する場合を例示した。しかしながら、開示の装置はこれに限定されない。そこで、実施例２では、他のタイミングで、要因車両の挙動を変更する場合について説明する。
【００５１】
例えば、実施例２では、まず、時刻ｔにおけるシミュレーション対象の車両として選択された車両の挙動を計算する。そして、実施例２では、時刻（ｔ−Δｔ）における全車両の挙動の計算結果を用いて、選択された車両がグリッドロックに関連したか否かを判定する。続いて、実施例２では、選択された車両がグリッドロックに関連した場合に、すでに計算された車両の挙動を変更するか否かを判定する。その後、実施例２では、すでに計算された車両の挙動を変更する場合に、選択された車両の挙動を変更する。
【００５２】
［シミュレーション装置の機能構成例］
実施例２に係るシミュレーション装置について説明する。図５は、実施例２に係るシミュレーション装置の機能構成の一例を示す図である。図５に示すように、本実施例に係るシミュレーション装置５０は、図１に示す実施例１に係る制御部１４に代えて、制御部５４を有する点が、実施例１と異なる。なお、以下では、上記の実施例１と同様の機能を果たす各部については図１と同様の符号を付し、その説明は省略する。
【００５３】
制御部５４は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部５４は、シミュレーション部５４ａと、検出部５４ｂと、選択部５４ｃと、変更部５４ｄとを有する。
【００５４】
シミュレーション部５４ａは、実施例１に係るシミュレーション部１４ａの機能に加え、シミュレーション対象として選択された車両ごとに、後述の変更部５４ｄの変更指示により、すでに計算された挙動を変更すると判定された要因車両の挙動を、次のように再計算する。すなわち、シミュレーション部５４ａは、すでに計算された挙動を変更すると判定された要因車両については、移動させて、移動時に、要因車両と他の車両とが衝突する場合であっても、要因車両と該他の車両とを互いにすり抜けさせるように挙動を再計算する。すなわち、シミュレーション部５４ａは、挙動を変更すると判定された要因車両については、通常のシミュレーションでの衝突条件を無視し、停止している要因車両を、停止する所定時間前の進行方向および速度で移動させて、挙動の計算を再び行う。
【００５５】
検出部５４ｂは、記憶部１３に記憶された時刻（ｔ−Δｔ）の車両挙動１３ｂに基づいて、時刻（ｔ−Δｔ）におけるグリッドロックの発生を検出する。なお、グリッドロックの発生の検出方法は、実施例１と同様の方法を用いることができる。
【００５６】
選択部５４ｃは、検出部５４ｂによりグリッドロックの発生が検出された場合には、記憶部１３に記憶された、時刻（ｔ−Δｔ）の車両の挙動に基づいて、シミュレーション対象の車両が、グリッドロックに関連したか否かを判定する。ここで、選択部５４ｃは、環状に連鎖した原因車両の中に、シミュレーション対象の車両が含まれている場合には、グリッドロックに関連したと判定する。一方、選択部５４ｃは、環状に連鎖した原因車両の中に、シミュレーション対象の車両が含まれていない場合には、グリッドロックに関連していないと判定する。
【００５７】
そして、選択部５４ｃは、グリッドロックに関連したと判定した場合に、シミュレーション対象の車両が、挙動を変更する車両であるか否かを判定する。例えば、選択部５４ｃは、時刻（ｔ−Δｔ）の環状に連鎖した原因車両のそれぞれの停止している時間に基づいて、シミュレーション対象の車両が、環状に連鎖した原因車両の中で、最も長い時間停止しているか否かを判定する。そして、選択部５４ｃは、最も長い時間停止していると判定した場合には、シミュレーション対象の車両を、挙動を変更する車両であると判定する。続いて、選択部５４ｃは、挙動を変更する車両であると判定された車両を、要因車両として選択する。
【００５８】
また、選択部５４ｃは、グリッドロックに関連したと判定した場合に、時刻（ｔ−Δｔ）の環状に連鎖した原因車両のそれぞれの位置や、道路データに基づいて、シミュレーション対象の車両が、交差点内に存在するか否かを判定することもできる。選択部５４ｃは、交差点内に存在すると判定した場合には、シミュレーション対象の車両を、挙動を変更する車両であると判定する。続いて、選択部５４ｃは、挙動を変更する車両であると判定された車両を、要因車両として選択する。
【００５９】
また、選択部５４ｃは、グリッドロックに関連したと判定した場合に、時刻（ｔ−Δｔ）の環状に連鎖した原因車両のそれぞれの位置に基づいて、次のような処理を行うこともできる。すなわち、選択部５４ｃは、シミュレーション対象の車両が、同一方向の複数の車線のそれぞれを走行する複数の原因車両であって環状に連鎖した複数の原因車両のうち、前方に位置する原因車両であるか否かを判定することもできる。選択部５４ｃは、前方に位置する原因車両であると判定した場合には、シミュレーション対象の車両を、挙動を変更する車両であると判定する。続いて、選択部５４ｃは、挙動を変更する車両であると判定された車両を、要因車両として選択する。
【００６０】
また、選択部５４ｃは、グリッドロックに関連したと判定した場合に、時刻（ｔ−Δｔ）の環状に連鎖した原因車両のそれぞれの位置に基づいて、次のような処理を行うこともできる。すなわち、選択部５４ｃは、シミュレーション対象の車両が、主道路および従道路を走行する複数の原因車両であって環状に連鎖した複数の原因車両のうち、主道路側の原因車両であるか否かを判定することもできる。選択部５４ｃは、主道路側の原因車両であると判定した場合には、シミュレーション対象の車両を、挙動を変更する車両であると判定する。続いて、選択部５４ｃは、挙動を変更する車両であると判定された車両を、要因車両として選択する。
【００６１】
変更部５４ｄは、選択部５４ｃで選択された要因車両については、次のような変更指示をシミュレーション部１４ａに送信する。すなわち、変更部５４ｄは、要因車両が停止する所定時間前の進行方向および速度で要因車両を移動させて、移動時に、要因車両と他の車両とが衝突する場合であっても、要因車両と該他の車両とを互いにすり抜けさせるように挙動を再計算する変更指示を送信する。要因車両を移動させた場合には、他の車両との衝突により進行が妨げられないように、要因車両については、衝突時の挙動計算を行わないように、変更部５４ｄは、シミュレーション部５４ａを制御する。
【００６２】
このようにして、停止している要因車両が移動することで、グリッドロックが解消された後は、シミュレーション部５４ａによるシミュレーションが通常のシミュレーションに戻る。そのため、要因車両をシミュレーション対象から外す場合と比較して、実施例２では、要因車両をシミュレーション対象から外さないので、シミュレーション結果に与える影響がより小さくなる。
【００６３】
制御部５４は、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などの集積回路またはＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などの電子回路である。
【００６４】
［処理の流れ］
次に、本実施例に係るシミュレーション装置５０の処理の流れを説明する。図６は、実施例２に係るシミュレーション処理の手順を示すフローチャートである。このシミュレーション処理は、入力部１１からシミュレーション処理を実行する指示が入力された場合に実行される。なお、図６に示すステップＳ１０１〜Ｓ１０５、Ｓ１０９の処理は、実施例１と同様であるので説明を省略する。
【００６５】
図６に示すように、ステップＳ１０５の次に、検出部５４ｂは、時刻（ｔ−Δｔ）の車両挙動１３ｂに基づいて、時刻（ｔ−Δｔ）におけるグリッドロックの発生を検出する。そして、選択部５４ｃは、検出部５４ｂによりグリッドロックの発生が検出された場合には、時刻（ｔ−Δｔ）の車両の挙動に基づいて、シミュレーション対象の車両が、時刻（ｔ−Δｔ）におけるグリッドロックに関連したか否かを判定する（ステップＳ２０１）。
【００６６】
グリッドロックに関連したと判定した場合（ステップＳ２０１肯定）には、選択部５４ｃは、シミュレーション対象の車両が、挙動を変更する車両であるか否かを判定する（ステップＳ２０２）。なお、挙動を変更する車両であると判定した車両は、選択部５４ｃにより、要因車両として選択される。シミュレーション対象の車両が、挙動を変更する車両である場合（ステップＳ２０２肯定）には、変更部５４ｄは、要因車両については、次のような変更指示をシミュレーション部１４ａに送信する（ステップＳ２０３）。すなわち、変更部５４ｄは、要因車両が停止する所定時間前の進行方向および速度で要因車両を移動させて、移動時に、要因車両と他の車両とが衝突する場合であっても、要因車両と該他の車両とを互いにすり抜けさせるように挙動を再計算する変更指示を送信する。そして、ステップＳ１０２へ戻る。
【００６７】
また、グリッドロックに関連していないと判定した場合（ステップＳ２０１否定）、および、シミュレーション対象の車両が、挙動を変更する車両でない場合（ステップＳ２０２否定）には、ステップＳ１０２へ戻る。
【００６８】
［実施例２の効果］
上述してきたように、本実施例に係るシミュレーション装置５０は、モデル１３ａに基づいて、複数の車両の挙動を模擬する。本実施例に係るシミュレーション装置５０は、模擬された複数の車両の挙動を記憶する。本実施例に係るシミュレーション装置５０は、記憶された複数の車両の挙動に基づいて、グリッドロックの発生を検出する。本実施例に係るシミュレーション装置５０は、グリッドロックの発生が検出された場合には、記憶された複数の車両の挙動に基づいて、グリッドロックの発生の要因となる要因車両を選択する。本実施例に係るシミュレーション装置５０は、グリッドロックが解消されるように、選択された要因車両に対して、シミュレーション部により模擬された挙動を変更する。したがって、本実施例に係るシミュレーション装置５０によれば、発生したグリッドロックが解消されるので、グリッドロックが発生した場合に、妥当なシミュレーション結果を得ることができる。
【００６９】
また、本実施例に係るシミュレーション装置５０は、車両が停止した原因となる原因車両が環状に連鎖する場合に、グリッドロックの発生を検出する。このように、本実施例に係るシミュレーション装置５０によれば、従来困難であったグリッドロックの検出を、原因車両に基づいて、容易に行うことが可能となる。
【００７０】
また、本実施例に係るシミュレーション装置５０は、グリッドロックの発生の要因となる要因車両については、次のような処理を行う。すなわち、本実施例に係るシミュレーション装置５０は、要因車両を移動させて、移動時に、要因車両と他の車両とが衝突する場合であっても、要因車両と該他の車両とを互いにすり抜けさせるように挙動を再計算する。このように、本実施例に係るシミュレーション装置５０は、要因車両を移動させて、移動時に、要因車両と他の車両とが衝突する場合であっても、衝突しないとみなすことで、要因車両の挙動を変更する。したがって、本実施例に係るシミュレーション装置５０によれば、要因車両をシミュレーション対象から外す場合と比較して、要因車両をシミュレーション対象から外さないので、シミュレーション結果に与える影響がより小さくなる。
【００７１】
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
【００７２】
［シミュレーション］
また、上記の実施例１、２では、車両の交通シミュレーションを行う場合について説明したが、開示の装置はこれに限定されない。例えば、開示の装置は、車両の交通シミュレーションを行うとともに、運転を模擬する運転シミュレーションを行うことができる。
【００７３】
［道路モデル］
また、上記の実施例１、２では、道路モデルを、車両が走行する道路を定義した静的なデータとする場合について例示したが、開示の装置はこれに限定されない。例えば、開示の装置は、道路モデルに、信号機の信号状態などのような動的なデータを含めることができる。これにより、開示の装置は、信号状態などの刻々と変化する状況に対応するシミュレーションを行うことが可能となる。
【００７４】
また、実施例１、２において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともできる。また、本実施例において説明した各処理のうち、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。例えば、図４、図６のステップＳ１０１において、それぞれ、シミュレーション処理を続行するか否かを人間が判断して、判断結果を入力部１１から入力してもよい。
【００７５】
また、各種の負荷や使用状況などに応じて、各実施例において説明した各処理の各ステップでの処理を任意に細かくわけたり、あるいはまとめたりすることができる。また、ステップを省略することもできる。また、各種の負荷や使用状況などに応じて、各実施例において説明した各処理の各ステップでの処理の順番を変更できる。例えば、図４、図６に示すステップＳ１０３、１０４をまとめることもできる。
【００７６】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的状態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図１、図５に示すシミュレーション部と変更部とが統合されてもよい。
【実施例３】
【００７７】
［シミュレーションプログラム］
また、上記の実施例で説明したシミュレーション装置の各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。そこで、以下では、図７を用いて、上記の実施例で説明したシミュレーション装置と同様の機能を有するシミュレーションプログラムを実行するコンピュータの一例を説明する。図７は、シミュレーションプログラムを実行するコンピュータを示す図である。
【００７８】
図７に示すように、実施例３におけるコンピュータ３００は、ＣＰＵ（Central  Processing  Unit）３１０、ＲＯＭ（Read  Only  Memory）３２０、ＨＤＤ（Hard  Disk  Drive）３３０、ＲＡＭ（Random  Access  Memory）３４０とを有する。これら３００〜３４０の各部は、バス３５０を介して接続される。
【００７９】
ＲＯＭ３２０には、上記の実施例１、２で示すシミュレーション部と、検出部と、選択部と、変更部と同様の機能を発揮するシミュレーションプログラム３２０ａが予め記憶される。なお、シミュレーションプログラム３２０ａについては、適宜分離しても良い。例えば、検出部と、選択部と同様の機能を発揮するプログラムと、シミュレーション部と、変更部と同様の機能を発揮するプログラムとに分離しても良い。
【００８０】
そして、ＣＰＵ３１０が、シミュレーションプログラム３２０ａをＲＯＭ３２０から読み出して実行する。
【００８１】
そして、ＨＤＤ３３０には、モデル、車両挙動が設けられる。これらモデル、車両挙動のそれぞれは、図１、５に示したモデル１３ａ、車両挙動１３ｂのそれぞれに対応する。
【００８２】
そして、ＣＰＵ３１０は、モデルと、車両挙動とを読み出してＲＡＭ３４０に格納する。さらに、ＣＰＵ３１０は、ＲＡＭ３４０に格納されたモデルデータと、車両挙動データとを用いて、シミュレーションプログラムを実行する。なお、ＲＡＭ３４０に格納される各データは、常に全てのデータがＲＡＭ３４０に格納される必要はなく、処理に必要なデータのみがＲＡＭ３４０に格納されれば良い。
【００８３】
なお、上記したシミュレーションプログラムについては、必ずしも最初からＲＯＭ３２０に記憶させておく必要はない。
【００８４】
例えば、コンピュータ３００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」にプログラムを記憶させておく。そして、コンピュータ３００がこれらからプログラムを読み出して実行するようにしてもよい。  
【００８５】
さらには、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ３００に接続される「他のコンピュータ（またはサーバ）」などにプログラムを記憶させておく。そして、コンピュータ３００がこれらからプログラムを読み出して実行するようにしてもよい。
【００８６】
以上説明した実施形態及びその変形例に関し、更に以下の付記を開示する。
【００８７】
（付記１）モデルに基づいて、複数の車両の挙動を模擬するシミュレーション部と、
前記シミュレーション部により模擬された複数の車両の挙動を記憶する記憶部と、
前記記憶部に記憶された複数の車両の挙動に基づいて、グリッドロックの発生を検出する検出部と、
前記検出部によりグリッドロックの発生が検出された場合には、前記記憶部に記憶された複数の車両の挙動に基づいて、該グリッドロックの発生の要因となる要因車両を選択する選択部と、
前記グリッドロックが解消されるように、前記選択部により選択された要因車両に対して、前記シミュレーション部により模擬された挙動を変更する変更部と
を有することを特徴とするシミュレーション装置。
【００８８】
（付記２）前記検出部は、複数の車両のそれぞれについて、停止の原因となる他の車両を特定可能な情報を取得し、取得した車両が環状に連鎖する場合には、グリッドロックの発生を検出する
ことを特徴とする付記１に記載のシミュレーション装置。
【００８９】
（付記３）前記変更部は、前記複数の車両のうち、前記選択部により選択された要因車両がシミュレーション対象の車両とならないように、前記シミュレーション部により模擬された要因車両の挙動を変更する
ことを特徴とする付記１または２に記載のシミュレーション装置。
【００９０】
（付記４）前記変更部は、前記選択部により選択された要因車両が移動するように、前記シミュレーション部により模擬された要因車両の挙動を変更する
ことを特徴とする付記１〜３のいずれか１つに記載のシミュレーション装置。
【００９１】
（付記５）前記変更部は、前記選択部により選択された要因車両の移動時に、該要因車両と他の車両とが衝突する場合であっても、該要因車両と該他の車両とを互いに衝突しないとみなすことで、前記シミュレーション部により模擬された要因車両の挙動を変更する
ことを特徴とする付記１または２に記載のシミュレーション装置。
【００９２】
（付記６）前記選択部は、前記環状に連鎖する複数の車両のうち、停止時間が最も長い車両を要因車両として選択する
ことを特徴とする付記２に記載のシミュレーション装置。
【００９３】
（付記７）前記選択部は、前記環状に連鎖する複数の車両のうち、交差点内に存在する車両を要因車両として選択する
ことを特徴とする付記２に記載のシミュレーション装置。
【００９４】
（付記８）前記選択部は、前記環状に連鎖する複数の車両であって、同一方向の複数の車線のそれぞれを走行する複数の車両の各車線の先頭車両のうち、進行方向に対して最も前方の先頭車両を要因車両として選択する
ことを特徴とする付記２に記載のシミュレーション装置。
【００９５】
（付記９）前記選択部は、前記環状に連鎖する複数の車両の相対位置の関係、道路交通ルール、または道路交通マナーに応じて、前記環状に連鎖する位置に存在する複数の車両のなかから要因車両を選択する
ことを特徴とする付記２に記載のシミュレーション装置。
【００９６】
（付記１０）コンピュータに、
モデルに基づいて、複数の車両の挙動を模擬するシミュレーション部により模擬された複数の車両の挙動を記憶する記憶部に記憶された複数の車両の挙動に基づいて、グリッドロックの発生を検出し、
グリッドロックの発生が検出された場合には、前記記憶部に記憶された複数の車両の挙動に基づいて、該グリッドロックの発生の要因となる要因車両を選択し、
前記グリッドロックが解消されるように、選択された要因車両に対して、前記シミュレーション部により模擬された挙動を変更する
処理を実行させることを特徴とするシミュレーションプログラム。
【００９７】
（付記１１）前記グリッドロックの発生を検出する処理は、複数の車両のそれぞれについて、停止の原因となる他の車両を特定可能な情報を取得し、取得した車両が環状に連鎖する場合には、グリッドロックの発生を検出する
ことを特徴とする付記１０に記載のシミュレーションプログラム。
【００９８】
（付記１２）前記グリッドロックの発生を検出する処理は、前記複数の車両のうち、選択された要因車両がシミュレーション対象の車両とならないように、前記シミュレーション部により模擬された要因車両の挙動を変更する
ことを特徴とする付記１０または１１に記載のシミュレーションプログラム。
【００９９】
（付記１３）前記グリッドロックの発生を検出する処理は、選択された要因車両が移動するように、前記シミュレーション部により模擬された要因車両の挙動を変更する
ことを特徴とする付記１０〜１２のいずれか１つに記載のシミュレーションプログラム。
【０１００】
（付記１４）前記グリッドロックの発生を検出する処理は、選択された要因車両の移動時に、該要因車両と他の車両とが衝突する場合であっても、該要因車両と該他の車両とを衝突しないとみなすことで、前記シミュレーション部により模擬された要因車両の挙動を変更する
ことを特徴とする付記１０または１１に記載のシミュレーションプログラム。
【０１０１】
（付記１５）前記要因車両を選択する処理は、前記環状に連鎖する複数の車両のうち、停止時間が最も長い車両を要因車両として選択する
ことを特徴とする付記１１に記載のシミュレーションプログラム。
【０１０２】
（付記１６）前記要因車両を選択する処理は、前記環状に連鎖する複数の車両のうち、交差点内に存在する車両を要因車両として選択する
ことを特徴とする付記１１に記載のシミュレーションプログラム。
【０１０３】
（付記１７）前記要因車両を選択する処理は、前記環状に連鎖する複数の車両であって、同一方向の複数の車線のそれぞれを走行する複数の車両の各車線の先頭車両のうち、進行方向に対して最も前方の先頭車両を要因車両として選択する
ことを特徴とする付記１１に記載のシミュレーションプログラム。
【０１０４】
（付記１８）前記要因車両を選択する処理は、前記環状に連鎖する複数の車両の相対位置の関係、道路交通ルール、または道路交通マナーに応じて、前記環状に連鎖する位置に存在する複数の車両のなかから要因車両を選択する
ことを特徴とする付記１１に記載のシミュレーションプログラム。
【符号の説明】
【０１０５】
１０      シミュレーション装置
１３      記憶部
１３ａ    モデル
１３ｂ    車両挙動
１４      制御部
１４ａ    シミュレーション部
１４ｂ    選択部
１４ｃ    検出部
１４ｄ    変更部
【図１】
2012247863.tif 000003
【図２】
2012247863.tif 000004
【図３Ａ】
2012247863.tif 000005
【図３Ｂ】
2012247863.tif 000006
【図４】
2012247863.tif 000007
【図５】
2012247863.tif 000008
【図６】
2012247863.tif 000009
【図７】
2012247863.tif 000010
【図８Ａ】
2012247863.tif 000011
【図８Ｂ】
2012247863.tif 000012
【図８Ｃ】
2012247863.tif 000013
【図８Ｄ】
2012247863.tif 000014