This repository has been archived on 2023-07-19. You can view files and clone it, but cannot push or open issues or pull requests.
plasp/encodings/strips
2016-11-15 22:48:24 +01:00
..
postprocess.lp postprocessing encoding checked 2016-11-15 09:07:36 +01:00
preprocess.lp started to develop STRIPS encoding variants 2016-11-14 12:00:14 +01:00
README README file summarizing functionalities and example invocations 2016-11-15 22:48:24 +01:00
redundancy.lp finalizing redundant rules to restrict number of parallel plans 2016-11-15 21:16:01 +01:00
strips-incremental.lp completed main parallel planning encodings for STRIPS instances 2016-11-14 16:56:51 +01:00

This suite of incremental STRIPS planning encodings implements diverse methods.
The included encoding files provide the following functionalities:

- preprocess.lp: static analysis of potentially relevant actions
  + Parameters: _closure (default value: '3')
    * Value '1': forward chaining of effects w.r.t. initial variable values
    * Value '2': backward regression of effects w.r.t. goal variable values
    * Value '3': both forward chaining and backward regression of effects
    * Otherwise: off (simply take all actions as given)

- strips-incremental.lp: sequential and parallel planning encoding variants
  + Parameters: _parallel (default value: '0')
    * Value '1': "forall" parallel actions that can be arranged in any sequence
    * Value '2': "exists" parallel actions that can be arranged in some sequence
    * Otherwise: sequential actions

- redundancy.lp: enforcement of 'redundant' actions to constrain parallel plans
  + Remarks:
    * Only relevant together with parallel actions
    * Encoded constraints seem rather ineffective though
    * Heavy space overhead in combination with "exists" parallel actions

- postprocess.lp: plan feasibility checking and conversion to sequential plan

================================================================================

Some example invocations (using clingo 5.1.0) are as follows:

plasp ../../instances/PDDL/ipc-2000-elevator-m10-strips/domain.pddl ../../instances/PDDL/ipc-2000-elevator-m10-strips/problem-04-00.pddl | clingo - preprocess.lp strips-incremental.lp

plasp ../../instances/PDDL/ipc-2000-elevator-m10-strips/domain.pddl ../../instances/PDDL/ipc-2000-elevator-m10-strips/problem-04-00.pddl | clingo - preprocess.lp strips-incremental.lp -c _closure=0

plasp ../../instances/PDDL/ipc-2000-elevator-m10-strips/domain.pddl ../../instances/PDDL/ipc-2000-elevator-m10-strips/problem-04-00.pddl | clingo - preprocess.lp strips-incremental.lp -c _closure=1

plasp ../../instances/PDDL/ipc-2000-elevator-m10-strips/domain.pddl ../../instances/PDDL/ipc-2000-elevator-m10-strips/problem-04-00.pddl | clingo - preprocess.lp strips-incremental.lp -c _closure=2

plasp ../../instances/PDDL/ipc-2000-elevator-m10-strips/domain.pddl ../../instances/PDDL/ipc-2000-elevator-m10-strips/problem-04-00.pddl | clingo - preprocess.lp strips-incremental.lp -c _parallel=1

plasp ../../instances/PDDL/ipc-2000-elevator-m10-strips/domain.pddl ../../instances/PDDL/ipc-2000-elevator-m10-strips/problem-04-00.pddl | clingo - preprocess.lp strips-incremental.lp -c _parallel=2

plasp ../../instances/PDDL/ipc-2000-elevator-m10-strips/domain.pddl ../../instances/PDDL/ipc-2000-elevator-m10-strips/problem-04-00.pddl | clingo - preprocess.lp strips-incremental.lp -c _parallel=1 redundancy.lp

plasp ../../instances/PDDL/ipc-2000-elevator-m10-strips/domain.pddl ../../instances/PDDL/ipc-2000-elevator-m10-strips/problem-04-00.pddl | clingo - preprocess.lp strips-incremental.lp -c _parallel=2 redundancy.lp

plasp ../../instances/PDDL/ipc-2000-elevator-m10-strips/domain.pddl ../../instances/PDDL/ipc-2000-elevator-m10-strips/problem-04-00.pddl | clingo - preprocess.lp strips-incremental.lp --outf=1 | grep -A1 -e "ANSWER" | tail -n1 | clingo - postprocess.lp <(plasp ../../instances/PDDL/ipc-2000-elevator-m10-strips/domain.pddl ../../instances/PDDL/ipc-2000-elevator-m10-strips/problem-04-00.pddl)

plasp ../../instances/PDDL/ipc-2000-elevator-m10-strips/domain.pddl ../../instances/PDDL/ipc-2000-elevator-m10-strips/problem-04-00.pddl | clingo - preprocess.lp strips-incremental.lp --outf=1 -c _parallel=1 | grep -A1 -e "ANSWER" | tail -n1 | clingo - postprocess.lp <(plasp ../../instances/PDDL/ipc-2000-elevator-m10-strips/domain.pddl ../../instances/PDDL/ipc-2000-elevator-m10-strips/problem-04-00.pddl)

plasp ../../instances/PDDL/ipc-2000-elevator-m10-strips/domain.pddl ../../instances/PDDL/ipc-2000-elevator-m10-strips/problem-04-00.pddl | clingo - preprocess.lp strips-incremental.lp --outf=1 -c _parallel=2 | grep -A1 -e "ANSWER" | tail -n1 | clingo - postprocess.lp <(plasp ../../instances/PDDL/ipc-2000-elevator-m10-strips/domain.pddl ../../instances/PDDL/ipc-2000-elevator-m10-strips/problem-04-00.pddl)