From 2281cd1cd481a5af073c841bf9b351674ae01e86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patrick=20L=C3=BChne?= Date: Sun, 14 Aug 2016 15:14:27 +0200 Subject: [PATCH] Documented actions. --- doc/output-format.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/doc/output-format.md b/doc/output-format.md index 9928c59..b147079 100644 --- a/doc/output-format.md +++ b/doc/output-format.md @@ -87,3 +87,30 @@ With PDDL, Boolean variables are created from the PDDL predicates. Variables ared named after the PDDL predicates, `variable().` Each variable contains exactly two values (one true, one false) of the form `value(, )`. Note that with PDDL, variables and values are named identically. + +### Actions + +```prolog +% declares an +action(action()). + +% defines that as a precondition to , must have value +precondition(, , ). + +% defines that after executing , is assigned +postcondition(, effect(), , ). + +% defines the condition of a conditional effect +precondition(effect(), , ). +``` + +Actions may require certain variables to have specific values in order to be executed. +After applying an action, variables get new values according to the action's postconditions. + +Actions may have *conditional effects*, that is, certain postconditions are only applied if additional conditions are satisfied. +For this reason, each conditional effect is uniquely identified with a predicate `effect()` as the second argument of the `postcondition` facts. +The conditions of conditional effects are given by additional `precondition` facts that take the respective `effect()` predicates as the first argument. + +Unconditional effects are identified with `effect(unconditional)`. + +Conditional effects are currently only supported with SAS input problems.