JP6947179B2 - 推定距離算出器、推定距離算出方法、推定距離算出プログラムおよび自動計画器 - Google Patents

推定距離算出器、推定距離算出方法、推定距離算出プログラムおよび自動計画器 Download PDF

Info

Publication number
JP6947179B2
JP6947179B2 JP2018528471A JP2018528471A JP6947179B2 JP 6947179 B2 JP6947179 B2 JP 6947179B2 JP 2018528471 A JP2018528471 A JP 2018528471A JP 2018528471 A JP2018528471 A JP 2018528471A JP 6947179 B2 JP6947179 B2 JP 6947179B2
Authority
JP
Japan
Prior art keywords
state
state element
element model
unit
estimated distance
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
JP2018528471A
Other languages
English (en)
Other versions
JPWO2018016299A1 (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Publication of JPWO2018016299A1 publication Critical patent/JPWO2018016299A1/ja
Application granted granted Critical
Publication of JP6947179B2 publication Critical patent/JP6947179B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0633Workflow analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C15/00Surveying instruments or accessories not provided for in groups G01C1/00 - G01C13/00
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/23Design optimisation, verification or simulation using finite element methods [FEM] or finite difference methods [FDM]
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16ZINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS, NOT OTHERWISE PROVIDED FOR
    • G16Z99/00Subject matter not provided for in other main groups of this subclass
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/10Numerical modelling

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Computer Hardware Design (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Development Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Educational Administration (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、推定距離算出器、推定距離算出方法、推定距離算出プログラムおよび自動計画器に関し、特に人工知能を含む自律制御システムが行動手順やタスクの実行手順を決定する自動計画問題の求解に使用される推定距離算出器、推定距離算出方法、推定距離算出プログラムおよび自動計画器に関する。
自動計画は、人工知能が既知の環境の情報に基づいて次に行われる行動の決定等の行動のスケジューリングを行う技術である。自動計画を行う方法の1つに、状態間の遷移関係を表すグラフ上の最短路を求める問題である最短路問題を解く方法がある。以下、最短路問題を自動計画問題ともいう。
図34は、状態グラフの例を示す説明図である。状態グラフは、状態間の遷移関係を表すグラフである。
図34に示す円は、状態を表す。また、図34に示すように、複数の円のうち1つの円が現在状態を表し、他の1つの円が目的状態を表す。また、図34に示す円と円の間の矢印は、状態間の遷移関係を表す。すなわち、図34に示す状態グラフは、矢印に沿って状態が遷移可能であることを表している。なお、現在状態、および目的状態の各表記は、他の図においても同様である。
最短路問題を解く方法では、図34に示すように状態グラフ内に現在状態と目的状態が定められ、矢印に沿って現在状態から目的状態へ状態が遷移する経路がいくつか探索され、探索された経路の中から目的の状態へ辿りつく最短の手順を示す経路が求められる。
特許文献1には、自動計画を応用してシステムの更新手順を出力する手法が記載されている。具体的には、特許文献1には、他の状態遷移系に依存する複数の小さな状態遷移系で構成される1つの大きなシステムの最短の更新手順を求める問題を、1つの状態グラフ上の最短路を求める問題に帰着させることによって自動計画問題を解く手法が記載されている。
また、非特許文献1には、最短路問題を解く手法の1つであるA*(エースター)探索が記載されている。A*探索は、状態グラフにおける各状態を辿りながら状態グラフ上の最短路を探索する際、各状態に対してスコア付けを行う。
A*探索が各状態に付するスコアは、(「現在状態から探索状態までの距離」+「探索状態から目的状態までの推定距離」)で算出される値である。各状態にスコアを付した上で、A*探索は、スコアが低い状態を目的状態に近い状態であると捉え、よりスコアの低い状態から優先的に探索を進める。
図35は、A*探索による最短路探索の具体例を示す説明図である。図35に示すように、黒色の状態は、探索状態である。また、斜線が付された状態は、探索済み状態である。また、数字が付された状態は、スコア付き状態である。
図35(a)〜図35(d)は、A*探索による最短路探索の各段階(以下、探索フェーズという。)での探索結果を示す。図35(a)に示すように、A*探索は、最初に探索状態を現在状態に設定する。次いで、A*探索は、探索状態に隣接する全ての状態に対してスコアを計算する。
計算した後、A*探索は、スコアが判明している未だ探索されていない状態(以下、未探索状態という。)の中でスコアが最低の状態に探索状態を遷移させる。A*探索は、上記の操作を探索状態が目的状態に到達するまで繰り返し実行することによって最短路を求める。
例えば、図35(b)に対応する探索フェーズでスコアが判明している未探索状態の各スコアは、3、4、4、∞である。よって、A*探索は、スコアが最低である3のスコアを持つ未探索状態に探索状態を遷移させる。探索状態が遷移された、図35(b)に対応する探索フェーズの次のフェーズでの探索結果を図35(c)に示す。図35(d)は、最終の探索フェーズでの探索結果を示す。
なお、上記の図35に示す具体例の説明において、「探索状態から目的状態までの推定距離」を与える方法は、特に明確に説明されていない。推定距離を算出する方法が変更されれば、推定距離の算出方法の変更に伴い探索の進め方も変化する。
目的状態までの距離を推定する関数をヒューリスティック関数という。A*探索を用いて正しい最短路を求めるためには、推定距離が常に真の距離以下でなければならないことが知られている。また、A*探索を用いた際に探索をより速く進めるためには、推定距離が真の距離にできるだけ近い値である方がよいことが多いことが知られている。
なお、A*探索は、ヒューリスティック関数を全く使用せずに常に推定距離を0として最短路を探索することも可能である。常に推定距離を0とするA*探索の動作は、「ダイクストラ法」と呼ばれる探索手法の動作と同じである。
よいヒューリスティック関数を構築する手法として、緩和問題を構築する手法が知られている。特許文献2には、緩和問題の構築により構築されたヒューリスティック関数を利用する技術の一例が記載されている。具体的には、特許文献2には、複数のアイテムを積み替えるタスクを表す積載問題をいくつかの緩和問題に分割する手法が記載されている。
米国特許出願公開第2015/0324211号明細書 特開2014−055037号公報
Peter E. Hart, Nils J. Nilsson, and Bertram Raphael, "A Formal Basis for the Heuristic Determination of Minimal Cost Paths," in IEEE Transactions on Systems Science and Cybernetics, vol. 4, no. 2, pp. 100-107, July 1968.
以下、本発明により解決される課題を説明するため、最初に本発明の処理対象として想定される自動計画問題を説明する。
本発明の処理対象である自動計画問題は、特許文献1に記載されている自動計画問題に類似している、複数の状態グラフが並べられたモデル上の最短路を求める計画問題である。以下、複数の状態グラフが並べられたモデルを状態要素モデルと呼び、状態要素モデルを構成する状態グラフを状態要素と呼ぶ。
以下、自動計画問題の具体例を説明する。図36は、クレーンと荷物の初期状態と目的状態を示す説明図である。図36に示す初期状態は、クレーンと荷物が共に場所A に存在することを表している。また、図36に示す目的状態は、クレーンが場所A に、荷物が場所B にそれぞれ存在することを表している。
図36に示す初期状態から目的状態に状態を遷移させるための最短の手順を求めるために、自動計画問題が生成される。図37は、状態要素モデルの例を示す説明図である。図37に示す状態要素モデルは、生成された自動計画問題が示す状態要素モデルである。
図37に示す状態要素モデルには、状態要素itemと、状態要素crane が並べられている。状態要素itemは、図36に示す荷物に対応する状態要素である。また、状態要素crane は、図36に示すクレーンに対応する状態要素である。
図37に示す状態要素itemには、状態A 、状態picked、および状態B が含まれている。状態A は、荷物が場所A に存在する状態であることを表す。状態pickedは、荷物がクレーンに掴まれている状態であることを表す。状態B は、荷物が場所B に存在する状態であることを表す。
図37に示す状態要素crane には、状態A 、および状態B が含まれている。状態A は、クレーンが場所A に存在する状態であることを表す。状態B は、クレーンが場所B に存在する状態であることを表す。
また、図36に示す内容を踏まえて、図37に示す状態要素itemでは現在状態が状態A に、目的状態が状態B にそれぞれ設定されている。同様に、図37に示す状態要素crane では現在状態と目的状態が共に状態A に設定されている。
さらに、状態要素モデルには、状態要素間の干渉内容が記載される。図37に示す状態遷移を表す矢印に付随する黒色の吹き出しが、状態要素間の干渉内容(以下、依存性と呼ぶ。)を表す。
図37に示すように、吹き出し内には、他の状態要素の名前と、名前が示す状態要素に含まれる状態の集合が記載される。吹き出し内の内容は、名前が示す状態要素の状態が指定された状態の集合のうちのいずれかの状態でなければ、吹き出しが付随する状態遷移が実行されないことを意味する。
例えば、図37に示す依存性「crane:{A} 」は、状態要素itemの状態A →状態pickedの状態遷移、および状態picked→状態A の状態遷移に付随している。すなわち、状態要素crane の状態が状態A でなければ、状態要素itemの状態は状態A から状態pickedへ、または状態pickedから状態A へ遷移できない。
図37に示す状態要素モデル上の最短路を求める自動計画問題が、図36に示すクレーンで場所A に存在する荷物を場所B に運ぶ最短手順を求める問題に相当する。状態要素モデル上の最短路を求める自動計画問題は、全ての状態要素の状態を各々の目的状態まで遷移させるための最短の手順を求める問題に帰着する。
クレーンが最短手順で場所A に存在する荷物を場所B に運ぶ場合のクレーンと荷物の各状態要素の変化の例を図38に示す。図38は、状態要素モデルの変化の例を示す説明図である。図38に示す黒色の状態である探索状態は、各段階でのクレーンおよび荷物の状態を表す。
図38(a)に示すように、最初の段階で場所A に存在する荷物とクレーンの各状態は、共に状態A である。次の段階でクレーンが荷物を掴むため、図38(b)に示すように、荷物の状態が状態pickedに遷移する。荷物を掴んだ後、次の段階でクレーンが荷物を掴んだまま場所A から場所B に移動するため、図38(c)に示すように、クレーンの状態が状態B に遷移する。
場所B に移動した後、次の段階でクレーンが荷物を離すため、図38(d)に示すように、荷物の状態が状態B に遷移し、目的状態に到達する。荷物を離した後、次の段階でクレーンが場所B から場所A に移動するため、図38(e)に示すように、クレーンの状態が状態A に遷移し、目的状態に到達する。よって、自動計画問題の解は、図38の下部に示す手順であることが分かる。
図38に示すような全ての状態要素の状態が各々の目的状態まで遷移する状態要素モデル上の最短路を求めることを考える。特許文献1に記載されているアルゴリズムが使用されると、図37に示す状態要素モデルは、図39に示す1つの状態グラフに展開される。本発明において、展開された状態グラフを大域状態グラフと呼ぶ。また、大域状態グラフを構成する状態を大域状態と呼ぶ。
図39は、大域状態グラフの例を示す説明図である。状態要素に含まれる状態と同様に、図39に示す右向きの矢印が付随する大域状態が現在状態であり、二重枠で囲まれている大域状態が目的状態である。
大域状態グラフにおける現在状態および目的状態は、各状態要素の組み合わせに依存する。具体的には、全ての状態要素の状態が現在状態である状態要素モデルの状態が、大域状態グラフにおける現在状態(以下、大域現在状態と呼ぶ。)である。また、全ての状態要素の状態が目的状態に遷移した状態要素モデルの状態が、大域状態グラフにおける目的状態(以下、大域目的状態と呼ぶ。)である。
状態要素モデル上の最短路を求める自動計画問題は、状態要素モデルが変換された大域状態グラフにおける大域現在状態から大域目的状態に大域状態を遷移させるための最短手順を求める問題と同値である。すなわち、図39に示す大域状態グラフ上の最短路を求める問題を解くことによって、図38に示す手順が得られる。
特許文献1に記載されている手法は、上述したような状態要素モデル上の最短路を求める自動計画問題を解くことができる。しかし、特許文献1に記載されている手法には、以下に述べる課題が存在する。
特許文献1に記載されている手法に残されている課題は、状態要素モデルに含まれる状態要素の数が増えると状態空間が指数的に増大し、自動計画問題の求解に要する計算時間も指数的に増大することである。
例えば、n 個の状態が含まれる状態要素が状態要素モデルに1つ追加されると、状態要素モデルが変換された大域状態グラフを構成する大域状態の数は、状態要素が追加される前に比べてn 倍になる。
よって、例えば3つの状態が含まれる状態要素が新たに10個状態要素モデルに追加されると、大域状態グラフを構成する大域状態の数は、状態要素が追加される前に比べて310=59,049倍に増加する。
単純に最短路探索に要する計算時間が大域状態グラフを構成する大域状態の数に比例すると仮定した場合、状態要素が新たに10個追加されると、計算時間も59,049倍程度に増大する。将来的に状態要素モデルに含まれる状態要素が20個、30個と増加することを考えると、既存の技術のみを用いて自動計画問題を解く場合、現実的な時間で探索処理が終わらない可能性があることが分かる。
A*探索において適切なヒューリスティック関数が導入されない場合、上記の計算時間の急激な増加は、自動計画問題が現実に比較的即していると考えられるユースケースに関する問題である場合にも発生する可能性がある。以下、図40を参照して計算時間が急激に増加する具体例を説明する。
図40は、状態要素モデルの他の例を示す説明図である。図40は、ヒューリスティクス関数が使用されない場合に最短路探索処理の実行時間が著しく大きくなる状態要素モデルの具体例を示す。
図40に示す状態要素モデルは、状態要素App1、状態要素App2、状態要素App3、および状態要素Confで構成されている。図40に示す状態要素モデルは、3つのアプリケーションと、各アプリケーションが共有する設定ファイルとで構成されるシステムを表す状態要素モデルである。
状態要素App1、状態要素App2、状態要素App3は、それぞれアプリケーション1、アプリケーション2、アプリケーション3に対応する状態要素である。図40に示すように、各アプリケーションは、「動作中」を意味する状態onと「停止中」を意味する状態off の2つの状態を含む状態要素としてそれぞれモデル化されている。
また、状態要素Confは、設定ファイルに対応する状態要素である。図40に示すように、設定ファイルは、「更新前」を意味する状態old と「更新後」を意味する状態new の2つの状態を含む状態要素としてモデル化されている。
図40に示す例において、設定ファイルが更新される場合を考える。図40に示すように、設定ファイルが更新される場合の状態要素Confの現在状態は状態old であり、目的状態は状態new である。また、状態要素App1〜状態要素App3の各現在状態、および各目的状態は、いずれも状態onとする。
図40に示すように、状態要素Confの状態old →状態new の状態遷移に、依存性「App1:{off}, App2:{off}, App3:{off}」が付随している。その理由は、アプリケーションの動作中に設定ファイルが更新されると、アプリケーションがデータを正しく読み込めない可能性があるためである。よって、設定ファイルを参照しているアプリケーションが全て停止している時にしか、設定ファイルに対応する状態要素Confの状態old から状態new への状態遷移は行われない。
状態要素App1〜状態要素App3の各状態で構成される大域状態を[(App1の状態), (App2の状態), (App3の状態)]で表す。A*探索が各大域状態に対してスコアを計算せずに設定ファイル更新の最短手順を探索すると、A*探索は、[on, on, on], [on, on, off], [on, off, on], [off, on, on], [on, off, off], [off, on, off], [off, off, on], [off, off, off]の順に大域状態を探索する。
その理由は、スコアが使用されない場合、A*探索は、大域現在状態に近い大域状態から順に探索を進めるからである。すなわち、状態要素Confの状態を状態old から状態new に遷移させる最短手順を求めるために、A*探索には、大域現在状態と最も遠い大域目的状態である[off, off, off] との間に存在する大域状態を全て探索することが求められる。
上記のように、任意の個数にアプリケーションを増やした場合であっても、現在状態から最も遠い状態への最短路の探索を求められることがある。n 個のアプリケーションを含むシステムを表す状態要素モデル上の最短路を求める場合、アプリケーションが全て停止した状態まで探索を進めるために最大2n個の状態を探索することが求められる可能性がある。すなわち、システムに含まれるアプリケーションの増加に伴い、最短路の探索に要する計算時間も指数的に増大する。
従って、状態要素が多く含まれる状態要素モデル上の最短路をA*探索で探索する場合、適切なヒューリスティック関数を選択することが重要である。状態要素間の依存性に基づいて目的状態までの最短距離を適切なヒューリスティック関数で推定することによって、上記のような状況であっても高速で最短路を探索できる、自動計画問題を解く最適解推定装置が求められている。
[発明の目的]
そこで、本発明は、上述した課題を解決する、状態要素モデル上の最短路を高速で探索できる推定距離算出器、推定距離算出方法、推定距離算出プログラムおよび自動計画器を提供することを目的とする。
本発明による推定距離算出器は、複数の状態要素で構成されている状態要素モデルである第1状態要素モデルを基に他の状態要素モデルである第2状態要素モデルを生成する推定距離算出器であって、状態要素は、複数の状態と複数の状態間の遷移条件が付与されている状態遷移とを含み、複数の状態要素のうちのいずれか1つの状態要素と複数の状態要素のうちの1つの状態要素以外の所定の条件を満たす遷移条件が除去された状態要素とで構成される第2状態要素モデルを生成する生成部を備えることを特徴とする。
本発明による推定距離算出方法は、複数の状態要素で構成されている状態要素モデルである第1状態要素モデルを基に他の状態要素モデルである第2状態要素モデルを生成し、プロセッサを備える推定距離算出器において実行される推定距離算出方法であって、状態要素は、複数の状態と複数の状態間の遷移条件が付与されている状態遷移とを含み、プロセッサが、複数の状態要素のうちのいずれか1つの状態要素と複数の状態要素のうちの1つの状態要素以外の所定の条件を満たす遷移条件が除去された状態要素とで構成される第2状態要素モデルを生成することを特徴とする。
本発明による推定距離算出プログラムは、複数の状態要素で構成されている状態要素モデルである第1状態要素モデルを基に他の状態要素モデルである第2状態要素モデルを生成するコンピュータにおいて実行される推定距離算出プログラムであって、状態要素は、複数の状態と複数の状態間の遷移条件が付与されている状態遷移とを含み、コンピュータに、複数の状態要素のうちのいずれか1つの状態要素と複数の状態要素のうちの1つの状態要素以外の所定の条件を満たす遷移条件が除去された状態要素とで構成される第2状態要素モデルを生成する生成処理を実行させることを特徴とする。
本発明による自動計画器は、複数の状態要素で構成されている状態要素モデルである第1状態要素モデルを基に他の状態要素モデルである第2状態要素モデルを生成する自動計画器であって、状態要素は、複数の状態と複数の状態間の遷移条件が付与されている状態遷移とを含み、複数の状態要素のうちのいずれか1つの状態要素と複数の状態要素のうちの1つの状態要素以外の所定の条件を満たす遷移条件が除去された状態要素とで構成される第2状態要素モデルを生成する生成部と、生成された第2状態要素モデルを入力とし第2状態要素モデルに含まれる現在状態および目的状態に基づいて状態が現在状態から目的状態へ遷移するまでの最小の遷移回数を導出する導出部と、導出された最小の遷移回数を用いることによって第1状態要素モデルで表現される自動計画問題の解である最短路を探索する探索部とを備えることを特徴とする。
本発明によれば、状態要素モデル上の最短路を高速で探索できる。
本発明による推定距離算出器100の第1の実施形態の構成例を示すブロック図である。 制約緩和部101による緩和問題生成処理の動作を示すフローチャートである。 制約緩和部101による緩和問題生成処理の具体例を示す説明図である。 求解部102による推定距離算出処理の動作を示すフローチャートである。 制約緩和部101が生成した緩和問題の例を示す説明図である。 求解部102による推定距離算出処理の具体例を示す説明図である。 幅優先探索シミュレーションによる最短路探索処理の例を示す説明図である。 推定距離算出器110の第2の実施形態の構成例を示すブロック図である。 求解部112による推定距離算出処理の動作を示すフローチャートである。 求解部112による遷移列長計算処理の動作を示すフローチャートである。 求解部112による遷移列長計算処理の具体例を示す説明図である。 本発明による推定距離算出器120の第3の実施形態の構成例を示すブロック図である。 制約緩和部111による緩和問題生成処理の動作を示すフローチャートである。 制約緩和部111に入力される自動計画問題P の例を示す説明図である。 制約緩和部111による依存木計算処理の例を示す説明図である。 制約緩和部111に入力される自動計画問題P の他の例を示す説明図である。 制約緩和部111が生成する依存木の例を示す説明図である。 制約緩和部111による緩和問題生成処理の具体例を示す説明図である。 求解部122による遷移列長計算処理の動作を示すフローチャートである。 求解部122に入力される緩和問題Q および緩和問題Q の生成に使用された依存木T(E1) の例を示す説明図である。 求解部122による遷移列長計算処理での緩和問題Q の解の距離の計算過程の例を示す説明図である。 求解部122が生成する部分木の例を示す説明図である。 求解部122が生成する問題Q’の例を示す説明図である。 求解部122による問題Q’の求解例を示す説明図である。 自動計画器200の第4の実施形態の構成例を示すブロック図である。 最短路探索部202による最短路探索処理の動作を示すフローチャートである。 最短路探索部202による最短路探索処理の具体例を示す説明図である。 最短路探索部202による最短路探索処理の具体例を示す説明図である。 状態要素モデルの他の例を示す説明図である。 状態遷移モデルの他の例を示す説明図である。 本発明による推定距離算出器のハードウェア構成例を示す説明図である。 本発明による推定距離算出器の概要を示すブロック図である。 本発明による自動計画器の概要を示すブロック図である。 状態グラフの例を示す説明図である。 A*探索による最短路探索の具体例を示す説明図である。 クレーンと荷物の初期状態と目的状態を示す説明図である。 状態要素モデルの例を示す説明図である。 状態要素モデルの変化の例を示す説明図である。 大域状態グラフの例を示す説明図である。 状態要素モデルの他の例を示す説明図である。
実施形態1.
[構成の説明]
以下、本発明の実施形態を、図面を参照して説明する。図1は、本発明による推定距離算出器100の第1の実施形態の構成例を示すブロック図である。
図1に示す推定距離算出器100は、入力として状態要素モデル上の最短路を求める自動計画問題を受け取る。推定距離算出器100は、自動計画問題が示す状態要素モデルにおける現在状態から目的状態までの最短路における推定距離を出力する。
本実施形態の推定距離算出器100は、状態要素モデルにおける依存性の制約を考慮する状態間の距離の推定方法を用いることによって、最短路探索装置(図示せず)が大域状態グラフ上でA*探索を高速で実行することを可能にする。すなわち、本実施形態の推定距離算出器100が使用されると、状態要素モデル上の最短路を求める自動計画問題が高速で求解される。
図1に示すように、本実施形態の推定距離算出器100は、制約緩和部101と、求解部102とを備える。
制約緩和部101は、入力された自動計画問題を緩和する機能を有する。制約緩和部101は、自動計画問題が示す状態要素モデルを構成する複数の状態要素のうちのいずれか1つの状態要素以外の状態要素に含まれる依存性を除去することによって、自動計画問題が緩和された緩和問題を生成する。
制約緩和部101は、生成された緩和問題を求解部102に入力する。求解部102は、入力された緩和問題の解を求める機能を有する。なお、緩和問題の解は、緩和問題が示す状態要素モデル上の最短路である。求解部102は、求められた緩和問題の解のうち、自動計画問題が示す状態要素モデル上の最短路における推定距離として最適な解を出力する。
[動作の説明]
以下、本実施形態の推定距離算出器100の推定距離を出力する動作を図2、および図4を参照して説明する。
最初に、制約緩和部101による緩和問題生成処理を説明する。図2は、制約緩和部101による緩和問題生成処理の動作を示すフローチャートである。
最初に、制約緩和部101には、推定距離算出器100に入力された状態要素モデルM 上の最短路を求める自動計画問題P が入力される(ステップS110)。次いで、制約緩和部101は、集合R を空集合(何も含まれていない集合)に設定する(ステップS111)。
次いで、制約緩和部101は、状態要素モデルM に含まれる状態要素のうち未だ自身に関する緩和問題Q が生成されていない状態要素E を取り出す。すなわち、緩和問題生成ループに入る(ステップS112)。
制約緩和部101は、取り出された状態要素E に関する緩和問題Q を生成する(ステップS113)。具体的には、制約緩和部101は、状態要素モデルM に含まれる依存性のうち、状態要素E に含まれる状態遷移に付随している依存性以外の依存性を全て削除することによって、状態要素E に関する緩和問題Q を生成する。
次いで、制約緩和部101は、集合R に緩和問題Q が加えられた集合に集合R を再設定する(ステップS114)。すなわち、制約緩和部101は、集合R の要素にステップS113で生成された緩和問題Q を追加する。
制約緩和部101は、状態要素モデルM に含まれる状態要素の中で自身に関する緩和問題Q が生成されていない状態要素E が存在する間、ステップS113〜ステップS114の処理を繰り返し実行する。ステップS113〜ステップS114の処理は状態要素ごとに、状態要素モデルM に含まれる状態要素の数だけ繰り返し実行される。
状態要素モデルM に含まれる全ての状態要素に関する緩和問題Q が生成された時、制約緩和部101は、緩和問題生成ループを抜ける(ステップS115)。緩和問題生成ループを抜けた後、制約緩和部101は、集合R を出力する(ステップS116)。集合R を出力した後、制約緩和部101は、緩和問題生成処理を終了する。
図3は、制約緩和部101による緩和問題生成処理の具体例を示す説明図である。図3に示す状態要素モデルM は、状態要素E1と、状態要素E2と、状態要素E3とで構成されている。
制約緩和部101は、状態要素モデルM 上の最短路を求める自動計画問題P を緩和問題生成処理で緩和する。具体的には、制約緩和部101は、自動計画問題P を状態要素E1に関して緩和する場合、図3に示すように状態要素E1に含まれる状態遷移に付随している依存性以外の依存性が全て削除された緩和問題Q1を生成する。
同様に、制約緩和部101は、自動計画問題P を状態要素E2と状態要素E3それぞれに関して緩和する場合、緩和問題Q2と緩和問題Q3を生成する。図3に示すように、自動計画問題P が3つの状態要素で構成される状態要素モデルM を示す場合、制約緩和部101は、緩和問題生成処理で3つの緩和問題を生成する。
次に、求解部102による推定距離算出処理を説明する。図4は、求解部102による推定距離算出処理の動作を示すフローチャートである。
最初に、求解部102には、制約緩和部101が出力した緩和問題Q の集合R が入力される(ステップS120)。次いで、求解部102は、SCORE2を0に設定する(ステップS121)。
次いで、求解部102は、集合R に含まれる緩和問題Q のうち未だ解が求められていない緩和問題Q を取り出す。すなわち、推定距離算出ループに入る(ステップS122)。
推定距離算出ループ内で求解部102は、取り出された緩和問題Q を解く。以下、緩和問題Q に含まれる状態要素のうち、依存性が残る状態要素を$Qと記載する。また、状態要素$Qの状態が現在状態から目的状態へ遷移する冗長でないパスをπと記載する。
なお、「冗長なパス」は、例えば探索状態が同じ状態に二度遷移するパスである。例えば、パス「a1→c1→a1→b1→c1」は、探索状態がa1とc1にそれぞれ二度遷移するため、冗長なパスである。
最初に、求解部102は、SCORE1を∞に設定する(ステップS123)。次いで、求解部102は、未だ遷移列が求められていないパスπを決定する。すなわち、最短路探索ループに入る(ステップS124)。
緩和問題Q に含まれる状態要素$Qの状態は、大域状態グラフ上の最短路に沿って遷移する際、何らかの冗長でないパスπに沿って遷移することが考えられる。本実施形態の求解部102は、「状態要素$Qの状態はπに沿って遷移する」という仮定の下で緩和問題Q を解く。
現在状態から目的状態へ遷移するまでに、状態要素$Qの状態は、状態遷移を何回か経る。求解部102は、緩和問題Q の解として、状態要素$Qの状態が現在状態から目的状態へ遷移するまでに行われた状態遷移が最初から順番に並べられた遷移列を得る(ステップS125)。遷移列は、例えば、図38の下部に示す状態遷移の列「item: A →picked、crane: A→B 、item: picked→B 、crane: B→A 」である。
次いで、求解部102は、ステップS125で得られた遷移列の長さをSCORE[π] に設定する(ステップS126)。例えば、4つの状態遷移で遷移列が構成される場合、遷移列の長さは「4」である。
次いで、求解部102は、SCORE1がSCORE[π] より大きいか否かを判定する(ステップS127)。SCORE1がSCORE[π] より大きい場合(ステップS127におけるTrue)、求解部102は、SCORE[π] をSCORE1に設定する(ステップS128)。
求解部102は、状態要素$Qに関する遷移列が求められていないパスπが存在する間、ステップS125〜ステップS128の処理を繰り返し実行する。ステップS125〜ステップS128の処理はパスπごとに、状態要素$Qに関して考えられる冗長でないパスの数だけ繰り返し実行される。
状態要素$Qに関する全てのパスπに対して遷移列が求められた時、求解部102は、最短路探索ループを抜ける(ステップS129)。求解部102が最短路探索ループを抜けた際、SCORE1には得られた遷移列の長さの最小値が格納されている。すなわち、最短路探索ループを抜けた際のSCORE1が、緩和問題Q の解(最短路)の距離である。
次いで、求解部102は、SCORE1がSCORE2より大きいか否かを判定する(ステップS130)。SCORE1がSCORE2より大きい場合(ステップS130におけるTrue)、求解部102は、SCORE1をSCORE2に設定する(ステップS131)。
求解部102は、集合R に含まれる緩和問題Q のうち解が求められていない緩和問題Q が存在する間、ステップS123〜ステップS131の処理を繰り返し実行する。ステップS123〜ステップS131の処理は緩和問題Q ごとに、集合R に含まれる緩和問題Q の数だけ繰り返し実行される。
集合R に含まれる全ての緩和問題Q の解が求められた時、求解部102は、推定距離算出ループを抜ける(ステップS132)。求解部102が推定距離算出ループを抜けた際、SCORE2には得られた緩和問題Q の解の距離の最大値が格納されている。すなわち、推定距離算出ループを抜けた際のSCORE2が、自動計画問題P の解である最短路における推定距離である。
推定距離算出ループを抜けた後、求解部102は、SCORE2を出力する(ステップS133)。SCORE2を出力した後、求解部102は、推定距離算出処理を終了する。
以下、求解部102による推定距離算出処理の具体例を説明する。図5は、制約緩和部101が生成した緩和問題の例を示す説明図である。図5に示す緩和問題は、図3に示す緩和問題生成処理で生成された緩和問題Q1である。
緩和問題Q1は、自動計画問題P の制約が状態要素E1に関して緩和されたことによって生成された緩和問題である。緩和問題Q1に含まれる状態要素E1における現在状態はa1、目的状態はc1である。状態が現在状態a1から目的状態c1へ遷移する冗長でないパスπには、「a1→c1」と「a1→b1→c1」の2つのパスがある。
図5に示す緩和問題Q1が入力された場合の求解部102による推定距離算出処理を、図6を参照して説明する。図6は、求解部102による推定距離算出処理の具体例を示す説明図である。
求解部102は、冗長でないパスπに沿って状態要素E1の状態を目的状態まで遷移させるための手順を各々のパスに関して求める。例えば、パス「a1→c1」に沿う場合、依存性に従って最初に状態要素E2の状態をa2に遷移させることが求められる。よって、図6に示すように、3つのステップ「E2: b2→a2」「E1: a1→c1」「E2: a2→b2」で構成される手順P1100 が得られる。
なお、例えばステップ「E2: b2→a2」は、状態要素E2の状態をb2からa2に遷移させる手順である。すなわち、1つの手順が1つの状態遷移に相当する。また、最後にステップ「E2: a2→b2」が加えられている理由は、状態要素E2の状態を目的状態b2に遷移させるためである。
また、パス「a1→b1→c1」に沿う場合、状態要素E1の状態をa1からb1へ遷移させた後、依存性に従って状態要素E2の状態をa2に遷移させ、次いで状態要素E3の状態をa3に遷移させることが求められる。よって、図6に示すように、6つのステップで構成される手順P1101 が得られる。
求解部102は、得られた手順のうち最も短い手順の長さを解として返す(ステップS129)。図6に示す例では、求解部102は、パス「a1→c1」に沿って状態要素E1の状態を遷移させる時の手順である手順P1100 の長さである「3」を解として返す。
なお、図6に示すようなパスが固定された緩和問題の解である最短路は、例えば、幅優先探索シミュレーションで求められる。図7は、幅優先探索シミュレーションによる最短路探索処理の例を示す説明図である。
幅優先探索シミュレーションは、パスが固定された緩和問題の解を求める際に使用されるアルゴリズムの1つである。図7に示す状態要素E1に含まれる依存性「E2:{b2,c2}」には、状態要素E2の状態が2つ指定されている。よって、図7に示す最短路探索処理の最初の段階において、どちらの状態に遷移させるかという分岐が発生している。
幅優先探索シミュレーションが使用された場合、最終的に得られた手順のうち最短の手順が選ばれる。図7に示す例では、手順P1200 が最短路として選ばれている。なお、幅優先探索シミュレーションは、パスが固定された緩和問題を解くために使用される1つの方式である。本実施形態の求解部102は、幅優先探索シミュレーション以外の方式でパスが固定された緩和問題を解いてもよい。
[効果の説明]
本実施形態の推定距離算出器100は、状態要素モデルに含まれる依存性の一部を緩和することによって自動計画問題を高速で解くことが可能な緩和問題に変形する制約緩和部101と、緩和問題を高速で解く求解部102とを備える。推定距離算出器100は、依存性の影響を最も強く受ける状態要素における依存性が加味された推定距離を算出することによって、状態要素モデル上の最短路を求める自動計画問題を解く際に実行されるA*探索の高速化を可能にする。
本実施形態の推定距離算出器100がA*探索の高速化を可能にする理由は、A*探索で行われる各状態に対するスコア付けの処理自体を高速化するだけでなく、真の解であるパスの長さに近い値をスコアとして算出できるためである。
制約緩和部101は、状態要素モデルに含まれる1つの状態要素に着目し、着目された状態要素における依存性のみを残し、他の依存性を全て削除する。上記の手法により、制約緩和部101は、依存性の一部を考慮しつつ、元の自動計画問題に比べて簡略化された緩和問題を生成する。
求解部102は、状態要素モデルに含まれる全ての状態要素に関して、それぞれの状態要素を中心に緩和された各問題の解を比較する。求解部102は、比較した結果最大の値である解を推定距離とする。本実施形態の推定距離算出器100は、問題の依存性を緩和することによって高速で求解されるように問題を緩和し、緩和問題の解の長さを推定距離とするため、依存性の影響が反映された距離を推定できる。
他の状態グラフに依存する複数の小さな状態グラフで構成されるシステムに関する自動計画問題をヒューリスティック最短路探索の方式で解く場合、目的状態までの距離の推定が求められる。また、推定される距離は、各状態グラフにおける局所解の影響を受けていないことが求められる。本実施形態の推定距離算出器100は、制約緩和部101が簡略化された緩和問題を生成できるので、上記の条件を満たす推定距離を算出できる。
実施形態2.
[構成の説明]
次に、本発明の第2の実施形態を、図面を参照して説明する。第2の実施形態は、第1の実施形態で実行される検証手法を実行するための1つの態様である。
図8は、推定距離算出器110の第2の実施形態の構成例を示すブロック図である。図8に示すように、本実施形態の推定距離算出器110は、制約緩和部101と、求解部112とを備える。
本実施形態の推定距離算出器110では、第1の実施形態の求解部102が求解部112に置き換えられている。なお、求解部112以外の第2の実施形態の構成は、第1の実施形態の構成と同様である。
求解部112は、緩和問題Q を解く前に、緩和問題Q に含まれる状態要素$Q以外の状態要素E_1 、状態要素E_2 、・・・、状態要素E_n ごとに、緩和問題Q が示す状態要素モデルを分割する。緩和問題Q が示す状態要素モデルを分割した上で、求解部112は、遷移列の長さを求める。
[動作の説明]
以下、本実施形態の求解部112による推定距離算出処理を説明する。図9は、求解部112による推定距離算出処理の動作を示すフローチャートである。なお、本実施形態の制約緩和部101による緩和問題生成処理は、第1の実施形態の緩和問題生成処理と同様である。
本実施形態の求解部112による推定距離算出処理は、ステップS225の処理を除いて、第1の実施形態の求解部102による推定距離算出処理と同様である。すなわち、求解部112にも、緩和問題Q の集合である集合R が入力される(ステップS220)。また、求解部112も、全ての冗長でないパスπに関して遷移列の長さを求め、求められた遷移列の長さの最小値を緩和問題Q の解の距離として返す(ステップS224〜ステップS229)。
求解部112も、基本的には第1の実施形態の求解部102と同様に、状態要素$Qに関する冗長でないパスπが固定された緩和問題Q を解くことによって、遷移列の長さを計算する(ステップS225)。本実施形態の求解部112は、第1の実施形態の求解部102と遷移列の長さの計算方法が異なる。
以下、本実施形態の求解部112による遷移列長計算処理を説明する。図10は、求解部112による遷移列長計算処理の動作を示すフローチャートである。
冗長でないパスπが固定された後、求解部112は、SCORE[π] にπの長さを設定する(ステップS240)。次いで、求解部112は、緩和問題Q に含まれる状態要素$Q以外の状態要素のうち未だ状態要素モデルM_i が生成されていない状態要素E_i を取り出す。すなわち、遷移列長計算ループに入る(ステップS241)。
状態要素E_i を取り出した後、求解部112は、緩和問題Q が示す状態要素モデルから状態要素$Q、および状態要素E_i 以外の状態要素を取り除き、新たな状態要素モデルM_i を生成する(ステップS242)。状態要素モデルM_i で表現される問題をQ’と記載する。
次いで、求解部112は、状態要素$Qの状態がパスπに沿って現在状態から目的状態へ遷移する状態要素モデルM_i 上の最短路が示す遷移列を求める(ステップS243)。
次いで、求解部112は、ステップS243で求められた遷移列のうち状態要素E_i に関する状態遷移の数をカウントする。次いで、求解部112は、カウントされた状態遷移の数をSCORE[π] に加算する(ステップS244)。
求解部112は、緩和問題Q に含まれる状態要素$Q以外の状態要素のうち状態要素モデルM_i が生成されていない状態要素E_i が存在する間、ステップS242〜ステップS244の処理を繰り返し実行する。ステップS242〜ステップS244の処理は状態要素E_i ごとに、緩和問題Q に含まれる状態要素$Q以外の状態要素の数だけ繰り返し実行される。
緩和問題Q に含まれる状態要素$Q以外の状態要素E_1 、状態要素E_2 、・・・、状態要素E_n に関して状態要素モデルM_1 、状態要素モデルM_2 、・・・、状態要素モデルM_n がそれぞれ生成された時、求解部112は、遷移列長計算ループを抜ける(ステップS245)。
求解部112が遷移列長計算ループを抜けた時のSCORE[π] には、各状態要素モデルに関して得られた状態遷移の数の総和とパスπの長さの合計値が格納されている。求解部112は、遷移列長計算ループを抜けた時のSCORE[π] を、パスπが固定された場合の緩和問題Q の解の距離とする。緩和問題Q の解の距離を求めた後、求解部112は、ステップS226の処理を行う。
以下、求解部112による遷移列長計算処理を、図11を参照して説明する。図11は、求解部112による遷移列長計算処理の具体例を示す説明図である。
図11に示す遷移列長計算処理において、求解部112は、状態要素E1における状態遷移が冗長でないパス「a1→b1→c1」に固定されて行われる緩和問題Q を扱う。求解部112は、緩和問題Q を、状態要素E1と状態要素E2のみが含まれる状態要素モデルを示す問題Q’1 と、状態要素E1と状態要素E3のみが含まれる状態要素モデルを示す問題Q’2 に分割する(ステップS242)。
次いで、求解部112は、問題Q’1 および問題Q’2 各々の解を求める(ステップS243)。問題Q’1 の解は、状態要素E2の状態が2回遷移することを示す。また、問題Q’2 の解は、状態要素E3の状態が2回遷移することを示す。よって、緩和問題Q の解の長さは、2+2+2=6 である(ステップS244)。
[効果の説明]
本実施形態の求解部112は、緩和問題を状態要素ごとに分割し、分割された問題の解の和を取ることによって緩和問題を解く。本実施形態の推定距離算出器110は、求解部112が緩和問題を第1の実施形態に比べてさらに細かく分割するので、推定距離をより高速で算出できる。状態要素を多く含む状態要素モデル上の最短路を求める問題に対して、本実施形態の推定距離算出器110は、特に効果を奏する。
実施形態3.
[構成の説明]
次に、本発明の第3の実施形態を、図面を参照して説明する。
図12は、本発明による推定距離算出器120の第3の実施形態の構成例を示すブロック図である。図12に示すように、本実施形態の推定距離算出器120は、制約緩和部111と、求解部122とを備える。
本実施形態の推定距離算出器120では、第1の実施形態の制約緩和部101が制約緩和部111に、第1の実施形態の求解部102が求解部122に、それぞれ置き換えられている。
制約緩和部111は、状態要素モデルに含まれる1つの状態要素$Qに着目する。制約緩和部111は、状態要素$Qに含まれる依存性の「依存先」を次々と辿る。「依存先」を辿ることによって、制約緩和部111は、着目された状態要素$Qに由来する依存性のみを選択する。また、制約緩和部111は、選択された依存性以外の依存性を状態要素モデルから全て削除する。
上記の手法により、制約緩和部111は、第1の実施形態の制約緩和部101よりも依存性の影響を多く考慮しつつ、元の自動計画問題に比べて簡略化された緩和問題を生成できる。
求解部122は、緩和問題Q を解く前に、状態要素$Qが直接依存している状態要素E_1 、状態要素E_2 、・・・、状態要素E_n ごとに、緩和問題Q が示す状態要素モデルを分割する。緩和問題Q が示す状態要素モデルを分割した上で、求解部122は、遷移列の長さを求める。
[動作の説明]
以下、本実施形態の推定距離算出器120の推定距離を出力する動作を図13、および図19を参照して説明する。
最初に、制約緩和部111による緩和問題生成処理を説明する。図13は、制約緩和部111による緩和問題生成処理の動作を示すフローチャートである。
最初に、制約緩和部111には、推定距離算出器120に入力された状態要素モデルM 上の最短路を求める自動計画問題P が入力される(ステップS310)。次いで、制約緩和部111は、集合R を空集合(何も含まれていない集合)に設定する(ステップS311)。
次いで、制約緩和部111は、状態要素モデルM に含まれる状態要素のうち未だ自身に関する緩和問題Q が生成されていない状態要素E を取り出す。すなわち、緩和問題生成ループに入る(ステップS312)。
制約緩和部111は、取り出された状態要素E を基に、状態要素E に関する依存木T(E)を計算する(ステップS313)。状態要素モデルM の状態要素E に関する依存木T(E)は、状態要素モデルM に含まれる状態要素同士が矢印で結ばれることによって生成されるツリーである。
ただし、依存木T(E)において状態要素E1と状態要素E2が「E1→E2」のように矢印で結ばれる場合は、状態要素モデルM に含まれる状態要素E1の状態遷移に、状態要素E2の状態への依存性が付随している場合のみである。
制約緩和部111は、取り出された状態要素E に関する緩和問題Q を生成する(ステップS314)。具体的には、制約緩和部111は、状態要素モデルM に含まれる依存性のうち、ステップS313で計算された依存木T(E)を構成する矢印と同じ向きの依存性以外の依存性を全て削除することによって、状態要素E に関する緩和問題Q を生成する。
例えば、「依存木T(E)を構成する矢印E1→E2」と「同じ向き」の依存性は、「状態要素E1の状態遷移に付随している状態要素E2の状態への依存性」である。
次いで、制約緩和部111は、集合R に緩和問題Q が加えられた集合に集合R を再設定する(ステップS315)。すなわち、制約緩和部111は、集合R の要素にステップS314で生成された緩和問題Q を追加する。
制約緩和部111は、状態要素モデルM に含まれる状態要素の中で自身に関する緩和問題Q が生成されていない状態要素E が存在する間、ステップS313〜ステップS315の処理を繰り返し実行する。ステップS313〜ステップS315の処理は状態要素ごとに、状態要素モデルM に含まれる状態要素の数だけ繰り返し実行される。
状態要素モデルM に含まれる全ての状態要素に関する緩和問題Q が生成された時、制約緩和部111は、緩和問題生成ループを抜ける(ステップS316)。緩和問題生成ループを抜けた後、制約緩和部111は、集合R を出力する(ステップS317)。集合R を出力した後、制約緩和部111は、緩和問題生成処理を終了する。
ステップS313の処理で、制約緩和部111は、例えば幅優先探索で状態要素を辿りながら矢印を張ることによって依存木T(E)を求める。幅優先探索は、グラフを網羅的に走査するために用いられるアルゴリズムの1つである。
本実施形態の制約緩和部111は、状態要素モデル内の「状態要素E1の状態遷移に状態要素E2の状態への依存性が付随している」という関係を、「状態要素E1から状態要素E2に向けて枝(矢印)が張られている」とみなす。
各関係を枝とみなすことによって、制約緩和部111は、状態要素モデルM を1つのグラフとして解釈する。制約緩和部111は、幅優先探索を用いて状態要素モデルM のグラフを状態要素E から網羅的に走査することによって、依存木T(E)を計算できる。
図14は、制約緩和部111に入力される自動計画問題P の例を示す説明図である。図14に示すように、自動計画問題P が示す状態要素モデルM には、状態要素E1〜状態要素E4が含まれている。
また、状態要素E1には、状態要素E2の状態への依存性、および状態要素E3の状態への依存性が付随された状態遷移が含まれている。状態要素E2、および状態要素E4にも、他の状態要素の状態への依存性が付随された状態遷移が含まれている。
図15は、制約緩和部111による依存木計算処理の例を示す説明図である。図15に示す依存木計算処理は、幅優先探索が使用された時の計算処理である。また、図15に示す依存木計算処理は、図14に示す状態要素モデルに含まれる状態要素E1に関する依存木の計算処理である。
図15に示す黒色の矩形が、状態要素を表す。図15(a)から図15(b)にかけて、制約緩和部111は、状態要素E1から状態要素E2に向けて、および状態要素E1から状態要素E3に向けてそれぞれ矢印を張る。
同様に、図15(b)から図15(c)にかけて、制約緩和部111は、状態要素E2から状態要素E4に向けて矢印を張る。図15(c)に示す状態要素および矢印の組が、制約緩和部111が計算した結果得られた依存木T(E1) である。
幅優先探索は、制約緩和部111が依存木を計算する際に用いるアルゴリズムの1つである。なお、本実施形態の制約緩和部111は、幅優先探索以外のアルゴリズムを用いて依存木を計算してもよい。
なお、計算に用いられるアルゴリズムに応じて、入力情報が同じ場合であっても求められる依存木が異なる場合がある。しかし、本実施形態の制約緩和部111は緩和問題を生成する際にどのような種類の依存木を用いてもよいため、求められる依存木が異なることに問題はない。以下、制約緩和部111による依存木を用いた緩和問題生成処理を、図を参照して説明する。
図16は、制約緩和部111に入力される自動計画問題P の他の例を示す説明図である。図16に示すように、自動計画問題P が示す状態要素モデルM には、状態要素E1と、状態要素E2と、状態要素E3とが含まれている。
図17は、制約緩和部111が生成する依存木の例を示す説明図である。図17に示す依存木T(E1) は、図16に示す状態要素モデルM に含まれる状態要素E1に関して計算された依存木である。
同様に、図17に示す依存木T(E2) 、および依存木T(E3) は、それぞれ図16に示す状態要素モデルM に含まれる状態要素E2に関して計算された依存木、状態要素E3に関して計算された依存木である。
図18は、制約緩和部111による緩和問題生成処理の具体例を示す説明図である。図18は、制約緩和部111が図17に示す依存木T(E1) 、依存木T(E2) 、および依存木T(E3) を用いて3つの緩和問題を生成する処理を示す。
制約緩和部111は、状態要素モデルM 上の最短路を求める自動計画問題P を緩和問題生成処理で緩和する。具体的には、制約緩和部111は、自動計画問題P を状態要素E1に関して緩和する場合、最初に図17に示すような依存木T(E1) を求める。次いで、制約緩和部111は、依存木T(E1) を構成する矢印と同じ向きの依存性以外の依存性が自動計画問題P から全て削除された緩和問題Q1を生成する。
緩和問題Q1を生成する際、制約緩和部111は、状態要素E2の状態b2から状態a2への状態遷移に付随している依存性「E1:{a1,b1}」を削除する。その理由は、依存木T(E1) には、「状態要素E2の状態遷移に付随している状態要素E1の状態への依存性」と同じ向きの矢印、すなわち状態要素E2から状態要素E1に向けた矢印が含まれていないためである。
同様に、制約緩和部111は、自動計画問題P を状態要素E2と状態要素E3それぞれに関して緩和する場合、緩和問題Q2と緩和問題Q3をそれぞれ生成する。次いで、制約緩和部111は、生成された緩和問題Q1〜緩和問題Q3を出力する。
次に、求解部122による推定距離算出処理を説明する。本実施形態の求解部122による推定距離算出処理は、図9に示す推定距離算出処理と同様である。ただし、本実施形態の求解部122が実行するステップS225の遷移列長計算処理は、第2の実施形態の求解部112が実行する遷移列長計算処理と異なる。
以下、本実施形態の求解部122による遷移列長計算処理を説明する。図19は、求解部122による遷移列長計算処理の動作を示すフローチャートである。
なお、第2の実施形態では「緩和問題Q に含まれる状態要素のうち、依存性が残っている状態要素」が、状態要素$Qとして記載された。本実施形態では「緩和問題Q が生成される際に用いられた依存木の根」が、状態要素$Qとして記載される。図17に示す例であれば、依存木T(E1) の根は状態要素E1である。
すなわち、制約緩和部111は、依存木T($Q) を用いて緩和問題Q を生成する。以下、「依存木T($Q) 」は、緩和問題Q が生成される際に用いられた依存木を指す。また、状態要素$Q上の冗長でないパスπが固定されているとして遷移列長計算処理を説明する。
冗長でないパスπが固定された後、求解部122は、SCORE[π] にπの長さを設定する(ステップS340)。次いで、求解部122は、「依存木T($Q) において状態要素$Qから直接矢印が伸びている状態要素」のうち未だ部分木が構成されていない状態要素E_i を取り出す。すなわち、第1遷移列長計算ループに入る(ステップS341)。
状態要素E_i を取り出した後、求解部122は、状態要素E_i を根とする部分木を依存木T($Q) において構成する。すなわち、求解部122は、依存木T($Q) のうち状態要素E_i から矢印を辿って到達可能な部分を部分木として取り出す(ステップS342)。以下、取り出された部分木に含まれる状態要素の集合をU_i と記載する。
部分木を取り出した後、求解部122は、緩和問題Q が示す状態要素モデルから集合U_i 、および状態要素$Q以外の状態要素を取り除き、新たな状態要素モデルM_i を生成する(ステップS343)。状態要素モデルM_i で表現される問題をQ’と記載する。
次いで、求解部122は、状態要素$Qの状態がパスπに沿って現在状態から目的状態へ遷移する状態要素モデルM_i 上の最短路が示す遷移列、すなわち問題Q’の解である遷移列の長さを求める(ステップS344)。
次いで、求解部122は、ステップS344で求められた遷移列の長さから、固定されているパスπの長さが減算された値をSCORE[π] に加算する(ステップS345)。
求解部122は、依存木T($Q) において状態要素$Qから直接矢印が伸びている状態要素のうち部分木が構成されていない状態要素E_i が存在する間、ステップS342〜ステップS345の処理を繰り返し実行する。ステップS342〜ステップS345の処理は状態要素E_i ごとに、依存木T($Q) において状態要素$Qから直接矢印が伸びている状態要素の数だけ繰り返し実行される。
依存木T($Q) において状態要素$Qから直接矢印が伸びている全ての状態要素E_i に関して部分木が構成された時、求解部122は、第1遷移列長計算ループを抜ける(ステップS346)。
次いで、求解部122は、「緩和問題Q が示す状態要素モデルに含まれる状態要素のうち依存木T($Q) を構成する状態要素以外の状態要素」から未だ遷移列長が計算されていない状態要素F_i を取り出す。すなわち、第2遷移列長計算ループに入る(ステップS347)。
取り出された状態要素F_i は、制約緩和部111により状態遷移から全ての依存性が取り除かれた状態要素である。かつ、緩和問題Q が示すどの状態要素にも、状態要素F_i に対する依存性が含まれていない。すなわち、緩和問題Q において、求解部122は、状態要素F_i の状態を自由に遷移させることができる。
求解部122は、状態要素F_i の状態が現在状態から目的状態へ遷移する緩和問題Q が示す状態要素モデル上の最短路が示す遷移列を求める(ステップS348)。上記の特徴により、求解部122は、状態要素F_i の状態が現在状態から目的状態へ遷移する最短路を簡単に求めることができる。
次いで、求解部122は、ステップS348で求められた最短路が示す遷移列の長さをSCORE[π] に加算する(ステップS349)。
求解部122は、依存木T($Q) を構成する状態要素以外の状態要素のうち遷移列長が計算されていない状態要素F_i が存在する間、ステップS348〜ステップS349の処理を繰り返し実行する。ステップS348〜ステップS349の処理は状態要素F_i ごとに、緩和問題Q が示す状態要素モデルに含まれる依存木T($Q) を構成する状態要素以外の状態要素の数だけ繰り返し実行される。
依存木T($Q) を構成する状態要素以外の全ての状態要素F_i に関して遷移列長が計算された時、求解部122は、第2遷移列長計算ループを抜ける(ステップS350)。
求解部122は、第2遷移列長計算ループを抜けた時のSCORE[π] を、パスπが固定された場合の緩和問題Q の解の距離とする。緩和問題Q の解の距離を求めた後、求解部122は、ステップS226の処理を行う。
以下、求解部122による遷移列長計算処理を、図を参照して説明する。図20は、求解部122に入力される緩和問題Q および緩和問題Q の生成に使用された依存木T(E1) の例を示す説明図である。
図20に示す緩和問題Q は、依存木T(E1) に沿って緩和された問題である。図20に示すように状態要素E1において、状態a1から状態c1への状態遷移に依存性「E2:{a2} 」が、状態b1から状態c1への状態遷移に依存性「E2:{a2} 」および依存性「E3:{a3} 」が、それぞれ付随している。また、状態要素E2において、状態b2から状態a2への状態遷移に依存性「E4:{a4} 」が付随している。
また、図20に示す依存木T(E1) では、状態要素E1から状態要素E2に向けて、および状態要素E1から状態要素E3に向けてそれぞれ矢印が伸びている。また、状態要素E2から状態要素E4に向けて矢印が伸びている。また、状態要素E5は、依存木T(E1) に含まれていない。
図21は、求解部122による遷移列長計算処理での緩和問題Q の解の距離の計算過程の例を示す説明図である。図21に示す遷移列長計算処理において、求解部122は、状態要素E1における状態遷移が冗長でないパスπ=「a1→b1→c1」に固定されて行われる緩和問題Q を扱う。
図21に示す遷移列長計算処理において、求解部122は、依存木T(E1) の根である状態要素E1から直接矢印が伸びている状態要素E2を根とする部分木T1、および状態要素E1から直接矢印が伸びている状態要素E3を根とする部分木T2をそれぞれ生成する(ステップS342)。
図22は、求解部122が生成する部分木の例を示す説明図である。図22は、求解部122による遷移列長計算処理の一過程において、依存木から1つの枝が選択されることによって得られる部分木を示す。
図22に示す部分木T1は、状態要素E2が根として選択された時に生成される部分木である。部分木T1は、状態要素E2と状態要素E4とで構成される部分木である。また、状態要素E2から状態要素E4に向けて矢印が張られている。
また、図22に示す部分木T2は、状態要素E3が根として選択された時に生成される部分木である。部分木T2は、状態要素E3のみ、すなわち1つの節点のみで構成される部分木である。また、部分木T2において矢印は張られていない。
次いで、求解部122は、部分木T1および部分木T2に含まれる状態要素を用いて緩和問題Q が示す状態要素モデルを制限する(ステップS343)。
図23は、求解部122が生成する問題Q’の例を示す説明図である。図23は、求解部122による遷移列長計算処理の一過程において、部分木が用いられて制約された問題を示す。
図23に示す問題Q’1 は、緩和問題Q が示す状態要素モデルが部分木T1に制限された問題である。問題Q’1 が示す状態要素モデルには、状態要素E1、状態要素E2、および状態要素E4のみが含まれている。
また、図23に示す問題Q’2 は、緩和問題Q が示す状態要素モデルが部分木T2に制限された問題である。問題Q’2 が示す状態要素モデルには、状態要素E1、および状態要素E3のみが含まれている。問題Q’1 が示す状態要素モデルおよび問題Q’2 が示す状態要素モデルのどちらにも、部分木の要素の他に状態要素$Qである状態要素E1が含まれている。
次いで、求解部122は、問題Q’1 の解および問題Q’2 の解を求める(ステップS344)。ステップS344において、求解部122には、部分木を定めることによって規定される問題Q’1 および問題Q’2 が示す各状態要素モデル上の最短路をそれぞれ導出することが求められる。各問題は、例えば求解部122による遷移列長計算処理が内部で再帰的に使用されることによって求解される。
以下、上記の方法で求解部122が問題Q’1 を解く例を説明する。図24は、求解部122による問題Q’の求解例を示す説明図である。図24は、求解部122による遷移列長計算処理の一過程において、部分木が用いられて制限された問題を解く処理の一例を示す。図24に示す例では、求解部122が遷移列長計算処理を内部で再帰的に用いることによって、問題Q’1 の解の距離を求めている。
問題Q’1 において状態要素E1の状態が固定パスπに沿って遷移するためには、状態要素E2の状態が状態a2に遷移することが求められる。よって、求解部122は、状態要素E2の状態が状態a2に遷移し、次いで目的状態である状態b2に遷移するような冗長でないパスを列挙する。
求解部122は、上記の条件を満たす唯一のパスとして図24に示すπ’=「b2→a2→b2」を挙げる。従って、求められる対象である問題Q’1 の解の距離は、問題Q’1 が状態要素E2および状態要素E4に制限され、状態要素E2の状態遷移がパスπ’ に固定されて実行されるという設定の問題Q’’1の解の距離にπの長さ「2」が加えられた値である。
また、問題Q’’1の解も同様の方法で求められる。すなわち、問題Q’’1の解の距離は、問題Q’’1が状態要素E4のみに制限され、状態要素E4の状態遷移がパスπ’’= 「b4→a4→b4」に固定されて実行されるという設定の問題Q’’’1 の解の距離にπ’ の長さ「2」が加えられた値である。
問題Q’’’1 には依存性が含まれていないので、求解部122は、問題Q’’’1 の解の距離をπ’’の長さ、すなわち「2」であるとただちに判別できる。従って、求解部122は、元の問題Q’1 の解の距離を「2+2+2=6」と再帰的に計算できる。
以上のように、問題を依存性が全く含まれない問題にまで細分化することによって、求解部122は、ステップS344の遷移列長計算処理で遷移列の長さを求めることができる。
なお、上記の求解部122が遷移列長計算処理を再帰的に利用する手法は、ステップS344において求解部122が最短路を示す遷移列の長さを求める1つの手法である。本実施形態の求解部122は、上記の手法以外の手法で最短路を示す遷移列の長さを求めてもよい。
問題Q’2 に対しても同様に計算すると、求解部122は、問題Q’2 の解の距離として「4」を得る。問題Q’1 および問題Q’2 の各解の距離を求めた後、求解部122は、SCORE[π] (初期値はπの長さ「2」)に、各解の距離からパスπの長さ「2」が減算された値をそれぞれ加算する(ステップS345)。
問題Q’1 および問題Q’2 の各解の距離を求めた後、求解部122は、第2遷移列長計算ループに入る(ステップS346〜ステップS347)。緩和問題Q が示す状態要素モデルにおいて依存木T(E1) に含まれていない状態要素は、状態要素E5のみである。
よって、求解部122は、状態要素E5の状態が現在状態から目的状態まで遷移する最短路を示す遷移列の長さ「1」を求める(ステップS348)。次いで、求解部122は、求められた遷移列の長さをSCORE[π] に加算する(ステップS349)。
加算した後、求解部122は、第2遷移列長計算ループを抜ける(ステップS350)。次いで、求解部122は、図20に示す状態要素E1の状態遷移がパスπに固定されて実行される場合の緩和問題Q の解の距離としてSCORE[π]=2+4+2+1=9 を出力し、遷移列長計算処理を終了する。
[効果の説明]
本実施形態の制約緩和部111は、第1の実施形態の制約緩和部101が生成する緩和問題に比べて依存性が多く反映された緩和問題を生成する。よって、本実施形態の推定距離算出器120は、第1の実施形態の推定距離算出器100よりも推定距離を正確に求めることができる。
また、依存性がより多く反映されるため、本実施形態で生成される緩和問題は、第1の実施形態で生成される緩和問題に比べて複雑になる。しかし、求解部122は、依存木を用いて生成された緩和問題をさらに分割することによって、元の自動計画問題を解く場合に要する計算時間よりも短い計算時間で解を求めることができる。
実施形態4.
[構成の説明]
次に、本発明の第4の実施形態を、図面を参照して説明する。第4の実施形態は、第1の実施形態、第2の実施形態、または第3の実施形態が応用された実施形態である。
図25は、自動計画器200の第4の実施形態の構成例を示すブロック図である。図25に示すように、本実施形態の自動計画器200は、推定距離算出部201と、最短路探索部202と、入力合成部203と、変換部204とを備える。
本実施形態の自動計画器200は、状態要素モデルM を入力とし、A*探索を行うことによって状態要素モデルM 上の最短路である自動計画問題の解を求める。自動計画器200は、入力された状態要素モデルM が展開された大域状態グラフ上の最短路を求めるためにA*探索を行う。
推定距離算出部201は、第1の実施形態の推定距離算出器100と同様の構成および機能、第2の実施形態の推定距離算出器110と同様の構成および機能、または第3の実施形態の推定距離算出器120と同様の構成および機能を有する構成要素である。
最短路探索部202は、状態要素モデルM 上の最短路を探索する機能を有する。最短路探索部202は、入力された大域状態グラフ上の最短路を探索するためにA*探索を行う。
A*探索の実行では、途中で現在状態から目的状態までの推定距離を要する。推定距離が求められた時、最短路探索部202は、入力合成部203を介して推定距離算出部201に推定距離を問い合わせる。最短路探索部202は、推定距離算出部201が返した値を推定距離として用いる。
入力合成部203は、大域状態と状態要素モデルM を組み合わせる機能を有する。入力合成部203は、組み合わせられた大域状態と状態要素モデルM を推定距離算出部201に入力する。
例えば、入力合成部203には、状態要素モデルM と、状態要素モデルM が変換された大域状態G が入力される。入力合成部203は、状態要素モデルM の初期状態が大域状態G に設定し直された状態要素モデルM’を生成し、生成された状態要素モデルM’を出力する。
各大域状態には、「探索済み」フラグ、最短距離、およびスコアの3つの値が保持される。大域初期状態には「探索済み」フラグと最短距離「0」が設定され、スコアは設定されない。
変換部204は、入力された状態要素モデルM を大域状態グラフに変換する機能を有する。変換部204は、例えば特許文献1に記載されている手法と同様の手法で状態要素モデルM を大域状態グラフに変換する。
[動作の説明]
以下、本実施形態の最短路探索部202による最短路探索処理を説明する。図26は、最短路探索部202による最短路探索処理の動作を示すフローチャートである。
最初に、最短路探索部202には、状態要素モデルM と、状態要素モデルM が展開された大域状態グラフが入力される(ステップS400)。次いで、最短路探索部202は、現在状態C を大域初期状態に、移動回数N を0にそれぞれ初期設定する(ステップS401)。最短路探索部202は、1つの現在状態C と移動回数N を保持しながら探索を進める。
次いで、最短路探索部202は、現在状態C から状態遷移可能な大域状態のうち未だスコアが計算されていない大域状態S を取り出す。すなわち、スコア計算ループに入る(ステップS402)。
大域状態S が取り出された後、入力合成部203は、大域状態S と元の自動計画問題が示す状態要素モデルM を合成することによって、状態要素モデルM’を生成する(ステップS403)。入力合成部203は、生成された状態要素モデルM’を推定距離算出部201に入力する。
次いで、推定距離算出部201は、大域状態S から大域目的状態までの推定距離E を算出する(ステップS404)。次いで、最短路探索部202は、N+E+1 を大域状態S のスコアに設定し、N+1 を大域状態S までの最短距離に設定する(ステップS405)。
最短路探索部202は、現在状態C から状態遷移可能な大域状態のうちスコアが計算されていない大域状態S が存在する間、ステップS403〜ステップS405の処理を繰り返し実行する。ステップS403〜ステップS405の処理は大域状態S ごとに、現在状態C から状態遷移可能な大域状態のうちスコアが計算されていない大域状態の数だけ繰り返し実行される。
現在状態C から状態遷移可能な全ての大域状態S のスコアが計算された時、最短路探索部202は、スコア計算ループを抜ける(ステップS406)。
次いで、最短路探索部202は、スコアが算出済みであり、かつ未探索の大域状態のうち、最もスコアが低い大域状態を新たな現在状態C に更新する。また、最短路探索部202は、移動回数N を、新たな現在状態C までの移動距離に更新する(ステップS407)。
なお、ステップS407の処理で現在状態C として選択可能な大域状態がない場合、最短路探索部202は、最短路探索処理を終了する。また、最短路探索部202は、新たな現在状態C に「探索済み」フラグを設定する(ステップS408)。
次いで、最短路探索部202は、現在状態C が大域目的状態であるか否かを判定する(ステップS409)。現在状態C が大域目的状態でない場合(ステップS409におけるNo)、最短路探索部202は、再度ステップS402の処理を行う。
現在状態C が大域目的状態である場合(ステップS409におけるYes)、最短路探索部202は、大域初期状態から現在状態C に到達するまでに辿ったパスを最短路として出力する(ステップS410)。出力した後、最短路探索部202は、最短路探索処理を終了する。
図26に示すアルゴリズムが使用された場合、探索に用いられるヒューリスティック関数が一貫性(consistency) を持つ時に正しい最短経路(最短路)が得られることが知られている。本実施形態の推定距離算出部201は、一貫性を持つヒューリスティック関数として機能する。よって、最短路探索部202は、上記の処理を実行する場合大域初期状態から大域目的状態までの最短経路を返す。
以下、最短路探索部202による最短路探索処理を、図27〜図28を参照して説明する。図27および図28は、最短路探索部202による最短路探索処理の具体例を示す説明図である。
図27〜図28は、大域状態グラフ上の最短路の探索処理を示す。図27(a)〜図27(c)、および図28(a)〜図28(b)は、最短路探索処理の各段階での大域状態グラフを示す。最短路探索処理中の状態グラフは、図27(a)、図27(b)、図27(c)、図28(a)、図28(b)の順に変化する。
図27〜図28に示す円は、大域状態を表す。すなわち、図27〜図28は、大域状態S0〜大域状態S7を示す。また、大域状態S0が初期状態であり、大域状態S7が目的状態である。
図27〜図28に示す大域状態グラフの展開元である状態要素モデルM を図29に示す。図29は、状態要素モデルの他の例を示す説明図である。図29内の各表記の意味は、図40内の各表記の意味と同様である。図27〜図28に示す最短路探索処理では、図29に示す状態要素モデルM が最短路探索部202に入力される。
図29に示す状態要素モデルM は、所定の設定ファイルを読み込む1つのアプリケーションが動いている状況を、更新された設定ファイルを読み込む2つのアプリケーションが動いている状況に変更するタスクを表す。図29に示すタスクでは、アプリケーションのスケールアウトが行われる。
状態要素モデルに含まれる状態要素の数は3つであるため、大域状態は、3つの状態要素の状態の組み合わせで表現される。状態要素Conf、状態要素App1、および状態要素App2の各状態で構成される大域状態を[Conf:(Conf の状態), App1:(App1 の状態), App2:(App2 の状態)]で表す。
例えば、図27〜図28に示すように大域初期状態S0は、S0=[Conf:old, App1:on, App2:off]で表現される。大域状態を表す状態の組は、円内の黒色の箇所に記述されている。
また、図27〜図28に示す大域状態には、大域状態を表す状態の組に加えて、各大域状態がそれぞれ保持する「探索済み」フラグ、最短距離、スコアが内部に記述されている。「探索済み」フラグは円内の右上に、最短距離は円内の左下に、スコアは円内の右下にそれぞれ記述されている。なお、空白の箇所は、その箇所に記述される値が未設定、または未算出であることを示す。
以下、図26に示す動作に従って最短路探索部202による最短路探索処理を説明する。最短路探索部202は、最初に大域初期状態S0から遷移可能な2つの大域状態S1(S1=[Conf:old, App1:on, App2:on]) と大域状態S2(S2=[Conf:old, App1:off, App2:off]) に関して、目的状態までの推定距離を求める。
大域状態S1と状態要素モデルM が入力合成部203に入力されると、入力合成部203は、図30に示す状態遷移モデルM’を生成する(ステップS403)。図30は、状態遷移モデルの他の例を示す説明図である。入力合成部203は、生成された状態遷移モデルM’を推定距離算出部201に入力する。
次いで、推定距離算出部201は、生成された状態遷移モデルM’に基づいて推定距離「5」を得る(ステップS404)。よって、移動距離と合わせると大域状態S1のスコアは「6」になる。同様に、大域状態S2のスコアは、「4」になる(ステップS405)。
現在状態C から到達可能な全ての大域状態のスコアが算出されたので(ステップS406)、最短路探索部202は、現在状態C をスコアが最も低い未探索状態である大域状態S2に更新する(ステップS407)。
また、最短路探索部202は、大域状態S2に「探索済み」フラグを設定する(ステップS408)。大域状態S1および大域状態S2のそれぞれのスコアと最短距離、および大域状態S2の「探索済み」フラグが新たに設定された大域状態グラフを図27(b)に示す。
同様に、最短路探索部202は、大域状態S2から遷移可能な未探索状態に対して再びステップS403〜ステップS405の処理を行い、次いで現在状態C をスコアが最低の大域状態に更新するステップS407〜ステップS408の処理を行う。
最短路探索部202は、図26に示す処理を現在状態C が大域目的状態S7(S7=[Conf:new, App1:on, App2:on]) に更新されるまで繰り返し実行する。現在状態C が大域目的状態S7に更新された段階の大域状態グラフを図28(b)に示す。
最終的に得られる最短経路は、大域状態グラフの大域状態を[Conf:old, App1:on, App2:off] →[Conf:old, App1:off App2:off] →[Conf:new, App1:off, App2:off]→[Conf:new, App1:on, App2:off] →[Conf:new, App1:on, App2:on]の順で遷移する経路である。すなわち、S0→S2→S4→S5→S7の順で遷移する経路である。
また、状態要素E の状態s1から状態s2への遷移を「E:s1→s2」と記載すると、図29に示す自動計画問題の解は、上記の経路を基に「App1:on →off, Conf:old →new, App1:off →on, App2:off→on」の手順であることが分かる。
[効果の説明]
本実施形態の自動計画器200は、状態要素モデルに適したヒューリスティック関数として機能する推定距離算出部201を用いることによって、より高速で最短路を探索できる。すなわち、本実施形態の自動計画器200は、状態要素モデル上の最短路である自動計画問題の解を求めるためのより好適な手法を与える。
以下、各実施形態の推定距離算出器のハードウェア構成の具体例を説明する。図31は、本発明による推定距離算出器のハードウェア構成例を示す説明図である。図31は、各実施形態の推定距離算出器をコンピュータで実現するためのハードウェア構成の一例を示す。
図31に示すように、推定距離算出器は、CPU(Central Prosessing Unit)191と、ROM(Read Only Memory)192と、RAM(Random Access Memory)193と、出力装置194とを備える。構成要素同士は、データバス195で接続されており、データの授受が可能である。また、出力装置194は、例えば表示装置である。
各実施形態の推定距離算出器は、例えば、ROM192に格納されているプログラムに従って処理を実行するCPU191によって実現される。すなわち制約緩和部101、制約緩和部111、求解部102、求解部112、および求解部122は、例えば、プログラム制御に従って処理を実行するCPU191によって実現される。
また、各実施形態の推定距離算出器における各部は、ハードウェア回路によって実現されてもよい。一例として、制約緩和部101、制約緩和部111、求解部102、求解部112、および求解部122が、それぞれLSI(Large Scale Integration)で実現される。また、それらが1つのLSIで実現されていてもよい。
また、第4の実施形態の自動計画器200のハードウェア構成が、図31に示すようなハードウェア構成でもよい。
次に、本発明の概要を説明する。図32は、本発明による推定距離算出器の概要を示すブロック図である。本発明による推定距離算出器10は、複数の状態要素で構成されている状態要素モデルである第1状態要素モデルを基に他の状態要素モデルである第2状態要素モデルを生成する推定距離算出器であって、状態要素は、複数の状態と複数の状態間の遷移条件が付与されている状態遷移とを含み、複数の状態要素のうちのいずれか1つの状態要素と複数の状態要素のうちの1つの状態要素以外の所定の条件を満たす遷移条件が除去された状態要素とで構成される第2状態要素モデルを生成する生成部11(例えば、制約緩和部101)を備える。
そのような構成により、推定距離算出器は、状態要素モデル上の最短路を高速で探索できる。
また、推定距離算出器10は、生成された第2状態要素モデルを入力とし第2状態要素モデルに含まれる現在状態および目的状態に基づいて状態が現在状態から目的状態へ遷移するまでの最小の遷移回数を導出する導出部(例えば、求解部102)を備えてもよい。
また、第2状態要素モデルに含まれる状態遷移のうち使用可能な状態遷移は制限されていてもよい。
そのような構成により、推定距離算出器は、緩和問題を解くことができる。
また、所定の条件を満たす遷移条件は、全ての遷移条件でもよい。
そのような構成により、推定距離算出器は、最も簡略化された緩和問題を生成できる。
また、所定の条件を満たす遷移条件は、複数の状態要素のうちのいずれか1つの状態要素に含まれる遷移条件と関係を有する遷移条件以外の遷移条件でもよい。
また、生成部11は、例えば状態要素モデルと複数の状態要素のうちのいずれか1つの状態要素を入力とし、1つの状態要素を根とする依存木を生成してもよい。具体的には、依存木は、複数の状態要素の一部または全てで構成される節点と、節点のうちの2つの節点に関して一方の節点が含む遷移条件の依存先が他方の節点であるという関係を表す1または複数の有向枝と、節点のうちの1つである根を含む。生成部11は、複数の状態要素のうちのいずれか1つの状態要素と、複数の状態要素のうちの1つの状態要素を根とする依存木の有向枝に沿った遷移条件以外の遷移条件が除去された状態要素とで構成される第2状態要素モデルを生成してもよい。なお、遷移条件には、複数の状態の一部または全てを示す名称で構成される依存先が含まれる。
そのような構成により、推定距離算出器は、依存木を用いて緩和問題を生成できる。
また、導出部は、入力された第2状態要素モデルに含まれる遷移条件が付与されている状態要素と第2状態要素モデルに含まれる遷移条件が除去された複数の状態要素のうちのいずれか1つの状態要素とで構成される状態要素モデルである第3状態要素モデルを生成し、生成された第3状態要素モデルを用いて最小の遷移回数を導出してもよい。
また、導出部は、入力された第2状態要素モデルで表現される緩和問題において使用可能な状態遷移に制限が加えられた問題を生成し、生成された問題を表現する状態要素モデルを基に第3状態要素モデルを生成し、第3状態要素モデルで表現される問題の解を合算することによって最小の遷移回数を導出してもよい。
そのような構成により、推定距離算出器は、状態要素が多く含まれる緩和問題を高速で解くことができる。
また、導出部は、入力された第2状態要素モデルに含まれる複数の状態要素のうちの関連する状態要素群で構成される状態要素モデルである第3状態要素モデルを生成し、生成された第3状態要素モデルを用いて最小の遷移回数を導出してもよい。
また、導出部は、第2状態要素モデルの生成に用いられた依存木を入力とし、入力された依存木の根から1つの有向枝を辿って到達する節点を根とし、依存木が含む状態要素の一部を節点とする複数の依存木を生成し、入力された第2状態要素モデルに含まれる複数の状態要素のうち、複数の依存木のうち1つの依存木に含まれる複数の状態要素で構成される状態要素モデルである第3状態要素モデルを生成し、生成された第3状態要素モデルを用いて最小の遷移回数を導出してもよい。
そのような構成により、推定距離算出器は、部分木を用いて状態要素が多く含まれる緩和問題を高速で解くことができる。
また、生成部11は、第1状態要素モデルを基に生成可能な全ての第2状態要素モデルを生成し、導出部は、生成された全ての第2状態要素モデルを入力とし、入力された各第2状態要素モデルに基づいて最小の遷移回数をそれぞれ導出し、導出された各最小の遷移回数のうち最大の遷移回数を出力してもよい。
そのような構成により、推定距離算出器は、状態要素間の依存性の影響を最も強く受けた状態要素における依存性が加味された推定距離を算出できる。その理由は、依存性の影響を強く受ける状態要素ほど緩和問題にかかる制約が大きくなり、緩和問題の解の距離も長くなるためである。
また、推定距離算出器10は、導出部が出力した最大の遷移回数を目的状態までの推定距離に用いることによって第1状態要素モデルで表現される自動計画問題の解である最短路を探索する探索部(例えば、最短路探索部202)を備えてもよい。
そのような構成により、推定距離算出器は、自動計画問題を高速で解くことができる。
また、導出部は、幅優先探索を行うことによって最小の遷移回数を導出してもよい。
そのような構成により、推定距離算出器は、幅優先探索を用いて自動計画問題を高速で解くことができる。
また、導出部は、第3状態要素モデルに対して遷移列長計算処理を繰り返し実行することによって最小の遷移回数を導出してもよい。
そのような構成により、推定距離算出器は、依存性が多く含まれる緩和問題を高速で解くことができる。
また、図33は、本発明による自動計画器の概要を示すブロック図である。本発明による自動計画器20は、複数の状態要素で構成されている状態要素モデルである第1状態要素モデルを基に他の状態要素モデルである第2状態要素モデルを生成する自動計画器であって、状態要素は、複数の状態と複数の状態間の遷移条件が付与されている状態遷移とを含み、複数の状態要素のうちのいずれか1つの状態要素と複数の状態要素のうちの1つの状態要素以外の所定の条件を満たす遷移条件が除去された状態要素とで構成される第2状態要素モデルを生成する生成部21(例えば、推定距離算出部201)と、生成された第2状態要素モデルを入力とし第2状態要素モデルに含まれる現在状態および目的状態に基づいて状態が現在状態から目的状態へ遷移するまでの最小の遷移回数を導出する導出部22(例えば、推定距離算出部201)と、導出された最小の遷移回数を用いることによって第1状態要素モデルで表現される自動計画問題の解である最短路を探索する探索部23(例えば、最短路探索部202)とを備える。
そのような構成により、自動計画器は、状態要素モデル上の最短路を高速で探索できる。
また、所定の条件を満たす遷移条件は、全ての遷移条件でもよい。
そのような構成により、自動計画器は、最も簡略化された緩和問題を生成できる。
また、所定の条件を満たす遷移条件は、複数の状態要素のうちのいずれか1つの状態要素に含まれる遷移条件と関係を有する遷移条件以外の遷移条件でもよい。
そのような構成により、自動計画器は、依存木を用いて緩和問題を生成できる。
また、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下に限られない。
(付記1)複数の状態要素で構成されている状態要素モデルである第1状態要素モデルを基に他の状態要素モデルである第2状態要素モデルを生成する自動計画器において実行される自動計画方法であって、状態要素は、複数の状態と複数の状態間の遷移条件が付与されている状態遷移とを含み、複数の状態要素のうちのいずれか1つの状態要素と複数の状態要素のうちの1つの状態要素以外の所定の条件を満たす遷移条件が除去された状態要素とで構成される第2状態要素モデルを生成し、生成された第2状態要素モデルを入力とし第2状態要素モデルに含まれる現在状態および目的状態に基づいて状態が現在状態から目的状態へ遷移するまでの最小の遷移回数を導出し、導出された最小の遷移回数を用いることによって第1状態要素モデルで表現される自動計画問題の解である最短路を探索することを特徴とする自動計画方法。
(付記2)複数の状態要素で構成されている状態要素モデルである第1状態要素モデルを基に他の状態要素モデルである第2状態要素モデルを生成するコンピュータにおいて実行される自動計画プログラムであって、状態要素は、複数の状態と複数の状態間の遷移条件が付与されている状態遷移とを含み、コンピュータに、複数の状態要素のうちのいずれか1つの状態要素と複数の状態要素のうちの1つの状態要素以外の所定の条件を満たす遷移条件が除去された状態要素とで構成される第2状態要素モデルを生成する生成処理、生成された第2状態要素モデルを入力とし第2状態要素モデルに含まれる現在状態および目的状態に基づいて状態が現在状態から目的状態へ遷移するまでの最小の遷移回数を導出する導出処理、および導出された最小の遷移回数を用いることによって第1状態要素モデルで表現される自動計画問題の解である最短路を探索する探索処理を実行することを特徴とする自動計画プログラム。
以上、実施形態および実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、2016年7月21日に出願された日本特許出願2016−143311と2016年11月16日に出願された日本特許出願2016−223322を基礎とする優先権を主張し、その開示の全てをここに取り込む。
産業上の利用の可能性
自動計画技術は、人工知能が事前に未来の行動を計算し、計算された行動の実行手順を計画する目的で用いられる。本発明は、状態要素モデル上の最短路を求める自動計画問題を最適化するため、他の部分システムに干渉する複数の小規模な部分システムで構成されるシステムに関する自動計画問題の求解の高速化に好適に適用される。
10、100、110、120 推定距離算出器
11、21 生成部
20 自動計画器
22 導出部
23 探索部
101、111 制約緩和部
102、112、122 求解部
191 CPU
192 ROM
193 RAM
194 出力装置
195 データバス
200 自動計画器
201 推定距離算出部
202 最短路探索部
203 入力合成部
204 変換部

Claims (10)

  1. 複数の状態要素で構成されている状態要素モデルである第1状態要素モデルを基に他の状態要素モデルである第2状態要素モデルを生成する推定距離算出器であって、
    前記状態要素は、複数の状態と前記複数の状態間の遷移条件が付与されている状態遷移とを含み、
    前記複数の状態要素のうちのいずれか1つの状態要素と前記複数の状態要素のうちの前記1つの状態要素以外の所定の条件を満たす遷移条件が除去された状態要素とで構成される前記第2状態要素モデルを生成する生成部を備える
    ことを特徴とする推定距離算出器。
  2. 生成された第2状態要素モデルを入力とし前記第2状態要素モデルに含まれる現在状態および目的状態に基づいて状態が前記現在状態から前記目的状態へ遷移するまでの最小の遷移回数を導出する導出部を備える
    請求項1記載の推定距離算出器。
  3. 所定の条件を満たす遷移条件は、全ての遷移条件である
    請求項2記載の推定距離算出器。
  4. 所定の条件を満たす遷移条件は、複数の状態要素のうちのいずれか1つの状態要素に含まれる遷移条件と関係を有する遷移条件以外の遷移条件である
    請求項2記載の推定距離算出器。
  5. 導出部は、
    入力された第2状態要素モデルに含まれる遷移条件が付与されている状態要素と前記第2状態要素モデルに含まれる遷移条件が除去された複数の状態要素のうちのいずれか1つの状態要素とで構成される状態要素モデルである第3状態要素モデルを生成し、
    生成された前記第3状態要素モデルを用いて最小の遷移回数を導出する
    請求項3記載の推定距離算出器。
  6. 導出部は、
    入力された第2状態要素モデルに含まれる複数の状態要素のうちの関連する状態要素群で構成される状態要素モデルである第3状態要素モデルを生成し、
    生成された前記第3状態要素モデルを用いて最小の遷移回数を導出する
    請求項4記載の推定距離算出器。
  7. 生成部は、
    第1状態要素モデルを基に生成可能な全ての第2状態要素モデルを生成し、
    導出部は、
    生成された前記全ての第2状態要素モデルを入力とし、
    入力された各第2状態要素モデルに基づいて最小の遷移回数をそれぞれ導出し、
    導出された各最小の遷移回数のうち最大の遷移回数を出力する
    請求項2から請求項6のうちのいずれか1項に記載の推定距離算出器。
  8. 複数の状態要素で構成されている状態要素モデルである第1状態要素モデルを基に他の状態要素モデルである第2状態要素モデルを生成し、プロセッサを備える推定距離算出器において実行される推定距離算出方法であって、
    前記状態要素は、複数の状態と前記複数の状態間の遷移条件が付与されている状態遷移とを含み、
    前記プロセッサが、
    前記複数の状態要素のうちのいずれか1つの状態要素と前記複数の状態要素のうちの前記1つの状態要素以外の所定の条件を満たす遷移条件が除去された状態要素とで構成される前記第2状態要素モデルを生成する
    ことを特徴とする推定距離算出方法。
  9. 複数の状態要素で構成されている状態要素モデルである第1状態要素モデルを基に他の状態要素モデルである第2状態要素モデルを生成するコンピュータにおいて実行される推定距離算出プログラムであって、
    前記状態要素は、複数の状態と前記複数の状態間の遷移条件が付与されている状態遷移とを含み、
    前記コンピュータに、
    前記複数の状態要素のうちのいずれか1つの状態要素と前記複数の状態要素のうちの前記1つの状態要素以外の所定の条件を満たす遷移条件が除去された状態要素とで構成される前記第2状態要素モデルを生成する生成処理
    を実行させるための推定距離算出プログラム。
  10. 複数の状態要素で構成されている状態要素モデルである第1状態要素モデルを基に他の状態要素モデルである第2状態要素モデルを生成する自動計画器であって、
    前記状態要素は、複数の状態と前記複数の状態間の遷移条件が付与されている状態遷移とを含み、
    前記複数の状態要素のうちのいずれか1つの状態要素と前記複数の状態要素のうちの前記1つの状態要素以外の所定の条件を満たす遷移条件が除去された状態要素とで構成される前記第2状態要素モデルを生成する生成部と、
    生成された前記第2状態要素モデルを入力とし前記第2状態要素モデルに含まれる現在状態および目的状態に基づいて状態が前記現在状態から前記目的状態へ遷移するまでの最小の遷移回数を導出する導出部と、
    導出された前記最小の遷移回数を用いることによって前記第1状態要素モデルで表現される自動計画問題の解である最短路を探索する探索部とを備える
    ことを特徴とする自動計画器。
JP2018528471A 2016-07-21 2017-06-30 推定距離算出器、推定距離算出方法、推定距離算出プログラムおよび自動計画器 Active JP6947179B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2016143311 2016-07-21
JP2016143311 2016-07-21
JP2016223322 2016-11-16
JP2016223322 2016-11-16
PCT/JP2017/024230 WO2018016299A1 (ja) 2016-07-21 2017-06-30 推定距離算出器、推定距離算出方法、推定距離算出プログラムおよび自動計画器

Publications (2)

Publication Number Publication Date
JPWO2018016299A1 JPWO2018016299A1 (ja) 2019-05-09
JP6947179B2 true JP6947179B2 (ja) 2021-10-13

Family

ID=60992454

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018528471A Active JP6947179B2 (ja) 2016-07-21 2017-06-30 推定距離算出器、推定距離算出方法、推定距離算出プログラムおよび自動計画器

Country Status (3)

Country Link
US (1) US11138351B2 (ja)
JP (1) JP6947179B2 (ja)
WO (1) WO2018016299A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190244111A1 (en) * 2018-02-02 2019-08-08 University Of New Hampshire Avoiding dead ends in real-time heuristic search
US10732940B2 (en) 2018-04-27 2020-08-04 EMC IP Holding Company LLC Enterprise services framework for presentation layer management
US10740537B2 (en) * 2018-11-01 2020-08-11 Dell Products L.P. Enterprise form dependency visualization and management

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014055037A (ja) * 2012-09-11 2014-03-27 International Business Maschines Corporation 積載操作方法、システム及びコンピュータ・プログラム。
US20150324305A1 (en) 2014-05-09 2015-11-12 Vanderbilt University Change management system, change management method, and change management program

Also Published As

Publication number Publication date
JPWO2018016299A1 (ja) 2019-05-09
WO2018016299A1 (ja) 2018-01-25
US11138351B2 (en) 2021-10-05
US20190236226A1 (en) 2019-08-01

Similar Documents

Publication Publication Date Title
JP6947179B2 (ja) 推定距離算出器、推定距離算出方法、推定距離算出プログラムおよび自動計画器
Fischer et al. Dynamic graph generation for the shortest path problem in time expanded networks
Kwiatkowski et al. A survey on reinforcement learning methods in character animation
JP6711949B2 (ja) 1個以上の障害物を回避して始状態から終状態集合まで移動する物体の経路を決定する方法およびシステム
Jawarneh et al. Sequential insertion heuristic with adaptive bee colony optimisation algorithm for vehicle routing problem with time windows
JP2019121137A (ja) 最適化装置および最適化装置の制御方法
US20160371333A1 (en) System and method for computational planningin a data-dependent constraint management system
Mzili et al. A novel discrete Rat swarm optimization (DRSO) algorithm for solving the traveling salesman problem
Bouchard et al. Asynchronous approach in the plane: a deterministic polynomial algorithm
Zöller et al. Incremental search space construction for machine learning pipeline synthesis
He et al. A filter-and-fan approach with adaptive neighborhood switching for resource-constrained project scheduling
Turpin et al. An approximation algorithm for time optimal multi-robot routing
Ogata A generic approach on how to formally specify and model check path finding algorithms: Dijkstra, A* and LPA
Ganganath et al. Rapidly replanning A
US11842136B2 (en) Electrical circuit design
JP2009199446A (ja) 時系列パターン発見装置及び方法
Pereira et al. Heterogeneous multi-agent planning using actuation maps
Hvězda Comparison of path planning methods for a multi-robot team
López-Ibáñez et al. Beam-ACO based on stochastic sampling for makespan optimization concerning the TSP with time windows
JP6618454B2 (ja) 計算装置、方法、及びプログラム
JP6548209B2 (ja) 処理装置、処理方法、及び、プログラム
Thiele et al. Development of a reinforcement learning inspired monte carlo tree search design optimization algorithm for fixed-wing vtol uav propellers
CN112115072B (zh) 时序图的处理方法及装置
Thiébaux et al. Operations Planning
Dai et al. Fast-reactive probabilistic motion planning for high-dimensional robots

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190115

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200512

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210420

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210614

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210830

R150 Certificate of patent or registration of utility model

Ref document number: 6947179

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150