1. 定義と概要
プランニング(自動計画)とは、ロボットなどの人工知能が目標を達成するために必要な行動の並び(計画)を自動的に組み立てる技術です。具体的には、①初期状態(計画を始める前の、今の状況を表す状態)、②目標状態(最終的に到達したい、達成すべき状況を表す状態)、③とりうる行動の集合、という3つを入力として与えます。
そのうえで、それぞれの行動が持つ前提条件(その行動を実行するためにあらかじめ満たしておく必要がある条件)と結果(行動の実行によって新たに変化する状態)を踏まえます。これをもとに、初期状態から目標状態に至る行動の並びを、探索(起こりうる状態を順に調べて解を見つける処理)によって見つけ出します。
この分野の代表的な記述方式として「STRIPS」が知られています。行動を前提条件・削除リスト(その行動によって成り立たなくなる事柄)・追加リスト(その行動によって新たに成り立つ事柄)の3要素で記述する方式で、詳しい定義や具体例は別記事に譲ります。
従来、ロボットの行動手順は人間があらかじめ細かく指定しておく必要があり、状況が少しでも変化すると対応できないという課題がありました。そこで、目標状態と行動の前提条件・結果さえ定義しておけば、あとは探索によってコンピュータが自動的に行動の並びを導き出せるという発想が生まれました。
1968年から1970年にかけてテリー・ウィノグラードが開発したSHRDLU(積み木の世界で自然言語の指示を理解し、プランニングを実現した対話型のAIシステム)は、積み木の世界(ブロックワールド。ブロックの配置や移動を扱う簡略化された仮想空間)という題材の中で、この考え方を実現した研究として知られています。続いて1971年に発表された「STRIPS」は、行動を簡潔な形式で記述する代表的な方式として、プランニング研究の基礎を築きました。
2. 試験対策ポイント
プランニングは、初期状態・目標状態・とりうる行動(前提条件と結果の組)の3つを入力とし、探索によって目標状態に至る行動の並びを見つける技術であるという理解が出発点になります。行動の並びを見つける「手段」が探索であり、プランニングはその探索を使う「目的側」の営みという関係にあります。
代表的な記述方式である「STRIPS」は、行動を先ほどの3要素で記述します。STRIPSという名称は、1971年にリチャード・ファイクスとニルス・ニルソンが発表した点とあわせて知られています。
一方SHRDLUは、積み木の世界でプランニングを実現した対話型システムとして、STRIPSと並ぶ代表例に位置づけられます。STRIPSが行動を記述する方式そのものであるのに対し、SHRDLUはその考え方を積み木の世界で動くシステムとして実現した研究であり、両者の役割の違いは取り違えやすい点です。
プランニングの分類として、静的プランニング(環境が変化しないことを前提に、あらかじめすべての行動を決めておく計画の立て方)と、動的プランニング(状況の変化に応じて計画を途中で修正しながら進める計画の立て方)を区別する整理もあります。前者は環境が既知で変化しない場合に、後者は環境が未知だったり途中で変化したりする場合に適した考え方です。
また、題材としてハノイの塔(円盤とポールを使い、ルールに沿って円盤を目標の並びまで移動させるパズル)が用いられることがあります。初期状態から目標状態まで円盤を移動させる手順を求める問題として、プランニングの考え方を具体的に確認できます(手順の詳細は別記事に譲ります)。
3. 関連概念との比較・相違点
探索一般との最大の違いは、行動ごとの前提条件と結果を扱うかどうかにあります。探索は状態空間をしらみつぶしにたどって目標状態への道筋を見つける処理全般を指すのに対し、プランニングは行動ごとの前提条件と結果(効果)を明示的に定義したうえで探索を利用し、行動の並びそのものを自動的に組み立てる点に特徴があります。探索はプランニングが使う手段であり、プランニングはその探索を用いて計画を完成させる目的側の営みという上下関係にあります。
STRIPSとの最大の違いは、対象とする範囲の広さです。プランニングは初期状態から目標状態に至る行動の並びを自動的に組み立てる研究分野・技術全般を指し、STRIPSはその行動を前提条件・削除リスト・追加リストという簡潔な形式で記述する代表的な方式の一つに当たります。上位概念であるプランニングと、個別の記述方式であるSTRIPSの関係であり、STRIPSをプランニングそのものと同一視しないことが論点になります(3要素の詳細は別記事に譲ります)。
現実世界への適用の難しさとの関係で最大の論点になるのは、フレーム問題(考慮すべき事柄が無数にある現実世界で、関係のある情報だけを選び出すことが難しいというAIの課題)です。積み木の世界のように状態や行動があらかじめ限定された環境では、プランニングは有効に機能します。
しかし現実世界のように考慮すべき事柄が無数にある環境では、行動の前提条件や結果に関係のある事柄だけを選び出すこと自体が難しくなります。この課題はフレーム問題として知られ、プランニングを現実の複雑な問題へそのまま適用する際の壁として位置づけられます(詳細は別記事に譲ります)。
4. ビジネス・実務での活用シナリオ
物流・倉庫の自動化では、搬送ロボットが荷物の配置や搬送経路を初期状態・目標状態として定義し、各行動の前提条件を確認しながら次の行動を選び出すことで、目的地までの搬送手順を自動的に組み立てます。人手による経路指定に頼らず、荷物の配置が変わるたびに手順を自動生成できる点が、倉庫内の作業効率を支えています。
生産スケジューリングの現場では、製造工程の順序や設備の空き状況を状態として扱い、各工程が満たすべき前提条件と完了後の結果を定義することで、納期までの作業手順を体系的に計画します。工程間の依存関係を人手で調整する負担を減らし、設備稼働の変化にも対応できる計画を組み立てられる点に意義があります。
ゲームAI・NPC(Non Player Character。プレイヤーが操作しないキャラクター)行動制御の分野では、対戦ゲームやシミュレーションのキャラクターが、状況に応じて達成すべき目標状態を切り替えながら、前提条件と結果の組み合わせで次の行動を自動的に選択します。STRIPS由来の考え方を応用した「GOAP」(Goal Oriented Action Planning)という手法が、ゲームAIの行動計画に用いられています。
5. 要点まとめ
- プランニングとは、初期状態・目標状態・とりうる行動(前提条件と結果)を定義し、探索によって目標達成までの行動の並びを自動的に組み立てる技術です。
- 行動を前提条件・削除リスト・追加リストの3要素で記述するSTRIPSが代表的な記述方式として知られ、積み木の世界でプランニングを実現したSHRDLUと並んで扱われます。
- 環境が既知・不変な前提で計画する静的プランニングと状況の変化に応じて計画を修正する動的プランニングの区別があり、現実世界への適用を難しくするフレーム問題という課題があります。
6. 確認問題
問1プランニングとは、初期状態・目標状態・とりうる行動の集合を定義し、探索によって目標状態に至る行動の並びを自動的に組み立てる技術である。
解答・解説をみる
○ 正しい
定義のとおりです。各行動は前提条件と結果(効果)を持ち、これをもとに初期状態から目標状態に至る行動の並びが探索によって見つけ出されます。
問2STRIPSは、プランニングという研究分野全体を指す名称であり、行動を前提条件・結果で記述する個別の記述方式はSHRDLUと呼ばれる。
解答・解説をみる
× 誤り
この記述は説明が逆になっています。正しくは、プランニングが行動の並びを自動的に組み立てる研究分野・技術全般を指す名称であり、STRIPSはその中で行動を前提条件・削除リスト・追加リストの3要素で記述する代表的な方式の一つです。SHRDLUは積み木の世界でプランニングを実現した対話型システムであり、記述方式そのものを指す用語ではありません。両者の役割を入れ替えた記述は取り違えやすい点です。
問3プランニングには、環境が既知で変化しないことを前提に事前にすべての行動を決めておく静的プランニングと、環境の変化に応じて計画を修正しながら進める動的プランニングの区別がある。
解答・解説をみる
○ 正しい
静的プランニングは環境が既知・不変な場合に有効であるのに対し、動的プランニングは未知または途中で変化する状況に対応するため行動計画を随時修正しながら進めます。

