|
OMTPlan: Optimal Planning Modulo Theories
|

Public Member Functions | |
| def | __init__ (self, task, modifier) |
| def | createVariables (self) |
| Creates state and action variables needed in the encoding. More... | |
| def | encodeInitialState (self) |
| Encodes formula defining initial state. More... | |
| def | encodeGoalState (self) |
| Encodes formula defining goal state. More... | |
| def | encodeActions (self) |
| Encodes universal axioms: each action variable implies its preconditions and effects. More... | |
| def | encodeFrame (self) |
| Encode explanatory frame axioms: a predicate retains its value unless it is modified by the effects of an action. More... | |
| def | encodeExecutionSemantics (self) |
| Encodes execution semantics as specified by modifier class. More... | |
| def | encode (self, horizon) |
Public Attributes | |
| task | |
| modifier | |
| mutexes | |
| boolean_variables | |
| numeric_variables | |
| action_variables | |
Private Member Functions | |
| def | _ground (self) |
| def | _sort_axioms (self) |
| Stores numeric axioms sorted according to different criteria. More... | |
| def | _computeSerialMutexes (self) |
| Computes mutually exclusive actions for serial encodings, i.e., all actions are mutually exclusive. More... | |
| def | _computeParallelMutexes (self) |
| Computes mutually exclusive actions: Two actions (a1, a2) are mutex if: More... | |
Base encoder class. Defines methods to build standard state-based encodings -- i.e., Rintanen 09
|
private |
Computes mutually exclusive actions: Two actions (a1, a2) are mutex if:
See, e.g., 'A Compilation of the Full PDDL+ Language into SMT'', Cashmore et al.
|
private |
Computes mutually exclusive actions for serial encodings, i.e., all actions are mutually exclusive.
|
private |
Grounds action schemas as per TFD parser)
|
private |
Stores numeric axioms sorted according to different criteria.
Returns 3 dictionaries:
| def planner.encoder.Encoder.createVariables | ( | self | ) |
Creates state and action variables needed in the encoding.
Variables are stored in dictionaries as follows:
dict[step][variable_name] = Z3 variable instance
| def planner.encoder.Encoder.encode | ( | self, | |
| horizon | |||
| ) |
Basic method to build bounded encoding.
| def planner.encoder.Encoder.encodeActions | ( | self | ) |
Encodes universal axioms: each action variable implies its preconditions and effects.
| def planner.encoder.Encoder.encodeExecutionSemantics | ( | self | ) |
Encodes execution semantics as specified by modifier class.
| def planner.encoder.Encoder.encodeFrame | ( | self | ) |
Encode explanatory frame axioms: a predicate retains its value unless it is modified by the effects of an action.
| def planner.encoder.Encoder.encodeGoalState | ( | self | ) |
Encodes formula defining goal state.
| def planner.encoder.Encoder.encodeInitialState | ( | self | ) |
Encodes formula defining initial state.
1.8.11