Issue1241

Title --keep-no-ops can generate operators with incorrect preconditions
Priority bug Status unread
Superseder Nosy List davidspeck
Assigned To Keywords
Optional summary

Created on 2026-08-24.11:45:41 by davidspeck, last changed by davidspeck.

Files
File name Uploaded Type Edit Remove
pddl_sas_files.zip davidspeck, 2026-08-24.11:45:41 application/zip
Messages
msg12156 (view) Author: davidspeck Date: 2026-08-24.11:45:41
The option --keep-no-ops can generate operators with incorrect preconditions. This can occur when the variables an operator is concerned with are classified as irrelevant. In some cases, operators with both empty preconditions and empty effects are then generated. Such operators are applicable in every state, even though the corresponding operators should not be applicable. Consequently, the resulting model can contain plans that are not valid for the original task.

In issue1184, we introduced --keep-no-ops for applications such as FOND planning that go beyond the core FD use case of finding a single plan. I am not sure whether these semantically incorrect operators directly affect algorithms for solving FOND planning tasks, but they can cause problems for reasoning about plan spaces, such as top-k planning. Therefore, I think this issue should be addressed (at least, I would like to see it fixed).

One possible solution that seems to work at first glance is to enforce --keep-unimportant-variables whenever --keep-no-ops is enabled. However, the underlying issue should probably be investigated in more detail before deciding on the appropriate solution.

I attached the files with which the behavior can be reproduced.
History
Date User Action Args
2026-08-24 11:45:41davidspeckcreate