Sitelet https://github.com/panda-planner-dev/pandaPIparser/pull/36
Skip to content

Parameter splitting: don't move method preconditions behind earlier subtasks - #36

Open
daniellutalo wants to merge 1 commit into
panda-planner-dev:masterfrom
daniellutalo:fix-split-method-precondition
Open

daniellutalo wants to merge 1 commit into
panda-planner-dev:masterfrom
daniellutalo:fix-split-method-precondition

Conversation

@daniellutalo

Copy link
Copy Markdown

split_independent_parameters checks that the chosen variable's ordered
occurrences form a contiguous group. It then adds every other variable whose
occurrences lie in that group's plan steps, without checking their ordered
occurrences. So a variable that also occurs in a non-static literal of the
method precondition can be added. That literal then moves into the new
sub-method, behind the subtasks ordered before the group. Under partial order,
sibling tasks can run between the method's start and the moved check, and the
grounded model accepts plans that violate the method precondition.

Example: IPC 2023 PO Barman-BDI, method CleanFullShaker:
(contains ?x_0 ?x_2) moves behind AchieveHolding. On pfile03 (grounded
with -e), pandaPIengine --progression -H "rc2(ff;cost)" -g none --suboptimal
returns a plan that pandaPIparser -v rejects. With this change it returns a
valid plan.

Fix: a variable joins the group only if its ordered occurrences lie in the
group whose position was checked. Static literals can still move. On the
other ten IPC 2023 PO domains (two instances each), parser output is
unchanged.

…ubtasks

A variable joins a split group only if its ordered occurrences lie in the group
whose position was checked. Before, a non-static literal of a method
precondition could be moved into a sub-method ordered after other subtasks of
the method, so the grounded model accepted plans the HDDL model rejects
(Barman-BDI, partial order).

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant