ssardina-research / app-trapper

Software for IJCAI17 paper on solving APP with dead-end reasoning
0 stars 0 forks source link

Understand Trapper-based solvers using LPG #10

Open ssardina opened 3 years ago

ssardina commented 3 years ago

Hi @lchrpa

With the examples you provided, I have done quite a lot of clean-up, both at source level and documentation.

I have left log run files *.log in each example.

One thing that I am still trying to remember is the role of LPG when we use use DFS+ or LMCUT. So, the paper says:

image

So it seems that even when we use offline with DFS+, the LPG planner is called and this is true as it prints things like this:

; Command line: /home/ssardina/git/soft/planning/app/app-trapper.git/tools/lpg -f pfile.pddl -o domain.pddl -n 1 -input_plan soln.tmp -seed 125 -same_objects  

However, I can see those LPG calls also in the online solvers when using DFS with and without traps.

And all this happens on both of our examples that do NOT have loops in the APP, they are both linear.

Do you know what is happening or what am I missing @lchrpa ?

; Command line: /home/ssardina/git/soft/planning/app/app-trapper.git/tools/lpg -f pfile.pddl -o domain.pddl -out soln
 Command line: /home/ssardina/git/soft/planning/app/app-trapper.git/tools/lpg -f pfile.pddl -o domain.pddl -n 1 -inp
ut_plan soln.tmp -seed 1234 -same_objects
lchrpa commented 3 years ago

I believe that in some occasions encountered in the offline version LPG is needed to handle preferences (as written in the paper, for closing the loops, for example).

For both online and offline version, LPG is also used to generate the "endstate.txt" file, which serves an the initial state for subsequent planning tasks. As the command lines show, LPG takes an input plan from which it generates the file. Hence LPG does not (or should not) do any planning, it just executes the plan in order to provide the final state.

ssardina commented 3 years ago

ahhh, OK so that is the --input_plan option... You are saying that it takes that plan and outputs endstate.txt file with the final state. So we used LPG to run plans... Makes sense..