14. 3.5 プランニング(と実践)
General Problem Solver(GPS) [Ernstら, 1969]:
最も古典的で簡素なプランナ
現在状態と目標状態の差異を減少させるオペレータを選
択し、現在状態にそのオペレータを適用していくという
プロセスを繰り返すことで目標状態を達成する
start goal
A, B A, X
operator 1
subgoal preCond delList addList
Y Y X
14
15. (参考)GPS
GPS(S, G):状態Sに適切なopの系列を適用して状態Gに変換する
1. S と G の差異を求める。差異がない場合は return S
2. 差異を重要な順に列挙する。
3. 差異を縮めるのに有効なオペレータを列挙する。
4. 3. からオペレータを1つ選ぶ。これを op とし、その前提条件を pc
とする。選ぶオペレータがなくなった場合は return false
5. S1 = GPS(S, pc) S1 = false になった場合は4. に戻る。
6. S1 に op を適用して、その結果の状態を S2 とする。
7. return GPS(S2, G)
S pc S1 S2 G
S1 = GPS(S, pc) op GPS(S2, G)
15