Solution 2: Successor State AxiomsStep 1 - Define general effect axioms for each fluent F Poss(a,s) ? ?F+(a,s) ? F(do(a,s)) suppressing action and state args. Poss(a,s) ? ?F-(a,s) ? ?F(do(a,s)) E.g., Poss(a,s) ? a=turnOn(Pump) ? on(Pump,do(a,s)) Poss(a,s) ? a=turnOff(Pump) ? ?on(Pump,do(a,s))Step 2 - Make a Completeness AssumptionAssume that the effect axioms characterize all the conditions under which an action a can lead to F becoming true (or false) in the successor state.Step 3 - Add Explanation Closure Axioms for each fluent FStep 2 justifies adding explanation closure axioms to the effect axioms. Poss(a,s) ? ? F(s) ? F(do(a,s)) ? ?F+(a,s) Poss(a,s) ? F(s) ? ?F(do(a,s)) ? ?F-(a,s) E.g., Poss(a,s) ? ?on(Pump,s) ? on(Pump,do(a,s)) ? a=turnOn(Pump) Poss(a,s) ? on(Pump,s) ? ?on(Pump,do(a,s)) ? a=turnOff(Pump)
The Frame Problem (cont.)