Skip to content

Fix all-fire context for conditional effects #20

@haz

Description

@haz

This code should be disabled for now, and then rethought: https://github.com/QuMuLab/pr2/blob/main/src/deadend.cc#L120

It's rarely used (requires a domain with conditional effects), and actually is buggy in the following situation:

(oneof
  (when (...) (...))
  (when (...) (...))
  ...
)

The all-fire context is computed for each determinized operator (unlike the conditional mask, which is computed for the full non-det operator), and it's only used for the regression of generalized deadends. It was a minor hack (unpublished) that let us gain a few more FSAPs in certain corner cases, and worked when the conditional effects were not nested within the oneof clauses. It's current implementation is incorrect when the condeffs are inside the oneof, as above -- result is an FSAP potentially being created that is too "strong" (rules out things it shouldn't).

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workinghelp wantedExtra attention is needed

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions