Action language
Encyclopedia
In computer science
, an action language is a language for specifying state transition system
s, and is commonly used to create formal models of the effects of actions on the world. Action languages are commonly used in the artificial intelligence
and robotics
domains, where they describe how actions affect the states of systems over time, and may be used for automated planning.
The best known action language is PDDL .
Action languages fall into two classes: action description languages and action query languages. Examples of the former include STRIPS
, PDDL, Language A (a generalization of STRIPS; the propositional part of Pednault's ADL
), Language B (an extension of A adding indirect effects, distinguishing static and dynamic laws) and Language C (which adds indirect effects also, and does not assume that every fluent is automatically "inertial"). There are also the Action Query Languages P, Q and R. Several different algorithms exist for converting action languages, and in particular, action language C, to answer set programs. Since modern answer-set solvers make use of boolean SAT algorithms to very rapidly ascertain satisfiability, this implies that action languages can also enjoy the progress being made in the domain of boolean SAT solving.
with a set F of fluents, a set V of values that fluents may take, and a function mapping S × F to V, where S is the set of states of a state transition system.
Computer science
Computer science or computing science is the study of the theoretical foundations of information and computation and of practical techniques for their implementation and application in computer systems...
, an action language is a language for specifying state transition system
State transition system
In theoretical computer science, a state transition system is an abstract machine used in the study of computation. The machine consists of a set of states and transitions between states, which may be labeled with labels chosen from a set; the same label may appear on more than one transition...
s, and is commonly used to create formal models of the effects of actions on the world. Action languages are commonly used in the artificial intelligence
Artificial intelligence
Artificial intelligence is the intelligence of machines and the branch of computer science that aims to create it. AI textbooks define the field as "the study and design of intelligent agents" where an intelligent agent is a system that perceives its environment and takes actions that maximize its...
and robotics
Robotics
Robotics is the branch of technology that deals with the design, construction, operation, structural disposition, manufacture and application of robots...
domains, where they describe how actions affect the states of systems over time, and may be used for automated planning.
The best known action language is PDDL .
Action languages fall into two classes: action description languages and action query languages. Examples of the former include STRIPS
STRIPS
In artificial intelligence, STRIPS is an automated planner developed by Richard Fikes and Nils Nilsson in 1971. The same name was later used to refer to the formal language of the inputs to this planner...
, PDDL, Language A (a generalization of STRIPS; the propositional part of Pednault's ADL
ADL
Adl is an Arabic word meaning justice.The abbreviation ADL may refer to:*Activities of daily living, a term used in medicine and nursing, especially in the care of the elderly...
), Language B (an extension of A adding indirect effects, distinguishing static and dynamic laws) and Language C (which adds indirect effects also, and does not assume that every fluent is automatically "inertial"). There are also the Action Query Languages P, Q and R. Several different algorithms exist for converting action languages, and in particular, action language C, to answer set programs. Since modern answer-set solvers make use of boolean SAT algorithms to very rapidly ascertain satisfiability, this implies that action languages can also enjoy the progress being made in the domain of boolean SAT solving.
Formal definition
All action languages supplement the definition of a state transition systemState transition system
In theoretical computer science, a state transition system is an abstract machine used in the study of computation. The machine consists of a set of states and transitions between states, which may be labeled with labels chosen from a set; the same label may appear on more than one transition...
with a set F of fluents, a set V of values that fluents may take, and a function mapping S × F to V, where S is the set of states of a state transition system.