Documented axiom rules.
This commit is contained in:
parent
bdb6ac9fba
commit
b9aef10db3
@ -104,7 +104,7 @@ action(action(<name>)).
|
|||||||
% defines that as a precondition to <action>, <variable> must have value <value>
|
% defines that as a precondition to <action>, <variable> must have value <value>
|
||||||
precondition(<action>, <variable>, <value>).
|
precondition(<action>, <variable>, <value>).
|
||||||
|
|
||||||
% defines that after executing <action>, <variable> is assigned <value>
|
% defines that after applying <action>, <variable> is assigned <value>
|
||||||
postcondition(<action>, effect(<number>), <variable>, <value>).
|
postcondition(<action>, effect(<number>), <variable>, <value>).
|
||||||
|
|
||||||
% defines the condition of a conditional effect
|
% defines the condition of a conditional effect
|
||||||
@ -175,5 +175,28 @@ contains(<mutex group>, <variable>, <value>).
|
|||||||
SAS contains information about mutually exclusive [variable](#variable) assignments.
|
SAS contains information about mutually exclusive [variable](#variable) assignments.
|
||||||
That is, *at most one* variable assignment of each mutex group must be satisfied at all times.
|
That is, *at most one* variable assignment of each mutex group must be satisfied at all times.
|
||||||
|
|
||||||
|
Mutex group facts are only present with SAS input programs and not PDDL.
|
||||||
|
|
||||||
Mutex groups contain essential information in order to find plans correctly.
|
Mutex groups contain essential information in order to find plans correctly.
|
||||||
That is, if mutex groups are present in `plasp`’s output, they have to be accounted for appropriately.
|
That is, if mutex groups are present in `plasp`’s output, they have to be accounted for appropriately.
|
||||||
|
|
||||||
|
### Axiom Rules
|
||||||
|
|
||||||
|
```prolog
|
||||||
|
% declares an <axiom rule>
|
||||||
|
axiomRule(axiomRule(<number>)).
|
||||||
|
|
||||||
|
% defines that as a precondition to <axiom rule>, <variable> must have value <value>
|
||||||
|
precondition(<axiom rule>, <variable>, <value>).
|
||||||
|
|
||||||
|
% defines that after applying <axiom rule>, <variable> is assigned <value>
|
||||||
|
postcondition(<axiom rule>, <variable>, <value>).
|
||||||
|
```
|
||||||
|
|
||||||
|
Axiom rules are similar to [actions](#actions) in that they modify variables if certain preconditions are satisfied.
|
||||||
|
However, axiom rules must be applied *immediately* as soon as their preconditions are satisfied.
|
||||||
|
|
||||||
|
Axiom rule facts are only present with SAS input programs and not PDDL.
|
||||||
|
|
||||||
|
Axiom rules contain essential information in order to find plans correctly.
|
||||||
|
That is, if axiom rules are present in `plasp`’s output, they have to be accounted for appropriately.
|
||||||
|
Reference in New Issue
Block a user