h2r / Task-Scoping

Remove irrelevant variables and operators from planning problems via static analysis!
2 stars 0 forks source link

Check that we handle SAS axioms correctly, and fix it if needed #25

Open MichaelJFishman opened 1 year ago

MichaelJFishman commented 1 year ago

A SAS axiom is basically a derived variable - its value is updated automatically each timestep based on the value of other variables, and the axiom's current value.

In my current understanding, we’d need to

  1. Check whether each action affects the conditions of an axiom rule
  2. If so, split that action into two actions: One for when the rest of the axiom conditions are met (including axiom value), and one for when the rest of the axiom conditions are not met

At a glance, it’s not obvious to me whether we do this.

If I understand correctly, our scoper won’t guarantee optimal solvability unless we consider axioms, since axioms basically describe side effects that we may be ignoring