CSE630 Homework 4 Jason Kim 1. (9.4) a. {x/A,y/B,z/B} b. fail c. {Father(x)/Father(y),y/John} d. {x/y,y/x} 2. (9.18) a. V Horse(x) /\ Animal(x) /\ HeadOf(h,x) --> Horse(h) /\ Animal(h) b. E(there exists) Horse(x) /\ Animal (x) /\ HeadOf(h,x) st, ~Horse(h)\/ ~Animal(h) c. The negation creates an Inverse Error, thus the statement is true. 3. (11.4) a. Init: (At(Monkey ,A , Low) /\ At(Bananas,B,High) /\ At(Box,C,Low)) b. Action(Go(Monkey,A)) PRECOND: ~At(Monkey,A) Effect: ~At(Monkey,B)/\~At(Monkey,C) Action(Go(Monkey,B)) PRECOND: ~At(Monkey,B) Effect: ~At(Monkey,A)/\~At(Monkey,C) Action(Go(Monkey,C)) PRECOND: ~At(Monkey,C) Effect: ~At(Monkey,A)/\~At(Monkey,B) Action(Push(Box,A)) PRECOND:At(Monkey,Box) Effect: ~At(Box,B) /\ ~At(Box,C) Action(Push(Box,B) PRECOND:At(Monkey,Box) Effect: ~At(Box,A) /\ ~At(Box,C) Action(Push(Box,C) PRECOND:At(Monkey,Box) Effect: ~At(Box,A) /\ ~At(Box,B) Action(ClimbUp(Monkey,Box)) PRECOND: At(Monkey,Box) Effect: At(Monkey,Box,High) Action(ClimbDown(Monkey,Box)) PRECOND: At(Monkey,Box) Effect: At(Monkey,Box,Low) Action(Grasp(Monkey,Object)) PRECOND: At(Monkey,Object) Effect: At(Object,Monkey) Action(UnGrasp(Monkey,Object)) PRECOND: Object(At(Monkey)) Effect: ~At(Monkey,Object) c. At(Bananas,Monkey,Low) /\ At(Box,C,Low) No. d. Action(Push(Box,to,Weight) PRECOND: Weight is not Heavy 4. (11.7) a. Yes b. No c. Yes pretty much the same as forward state search, because you're making the next state a precond for a new action. d. yes 5. (11.11) Init: At(BlockB(Left,Low)) /\ At(BlockA(Middle,Low)) /\ At(BlockC(Middle,Medium)) Goal: At(BlockA(Right,High)) /\ At(BlockB(Right,Medium)) /\ At(BlockC(Right,Low)) Action: Move(BlockA,Position,Height) PRECOND: ~At(BlockB,Position,Height) V ~At(BlockC,Position,Height) Effect: At(BlockA,Position,Height) Action: Move(BlockB,Position,Height) PRECOND: ~At(BlockA,Position,Height) V ~At(BlockC,Position,Height) Effect: At(BlockB,Position,Height) Action: Move(BlockC,Position,Height) PRECOND: ~At(BlockA,Position,Height) V ~At(BlockB,Position,Height) Effect: At(BlockC,Position,Height) noninterleaved planner cannot solve this problem because it can't move one block back 6. (11.13) action: go(x,y) Precond: At(Shakey,x) Effect: At(Shakey,y) action: Push(b,x,y) Precond: At(Shakey,x) Effect: At(Box,y) action: Climb(b) Precond: At(Shakey,Box) Effect: Floor(On) V Floor(Off) action: Turn(s) Precond: At(Shakey,Switch) Effect: Light(On) or Light(off) Plan: Go(Room3,Box2) Push(Box2,Room1,Room2)