JP5967416B2 - 電子装置、プログラム及び経路探索方法 - Google Patents

電子装置、プログラム及び経路探索方法 Download PDF

Info

Publication number
JP5967416B2
JP5967416B2 JP2012060851A JP2012060851A JP5967416B2 JP 5967416 B2 JP5967416 B2 JP 5967416B2 JP 2012060851 A JP2012060851 A JP 2012060851A JP 2012060851 A JP2012060851 A JP 2012060851A JP 5967416 B2 JP5967416 B2 JP 5967416B2
Authority
JP
Japan
Prior art keywords
points
search
list
point
route
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2012060851A
Other languages
English (en)
Other versions
JP2013195155A (ja
JP2013195155A5 (ja
Inventor
タッド ゴンサルベス
タッド ゴンサルベス
遼司 田邊
遼司 田邊
伊藤 潔
伊藤  潔
亮 川端
亮 川端
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sophia School Corp
Original Assignee
Sophia School Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sophia School Corp filed Critical Sophia School Corp
Priority to JP2012060851A priority Critical patent/JP5967416B2/ja
Publication of JP2013195155A publication Critical patent/JP2013195155A/ja
Publication of JP2013195155A5 publication Critical patent/JP2013195155A5/ja
Application granted granted Critical
Publication of JP5967416B2 publication Critical patent/JP5967416B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Navigation (AREA)

Description

本発明は、経路探索機能を備えた電子装置及びその制御プログラムに関する。
経路探索問題として、複数の地点を一度ずつ訪問して元の地点に戻る巡回路のうち、最短距離の経路を求める問題(いわゆる巡回セールスマン問題(TSP:Traveling Salesman Problem)が知られている。TSPは、例えばカーナビゲーションを始めとする各種の経路案内装置の他、マイクロチップの組立工程、ネットワーク設計、ゲノム探索等様々な技術分野に応用されている。
TSPでは、地点の数が大きくなるにつれ、計算量が大幅に増大する。このため、経路探索のアルゴリズムとして、最適解を厳密解法により一義的に求める手法の他に、複数のエージェントを用いた試行錯誤により、最適解を近似的に求める各種のアルゴリズム(例えば、遺伝的アルゴリズム)が提案されている。このような近似的な解の算出アルゴリズムとして、ACO(Ant Colony Optimization:蟻コロニー最適化)アルゴリズムが知られている。
特表2008−518359号公法
従来のACOアルゴリズムでは、全ての地点間におけるフェロモン濃度を記憶したデータ構造(フェロモン濃度マトリクス)を用い、エージェントによる経路探索が終了する毎にフェロモン濃度の更新を行っている。このため、計算に必要なメモリ領域が増加し、ACOを用いた探索機能を小型の電子機器に組み込むことが難しい等の課題があった。
本発明は、上記の課題に鑑みなされたものであり、経路探索機能を備えた電子装置において、高精度且つ高速な経路探索を行いつつ、計算に必要なメモリの使用量を大幅に低減することを目的とする。
本発明は、複数のエージェントに対し、複数の地点を一度ずつ訪問して元の地点に戻る経路の探索を行わせる探索手段と、前記複数の地点の各地点に対し、現時点における仮の最短経路上の隣接する2つの地点を並べた第1リストを保持する第1保持手段と、前記複数の地点の各地点に対し、他の地点を距離の近い順に並べた第2リストを保持する第2保持手段と、前記複数のエージェントによる探索が終了する毎に、当該探索の結果に基づいて前記第1リストを更新する更新手段と、前記探索手段により得られた経路のうち、最短距離の経路を出力する出力手段と、を備え、前記探索手段は、前記複数の地点のいずれかにエージェントを配置する配置手段と、前記第1リスト及び前記第2リストに基づいて、前記エージェントの次の目的地を決定する決定手段と、前記エージェントを次の目的地に移動する移動手段と、を含むことを特徴とする電子装置である。
上記構成において、前記決定手段は、現在地に対応する第1リスト上の地点が2つとも未訪問の場合、当該2つの地点のうちいずれか1つの地点に対し、当該地点を目的地として選択するか否かの判定を行う第1判定手段と、現在地に対応する第1リスト上の地点が1つのみ未訪問の場合、当該未訪問の地点に対し、当該地点を目的地として選択するか否かの判定を行う第2判定手段と、現在地に対応する第1リスト上の地点が2つとも訪問済みの場合、並びに前記第1判定手段または前記第2判定手段において第1リスト上の地点が目的地として選択されなかった場合に、現在地に対応する第2リスト上の上位の地点から順に、当該地点を目的地として選択するか否かの判定を行う第3判定手段と、を含む構成とすることができる。
上記構成において、前記第1判定手段、前記第2判定手段、及び前記第3判定手段は、判定の対称とされた地点を、予め定められた確率で目的地として選択する構成とすることができる。
上記構成において、前記確率は、0.9以上0.99以下である構成とすることができる。
上記構成において、前記第1判定手段は、前記第1リスト上における2つの地点のいずれかを、0.5の確率で選択する構成とすることができる。
本発明は、コンピュータを、複数のエージェントに対し、複数の地点を一度ずつ訪問して元の地点に戻る経路の探索を行わせる探索手段、前記複数の地点の各地点に対し、現時点における仮の最短経路上の隣接する2つの地点を並べた第1リストを保持する第1保持手段、前記複数の地点の各地点に対し、他の地点を距離の近い順に並べた第2リストを保持する第2保持手段、前記複数のエージェントによる探索が終了する毎に、当該探索の結果に基づいて前記第1リストを更新する更新手段、前記探索手段により得られた経路のうち、最短距離の経路を出力する出力手段、として機能させるためのプログラムであって、前記探索手段は、前記複数の地点のいずれかにエージェントを配置する配置手段と、前記第1リスト及び前記第2リストに基づいて、前記エージェントの次の目的地を決定する決定手段と、前記エージェントを次の目的地に移動する移動手段と、を含むことを特徴とするプログラムである。
本発明は、探索手段が、複数の地点を一度ずつ訪問して元の地点に戻る経路の探索を、複数のエージェントに対し行わせるステップと、更新手段が、前記複数のエージェントによる探索が終了する毎に、前記複数のエージェントの辿った経路に基づいて前記複数の地点の各地点に対し現時点における仮の最短経路上の隣接する2つの地点を並べた第1リストを更新するステップと、出力手段が、探索により得られた経路のうち、最短距離の経路を出力するステップと、を有する経路探索方法であって、前記探索手段が、前記複数のエージェントに対し経路の探索を行わせるステップは、配置手段が、前記複数の地点のいずれかに前記複数のエージェントを配置するステップと、決定手段が、記第1リストと、前記複数の地点の各地点に対し他の地点を距離の近い順に並べた第2リストに基づいて、前記複数のエージェントの次の目的地を決定するステップと、移動手段が、決定された目的地に前記複数のエージェントを移動するステップと、を含むことを特徴とする経路探索方法である。
本発明によれば、経路探索機能を備えた電子装置において、高精度且つ高速な経路探索を行いつつ、計算に必要なメモリの使用量を大幅に低減することができる。
巡回セールスマン問題(TSP)を説明するための概念図である。 TSPを解析的手法で解いた場合にかかる時間を示す表である。 ACOアルゴリズムを説明するための概念図である。 ACOの計算手順を示すフローチャートである。 実施例1に係る経路探索方法(LAS)の概要を説明するための図(その1)である。 LASの概要を説明するための図(その2)である。 実施例1に係る電子装置のハードウェア図である。 実施例1に係る電子装置の機能ブロック図である。 LASの計算手順を示すフローチャート(その1)である。 LASの計算手順を示すフローチャート(その2)である。 LASの計算手順を示すフローチャート(その3)である。 計算の途中経過を示す状態図(その1)である。 計算の途中経過を示す状態図(その2)である。 LASの全体アルゴリズムである。 エージェントによる経路探索部分のアルゴリズムである。 LASと他のACOアルゴリズムの比較結果(その1)である。 LASと他のACOアルゴリズムの比較結果(その2)である。 制御パラメータPsのうち、好ましい値を示す表である。
最初に、経路探索問題の詳細及び比較例に係る経路探索方法について説明する。
図1は、経路探索問題の1つであるTSP(Traveling Salesman Problem:巡回セールスマン問題)を説明するための概念図である。TSPとは、複数の地点(都市、建物等)を1度ずつ訪問して元の地点に戻るための経路(巡回路)のうち、最も移動距離の少ない最短経路を求める問題である。TSPは、例えばカーナビゲーションを始めとする各種の経路案内装置の他、マイクロチップの組立工程、ネットワーク設計、ゲノム探索等様々な技術分野に応用されている。図1(a)〜(c)は、7つのノード(地点)を順に訪問する場合のTSPを示す概念図であるが、図示するように様々な経路を辿ることが考えられる。TSPにおいて、考えられる全ての経路(巡回路)の数(x)は、訪問する地点の数をNとした場合に、次の式により算出される。
Figure 0005967416
図2は、所定数の地点が与えられた場合の、考えられる全ての経路(巡回路)の数及びその計算にかかる時間を示す表である。計算時間は、1つの巡回路につき1.0×10−6秒かかるものとする。図示するように、地点の数が少ないうちは、計算にかかる時間もわずかである。従って、全ての経路を求めた上で個々の経路の移動距離(評価値)を算出し、その中で最も良い評価値の経路を抽出する方法で、最短経路を容易に求めることができる。しかし、地点の数が多くなるにつれ、計算にかかる時間は飛躍的に大きくなり、上記の解析的手法による最短経路の探索が困難になってしまう。例えば、地点数が20の場合の計算時間は1929年となっており、この場合に上記の探索方法を採用することは現実的ではない。
図3は、ACO(Ant Colony Optimization:蟻コロニー最適化)アルゴリズムの概念を説明するための図である。ACOアルゴリズムは、自然界のアリのフェロモンコミュニケーションに着想を得た、組合せ最適化問題に対する近似アルゴリズムである。ACOにおいては、ある地点(i)に存在するエージェントkが、他の地点(j)を目的地として選択する確率は、地点間のフェロモンτの濃度(τij)及びヒューリスティック情報(ηij)に基づき、以下の式により算出される。
Figure 0005967416
ここで、式中のパラメータα及びβは、目的地の選択に際しフェロモン濃度(τij)及びヒューリスティック情報(ηij)のいずれを優先するかを調節するパラメータである。これらのパラメータを調節することにより、経路探索における集中化と多様化のバランスを取ることが可能となる。ACOでは、エージェントが上記の式に基づいて、目的地の選択及び移動を未訪問の地点がなくなるまで繰り返すことにより、解の構築すなわち経路の探索が行われる。
全てのエージェントが解の構築を終え、その評価が行われた後、フェロモンの更新が次式により行われる。
Figure 0005967416
Figure 0005967416
ここで、ρはフェロモンの蒸発率、Δτij はエージェントkが地点ij間に追加するフェロモンの量を示す。また、Qは定数であり、S、fはエージェントkの解及びその評価値をそれぞれ示す。
図4は、ACOの具体的な計算手順を説明するためのフローチャートである。最初に、データの初期化(ステップS10)が行われる。次に、エージェントが経路探索を実行することにより解の生成が行われる(ステップS12)。次に、生成された解の評価(ステップS14)及びフェロモンの更新(ステップS16)が行われる。続いて、終了条件を満たしているか否かの判定が行われ(ステップS18)、終了条件を満たしている場合には最良解の出力が行われる(ステップS20)。ステップS18において終了条件が満たされていない場合には、終了条件を満たすまで、ステップS12〜S16における解の生成〜フェロモンの更新のステップが繰り返される。
ACOアルゴリズムによれば、探索を繰り返すに従い、評価値が良い(fが小さい)経路に含まれるエッジ(地点間)のフェロモン濃度が上昇し、当該経路がその後の探索においても選択されやすくなる。このようなポジティブフィードバックのメカニズムを用いて、有望な探索領域を徐々に推定していくことにより、最良な経路(解)を近似的に求めることができる。ACOでは、最短経路を厳密解法で求める場合(図2)に比べ、計算時間を大幅に短縮することができる等のメリットがある。
ところで、典型的なACOアルゴリズムでは、エージェントが探索を終了するたびに、地点間のフェロモン濃度のリストの更新が行われる。フェロモン濃度のリストは、地点数をnとした場合にn×nのマトリクス形式のデータ構造で表される。このため、探索の対象となる地点の数が増加すると、計算に必要なメモリ領域が増大してしまうという課題がある。これにより、例えば、小型の電子装置にACOアルゴリズムを用いた経路探索機能を実装することが難しくなってしまう。
以下の実施例では、ACOアルゴリズムと同等またはそれ以上の精度及び計算速度を有しつつ、計算に必要なメモリ領域を大幅に削減することのできる経路探索方法、並びに当該経路探索機能を備えた電子装置に付いて説明する。
図5は、実施例1に係る経路探索のアルゴリズムを説明するための図である。実施例1に係るアルゴリズムは、複数のエージェントを用いて経路探索を行う点はACOと同様であるが、ACOにおけるフェロモン濃度及びヒューリスティック情報の代わりに、以下に説明する2つのリストを用いる点が異なっている。
図5(a)は、ACOのフェロモン濃度マトリクスに代わる第1リストを示す図である。第1リストは、エージェントが探索を終了する度に更新される動的なリストであり、以下の説明においてはDCL(Dynamic Candidate List)と称するものとする。図示するように、全ての地点(1〜6)を一度ずつ訪問する巡回路のうち、現時点での(仮の)最短経路(5→1→4→3→6→2)が判明している。DCLは、この仮の最短経路に基づいて作成され、各地点に対し、上記の経路上において隣接する2つの地点が並べられている。例えば、地点3において、経路上で隣接する地点は1と6であり、これらはインデックス番号0及び1に対応する位置にそれぞれ収納されている。
ここで、実施例1に係る経路探索のアルゴリズムでは、複数のエージェントを用いた経路探索を複数回実行することにより、最良解(最短経路)の探索を行う。以下、複数のエージェントを用いた1回ごとの探索における最良解をiteration best(ib)、それまでの全ての探索結果から得られた現時点での最良解をglobal best(gb)と称する。前段落の「仮の最短経路」には、上記のiteration bestまたはglobal bestのいずれを採用してもよい。換言すれば、DCLの生成には、iteration bestまたはglobal bestのいずれを用いてもよい。
図5(b)は、ACOのヒューリスティック情報に代わる第2リストを示す図である。第2リストは、経路探索の開始時に生成される静的なリストであり、DCLと異なり経路探索中における更新は行われない。以下の説明では、第2リストをSCL(Static Candidate List)と称するものとする。SCLは、各地点に対し、他の地点を距離の近い順に並べたリストであり、インデックス番号が小さい上位の地点ほど、地点間の距離が小さくなっている。例えば、地点1に対し、距離の近い地点は「5→4→3→2→6」の順であり、SCLのリストもこの順序でリストの上位(左)側から順に収納されている。
図6は、実際の経路探索における目的地決定のために使用される目的地リストを示す概念図である。後述する目的地決定のステップでは、図5(a)のDCL及び図5(b)のSCLの2つのリストに基づき目的地が決定されるが、図6に示す目的地リストは、説明の便宜のために2つのリストを合体させて表示したものであり、実際の実装方法とは必ずしも一致しない。後述するように、DCLとSCLとでは、DCLの方が優先的に参照される。このため、SCLに含まれる地点のうち、DCLに含まれる地点と重複するものは、目的地の候補から外されている(斜線で図示)。また、後述するように、既にエージェントが一度訪問した地点も、同様に目的地の候補から外される。図6の合成リストに含まれる地点のうち、斜線で塗りつぶされていない地点は、目的地選択の際の候補となりうる地点である。
実施例1では、ACOの改良アルゴリズムを経路探索機能として電子装置に搭載した例について説明する。このような電子装置としては、例えば、経路探索機能を備えた各種の電子装置(カーナビゲーション装置、携帯電話(スマートフォン含む)、PC(Personal Computer)、腕時計等)が考えられる。また、実施例1に係る経路探索機能は、上記の他にも、ネットワークの設計装置、半導体装置の回路パターン設計装置、遺伝子情報の解析装置等の様々な電子装置に実装することができる。
図7は、実施例1に係る電子装置のハードウェアブロック図である。図示するように、CPU10(Central Processing Unit)、メモリ12、入力部14、及び出力部16が、バス18により互いに接続されている。
CPU10及びメモリ12は、経路探索の計算を行うためのハードウェアの一例である。入力部14は、ユーザがデータの入力を行うためのインターフェースであり、例えばマウス・キーボードのような入力装置の他、タッチパネル、ボタン等の入力インターフェースを用いることができる。入力部14は、機械的な操作以外の方法(例えば、音声入力等)で、データの入力を行う構成であってもよい。出力部16は、データの出力を行うためのインターフェースであり、例えばディスプレイ等の表示装置、スピーカ等による音声出力装置等、ユーザに対しデータの出力を行う構成を採用することができる。また、出力部16は、経路探索により得られたデータを利用する他の電子装置に対して出力を行う構成であってもよい。
図8は、実施例1に係る電子装置の機能ブロック図である。電子装置における主な機能としては、経路探索を行う探索手段20、第1リスト(DCL)を保持する第1保持手段としてのDCL保持手段30、第2リスト(SCL)を保持する第2保持手段としてのSCL保持手段32、探索結果を出力する出力手段34等がある。DCL保持手段30には、DCLの更新を行うための更新手段36が接続され、SCL保持手段32には、SCLの生成を行うためのSCL生成手段38が接続されている。更新手段36には、探索開始時における初期解を生成するための初期解生成手段40が更に接続されている。
探索手段20は、探索のためのエージェントを配置する配置手段21、エージェントが次に訪れる地点(目的地)の決定を行う決定手段22、エージェントを当該目的地に移動させる移動手段23を含む。決定手段22は、更に、条件分岐に応じて異なる方法により目的地の決定を行う第1判定手段24〜第3判定手段26を含む。DCLを保持するDCL保持手段30の出力は、第1判定手段24及び第2判定手段25に入力され、SCLを保持するSCL保持手段32の出力は、第3判定手段26に入力されている。
配置手段21及び移動手段23における演算結果は、それぞれ記憶手段50に入力される。記憶手段50には、エージェントの移動距離を算出する移動距離算出手段52の他、出力手段34及び更新手段36がそれぞれ接続されている。記憶手段50は、エージェントが辿った経路を示す経路情報の他、移動距離算出手段52により算出された経路の移動距離(評価値)等を記憶する。更新手段36は、記憶手段50に記憶された経路のうち最も評価値の良い(仮の)最短経路に基づいて、DCLの更新を行う。出力手段34は、記憶手段50に記憶された経路のうち(最終的な)最短経路を出力する。
図8に示す機能ブロックのうち、出力手段34は図7の出力部16により実現することができ、DCL保持手段30、SCL保持手段32、及び記憶手段50は、それぞれ図7のメモリ12により実現することができる。その他の機能ブロックは、それぞれ図7のCPU10及びメモリ12により実現することができる。
図9は、実施例1に係る電子装置の動作を示すフローチャートである。経路探索のためのデータとして、地点の数、地点間の距離、エージェントの数、後述の制御パラメータPs、試行回数、探索の終了条件等のデータが予め入力されている。最初に、初期解生成手段40が、DCLを生成する前提となる初期経路(解)の生成を行う(ステップS30)。初期解はあくまでも仮の最良解であるため、例えば最近傍(Nearset Neighbor)法やランダム生成等の任意の方法により生成することができる。
次に、SCL生成手段38が、地点間の距離データに基づいて、SCLの生成を行う(ステップS32)。次に、更新手段36が、ステップS30で生成された初期解に基づいて、DCLの更新(生成)を行う(ステップS34)。生成されたDCL及びSCLは、それぞれDCL保持手段30及びSCL保持手段32により保持される。
次に、探索手段20が、エージェントによる経路(解)の探索を実行する(ステップS36)。このステップについては、図10にて詳細に説明する。次に、移動距離算出手段52が、ステップ36で求められた経路に基づいて、移動距離の算出を行う(ステップS38)。移動距離算出手段52は、更に、複数のエージェントの探索ごとに求められた経路の移動距離に基づいて、最短経路の算出を行う(ステップS40)。ここで、ステップS40では、その回の探索における最短経路(iteration best)と、それまでの全ての探索における最短経路(global best)の両方が算出される。
次に、探索手段20が、探索の終了条件を満たしたか否かの判定を行う(ステップS42)。終了条件が満たされていれば、出力手段34が、記憶手段50に記憶された経路のうち、最短経路の出力を行う(ステップS44)。終了条件が満たされていない場合は、ステップS34の前段に戻り、終了条件が満たされるまで、DCLの更新及び経路探索のステップを繰り返す。ここで、DCLの更新は、ステップS40において求められた最短経路に基づき、更新手段36により行われる。
ここで、前述したように、DCLが保持する「仮の最短経路」には、iteration bestまたはglobal bestのいずれかを採用することができる。iteration bestを採用する場合、ステップS34におけるDCLの更新では、探索が終了する度にDCLが必ず更新され、前回の探索における最良解(iteration best)に基づきDCLが生成される。一方、global bestを採用する場合、前回の探索で得られた最良解(iteration best)がそれまでに発見された最良解(global best)よりも良いものであれば、当該iteration bestが新たなglobal bestとなるため、DCLが更新される。しかし、そうでない場合には、DCLの更新は行われない。
DCLをglobal bestに基づき更新する場合、探索の集中化が進む。一方、DCLをiteration bestに基づき更新する場合、探索の多様化が進む。実施例1に係る経路探索アルゴリズムでは、集中化と多様化をうまくバランスすることにより、より良い解を発見することができるため、上記のDCLの更新方法も、場合に応じて適切に使い分けることが好ましい。
図10は、図9のステップ36における、探索手段20による経路探索の手順を示すフローチャートである。最初に、配置手段21が、複数の地点のうち一の地点にエージェントを配置する(ステップS50)。次に、探索手段20は、エージェントが未訪問の地点があるか否かを判定する(ステップS52)。未訪問の地点がある場合、決定手段22が、次の目的地の決定を行う(ステップS54)。このステップについては、図11にて詳細に説明する。次に、移動手段23が、決定手段22の決定した目的地にエージェントを移動する(ステップS56)。移動手段23は、記憶手段50に記憶されている経路情報(今回の探索でエージェントが辿った途中経路を示す情報)を更新する(ステップS58)。
ステップS58が終了すると、ステップS52の前段に戻り、再び未訪問地点が残っているか否かの判定が行われる。ステップS52にて未訪問の地点がなくなった場合、探索手段20は、エージェントによる経路の探索を終了する。探索手段20は、予め与えられたエージェントの数だけ、図10の探索ステップを実行する。これにより、複数のエージェントのそれぞれについて、巡回経路の探索が完了する。
図11は、図10のステップS54における、決定手段22による目的地決定の手順を示すフローチャートである。最初に、決定手段22が、現在地に対応するDCL(第1リスト)上の地点が2つとも未訪問であるか否かを判定する(ステップS60)。DCL上の地点が2つとも未訪問の場合、第1判定手段24は、当該2つの地点のうちいずれか1つを候補地点として選択し(ステップS62)、当該候補地点をエージェントの次の目的地とするか否かの判定を行う(ステップS64)。ステップS62における候補地点の選択では、例えば2つの地点のいずれかを0.5の確率により選択する構成とすることができる。
ここで、ステップS64の判定は、例えば、所定範囲の乱数(例えば、0<rand<1)を発生させ、当該乱数(rand)を制御パラメータPs(0<Ps<1)と比較する確率判定により行うことができる。実施例1では、乱数(rand)がPsより小さい場合に、第1判定手段24が、ステップS62で選択されたDCL上の候補地点を次の目的地として決定する。ステップS64においてNOと判定された場合は、SCLに基づく目的地選択のステップ(S72以降)へと移行する。
ステップS60においてNOと判定された場合、決定手段22は、現在地に対応するDCLの地点が1つだけ未訪問であるか否かを判定する(ステップS68)。DCLの地点が1つだけ未訪問の場合、第2判定手段25は、当該未訪問の地点を目的地の候補地点として選択し(ステップS70)、当該候補地点をエージェントの次の目的地とするか否かの判定を行う(ステップS64)。ステップS64の判定ステップは、第1判定手段24による判定ステップと同様である。
ステップS60及びS68においていずれもNOと判定された場合(DCL上の地点が2つとも訪問済みの場合)、またはステップS64においてNOと判定された場合(DCL上の候補地点が目的地として選択されなかった場合)、SCLに基づく目的地の選択が行われる。最初に、第3判定手段26が、SCL上に候補地点が残ってないかどうかを判定する(ステップS72)。SCL上に候補地点が残っていない場合は、ステップS60の前段に戻り、DCL上の残りの候補地点の中から、次に目的地の選択を行う。
ステップS72においてNOと判定された場合、第3判定手段26は、SCL上に残された候補地点のうち最上位の地点(現在地に最も近い地点)を、エージェントの次の目的地とするか否かの判定を行う(ステップS76)。ここで、ステップS78における判定は、ステップS64の場合と同様に、制御パラメータPsを乱数(rand)と比較する確率判定により行うことができる。本実施例では、randがPsより小さい場合に、第3判定手段26が、SCLの最上位地点を目的地として決定する(ステップS74)。ステップS78においてNOと判定された場合、第3判定手段26は、SCLの最上位の地点を目的地の候補から削除し、ステップS72の前段へと戻る。ステップS72〜S78は、SCLに基づき目的地が決定されるか、SCL上の候補地点がなくなるまで繰り返される。
図12及び図13は、経路探索の状態遷移を示す図である。それぞれの図において、左側に地点及びエージェントの現在位置が、右側に目的地リスト(DCL及びSCL)並びに経路情報が、それぞれ示されている。本実施例では、地点の数(n)をn=6とした場合を例に説明を行う。図の左上に示す「t」は、探索開始からの経過時間(ステップ数)に対応する。
最初に、図12(a)に示すように、t=1においてエージェントkが地点「5」に配置されている。このとき、次の目的地の候補となる地点は、「1,2,3,4,6」のいずれかである。DCLを参照すると、地点番号「5」に対応する地点「1,2」はいずれも未訪問である。従って、最初に第1判定手段24によるDCLに基づく判定処理(図11のステップS60〜S66)が行われ、目的地が決定されなかった場合に、第3判定手段26によるSCLに基づく判定処理(ステップS72〜78)が行われる。
上記の判定処理の結果、DCLに含まれる地点「1」が目的地として選択されたため、t=2では図12(b)に示すように、エージェントkが地点「1」に位置している。このとき、次の目的地の候補となる地点は、「2,3,4,6」のいずれかである。DCLを参照すると、地点番号「1」に対応する地点のうち「3」のみが未訪問となっている。従って、最初に第2判定手段25によるDCLに基づく判定処理(図11のステップS68、S70、S64、S66)が行われ、目的地が決定されなかった場合に、第3判定手段26によるSCLに基づく判定処理(ステップS72〜78)が行われる。
上記の判定処理の結果、SCLに含まれる地点「4」が目的地として選択されたため、t=3では図12(c)に示すように、エージェントkが地点「4」に位置している。このとき、次の目的地の候補となる地点は、「2,3,6」のいずれかである。DCLを参照すると、地点番号「4」に対応する地点「2,6」はいずれも未訪問である。従って、最初に第1判定手段24によるDCLに基づく判定処理(図11のステップS60〜S66)が行われ、目的地が決定されなかった場合に、第3判定手段26によるSCLに基づく判定処理(ステップS72〜78)が行われる。
上記の判定処理の結果、SCLに含まれる地点「3」が目的地として選択されたため、t=4では図13(a)に示すように、エージェントkが地点「3」に位置している。このとき、次の目的地の候補となる地点は、「2,6」のいずれかである。DCLを参照すると、地点番号「3」に対応する地点のうち「6」のみが未訪問となっている。従って、最初に第2判定手段25によるDCLに基づく判定処理(図11のステップS68、S70、S64、S66)が行われ、目的地が決定されなかった場合に、第3判定手段26によるSCLに基づく判定処理(ステップS72〜78)が行われる。
上記の判定処理の結果、DCLに含まれる地点「6」が目的地として選択されたため、t=5では図13(b)に示すように、エージェントkが地点「6」に位置している。このとき、次の目的地の候補となる地点は、「2」のみである。従って、当該地点「2」が、次の目的地として決定される。
図13(c)は、エージェントkが最後の訪問地点である「2」に移動した状態を示す図である。ここで、未訪問の地点数は0となるため、図10のステップS52においてNOと判定され、当該エージェントkによる探索処理が終了する。このように、エージェントによる探索は、上記と同様の方法でエージェントの数(m)に対応する回数だけ実行され、全てのエージェント(1〜m)による探索が完了した時点で、DCLの更新が行われる。
図14及び図15は、実施例1に係る経路探索の具体的なアルゴリズムである。図14は全体のアルゴリズムを記述したものであり、図15はエージェントによる経路探索ステップ(図9のステップS36)に係るアルゴリズムを記述したものである。
次に、実施例1に係る経路探索方法(以下、「LAS:List-based Ant System」と称する)を、他のACOアルゴリズムと比較した実験結果について説明する。
図16は、ACOの派生的なアルゴリズムとして一般的に知られている4つのアルゴリズム(cAS、MMAS、MMAS+pts、ACS)と、実施例1に係るLASとの対比を、解の評価値の平均及び最良評価値との誤差について行った結果を示す表である。最良の評価値は、予め解析的に算出されたものであり、アルゴリズムの性能を評価する上でのベンチマークとなるものである。最良評価値との誤差は、解の評価値の平均と上記のベンチマークとの差である。
実験の条件として、LASの各パラメータは、エージェント数をm=10、SCLの長さをn=nとし、制御パラメータPsについては、0.90〜0.99の範囲から予備的な実験において最も解の値が良かったものを採用した。DCLの初期解はNearest Neighbor法により算出した。試行回数は、比較例のデータにつきそれぞれ25回、LASについては50回とした。また、計算に使用するCPUにはInter Core2(登録商標)の3.00GHzを用いた。
図示するように、実験番号1(地点数n=51)の実験結果では、LASは評価値及び誤差の点でcASには劣るものの、その他のアルゴリズムに対しては両者において優れた結果となった。実験番号5(地点数n=100)の実験結果では、LASは評価値及び誤差の両方においてcASと同等であり、その他のアルゴリズムに対しては両者において優れた結果となった。実験番号15(地点数n=198)の実験結果では、LASは評価値及び誤差の両方において、他の全てのアルゴリズムに対して優れた結果となった。以上のように、実施例1に係る経路探索方法(LAS)は、一般的なACOアルゴリズムに比べ、同等かそれ以上の解の探索精度を備えていることが分かる。
図17は、ACOアルゴリズムのうちMMASについて、更にLASとの詳細な比較を行った結果を示す表である。比較項目としては、図16で示したものと同じ最適解との誤差に加え、最適解の発見回数及び計算にかかった時間(アルゴリズムの実行時間)を示している。
図示するように、誤差及び実行時間については、全ての実験番号においてLASがMMASより優れた結果を示している。また、最適解の発見回数についても、ほぼ全ての実験番号において、LASがMMASより優れた結果を示している。このように、実施例1に係る実施例1に係る経路探索方法(LAS)は、解の探索精度だけでなく、計算時間の点からも優れたアルゴリズムであることが分かる。
更に、実施例1に係る経路探索方法(LAS)によれば、ACOで使用されるフェロモン濃度のマトリクスに代えて、DCLを用いている。換言すれば、ACOのように全ての地点間のフェロモン量を記憶するのではなく、記憶すべきフェロモンの堆積位置を現時点での最良巡回路上に限定している。これにより、経路探索において保持すべきデータ構造の量を、大幅に削減することに成功している。例えば、フェロモン濃度のマトリクスでは、n×nのサイズのデータ構造が必要となり、フェロモン濃度を更新するたびにO(n)のオーダーの計算を行う必要がある。
これに対し、実施例1で用いられるDCLのデータ構造の大きさは2×nであり、DCLを更新するたびに必要な計算量のオーダーはO(n)である。その結果、実施例1に係る経路探索方法(LAS)によれば、計算に必要なメモリ領域を大幅に削減することができると共に、計算速度を大幅に向上させることができる。また、上記のようにメモリ領域を削減することが可能であることから、実施例1に係る経路探索機能(LAS)を、より小型の電子装置(例えば、携帯電話、腕時計等)に実装することが容易となる。
実施例1では、目的地を決定するための判定ステップ(図11のステップS64、S76)における比較対象として、制御パラメータPsを用いた。この制御パラメータPsは、探索の集中化と多様化を決定するための、「Selection Probability」と称される重要なパラメータである。Psは、探索の問題ごとに、探索結果(解)が最良となるように決定することが望ましい。
図18は、図17で挙げた経路探索問題の各サンプルにつき、最良な解が発見された際のPsの値を示す表である。探索の集中化と多様化のバランスを最良なものとするためには、Psの値の範囲を例えば0.9〜0.99(すなわち、図11のステップS64及びS76において、候補地点が0.9以上0.99以下の確率で目的地として選択されること)とすることが好ましい。
なお、LASのアルゴリズムを説明する図9〜図11においては、「エージェント」「地点」等の抽象的な文言を用いているが、LASアルゴリズムによる経路探索機能を具体的な電子装置に実装した場合、これらは具体的な文言で置き換えることが可能である。例えば、経路案内の機能を備えた電子装置(カーナビゲーション、携帯電話等)であれば、「地点」とは目的地及び経由地点を意味し、「エージェント」とは目的地に向かって移動する移動体(例えば、車・人等)を意味する。
以上、本発明の実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
10 CPU
12 メモリ
14 入力部
16 出力部
18 バス
20 探索手段
21 配置手段
22 決定手段
23 移動手段
24 第1判定手段
25 第2判定手段
26 第3判定手段
30 DCL保持手段
32 SCL保持手段
34 出力手段
36 更新手段
38 SCL生成手段
40 初期解生成手段
50 記憶手段
52 移動距離算出手段

Claims (7)

  1. 複数のエージェントに対し、複数の地点を一度ずつ訪問して元の地点に戻る経路の探索を行わせる探索手段と、
    前記複数の地点の各地点に対し、現時点における仮の最短経路上の隣接する2つの地点を並べた第1リストを保持する第1保持手段と、
    前記複数の地点の各地点に対し、他の地点を距離の近い順に並べた第2リストを保持する第2保持手段と、
    前記複数のエージェントによる探索が終了する毎に、当該探索の結果に基づいて前記第1リストを更新する更新手段と、
    前記探索手段により得られた経路のうち、最短距離の経路を出力する出力手段と、を備え、
    前記探索手段は、
    前記複数の地点のいずれかにエージェントを配置する配置手段と、
    前記第1リスト及び前記第2リストに基づいて、前記エージェントの次の目的地を決定する決定手段と、
    前記エージェントを次の目的地に移動する移動手段と、を含むことを特徴とする電子装置。
  2. 前記決定手段は、
    現在地に対応する第1リスト上の地点が2つとも未訪問の場合、当該2つの地点のうちいずれか1つの地点に対し、当該地点を目的地として選択するか否かの判定を行う第1判定手段と、
    現在地に対応する第1リスト上の地点が1つのみ未訪問の場合、当該未訪問の地点に対し、当該地点を目的地として選択するか否かの判定を行う第2判定手段と、
    現在地に対応する第1リスト上の地点が2つとも訪問済みの場合、並びに前記第1判定手段または前記第2判定手段において第1リスト上の地点が目的地として選択されなかった場合に、現在地に対応する第2リスト上の上位の地点から順に、当該地点を目的地として選択するか否かの判定を行う第3判定手段と、
    を含むことを特徴とする請求項1に記載の電子装置。
  3. 前記第1判定手段、前記第2判定手段、及び前記第3判定手段は、判定の対象とされた地点を、予め定められた確率で目的地として選択することを特徴とする請求項2に記載の電子装置。
  4. 前記確率は、0.9以上0.99以下であることを特徴とする請求項3に記載の電子装置。
  5. 前記第1判定手段は、前記第1リスト上における2つの地点のいずれかを、0.5の確率で選択することを特徴とする請求項2に記載の電子装置。
  6. コンピュータを、
    複数のエージェントに対し、複数の地点を一度ずつ訪問して元の地点に戻る経路の探索を行わせる探索手段、
    前記複数の地点の各地点に対し、現時点における仮の最短経路上の隣接する2つの地点を並べた第1リストを保持する第1保持手段、
    前記複数の地点の各地点に対し、他の地点を距離の近い順に並べた第2リストを保持する第2保持手段、
    前記複数のエージェントによる探索が終了する毎に、当該探索の結果に基づいて前記第1リストを更新する更新手段、
    前記探索手段により得られた経路のうち、最短距離の経路を出力する出力手段、として機能させるためのプログラムであって、
    前記探索手段は、
    前記複数の地点のいずれかにエージェントを配置する配置手段と、
    前記第1リスト及び前記第2リストに基づいて、前記エージェントの次の目的地を決定する決定手段と、
    前記エージェントを次の目的地に移動する移動手段と、
    を含むことを特徴とするプログラム。
  7. 探索手段が、複数の地点を一度ずつ訪問して元の地点に戻る経路の探索を、複数のエージェントに対し行わせるステップと、
    更新手段が、前記複数のエージェントによる探索が終了する毎に、前記複数のエージェントの辿った経路に基づいて前記複数の地点の各地点に対し現時点における仮の最短経路上の隣接する2つの地点を並べた第1リストを更新するステップと、
    出力手段が、探索により得られた経路のうち、最短距離の経路を出力するステップと、
    有する経路探索方法であって、
    前記探索手段が、前記複数のエージェントに対し経路の探索を行わせるステップは、
    配置手段が、前記複数の地点のいずれかに前記複数のエージェントを配置するステップと、
    決定手段が、記第1リストと、前記複数の地点の各地点に対し他の地点を距離の近い順に並べた第2リストに基づいて、前記複数のエージェントの次の目的地を決定するステップと、
    移動手段が、決定された目的地に前記複数のエージェントを移動するステップと
    含むことを特徴とする経路探索方法。
JP2012060851A 2012-03-16 2012-03-16 電子装置、プログラム及び経路探索方法 Active JP5967416B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012060851A JP5967416B2 (ja) 2012-03-16 2012-03-16 電子装置、プログラム及び経路探索方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012060851A JP5967416B2 (ja) 2012-03-16 2012-03-16 電子装置、プログラム及び経路探索方法

Publications (3)

Publication Number Publication Date
JP2013195155A JP2013195155A (ja) 2013-09-30
JP2013195155A5 JP2013195155A5 (ja) 2015-04-16
JP5967416B2 true JP5967416B2 (ja) 2016-08-10

Family

ID=49394300

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012060851A Active JP5967416B2 (ja) 2012-03-16 2012-03-16 電子装置、プログラム及び経路探索方法

Country Status (1)

Country Link
JP (1) JP5967416B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106705982A (zh) * 2017-01-25 2017-05-24 上海蔚来汽车有限公司 多地点依存的路径规划方法和系统
WO2024127663A1 (ja) * 2022-12-16 2024-06-20 日本電信電話株式会社 経路探索装置、方法およびプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000215380A (ja) * 1999-01-22 2000-08-04 Maspro Denkoh Corp 巡回コ―ス設定方法および装置並びに記録媒体
JP2001125882A (ja) * 1999-10-29 2001-05-11 Yoichi Aono ダイクストラ法
KR20060064711A (ko) * 2004-12-09 2006-06-14 엘지전자 주식회사 복수 경유지를 탐색하는 네비게이션 시스템
JP5520763B2 (ja) * 2010-09-24 2014-06-11 ジャパンマリンユナイテッド株式会社 マーカの移動経路最適化方法

Also Published As

Publication number Publication date
JP2013195155A (ja) 2013-09-30

Similar Documents

Publication Publication Date Title
US20240135251A1 (en) Artificial intelligence controller that procedurally tailors itself to an application
CN105765576B (zh) 使用数据结构处理搜索查询
CN109432777B (zh) 路径生成方法及装置、电子设备、存储介质
JP6988476B2 (ja) 最適化装置および最適化装置の制御方法
JP6298322B2 (ja) 経路探索装置、経路探索方法およびプログラム
JP2007241340A (ja) N分割巡回経路探索システム、経路探索サーバ、n分割巡回経路探索方法
US20120136897A1 (en) Searching device, searching method and computer-readable storage medium
JP5967416B2 (ja) 電子装置、プログラム及び経路探索方法
CN105606088A (zh) 一种基于动态环境的路径规划方法
JP2016048540A (ja) 生成方法、装置、及びプログラム
EP2590373B1 (en) Path calculating method, program and calculating apparatus
JP2009288118A (ja) 最適経路探索装置及び最適経路探索装置並びにプログラム
WO2014087590A1 (ja) 最適化装置、最適化方法および最適化プログラム
CN107449426B (zh) 导航逻辑方法及其室内ar导航系统
CN111325328B (zh) 神经网络的生成方法、数据处理方法及装置
US20220107199A1 (en) Search device, search method, and storage medium
JP2006130131A (ja) ゲームマップ作成プログラムおよびゲームマップ作成装置
JP7173310B2 (ja) 経路探索装置、経路探索方法、及び経路探索プログラム
Zhou et al. Supervised-learning congestion predictor for routability-driven global routing
CN113091751A (zh) 网格空间内部分网格定向条件下的路径规划方法
JP2018159568A (ja) 算出装置、算出システム、算出方法、および算出プログラム
JP2005024374A (ja) ナビゲーション装置
US8498842B2 (en) System and method for chaining graphical curves
KR20160021969A (ko) 여행경로 추천에 의한 여행일정 제작 방법 및 그 시스템
JP2005351709A5 (ja)

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150302

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150302

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151201

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151225

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160126

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160607

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160622

R150 Certificate of patent or registration of utility model

Ref document number: 5967416

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250