150 likes | 275 Views
Planning Methods based on Logic. The Situation Calculus Reasoning about States and Actions Some Difficulties Generating Plans. Reasoning about States and Actions. Describe goal condition using any wff in predicate calculus Describe world state using formulas
E N D
Planning Methods based on Logic The Situation Calculus Reasoning about States and Actions Some Difficulties Generating Plans
Reasoning about States and Actions • Describe goal condition using any wff in predicate calculus • Describe world state using formulas • Try to prove goal wff from formulas describing world state • Predicate Calculus can be used to reason about states and actions • Search is over a space of logical expressions – not a space of models of world states
Predicate Calculus formalization of states, actions and the effects of actions on states Knowledge about states and actions are represented using formulas in FOPC Deduction system ask questions e.g.Does there exist a state such that it satisfies certain (goal) properties, and if so, how can the present state be transformed into that state by actions ? Answer = Plan for achieving desired state
State S0 • Reify States – include them into the world as entities that exist (S0,S1,S2…) • Change atomic wffs to include a term denoting a state in which the intended relation holds • Interpretation of wffs – relations over states • wffs are called fluents . True for S0: • true of all states: and
Step 1: Reify the actions. Denote actions by constants/ variable symbols/functional expressions. Action is regarded as a function involving entities. Example: move(B,A,Floor) – action of moving B from A to the Floor. • Step 2: Function constant do – function that maps actions and states into states. maps the state-action pair into the state obtained by performing the action in the state • Step 3: Express effects of actions by wffs called effect axioms
Two wffs for each action-fluent pair : For the pair (On,move) • Positive effect axiomdescribes how an action makes a fluent true • Negative effect axiomdescribes how an action makes a fluent false preconditions
Two wffs for each action-fluent pair : For the pair (Clear,move) • Positive effect axiom • Negative effect axiom No action can make the floor not clear
On(B,A,S0)On(A,C,S0)On(C,Floor,S0)Clear(B,S0)Clear(Floor,S0) S0 move(B,A, Floor) S1= do(move(B,A,Floor),S0) Inferred using effect axioms: substitution: {B/x, A/y,S0/s, Floor/z}
Frame Axioms • Two wffs for each action-fluent pair : For the pair (move, On) describes fluent left unchanged by an action • Positive frame axiom • Negative frame axiom
More Frame Axioms • Two wffs for each action-fluent pair : For the pair (move, Clear) describes fluent left unchanged by an action • Positive frame axiom • Negative frame axiom
Mapping a State-Action Pair into a State - Frame Axioms On(B,A,S0)On(A,C,S0)On(C,Floor,S0)Clear(B,S0)Clear(Floor,S0) S0 move(B,A, Floor) S1= do(move(B,A,Floor),S0) Inferred using frame axioms:
Difficulties The Frame Problem • Two frame axioms for each action-fluent pair • Becomes unmanageable in realistic applications to express things that remain constant in the world • Several techniques to reduce the number of frame axioms – but to reason about fluents that do not change over sequence of actions – remains computationally cumbersome
The Qualification Problem • Adding preconditions – how do we know when we have added all the pre-conditions/qualifications ? • Attempts to solve this problem was made using nonmonotonic reasoning – allows default conclusions in the effect axioms – withdrawn if further qualifications is added
The Ramification Problem • In complex domains – statements are often deduced based on domain knowledge e.g. a packet that a robot is carrying is in a room if the robot itself is in the room • Can use different mechanisms to reason e.g. first about the location of the robot, then about the location of the package • How do we prevent the frame axioms from deducing that the package is in a different room than the robot (due to perceived consistencies ? • This problem is therefore how to keep track of which derived formulas survive subsequent state transformations
Generating Plans • To generate a plan that achieves some goal , attempt to prove and extract the state as a function of the nested actions that produce it • Proof effort becomes much too large for such a simple plan • Frame problem made most attempts to use situation calculus impractical