# Planning Methods based on Logic Propositional Calculus Predicate Calculus Situation Calculus Event Calculus.

## Presentation on theme: "Planning Methods based on Logic Propositional Calculus Predicate Calculus Situation Calculus Event Calculus."— Presentation transcript:

Planning Methods based on Logic Propositional Calculus Predicate Calculus Situation Calculus Event Calculus

Situations,Actions and Fluents On(A,B) A is on B (eternally) On(A,B,S0) A is om B in situation S0 Holds(On(A,B),S0) On(A,B) ”holds” in situation S0 On(A,B) is called a Fluent Holds is s ”meta predicate” A fluent is a situation dependent predication. A situation or state may either be a start state e.g. S= S0, or the result of applying an action A in a state S S2 = do(S1,A)

Situation Calculus Metanotation Clear(u,s)  Holds(Clear(u),s) On(x,y,s)  Holds(On(x,y),s) Holds metapredicate On(x,y) Fluent S State Negative Effect axioms /Frame axioms are default (negation as failure)

SitCalc examples Actions : move(A,B,C) move block A from B to C Fluents: On(A,B) A is on B Clear(A) A is clear Predications: Holds(Clear(A),S0) A is clear in start state S0 Holds(On(A,B),S0) A is on B in S0 Holds(On(A,C),do(S0,move(A,B,C))) A is on C after move(A,B,C) is done in S0 Holds(Clear(A),do(S0,move(A,B,C))) A is (still) clear after moving move(A,B,C) in S0

Composite actions Holds(On(B,C), do(do(S0,move(A,B,Table),move(B,C)))) B is on C after starting in S0, and doing move(A,B,Table), move(B,C) Alternative representation Holds(PlanResult( [move(A,B),move(B,C)], S0)

Using Resolution to find plan We can verify Holds(On(B,C), do(do(S0,move(A,B,Table),move(B,C)))) But we can also find a plan ?- Holds(On(B,C),X).  X =do(do(S0,move(A,B,Table),move(B,C))))

Effect /Frame axioms Positive Effect axioms Positive Frame axioms On(x,y,s)&Clear(x,s)&Clear(z,s) On(x,y,s)&(x \= u) & (x \= y) &(y \= z) => => On(x,y,do(move(u,v,z)),s) Clear(y,do(move(x,y,z)),s) Negative Effect axioms Negative Frame axioms On(x,y)&Clear(x,s)&Clear(z,s) \+ Clear(u,s) & (u \= y) & (x \= z) &(y\ = Fl) => => \+ Clear(u,do(move(x,y,z)),s) \+ Clear(y,do(move(x,y,z)),s)

Main formulation of planner holds(Condition,do(State,Action)) :- holds(Condition,State), % true already invariant(Condition,Action). % no action made it false holds(Condition,do(State,Action)) :- consequence(Condition,Action,Preconditions), % an action made it true holds(Preconditions,State).

Situation Calculus in Prolog Positive Effect axioms consequence(Predication,Action,Preconditions) Positive Frame axioms invariant(Predication,Action,Preconditions). Predications true initially given(Fact). Predications always true always(Predication). Predications true in all states fact(Predication). Predications implied within state implied(Predication,Predications)

MonkeyBanana in Situation Calculus The Monkey and Banana problem ----------------------------- In a Zoo, there is an apemother with her little son Julius. Julius is hungry, and apemother shall fetch a banana to Julius. Someone has hung up a banana in a rack at point B, so high that apemother cannot reach it. But at point C, there is a box that apemother can climb upon and reach higher. Apemother can push the box between any places if she has her hands free. Apemother can climb the box, climb doen and otherwise move around on the floor with or without anything in her hands. Apemother starts at point A while Julius is all the time in a corner J. Make a plan for apemother so that Julius gets his banana. % % Actions: and Properties: % % walk(FromLoc,ToLoc) at(Item,Location) | % push(box,FromLoc,ToLoc) on(Agent,Surface) | primary % climb_up(box) emptyhands(Agent) | % climb_down(box) has(Agent,Object) | % grab(banana) % drop(banana) reachable(Object,AtLoc) | derived A C B J

Tower of Hanoi in Situation Calculus consequence(on(X,Y), move(X,U,Y), moveable(X)&clear(X)&clear(Y)& on(X,U)&less(X,Y)). consequence(clear(U), move(X,U,Y), moveable(X)&clear(X)&clear(Y)& on(X,U)&less(X,Y)). invariant(on(D2,_),move(D1,_,_)):- dif(D2,D1). invariant(clear(X), move(_,_,W)):- dif(X,W) fact(less(disk(_),peg(_))). fact(less(disk(M),disk(N))):-M < N. fact(moveable(disk(_))). given(clear(peg(2))). given(clear(peg(3))). given(clear(disk(1))). H HHH HHHHHH H HHH HHHHHH  Peg1 Peg2 Peg3

Download ppt "Planning Methods based on Logic Propositional Calculus Predicate Calculus Situation Calculus Event Calculus."

Similar presentations