STRIPS
これまで説明した言語は、提案段階の STRIPS である。実際には、条件は物体(オブジェクト)に関するものであることが多い。例えば、ロボットの位置をモデル化する際に述語 A t {\displaystyle At} を使い、 A t ( r o o m 1 ) {\displaystyle At(room1)} なら、ロボットが Room1 にいるという意味を表す。この場合、行動には自由変項があり、それが暗黙のうちに存在量化される。すなわち、ある行動は各自由変項を特定の値と置換することによって得られる全ての可能な命題的行動を表している。
これまでの説明では、初期状態は必ず全て判明しているとみなしていた。つまり、 I {\displaystyle I} に含まれない条件は全て偽であるとされた。この条件は限定的すぎることが多く、具体的に条件を設定しようとすると、初期状態が完全にはわからないことが多い。STRIPS を拡張して部分的な初期状態を扱えるようにする試みがなされてきた。他にも様々な拡張がなされている。
, a n ] ) = succ  ( succ  ( s , a 1 ) , [ a 2 , ... , a n ] ) {\displaystyle \operatorname {succ} (s,[a_{1},a_{2},\ldots ,a_{n}])=\operatorname {succ} (\operatorname {succ} (s,a_{1}),[a_{2},\ldots ,a_{n}])}
STRIPS のインスタンスの計画は、初期状態から目標状態へと遷移させる一連の行動の並びである。形式的には、 s = succ  ( I , [ a 1 , a 2 , ... , a n ] ) {\displaystyle s=\operatorname {succ} (I,[a_{1},a_{2},\ldots ,a_{n}])} が G ⊆ s {\displaystyle G\subseteq s} を満たす場合、プラン π = [ a 1 , a 2 , ... , a n ] {\displaystyle \pi =[a_{1},a_{2},\ldots ,a_{n}]} がこのインスタンスの解となる。