JP6618454B2 - 計算装置、方法、及びプログラム - Google Patents

計算装置、方法、及びプログラム Download PDF

Info

Publication number
JP6618454B2
JP6618454B2 JP2016228651A JP2016228651A JP6618454B2 JP 6618454 B2 JP6618454 B2 JP 6618454B2 JP 2016228651 A JP2016228651 A JP 2016228651A JP 2016228651 A JP2016228651 A JP 2016228651A JP 6618454 B2 JP6618454 B2 JP 6618454B2
Authority
JP
Japan
Prior art keywords
unit
zdd
calculation
approximate solution
zero
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
JP2016228651A
Other languages
English (en)
Other versions
JP2018085017A (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2016228651A priority Critical patent/JP6618454B2/ja
Publication of JP2018085017A publication Critical patent/JP2018085017A/ja
Application granted granted Critical
Publication of JP6618454B2 publication Critical patent/JP6618454B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Complex Calculations (AREA)

Description

本発明は、計算装置、方法、及びプログラムに係り、特に、センシング等の分野において現れる劣モジュラ関数の最大化問題に対する近似解を計算するための計算装置、方法、及びプログラムに関する。
劣モジュラ関数の最大化問題とは、「ある集合の中から、特定の制約を満たしつつ多くの情報を含む部分集合を選択する」という文脈で頻繁に現れる問題である。一例として、図8に示すように、センサを積んだロボットをある地点(頂点s)からある地点(頂点t)まで移動させ、センシングを行うことを考える。
図8は、センサを積んだロボットの移動経路を設計する問題の説明に供する模式図である。
図8において、ロボットに積める燃料は限られているため、移動可能な距離は制限されているものとする。この問題は,与えられたグラフ上でロボットが移動するパス(経路)を探す問題として表現できる(例えば、非特許文献1を参照)。
図8に示す各頂点(黒丸又は白丸で示される点)はロボットがセンシングを行うことのできる地点を表し、各辺はロボットが移動可能な道を表している。簡単のため1つの辺の長さを全て「1」とし、全長「4」以下の頂点sから頂点tへの移動経路を設計する場合について考える。
この場合、解の1つとして太線のような経路が存在する。ロボットがこの経路を通った場合、黒丸で示される頂点においてセンシングを行うことができる。センシングを行った頂点の集合に対して得られた情報量を出力する関数は、多くの場合で劣モジュラ関数とみなすことができる。
従って、このような問題は、頂点sから頂点tへのある長さ以下のパスとなるように中継する頂点を選ぶという制約(パス制約)の下で、劣モジュラ関数を最大化する問題と見ることができる。このパス制約下での劣モジュラ関数の最大化問題に対しては、例えば、非特許文献1や非特許文献2等に記載された近似解の計算技術が提案されている。
また、上述の問題設定では、1台のロボットの移動経路を求めることを考えたが、実際にセンシングを行う場合には、複数台のロボットを用いる場合も多々あると考えられる。これに対して、非特許文献1では、1台のロボットの移動経路の計算手順を繰り返し用いることで、複数のロボットの移動経路の設計問題に対しても適用可能な計算技術が提案されている。
A. Singh, A. Krause, C. Guestrin, and W. J. Kaiser, "Efficient informative sensing using multiple robots", J. Mach. Learn. Res., 34:707-755, 2009. H. Zhang, and Y. Vorobeychik, "Submodular Optimization with Routing Constraints", In Thirtieth AAAI Conference on Artificial Intelligence, 2016.
パス制約下での劣モジュラ関数の最大化問題に対しては、上述のような近似解の計算法が知られているが、一方で、既存技術では扱えない制約下での劣モジュラ関数の最大化問題も数多く存在する。
例えば、上述のパス制約に加えて、特定の頂点については必ず通らなければならないという制約や、一部の頂点については辿ることのできる順序が決まっているという制約等を追加したものは、通常のパス制約以上に複雑な制約となる。このような様々な制約下での劣モジュラ関数の最大化問題に対して適用可能な既存技術が知られていない。
一方、上述のパス制約下の劣モジュラ関数の最大化問題に対する既存技術は、近似解の計算に要する計算量が多くなるという課題がある。例えば、一時間ごとの環境の変化をセンシングしたい場合には、一時間毎にロボットの移動経路を計算する必要がある。しかし、既存技術では必要となる計算量が多すぎるため、例えば、一度の移動経路の計算に一日以上かかってしまうという状況に陥る可能性がある。このように、頻繁なセンシングを行うためにロボットが移動するパスを繰り返し計算したい場合には、既存技術を適用できなくなる可能性がある。
また、上記の2つの課題は、上述のロボットを複数台用いてセンシングを行う場合でも同様に生じ得る。すなわち、各ロボットの移動について、パス制約に別の制約が追加されている複雑な制約下での劣モジュラ関数の最大化問題に対して適用可能な既存技術が存在しない。また、各ロボットがパス制約の下で動く場合でも、各ロボットの移動経路を頻繁に計算したい場合等において、既存技術では計算量が多すぎるために適用できない可能性がある。
本発明は、上記の事情に鑑みてなされたもので、様々な制約下での劣モジュラ関数の最大化問題に対する近似解を効率的に計算することができる計算装置、方法、及びプログラムを提供することを目的とする。
上記目的を達成するために、第1の発明に係る計算装置は、頂点集合と辺集合とにより定義される無向グラフ、前記頂点集合上で定義される劣モジュラ関数、及び前記無向グラフにおける予め定められた制約を満たす部分グラフの集合を示す実行可能集合の入力を受け付ける入力部と、前記入力部により入力を受け付けた実行可能集合を保持するゼロサプレス型二分決定グラフ(Zero-suppressed Binary Decision Diagram)であって、1つの根ノード及び2つの終端ノードを含むノード集合、並びに、枝集合により有向グラフとして定義されるゼロサプレス型二分決定グラフを構築するZDD構築部と、前記ZDD構築部により構築されたゼロサプレス型二分決定グラフにて前記劣モジュラ関数を最大化する前記部分グラフを近似解として計算する近似解計算部と、を備える。
第2の発明に係る計算方法は、入力部と、ZDD構築部と、近似解計算部と、を備えた計算装置における計算方法であって、前記入力部が、頂点集合と辺集合とにより定義される無向グラフ、前記頂点集合上で定義される劣モジュラ関数、及び前記無向グラフにおける予め定められた制約を満たす部分グラフの集合を示す実行可能集合の入力を受け付けるステップと、前記ZDD構築部が、前記入力部により入力を受け付けた実行可能集合を保持するゼロサプレス型二分決定グラフ(Zero-suppressed Binary Decision Diagram)であって、1つの根ノード及び2つの終端ノードを含むノード集合、並びに、枝集合により有向グラフとして定義されるゼロサプレス型二分決定グラフを構築するステップと、前記近似解計算部が、前記ZDD構築部により構築されたゼロサプレス型二分決定グラフにて前記劣モジュラ関数を最大化する前記部分グラフを近似解として計算するステップと、を含む。
第1及び第2の発明によれば、入力部は、頂点集合と辺集合とにより定義される無向グラフ、頂点集合上で定義される劣モジュラ関数、及び無向グラフにおける予め定められた制約を満たす部分グラフの集合を示す実行可能集合の入力を受け付ける、ZDD構築部は、入力部により入力を受け付けた実行可能集合を保持するゼロサプレス型二分決定グラフ(Zero-suppressed Binary Decision Diagram)であって、1つの根ノード及び2つの終端ノードを含むノード集合、並びに、枝集合により有向グラフとして定義されるゼロサプレス型二分決定グラフを構築する。近似解計算部は、ZDD構築部により構築されたゼロサプレス型二分決定グラフにて劣モジュラ関数を最大化する部分グラフを近似解として計算する。
また、第1の発明に係る計算装置は、前記近似解計算部が、前記根ノードに近いノードから順に、前記劣モジュラ関数を最大化する前記根ノードから当該ノードまでのパスであって、前記パスが表す前記無向グラフの各頂点に対応する前記劣モジュラ関数を最大化するパスを確定させることにより、前記近似解として計算してもよい。
また、第1の発明に係る計算装置は、前記入力部が、前記実行可能集合として、予め定められた複数の制約の各々に対する、前記制約を満たす部分グラフの集合を示す実行可能集合の各々の入力を受け付け、前記ZDD構築部が、前記実行可能集合の各々に対して、前記ゼロサプレス型二分決定グラフを構築し、前記近似解計算部が、前記実行可能集合の各々に対して、近似解を計算するようにしてもよい。
また、第1の発明に係る計算装置は、前記ZDD構築部が、同一の実行可能集合に対して、同一のゼロサプレス型二分決定グラフを構築してもよい。
このように、任意の部分グラフの制約の下での劣モジュラ関数の最大化問題に対して、近似解を計算することが可能となる。その結果、例えば、センサを搭載したロボットの移動経路を設計する場合等に現れる劣モジュラ関数の最大化問題に対して、既存手法では扱うことのできなかった複雑な制約下での近似解を計算することができる。
また、制約の情報をゼロサプレス型二分決定グラフ(ZDD)として保持し、その上での劣モジュラ関数の最大化問題を解くという手順で近似解を計算する。従って、同一制約下で異なる劣モジュラ関数を何度も最大化する場合には、一度作成したZDDを再利用することで、高速に近似解を計算することができる。その結果、例えば、既存手法が適用できないような頻度でロボットを用いてセンシングを行う場合等でも、毎回のロボットの移動経路を計算することが可能となる。
また、複数の部分グラフを解とする問題に対しても適用することができる。例えば、複数のロボットを用いてセンシングを行う場合の移動経路を計算する問題等に対しても、上記と同様に近似解を計算することができる。
本発明に係る計算プログラムは、コンピュータを、第1の発明に係る計算装置の各部として機能させるためのプログラムである。
以上説明したように、本発明に係る計算装置、方法、及びプログラムによれば、様々な制約下での劣モジュラ関数の最大化問題に対する近似解を効率的に計算することができる。
第1の実施形態に係る計算装置の機能的な構成の一例を示すブロック図である。 第1の実施形態に係る計算プログラムによる処理の流れの一例を示すフローチャートである。 実施形態に係る無向グラフの一例を示す模式図である。 実施形態に係るZDDの一例を示す模式図である。 実施形態に係る近似解を計算するアルゴリズムの一例を示す図である。 第2の実施形態に係る計算装置の機能的な構成の一例を示すブロック図である。 第2の実施形態に係る計算プログラムによる処理の流れの一例を示すフローチャートである。 センサを積んだロボットの移動経路を設計する問題の説明に供する模式図である。
以下、図面を参照して、本発明を実施するための形態の一例について詳細に説明する。
[第1の実施形態]
図1は、第1の実施形態に係る計算装置10の機能的な構成の一例を示すブロック図である。
図1に示すように、計算装置10は、入力部12と、ZDD構築部14と、近似解計算部16と、出力部18と、を備えている。なお、ZDDとは、Zero-suppressed Binary Decision Diagramの略であり、ゼロサプレス型二分決定グラフを意味する。
本実施形態に係る計算装置10は、CPU(Central Processing Unit)、RAM(Random Access memory)、ROM(Read Only Memory)、及びHDD(Hard Disk Drive)等を備えたコンピュータとして構成される。ROMには、本実施形態に係る計算処理を実行するための計算プログラムが記憶されている。なお、計算プログラムは、HDDに記憶されていてもよい。
上記の計算プログラムは、例えば、計算装置10に予めインストールされていてもよい。計算プログラムは、不揮発性の記憶媒体に記憶して、又は、ネットワークを介して配布して、計算装置10に適宜インストールすることで実現してもよい。なお、不揮発性の記憶媒体の例としては、CD-ROM(Compact Disc Read Only Memory)、光磁気ディスク、DVD-ROM(Digital Versatile Disc Read Only Memory)、フラッシュメモリ、メモリカード等が挙げられる。
CPUは、ROMに記憶されている計算プログラムを読み込んで実行することにより、計算装置10の各部として機能する。
本実施形態に係る計算装置10は、既存技術では扱うことのできなかった様々な制約下での劣モジュラ関数の最大化問題を、統一的に扱うものである。上述のパス制約や、それ以上に複雑な様々な制約を満たす解は、いずれも与えられた無向グラフ上の何らかの部分グラフとなる。従って、計算装置10は、任意の部分グラフの制約下での劣モジュラ関数の最大化問題を解くための計算装置として構築されている。これにより、既存手法では扱えなかった複雑な制約を扱うことが可能となる。
任意の部分グラフ制約下での劣モジュラ関数の最大化問題を解くためには、制約を満たす部分グラフの集合(以下、実行可能集合という。)を効率的に保持することが重要となる。本実施形態では、実行可能集合をZDDとして保持し、ZDD上での劣モジュラ関数の最大化問題を近似的に解くことで、与えられた問題に対する近似解を得る。多くの実用上の問題において、ZDDのサイズは実行可能集合のサイズに比べて非常に小さくなり、ZDD上での近似解の探索は、実行可能集合の全体での解の探索よりも遥かに高速で効率的に行うことができる。以下、本第1の実施形態に係る計算装置10が備える各部について説明する。
入力部10は、無向グラフG、劣モジュラ関数f、及び実行可能集合

の入力を受け付ける。無向グラフGは、頂点集合Vと辺集合Eとにより定義され、無向グラフGにおける辺はエッジともいう。すなわち、無向グラフGは、(V、E)で表される。
劣モジュラ関数fは、頂点集合V上で定義される関数である。より具体的には、劣モジュラ関数fは、引数となる、頂点集合Vの少なくとも一部の頂点に対して得られる情報量を出力する単調な関数として示される。実行可能集合

は、無向グラフGにおける予め定められた制約を満たす部分グラフの集合として示される。
ZDD構築部14は、入力部12により入力を受け付けた実行可能集合

を保持するZDDを構築する。ZDDは、有向グラフZとして定義される。有向グラフZ、すなわち、ZDDは、ノード集合Nと枝集合Aとによって定義される。これらN、Aの要素はそれぞれ「ノード」、「枝」と呼ぶことにし、無向グラフG=(V、E)における「頂点」、「辺」と区別する。この場合、ZDDは、(N、A)で表される。ノード集合Nは、1つの根ノード及び2つの終端ノードを含む。ノード集合Nのうち2つの終端ノード以外の各ノードが頂点集合Vの頂点又は辺集合Eの辺でラベル付けされている。このZDDの構築方法については後述する。
近似解計算部16は、ZDD構築部18により構築されたZDDにて劣モジュラ関数fを最大化する部分グラフを近似解として計算する。この近似解の計算方法についても後述する。
出力部18は、近似解計算部16で計算された近似解を出力する。出力部18には、近似解を表示可能なディスプレイや、近似解を印刷可能なプリンタ、等が適用される。
本第1の実施形態では、単一の解を持つ問題に対する近似解の計算装置10について説明する。この問題は、一例として、センシングを行う1台のロボットの移動経路を計算する問題として示される。
上述の無向グラフG(=(V、E))、頂点集合V上で定義された劣モジュラ関数f、及び実行可能集合

が与えられた場合、計算装置10は、次のような劣モジュラ関数fの最大化問題(以下、問題(1)という。)に対する近似解を計算する。

但し、V(X)⊆Vは、辺集合Eに含まれる辺部分集合Xの端点に対応する頂点からなる集合を表す。

は、制約を満たす部分グラフの全体からなる実行可能集合を表す。なお、2は辺集合Eの冪集合を表す。
例えば、図8に示すように、センサを積んだロボットの頂点sから頂点tへの長さ「4」以下の移動経路を求める問題について考える。この場合、無向グラフGは、頂点集合と辺集合とによって定義されるセンシング対象エリア全体を示すグラフとして示される。劣モジュラ関数fは、ロボットが経由した頂点に対して得られた情報量を出力する関数として示される。実行可能集合

は、無向グラフG上の長さ「4」以下の頂点sから頂点tへのパス全体の集合として示される。
実行可能集合

は、無向グラフG上の部分グラフからなる任意の集合を表すことができる。このため、既存技術では扱うことのできない、パス制約よりも複雑な制約を満たす集合を扱うことができる。
次に、図2を参照して、本第1の実施形態に係る計算装置10の作用を説明する。なお、図2は、本第1の実施形態に係る計算プログラムによる処理の流れの一例を示すフローチャートである。
本第1の実施形態に係る計算装置10は、操作者の操作により計算処理の実行が指示されると、CPUがROMに記憶されている計算プログラムを読み出して実行する。
まず、図2のステップ100では、入力部12が、劣モジュラ関数f、無向グラフG、及び実行可能集合

の各々の入力を受け付ける。但し、実行可能集合

は、部分グラフの集合の全体を直接与える必要はなく、後述のZDDの構築に必要な情報(例えば、無向グラフG上の長さ「4」以下のs-tパスの集合)を与えればよい。
ステップ102では、ZDD構築部14が、入力部12により入力を受け付けた実行可能集合

の全体を保持するZDDを構築する。このZDDは、例えば、参考文献(鈴木浩史,湊真一,ZDDを用いたグラフ列挙索引化における頂点インデックスの追加(特集「人工知能・機械学習技術の他分野への応用」および一般),人工知能基本問題研究会, 101:41-46, 2016.)に記載の方法を適用して構築することができる。
ここで、ZDDの性質について説明する。ZDDは、ノード集合N及び枝集合Aを含む有向グラフZ(=(N、A))として定義され、ただ1つの根ノードr∈Nと、2つの終端ノード0,1∈Nと、を有している。2つの終端ノード0,1以外の各ノードn∈N\{0,1}は、label(n)∈E∪Vによってラベル付けされており、各ノードnからは、0-枝、及び、1-枝、と呼ばれる二本の枝が出ている。
図3は、本実施形態に係る無向グラフGの一例を示す模式図である。
図4は、本実施形態に係るZDDの一例を示す模式図である。
図4に示すZDDは、図3に示す無向グラフGに対して構築したZDDの一例である。
図3に示す無向グラフGは、頂点集合V及び辺集合Eによって以下のように定義されている。但し、v〜vは頂点を示し、e〜eは辺を示す。
V:={v、v、v}、E:={e、e、e
一方、図4に示すZDDは、実行可能集合

を、図3に示す無向グラフG上の頂点vから頂点vへのパス全体(すなわち、

)とした場合に、実行可能集合

を保持するために構築されたものである。
図4に示すZDDにおいて、終端ノード0,1以外の各ノードnは、E∪V={v,v,v,e,e,e}のいずれかでラベル付けされている。根ノードrは、辺eでラベル付けされている。また、各ノードnからは、0-枝(点線)と、1-枝(実線)が出ている。
次に、ZDD上の任意の二点間を結ぶパスR⊆Aに対して、E⊆E及びV⊆Vを次のように定義する。
すなわち、Eでは、パスRが1-枝を通った場合、通った当該1-枝の親側のノードn′が辺ラベルならば、その辺ラベルをEに加えるという手順で構成される。同様に、Vでは、パスRが1-枝を通った場合、通った当該1-枝の親側のノードn′が頂点ラベルならば、その頂点ラベルをVに加えるという手順で構成される。
一方、ZDD上の根ノードrから終端ノード1へのパスRの集合を、

とする。なお、2は枝集合Aの冪集合である。この場合、各パス

について定義されるE及びVは、各X∈

及びV(X)⊆Vと1対1で対応する。
例えば、図4に示すZDDの場合、eでラベル付けされた根ノードrから終端ノード1へのパスRは、下記に示す2つである。
上記の定義に従うと、以下のようになる。
従って、図4に示すZDD上のパスRは、図3に示す無向グラフG上の頂点vから頂点vへの二つのパスと対応していることが分かる。すなわち、ZDDは、実行可能集合

を、根ノードrから終端ノード1へのパス全体の集合

として保持する。
次に、ステップ104では、近似解計算部16が、ZDD上のパス

の中で、f(V)の値を近似的に最大化するパス

を計算する。簡単のために、任意のZDD上のパスR⊆Aについて、f(V)をf(R)と記載する。この場合、以下のZDD上のパス制約の下で劣モジュラ関数fの最大化問題(以下、問題(2)という。)を近似的に解くことになる。
図5は、本実施形態に係る近似解を計算するアルゴリズムの一例を示す図である。
本実施形態においては、図5に示すアルゴリズムに基づいて、近似解計算部16が上記の問題(2)に対する近似解を計算する。
まず、第2行目では、集合U(=N\{r})の任意の親ノードn′と子ノードnに対して、親ノードn′が子ノードnよりも前に来るように集合Uの要素を並び替えるトポロジカルソートを行う。なお、集合Uは、根ノードrと終端ノード1との間に含まれるノードnの集合である。
第4行目以降では、上記トポロジカルソートで並び替えた結果、根ノードrに近いノードnから順に、根ノードrからノードnまでのパスを確定させる。具体的には、ノードnの親ノードの中から、

を最大化する親ノードn’を選択し、根ノードrから親ノードn’までのパス

に、親ノードn’からノードnまでの枝(n’,n)を加えて、根ノードrからノードnまでのパス

とし、集合Uから、ノードnを削除する。そして、最終的に得られた根ノードrから終端ノード1までのパス

を解

として出力する。得られた解

は、上記問題(2)に対する(1-c)-近似解となる。但し、c∈[0,1]は、以下の式で定義される単調な劣モジュラ関数fの曲率である。
最後に、ステップ106では、近似解計算部16が、ステップ104で得られた解

に対して、辺集合

を計算し、計算した辺集合

を、出力部18を介して出力する。この辺集合

は、上記問題(1)に対する(1-c)-近似解となることが保証される。
ここで、計算装置10は、ZDDを一度構築すれば実行可能集合

の情報をすべて保持することができる。このため、同一の制約下で異なる劣モジュラ関数fを繰り返し最大化する場合には、一度構築したZDDを再利用し、ZDD上での探索を行うだけで近似解を計算することが可能となる。
例えば、上述のように、頻繁なセンシングを行うためにロボットの移動経路を繰り返し計算する場合、センシング対象となるエリアの地理的な状況は変わらないため、実行可能集合

は変化しない。一方で、各頂点をセンシングすることによって得られる情報量は時間帯等によって変わり得るため、最大化する劣モジュラ関数fは変化し得る。このような状況下において、計算装置10は、計算毎に、劣モジュラ関数fの入力を受け付けるが、1回目の経路計算の際に構築したZDDを2回目以降の計算で再利用できるため、効率的に計算することができる。
[第2の実施形態]
上記の第1の実施形態では、単一の解を持つ問題の近似解を計算する計算装置10について説明したが、本第2の実施形態では、複数の解を持つ問題の近似解を計算する計算装置20について説明する。この問題は、一例として、複数のロボットの移動経路を計算する問題として示される。
図6は、第2の実施形態に係る計算装置20の機能的な構成の一例を示すブロック図である。
図6に示すように、本第2の実施形態に係る計算装置20は、入力部22と、ZDD構築部24と、近似解計算部26と、暫定解処理部28と、出力部30と、を備えている。
上述の第1の実施形態に係る計算装置10は、1つの部分グラフを解として計算するものであるが、本第2の実施形態に係る計算装置20は、非特許文献1に記載された技術の場合と同様に、複数の部分グラフを計算する問題に対して適用されるものである。例えば、上述したような複雑な制約下で複数台のロボットの移動経路を計算する問題に対しても、計算装置20を適用することができる。
以下のようにして、複数の解を持つ問題に対する近似解を計算する計算装置20を構築する。すなわち、与えられた無向グラフG(=(V,E))及び単調な劣モジュラ関数fに対して、次のような問題(以下、問題(3)という。)の近似解を計算する計算装置20を考える。
但し、M(Mは2以上の整数)は解の個数を表し、

はi番目の解の実行可能集合を表す。
上記の問題(3)は、一例として、複数台のロボットの移動経路を計算する問題として示される。例えば、2台のロボットを用いてセンシングを行う問題において、1台目のロボットは頂点sから頂点tまで総移動距離L以下で移動し、2台目のロボットは頂点sから頂点tまで総移動距離L以下で移動する場合を考える。この場合、M=2であり、i=1,2について、実行可能集合

は、総移動距離L以下の頂点sから頂点tへのパス全体を表す集合となる。以下、本第2の実施形態に係る計算装置20が備える各部について説明する。
図6に示すように、入力部22は、無向グラフG、劣モジュラ関数f、及び複数の実行可能集合

の入力を受け付ける。つまり、入力部22は、予め定められた複数の制約の各々に対する、制約を満たす部分グラフの集合を示す実行可能集合

の各々の入力を受け付ける。
ZDD構築部24は、入力部22により入力を受け付けた複数の実行可能集合

の各々に対してZDDを構築する。以下、実行可能集合
を保持するためのZDDを

という。
近似解計算部26は、複数の実行可能集合

の各々に対して、ZDD構築部24により構築された

にて劣モジュラ関数fを最大化する部分グラフを近似解として計算する。近似解計算部26では、i=1,…,Mの順に、図5に示すアルゴリズムを用いて、

上での近似解を計算する。但し、i番目の回の計算の際に、既に得られた1番目からi-1番目までの解の情報を、後述の手順で利用する必要がある。そのための処理を暫定解処理部28により行う。
出力部30は、各i毎に近似解計算部26で計算して得られた近似解を出力する。
次に、図7を参照して、本第2の実施形態に係る計算装置20の作用を説明する。なお、図7は、本第2の実施形態に係る計算プログラムによる処理の流れの一例を示すフローチャートである。
本第2の実施形態に係る計算装置20は、操作者の操作により計算処理の実行が指示されると、CPUがROMに記憶されている計算プログラムを読み出して実行する。
まず、図7のステップ110では、入力部22が、劣モジュラ関数f、無向グラフG、及び複数の実行可能集合

の各々の入力を受け付ける。
ステップ112では、ZDD構築部24が、複数の実行可能集合の各

に対して、ZDDとしての

を、上述のステップ102で説明した手順と同様の手順で構築する。このとき、

となる組が存在する場合、

となるため、

の一方のみを構築すれば良い。特に、M台のロボットが全て頂点sからスタートして頂点tに移動する場合等では、各ロボットの移動距離の制約が同一であれば、

となるため、構築するZDDは1つだけでよい。
ステップ114では、近似解計算部26が、ZDD構築部24により構築された

に基づいて、i=1,…,Mの順に、図5に示すアルゴリズムを用いて、

上での近似解を計算する。以下では、この近似解を

と記載する。

を計算する段階では、既に

は確定しているため、

は必ず最終的な解に含まれる。このことを考慮して、

を計算する際には、下記に示す任意のS⊆Vについて定義される単調な劣モジュラ関数

を最大化することを考える。


但し、
すなわち、ステップ114では、近似解計算部26が、i=1,…,Mの順に、

及び

に対して、図5に示すアルゴリズムを適用し、近似解

を計算する。
ステップ116では、暫定解処理部28が、ステップ114において近似解計算部26が近似解

を計算する際に必要となる、

についての情報の処理を行う。すなわち、暫定解処理部28は、上記の

に対応する

(但し、i=1の場合は空集合)を計算し、計算結果を近似解計算部26に渡す。近似解計算部26は、暫定解処理部28から受け取った

に基づいて、

を計算する。また、暫定解処理部28は、近似解計算部26において新たな

が計算される度に、

に対する

を計算し、

を保持する。
ステップ118では、近似解計算部26が、ステップ116で得られた各

から

を計算し、計算した

を、出力部30を介して出力する。最終的に得られる解

は、上記問題(3)に対する(1−c)/(2−c)-近似解となることが保証される。また、

が成り立つ場合は、この近似比の保証はさらに改善され、(1−e−1+c)-近似解となることが保証される。
なお、複数のロボットを用いて頻繁にセンシングを行うような場合でも、第1の実施形態と同様に、計算毎に、劣モジュラ関数fの入力を受け付けるが、ZDDの再利用を行うことができる。すなわち、各ロボットの移動経路が満たす制約が共通である場合には、共通の制約に対してZDDを一度構築すれば、以降の計算では改めてZDD を構築する必要はない。特に、全てのロボットが同じ制約下で動く場合は、各ロボットの移動経路の計算においても同一のZDDを利用することができる。このため、計算毎に、劣モジュラ関数fの入力を受け付けるが、複数のロボットの移動経路を繰り返し計算するために必要なZDDは1つのみでよい。
以上、実施形態として計算装置及び計算方法を例示して説明した。実施形態は、コンピュータを、計算装置における各部として機能させるための計算プログラムの形態としてもよい。実施形態は、この計算プログラムを記憶したコンピュータが読み取り可能な記憶媒体の形態としてもよい。
その他、上記実施形態で説明した計算装置の構成は、一例であり、主旨を逸脱しない範囲内において状況に応じて変更してもよい。
また、上記実施形態で説明した計算プログラムの処理の流れも、一例であり、主旨を逸脱しない範囲内において不要なステップを削除したり、新たなステップを追加したり、処理順序を入れ替えたりしてもよい。
また、上記実施形態では、計算プログラムを実行することにより、実施形態に係る処理がコンピュータを利用してソフトウェア構成により実現される場合について説明したが、これに限らない。実施形態は、例えば、ハードウェア構成や、ハードウェア構成とソフトウェア構成との組み合わせによって実現してもよい。
10、20 計算装置
12、22 入力部
14、24 ZDD構築部
16、26 近似解計算部
18、30 出力部
28 暫定解処理部

Claims (6)

  1. 頂点集合と辺集合とにより定義される無向グラフ、前記頂点集合上で定義される劣モジュラ関数、及び前記無向グラフにおける予め定められた制約を満たす部分グラフの集合を示す実行可能集合の入力を受け付ける入力部と、
    前記入力部により入力を受け付けた実行可能集合を保持するゼロサプレス型二分決定グラフ(Zero-suppressed Binary Decision Diagram)であって、1つの根ノード及び2つの終端ノードを含むノード集合、並びに、枝集合により有向グラフとして定義されるゼロサプレス型二分決定グラフを構築するZDD構築部と、
    前記ZDD構築部により構築されたゼロサプレス型二分決定グラフにて前記劣モジュラ関数を最大化する前記部分グラフを近似解として計算する近似解計算部と、
    を備えた計算装置。
  2. 前記近似解計算部は、前記根ノードに近いノードから順に、前記劣モジュラ関数を最大化する前記根ノードから当該ノードまでのパスであって、前記パスが表す前記無向グラフの各頂点に対応する前記劣モジュラ関数を最大化するパスを確定させることにより、前記近似解を計算する請求項1に記載の計算装置。
  3. 前記入力部は、前記実行可能集合として、予め定められた複数の制約の各々に対する、前記制約を満たす部分グラフの集合を示す実行可能集合の各々の入力を受け付け、
    前記ZDD構築部は、前記実行可能集合の各々に対して、前記ゼロサプレス型二分決定グラフを構築し、
    前記近似解計算部は、前記実行可能集合の各々に対して、近似解を計算する請求項1又は2に記載の計算装置。
  4. 前記ZDD構築部は、同一の実行可能集合に対して、同一の前記ゼロサプレス型二分決定グラフを構築する請求項3に記載の計算装置。
  5. 入力部と、ZDD構築部と、近似解計算部と、を備えた計算装置における計算方法であって、
    前記入力部が、頂点集合と辺集合とにより定義される無向グラフ、前記頂点集合上で定義される劣モジュラ関数、及び前記無向グラフにおける予め定められた制約を満たす部分グラフの集合を示す実行可能集合の入力を受け付けるステップと、
    前記ZDD構築部が、前記入力部により入力を受け付けた実行可能集合を保持するゼロサプレス型二分決定グラフ(Zero-suppressed Binary Decision Diagram)であって、1つの根ノード及び2つの終端ノードを含むノード集合、並びに、枝集合により有向グラフとして定義されるゼロサプレス型二分決定グラフを構築するステップと、
    前記近似解計算部が、前記ZDD構築部により構築されたゼロサプレス型二分決定グラフにて前記劣モジュラ関数を最大化する前記部分グラフを近似解として計算するステップと、
    を含む計算方法。
  6. コンピュータを、請求項1〜4のいずれか1項に記載の計算装置の各部として機能させるための計算プログラム。
JP2016228651A 2016-11-25 2016-11-25 計算装置、方法、及びプログラム Active JP6618454B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016228651A JP6618454B2 (ja) 2016-11-25 2016-11-25 計算装置、方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016228651A JP6618454B2 (ja) 2016-11-25 2016-11-25 計算装置、方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2018085017A JP2018085017A (ja) 2018-05-31
JP6618454B2 true JP6618454B2 (ja) 2019-12-11

Family

ID=62238458

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016228651A Active JP6618454B2 (ja) 2016-11-25 2016-11-25 計算装置、方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP6618454B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7093972B2 (ja) * 2019-06-06 2022-07-01 日本電信電話株式会社 近似zdd構築方法、近似zdd構築装置及びプログラム

Also Published As

Publication number Publication date
JP2018085017A (ja) 2018-05-31

Similar Documents

Publication Publication Date Title
Pisinger et al. Large neighborhood search
Luo et al. Branch-and-price-and-cut for the multiple traveling repairman problem with distance constraints
Ma et al. Multi-robot informative and adaptive planning for persistent environmental monitoring
CN103364004A (zh) 路径搜索方法和路径搜索装置
Pauwels et al. Incremental predictive process monitoring: The next activity case
Eppstein $ k $-best enumeration
Prodhon et al. Metaheuristics for vehicle routing problems
Veerapen et al. Tunnelling crossover networks for the asymmetric TSP
JP6806376B2 (ja) 量子情報処理システム、量子情報処理方法、プログラム、及び記録媒体
Zöller et al. Incremental search space construction for machine learning pipeline synthesis
Turpin et al. An approximation algorithm for time optimal multi-robot routing
JP6618454B2 (ja) 計算装置、方法、及びプログラム
D’Angelo et al. Distance queries in large-scale fully dynamic complex networks
Caballero-Morales et al. An evolutive tabu-search metaheuristic approach for the capacitated vehicle routing problem
Almoustafa Distance-constrained vehicle routing problem: exact and approximate solution (mathematical programming)
Holló-Szabó et al. Bacterial memetic algorithm for asymmetric capacitated vehicle-routing problem
JP2020119108A (ja) データ処理装置、データ処理方法、データ処理プログラム
Guo et al. Bayesian network structure learning algorithms of optimizing fault sample set
Varol et al. Neural network estimators for optimal tour lengths of TSP instances with arbitrary node distributions
López-Santana et al. A hybrid scatter search algorithm to solve the capacitated arc routing problem with refill points
KR20150050603A (ko) 경로 탐색 방법 및 그 장치
van de Ven et al. Boosting Local Search Using Machine Learning: A Study on Improving Local Search by Graph Classification in Determining Capacity of Shunting Yards
Paulsen et al. Heuristic Approaches to minimize tour duration for the TSP with multiple time windows
Domala et al. A survey on state-of-the-art applications of variable length chromosome (vlc) based ga
Gadliauskas et al. Machine learning algorithm application in trip planning

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191024

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: 20191105

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191112

R150 Certificate of patent or registration of utility model

Ref document number: 6618454

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150