Jump to content

Action description language: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Kikoso (talk | contribs)
No edit summary
Kikoso (talk | contribs)
No edit summary
Line 18: Line 18:
# ψ represents a formula
# ψ represents a formula
# The sequence z<sub>1</sub>,...,z<sub>k</sub> are variable symbols that appear in the terms τ<sub>1</sub>,...,τ<sub>n</sub>, but not in the parameter list of the action schema
# The sequence z<sub>1</sub>,...,z<sub>k</sub> are variable symbols that appear in the terms τ<sub>1</sub>,...,τ<sub>n</sub>, but not in the parameter list of the action schema
# x<sub>1</sub>,...,x<sub>n</sub> are variable symbols that are different from the variables z<sub>1</sub>,...,z<sub>n</sub> and do not appear in τ<sub>1</sub>,...,τ<sub>n</sub>, ψ , or the parameter list of the action schema
# x<sub>1</sub>,...,x<sub>n</sub> are variable symbols that are different from the variables z<sub>1</sub>,...,z<sub>n</sub> and do not appear in τ<sub>1</sub>,...,τ<sub>n</sub>, ψ , or the parameter list of the action schema


The Update groups are used to specify the update conditions to change the values of function symbols. An Update group consists of a set of clauses of the forms shown in the left column of the figure 2:
The Update groups are used to specify the update conditions to change the values of function symbols. An Update group consists of a set of clauses of the forms shown in the left column of the figure 2:
Line 24: Line 24:


==Semantics of ADL==
==Semantics of ADL==
The formal semantic of ADL is defined by 4 constraints. The first constraint is that actions may not change the set of objects that exist in the world; that means that for every action and every current-state/next-state pair (s, t) ∈ a, it must be the case that the domain of t should be equal to the domain of s.
The formal semantic of ADL is defined by 4 constraints. The first constraint is that actions may not change the set of objects that exist in the world; that means that for every action α and every current-state/next-state pair (s, t) ∈ a, it must be the case that the domain of t should be equal to the domain of s.


The second constraint is that actions in ADL must be deterministic. If (s, t1) and (s, t2) are current-state/next-state pairs of action ∃, then it must be the case that t1 = t2.
The second constraint is that actions in ADL must be deterministic. If (s, t1) and (s, t2) are current-state/next-state pairs of action ∃, then it must be the case that t1 = t2.
Line 30: Line 30:
The third constraint incorporated into ADL is that the functions introduced above must be representable as first-order formulas. For every n-ary relation symbol R, there must exist a formula Φ<sup>a</sup><sub>R</sub> x<sub>1</sub>,... ,x<sub>n</sub>) with free variables x<sub>2</sub>,...,x<sub>n</sub> such that f<sup>a</sup><sub>R</sub>(s) is given by:
The third constraint incorporated into ADL is that the functions introduced above must be representable as first-order formulas. For every n-ary relation symbol R, there must exist a formula Φ<sup>a</sup><sub>R</sub> x<sub>1</sub>,... ,x<sub>n</sub>) with free variables x<sub>2</sub>,...,x<sub>n</sub> such that f<sup>a</sup><sub>R</sub>(s) is given by:


t(R) = f<sup>a</sup><sub>R</sub>(s) = (d<sub>1</sub>,... , d<sub>n</sub>) ∈ Dom(s)<sup>n</sup> | s[d<sub>1</sub>/x<sub>1</sub>,...,d<sub>n</sub>/x<sub>n</sub> ⊧ Φ<sup>a</sup><sub>R</sub>(x<sub>1</sub>,x<sub>n</sub>)]

Consequently, F(n<sub>1</sub>,...,x<sub>n</sub>) = y will be true after performing action |= if and only if �Φ<sup>a</sup><sub>R</sub> (x<sub>1</sub>,... ,x<sub>n</sub>,y) was true beforehand. Note that this representability requirement relies on the first constraint ( Domain of f should be equal to domain of s).

The fourth and final constraint incorporated into ADL is that set of states in which an action is executable must also be representable as a formula. For every action � that can be represented in ADL, there must exist a formula Π�<sup>a</sup> with the property that s | = �Π�<sub>a</sub> if and only if there is some state t for which (s, t ) ∈ α � (i.e. action �α is executable in state s)


==Complexity of planning==
==Complexity of planning==

Revision as of 13:52, 7 September 2010

In artificial intelligence, Action description language (ADL) is an automated planning and scheduling system in particular for robots. It is considered an advancement of STRIPS. Pednault proposed this language in 1987.

Pednault observed that the expressive power of STRIPS was susceptible of being improved by allowing the effects of an operator to be conditional. This is the main idea of ADL-A, which is basically the propositional fragment of the ADL proposed by Pednault [1]. ADL-B is an extension of A. In this extension, actions can be described with indirect effects by the introduction of a new kind of propositions, ”static laws. A third variation of ADL is ADL-C. This last one is similar to B, in the sense that its propositions can be classified into static and dynamic laws. But there are some more particularities[2]

The sense of a planning language is to represent certain conditions in the environment, and, based on these, automatically generate a chain of actions which lead to a desired goal. A goal is a certain partially specified condition. Before an action can be executed, its preconditions must be fulfilled; after the execution, the action yields effects, by which the environment changes. The environment is described by means of certain predicates, which are either fulfilled or not.

Contrary to STRIPS, the principle of the open world applies with ADL: everything not occurring in the conditions is unknown (Instead of being assumed false). In addition, while in STRIPS only positive literals and conjunctions are permitted, ADL allows negative literals and disjunctions as well.

Syntax of ADL

An ADL schema consists of an action name, an optional parameter list and four optional groups of clauses labeled Precond, Add, Delete and Update. The Precond group is a list of formulas that define the preconditions for the execution of an action. If the set is empty, the value TRUE is thus inserted into the group, and the preconditions are always evaluated as holding conditions. The Add and Delete conditions are specified by the Add and Delete groups, respectively. Each group consists of a set of clauses of the forms shown in the left-hand column of the figure 1:

File:ADLSyntax-Pednault.png
Figure 1
  1. The R represents a relation symbol
  2. τ1,...,τn represents terms
  3. ψ represents a formula
  4. The sequence z1,...,zk are variable symbols that appear in the terms τ1,...,τn, but not in the parameter list of the action schema
  5. x1,...,xn are variable symbols that are different from the variables z1,...,zn and do not appear in τ1,...,τn, ψ , or the parameter list of the action schema

The Update groups are used to specify the update conditions to change the values of function symbols. An Update group consists of a set of clauses of the forms shown in the left column of the figure 2:

File:ADLSyntax-UpdateClauses-Pednault.png
Figure 2

Semantics of ADL

The formal semantic of ADL is defined by 4 constraints. The first constraint is that actions may not change the set of objects that exist in the world; that means that for every action α and every current-state/next-state pair (s, t) ∈ a, it must be the case that the domain of t should be equal to the domain of s.

The second constraint is that actions in ADL must be deterministic. If (s, t1) and (s, t2) are current-state/next-state pairs of action ∃, then it must be the case that t1 = t2.

The third constraint incorporated into ADL is that the functions introduced above must be representable as first-order formulas. For every n-ary relation symbol R, there must exist a formula ΦaR x1,... ,xn) with free variables x2,...,xn such that faR(s) is given by:

t(R) = faR(s) = (d1,... , dn) ∈ Dom(s)n | s[d1/x1,...,dn/xn ⊧ ΦaR(x1,xn)]

Consequently, F(n1,...,xn) = y will be true after performing action |= if and only if �ΦaR (x1,... ,xn,y) was true beforehand. Note that this representability requirement relies on the first constraint ( Domain of f should be equal to domain of s).

The fourth and final constraint incorporated into ADL is that set of states in which an action is executable must also be representable as a formula. For every action � that can be represented in ADL, there must exist a formula Π�a with the property that s | = �Π�a if and only if there is some state t for which (s, t ) ∈ α � (i.e. action �α is executable in state s)

Complexity of planning

In terms of computational efficiency, ADL can be located between STRIPS and the situation calculus [3]. Any ADL problem can be translated into a STRIPS instance. However, existing compilation techniques are worst-case exponential [4]. This wort case cannot be improved if we are willing to preserve the length of plans polynomially [5], and thus ADL is strictly more brief than STRIPS.

ADL planning, however, is still a PSPACE-complete problem.Most of the algorithms polynomial space even if the preconditions and effects are complex formulae [6].

Interestingly, most of the top-performing approaches to classical planning internally utilize a STRIPS like representation. In fact, most of the planners (FF, LPG, Fast-Downward, SGPLAN5 , LAMA) first translate the ADL instance into one that is essentially a STRIPS one (without conditional or quantified effects or goals).

Example

Consider the problem of air freight transport, where certain goods must be transported from an airport to another airport by plane and where airplanes need to be loaded and unloaded.

The necessary actions would be loading, unloading and flying; over the descriptors one could express In(c, p) and At(x, a) whether a freight C is in an airplane p and whether an object x is at an airport A.

The actions could be defined then as follows:

Action (
  Load (c: Freight, p: Airplane, A: Airport)
  Precondition: At(c, A) ^ At(p, A)
  Effect: ¬At(c, A) ^ In(c, p)
)
Action (
  Unload (c: Freight, p: Airplane, A: Airport)
  Precondition: In(c, p) ^ At(p, A) 
  Effect: At(c, A) ^ ¬In(c, p)
)
Action (
  Fly (p: Airplane, from: Airport, to: Airport)
  Precondition: At(p, from)
  Effect: ¬At(p, from) ^ At(p, to)
)

Notes

  1. ^ Pednault. Formulating multi-agent dynamic-world problems in the classical planning framework. In Michael Georgeff and Amy Lansky, editors, Reasoning about actions and plans pages 47-82. Morgan Kaufmann, San Mateo, CA, 1987.
  2. ^ Action Languages. Michael Gelfond and Vladimir Lifschitz.
  3. ^ Edwin P.D. Pednault. ADL. Exploring the Middle Ground Between STRIPS and the Situation Calculus. In Proceedings of KR-89, 324-332.
  4. ^ Gazen, B. C. and Knoblock, C. A. Combining the Expressivity of UCPOP with the efficiency of Graphplan. In ECP97, pp. 221233. Toulouse, France. 1997
  5. ^ Nebel, B. On the Compilability and Expressive Power of Propositional Planning Formalisms. Journal of Artificial Intelligence Research, 12, 271315. 2000
  6. ^ Jorge A. Baier. Effective Search Techniques for Non-Classical Planning via Reformulation. PhD. Thesis, University of Toronto, 2003.

See also