Planning

Definition

Factored represenation of the world - each state in the world represented by a set of variables.

Planning

coming up with sequence of actions that will achieve a goal.

Reasoning about the results of actions

frame problem ... what are things that stay unchanged after action?

would require a lot of axioms to describe.

ramification problem ... what are the implicit effects?

qualification problem ... what are preconditions for actions?

deals with a correct conceptualisation of things (no answer).

Classical Planning Environments

Used in classical planning:

  • fully observable
  • deterministic, finite
  • static (change happens only when the agent acts)
  • discrete in time, actions, objects, and effects

STRIPS

Is a representation / planning language.

Describes the 4 things needed to define a search problem:

  1. Initial state
  1. Actions available in a state Action(s)\text{Action(s)}
  1. Result of applying action Result(s,a)\text{Result(s,a)}
  1. Goal state

Representations in STRIPS

states

conjunction of positive literals (atoms) that represent a state.

Any unmentioned state is assumed false (= closed world assumption).

literals are atomic fomulas or their negation - can be propositional-logic or first-order-logic.

literals must be ground (= variable free) and function free.

  • Example

    Allowed RichInJailRich \wedge InJail

    No allowed At(x,y)\text{At}(x, y) or At(president(Russia), Kremlin)\text {At(president(Russia), Kremlin)}

goals

Is a state. Cannot contain negative literals

  • Example

    The state  Rich  Famous  InJail  \text { Rich } \wedge \text { Famous } \wedge \text { InJail }  satisfies the goal  Rich  Famous\text { Rich } \wedge \text { Famous} .

actions

action schemas represent all different actions that can occur if we instatiate the variables with constants and consist of:

  1. action name, parameter list
  1. precondition (cannot contain negative literals)

    stating what must be true in a state before the action can be executed - then the action is applicable.

    Can only contain variables in the parameter list.

  1. effect

    describing how the state changes when the action is executed.

    Can only contain variables in the parameter list

    Some planning systems divide the effect into add list for positive literals and delete list for negative literals.

results

The result of executing an action aa in state ss is a state ss' :

  • adding all positive literals from the effect of aa(only added once)
  • removing all positive literals where their negation appears in the effect of aa

Every unmentioned literal remains unchanged (= STRIPS assumption)

solution

action sequence that when executed in the initial state - results in a state that satisfies the goal.

Every action sequence that maintains the partial order is a solution. (see: partially ordered sets)

Language variants

Action Description Language ADL

Variant of STRIPS.

Allows typing - p : Plane\text{p : Plane} means Plane(p)\text{Plane(p)} .

Allows preconditions such as fromto\text{from} \not =\text{to} .

Allows quantors such as \exist .

STRIPS vs. ADL

STRIPS

  • only positive literals in states
  • closed-world-assumption: unmentioned literals are false
  • Effect P¬QP \wedge \neg Q means add PP and delete QQ
  • only ground atoms in goals
  • Effects are conjunctions
  • No support for equality or types

ADL

  • positive and negative literals in states
  • open-world-assumption: unmentioned literals are unknown
  • Effect P¬QP \wedge \neg Q means add PP and ¬Q\neg Q delete QQ and ¬P\neg P
  • goals contain \exists quantor
  • goals allow conjunction and disjunction
  • conditional effects are allowed: P:EP:E means EE is only an effect if PP is satisfied
  • equality and types built in

Planning Domain Definition Language PDDL

includes sublanguages for STRIPS and ADL

Restrictions of ADL and STRIPS