CL-USER(1): (load "gridworld-definitions.lisp") T CL-USER(2): (load "planning.lisp") T CL-USER(3): (load "eg-dialog-world.lisp") T CL-USER(4): (initialize-state) #S(STATE-NODE :NAME #:STATE-NODE231 :WFFS ((IS_ANIMATE ME) (CAN_TALK ME) (HUNGRY ME) (IS_AT ME HOME) (ROBOT ME) (IS_ON HOME PATH1) (POINT HOME) (IS_ON GROVE1 PATH1) (POINT GROVE1) (ROAD PATH1)) :CHILDREN NIL :OPERATORS NIL :PARENT ...) CL-USER(5): (go!) POSSIBLE ACTIONS & VALUES: (((WALK HOME GROVE1 PATH1) . 5)) SEEMINGLY BEST PLAN: ((WALK HOME GROVE1 PATH1) (WALK GROVE1 HOME PATH1) (WALK HOME GROVE1 PATH1)) CORRESPONDING STATES: (((IS_ANIMATE ME) (CAN_TALK ME) (HUNGRY ME) (IS_AT ME HOME) (ROBOT ME) (IS_ON HOME PATH1) (POINT HOME) (IS_ON GROVE1 PATH1) (POINT GROVE1) (ROAD PATH1)) ((IS_AT ME GROVE1) (ROAD PATH1) (POINT GROVE1) (IS_ON GROVE1 PATH1) (POINT HOME) (IS_ON HOME PATH1) (ROBOT ME) (HUNGRY ME) (CAN_TALK ME) (IS_ANIMATE ME)) ((IS_AT ME HOME) (IS_ANIMATE ME) (CAN_TALK ME) (HUNGRY ME) (ROBOT ME) (IS_ON HOME PATH1) (POINT HOME) (IS_ON GROVE1 PATH1) (POINT GROVE1) (ROAD PATH1)) ((IS_AT ME GROVE1) (ROAD PATH1) (POINT GROVE1) (IS_ON GROVE1 PATH1) (POINT HOME) (IS_ON HOME PATH1) (ROBOT ME) (HUNGRY ME) (CAN_TALK ME) (IS_ANIMATE ME))) STEP TO BE TAKEN: (WALK HOME GROVE1 PATH1) EXPECTED STATE; ((IS_AT ME GROVE1) (ROAD PATH1) (POINT GROVE1) (IS_ON GROVE1 PATH1) (POINT HOME) (IS_ON HOME PATH1) (ROBOT ME) (HUNGRY ME) (CAN_TALK ME) (IS_ANIMATE ME)) ACTUAL NEW STATE: ((PLANT MUSHROOM1) (CAN_TALK GRUNT) (IS_ANIMATE GRUNT) (EDIBLE MUSHROOM1) (IS_AT MUSHROOM1 GROVE1) (MUSHROOM MUSHROOM1) (KNOWS_WHETHER GRUNT (EDIBLE MUSHROOM1)) (IS_AT GRUNT GROVE1) (SASQUATCH GRUNT) (IS_AT ME GROVE1) (ROAD PATH1) (POINT GROVE1) (IS_ON GROVE1 PATH1) (POINT HOME) (IS_ON HOME PATH1) (ROBOT ME) (HUNGRY ME) (CAN_TALK ME) (IS_ANIMATE ME)) NIL CL-USER(6): (go!) POSSIBLE ACTIONS & VALUES: (((ASK-WHETHER GRUNT (EDIBLE MUSHROOM1) GROVE1) . 9) ((WALK GROVE1 HOME PATH1) . 6) ((WALK GROVE1 HOME PATH1) . 5)) SEEMINGLY BEST PLAN: ((ASK-WHETHER GRUNT (EDIBLE MUSHROOM1) GROVE1) (EAT MUSHROOM1 GROVE1) (SLEEP)) CORRESPONDING STATES: (((PLANT MUSHROOM1) (CAN_TALK GRUNT) (IS_ANIMATE GRUNT) (EDIBLE MUSHROOM1) (IS_AT MUSHROOM1 GROVE1) (MUSHROOM MUSHROOM1) (KNOWS_WHETHER GRUNT (EDIBLE MUSHROOM1)) (IS_AT GRUNT GROVE1) (SASQUATCH GRUNT) (IS_AT ME GROVE1) (ROAD PATH1) (POINT GROVE1) (IS_ON GROVE1 PATH1) (POINT HOME) (IS_ON HOME PATH1) (ROBOT ME) (HUNGRY ME) (CAN_TALK ME) (IS_ANIMATE ME)) ((KNOWS_WHETHER ME (EDIBLE MUSHROOM1)) (IS_ANIMATE ME) (CAN_TALK ME) (HUNGRY ME) (ROBOT ME) (IS_ON HOME PATH1) (POINT HOME) (IS_ON GROVE1 PATH1) (POINT GROVE1) (ROAD PATH1) (IS_AT ME GROVE1) (SASQUATCH GRUNT) (IS_AT GRUNT GROVE1) (KNOWS_WHETHER GRUNT (EDIBLE MUSHROOM1)) (MUSHROOM MUSHROOM1) (IS_AT MUSHROOM1 GROVE1) (EDIBLE MUSHROOM1) (IS_ANIMATE GRUNT) (CAN_TALK GRUNT) (PLANT MUSHROOM1)) ((PLANT MUSHROOM1) (CAN_TALK GRUNT) (IS_ANIMATE GRUNT) (MUSHROOM MUSHROOM1) (KNOWS_WHETHER GRUNT (EDIBLE MUSHROOM1)) (IS_AT GRUNT GROVE1) (SASQUATCH GRUNT) (IS_AT ME GROVE1) (ROAD PATH1) (POINT GROVE1) (IS_ON GROVE1 PATH1) (POINT HOME) (IS_ON HOME PATH1) (ROBOT ME) (CAN_TALK ME) (IS_ANIMATE ME) (KNOWS_WHETHER ME (EDIBLE MUSHROOM1))) ((HUNGRY ME) (KNOWS_WHETHER ME (EDIBLE MUSHROOM1)) (IS_ANIMATE ME) (CAN_TALK ME) (ROBOT ME) (IS_ON HOME PATH1) (POINT HOME) (IS_ON GROVE1 PATH1) (POINT GROVE1) (ROAD PATH1) (IS_AT ME GROVE1) (SASQUATCH GRUNT) (IS_AT GRUNT GROVE1) (KNOWS_WHETHER GRUNT (EDIBLE MUSHROOM1)) (MUSHROOM MUSHROOM1) (IS_ANIMATE GRUNT) (CAN_TALK GRUNT) (PLANT MUSHROOM1))) STEP TO BE TAKEN: (ASK-WHETHER GRUNT (EDIBLE MUSHROOM1) GROVE1) EXPECTED STATE; ((KNOWS_WHETHER ME (EDIBLE MUSHROOM1)) (IS_ANIMATE ME) (CAN_TALK ME) (HUNGRY ME) (ROBOT ME) (IS_ON HOME PATH1) (POINT HOME) (IS_ON GROVE1 PATH1) (POINT GROVE1) (ROAD PATH1) (IS_AT ME GROVE1) (SASQUATCH GRUNT) (IS_AT GRUNT GROVE1) (KNOWS_WHETHER GRUNT (EDIBLE MUSHROOM1)) (MUSHROOM MUSHROOM1) (IS_AT MUSHROOM1 GROVE1) (EDIBLE MUSHROOM1) (IS_ANIMATE GRUNT) (CAN_TALK GRUNT) (PLANT MUSHROOM1)) ACTUAL NEW STATE: ((KNOWS_WHETHER ME (EDIBLE MUSHROOM1)) (IS_ANIMATE ME) (CAN_TALK ME) (HUNGRY ME) (ROBOT ME) (IS_ON HOME PATH1) (POINT HOME) (IS_ON GROVE1 PATH1) (POINT GROVE1) (ROAD PATH1) (IS_AT ME GROVE1) (SASQUATCH GRUNT) (IS_AT GRUNT GROVE1) (KNOWS_WHETHER GRUNT (EDIBLE MUSHROOM1)) (MUSHROOM MUSHROOM1) (IS_AT MUSHROOM1 GROVE1) (EDIBLE MUSHROOM1) (IS_ANIMATE GRUNT) (CAN_TALK GRUNT) (PLANT MUSHROOM1)) NIL CL-USER(7): (go!) POSSIBLE ACTIONS & VALUES: (((EAT MUSHROOM1 GROVE1) . 8) ((EAT MUSHROOM1 GROVE1) . 8) ((WALK GROVE1 HOME PATH1) . 7) ((WALK GROVE1 HOME PATH1) . 7)) SEEMINGLY BEST PLAN: ((EAT MUSHROOM1 GROVE1) (SLEEP) (WALK GROVE1 HOME PATH1)) CORRESPONDING STATES: (((KNOWS_WHETHER ME (EDIBLE MUSHROOM1)) (IS_ANIMATE ME) (CAN_TALK ME) (HUNGRY ME) (ROBOT ME) (IS_ON HOME PATH1) (POINT HOME) (IS_ON GROVE1 PATH1) (POINT GROVE1) (ROAD PATH1) (IS_AT ME GROVE1) (SASQUATCH GRUNT) (IS_AT GRUNT GROVE1) (KNOWS_WHETHER GRUNT (EDIBLE MUSHROOM1)) (MUSHROOM MUSHROOM1) (IS_AT MUSHROOM1 GROVE1) (EDIBLE MUSHROOM1) (IS_ANIMATE GRUNT) (CAN_TALK GRUNT) (PLANT MUSHROOM1)) ((PLANT MUSHROOM1) (CAN_TALK GRUNT) (IS_ANIMATE GRUNT) (MUSHROOM MUSHROOM1) (KNOWS_WHETHER GRUNT (EDIBLE MUSHROOM1)) (IS_AT GRUNT GROVE1) (SASQUATCH GRUNT) (IS_AT ME GROVE1) (ROAD PATH1) (POINT GROVE1) (IS_ON GROVE1 PATH1) (POINT HOME) (IS_ON HOME PATH1) (ROBOT ME) (CAN_TALK ME) (IS_ANIMATE ME) (KNOWS_WHETHER ME (EDIBLE MUSHROOM1))) ((HUNGRY ME) (KNOWS_WHETHER ME (EDIBLE MUSHROOM1)) (IS_ANIMATE ME) (CAN_TALK ME) (ROBOT ME) (IS_ON HOME PATH1) (POINT HOME) (IS_ON GROVE1 PATH1) (POINT GROVE1) (ROAD PATH1) (IS_AT ME GROVE1) (SASQUATCH GRUNT) (IS_AT GRUNT GROVE1) (KNOWS_WHETHER GRUNT (EDIBLE MUSHROOM1)) (MUSHROOM MUSHROOM1) (IS_ANIMATE GRUNT) (CAN_TALK GRUNT) (PLANT MUSHROOM1)) ((IS_AT ME HOME) (PLANT MUSHROOM1) (CAN_TALK GRUNT) (IS_ANIMATE GRUNT) (MUSHROOM MUSHROOM1) (KNOWS_WHETHER GRUNT (EDIBLE MUSHROOM1)) (IS_AT GRUNT GROVE1) (SASQUATCH GRUNT) (ROAD PATH1) (POINT GROVE1) (IS_ON GROVE1 PATH1) (POINT HOME) (IS_ON HOME PATH1) (ROBOT ME) (CAN_TALK ME) (IS_ANIMATE ME) (KNOWS_WHETHER ME (EDIBLE MUSHROOM1)) (HUNGRY ME))) STEP TO BE TAKEN: (EAT MUSHROOM1 GROVE1) EXPECTED STATE; ((PLANT MUSHROOM1) (CAN_TALK GRUNT) (IS_ANIMATE GRUNT) (MUSHROOM MUSHROOM1) (KNOWS_WHETHER GRUNT (EDIBLE MUSHROOM1)) (IS_AT GRUNT GROVE1) (SASQUATCH GRUNT) (IS_AT ME GROVE1) (ROAD PATH1) (POINT GROVE1) (IS_ON GROVE1 PATH1) (POINT HOME) (IS_ON HOME PATH1) (ROBOT ME) (CAN_TALK ME) (IS_ANIMATE ME) (KNOWS_WHETHER ME (EDIBLE MUSHROOM1))) ACTUAL NEW STATE: ((PLANT MUSHROOM1) (CAN_TALK GRUNT) (IS_ANIMATE GRUNT) (MUSHROOM MUSHROOM1) (KNOWS_WHETHER GRUNT (EDIBLE MUSHROOM1)) (IS_AT GRUNT GROVE1) (SASQUATCH GRUNT) (IS_AT ME GROVE1) (ROAD PATH1) (POINT GROVE1) (IS_ON GROVE1 PATH1) (POINT HOME) (IS_ON HOME PATH1) (ROBOT ME) (CAN_TALK ME) (IS_ANIMATE ME) (KNOWS_WHETHER ME (EDIBLE MUSHROOM1))) NIL CL-USER(8): (go!) POSSIBLE ACTIONS & VALUES: (((SLEEP) . 6) ((SLEEP) . 6) ((WALK GROVE1 HOME PATH1) . 5) ((WALK GROVE1 HOME PATH1) . 5)) SEEMINGLY BEST PLAN: ((SLEEP) (WALK GROVE1 HOME PATH1) (WALK HOME GROVE1 PATH1)) CORRESPONDING STATES: (((PLANT MUSHROOM1) (CAN_TALK GRUNT) (IS_ANIMATE GRUNT) (MUSHROOM MUSHROOM1) (KNOWS_WHETHER GRUNT (EDIBLE MUSHROOM1)) (IS_AT GRUNT GROVE1) (SASQUATCH GRUNT) (IS_AT ME GROVE1) (ROAD PATH1) (POINT GROVE1) (IS_ON GROVE1 PATH1) (POINT HOME) (IS_ON HOME PATH1) (ROBOT ME) (CAN_TALK ME) (IS_ANIMATE ME) (KNOWS_WHETHER ME (EDIBLE MUSHROOM1))) ((HUNGRY ME) (KNOWS_WHETHER ME (EDIBLE MUSHROOM1)) (IS_ANIMATE ME) (CAN_TALK ME) (ROBOT ME) (IS_ON HOME PATH1) (POINT HOME) (IS_ON GROVE1 PATH1) (POINT GROVE1) (ROAD PATH1) (IS_AT ME GROVE1) (SASQUATCH GRUNT) (IS_AT GRUNT GROVE1) (KNOWS_WHETHER GRUNT (EDIBLE MUSHROOM1)) (MUSHROOM MUSHROOM1) (IS_ANIMATE GRUNT) (CAN_TALK GRUNT) (PLANT MUSHROOM1)) ((IS_AT ME HOME) (PLANT MUSHROOM1) (CAN_TALK GRUNT) (IS_ANIMATE GRUNT) (MUSHROOM MUSHROOM1) (KNOWS_WHETHER GRUNT (EDIBLE MUSHROOM1)) (IS_AT GRUNT GROVE1) (SASQUATCH GRUNT) (ROAD PATH1) (POINT GROVE1) (IS_ON GROVE1 PATH1) (POINT HOME) (IS_ON HOME PATH1) (ROBOT ME) (CAN_TALK ME) (IS_ANIMATE ME) (KNOWS_WHETHER ME (EDIBLE MUSHROOM1)) (HUNGRY ME)) ((IS_AT ME GROVE1) (HUNGRY ME) (KNOWS_WHETHER ME (EDIBLE MUSHROOM1)) (IS_ANIMATE ME) (CAN_TALK ME) (ROBOT ME) (IS_ON HOME PATH1) (POINT HOME) (IS_ON GROVE1 PATH1) (POINT GROVE1) (ROAD PATH1) (SASQUATCH GRUNT) (IS_AT GRUNT GROVE1) (KNOWS_WHETHER GRUNT (EDIBLE MUSHROOM1)) (MUSHROOM MUSHROOM1) (IS_ANIMATE GRUNT) (CAN_TALK GRUNT) (PLANT MUSHROOM1))) STEP TO BE TAKEN: (SLEEP) EXPECTED STATE; ((HUNGRY ME) (KNOWS_WHETHER ME (EDIBLE MUSHROOM1)) (IS_ANIMATE ME) (CAN_TALK ME) (ROBOT ME) (IS_ON HOME PATH1) (POINT HOME) (IS_ON GROVE1 PATH1) (POINT GROVE1) (ROAD PATH1) (IS_AT ME GROVE1) (SASQUATCH GRUNT) (IS_AT GRUNT GROVE1) (KNOWS_WHETHER GRUNT (EDIBLE MUSHROOM1)) (MUSHROOM MUSHROOM1) (IS_ANIMATE GRUNT) (CAN_TALK GRUNT) (PLANT MUSHROOM1)) ACTUAL NEW STATE: ((HUNGRY ME) (KNOWS_WHETHER ME (EDIBLE MUSHROOM1)) (IS_ANIMATE ME) (CAN_TALK ME) (ROBOT ME) (IS_ON HOME PATH1) (POINT HOME) (IS_ON GROVE1 PATH1) (POINT GROVE1) (ROAD PATH1) (IS_AT ME GROVE1) (SASQUATCH GRUNT) (IS_AT GRUNT GROVE1) (KNOWS_WHETHER GRUNT (EDIBLE MUSHROOM1)) (MUSHROOM MUSHROOM1) (IS_ANIMATE GRUNT) (CAN_TALK GRUNT) (PLANT MUSHROOM1)) NIL CL-USER(9): (go!) POSSIBLE ACTIONS & VALUES: (((WALK GROVE1 HOME PATH1) . 5) ((WALK GROVE1 HOME PATH1) . 5)) SEEMINGLY BEST PLAN: ((WALK GROVE1 HOME PATH1) (WALK HOME GROVE1 PATH1) (WALK GROVE1 HOME PATH1)) CORRESPONDING STATES: (((HUNGRY ME) (KNOWS_WHETHER ME (EDIBLE MUSHROOM1)) (IS_ANIMATE ME) (CAN_TALK ME) (ROBOT ME) (IS_ON HOME PATH1) (POINT HOME) (IS_ON GROVE1 PATH1) (POINT GROVE1) (ROAD PATH1) (IS_AT ME GROVE1) (SASQUATCH GRUNT) (IS_AT GRUNT GROVE1) (KNOWS_WHETHER GRUNT (EDIBLE MUSHROOM1)) (MUSHROOM MUSHROOM1) (IS_ANIMATE GRUNT) (CAN_TALK GRUNT) (PLANT MUSHROOM1)) ((IS_AT ME HOME) (PLANT MUSHROOM1) (CAN_TALK GRUNT) (IS_ANIMATE GRUNT) (MUSHROOM MUSHROOM1) (KNOWS_WHETHER GRUNT (EDIBLE MUSHROOM1)) (IS_AT GRUNT GROVE1) (SASQUATCH GRUNT) (ROAD PATH1) (POINT GROVE1) (IS_ON GROVE1 PATH1) (POINT HOME) (IS_ON HOME PATH1) (ROBOT ME) (CAN_TALK ME) (IS_ANIMATE ME) (KNOWS_WHETHER ME (EDIBLE MUSHROOM1)) (HUNGRY ME)) ((IS_AT ME GROVE1) (HUNGRY ME) (KNOWS_WHETHER ME (EDIBLE MUSHROOM1)) (IS_ANIMATE ME) (CAN_TALK ME) (ROBOT ME) (IS_ON HOME PATH1) (POINT HOME) (IS_ON GROVE1 PATH1) (POINT GROVE1) (ROAD PATH1) (SASQUATCH GRUNT) (IS_AT GRUNT GROVE1) (KNOWS_WHETHER GRUNT (EDIBLE MUSHROOM1)) (MUSHROOM MUSHROOM1) (IS_ANIMATE GRUNT) (CAN_TALK GRUNT) (PLANT MUSHROOM1)) ((IS_AT ME HOME) (PLANT MUSHROOM1) (CAN_TALK GRUNT) (IS_ANIMATE GRUNT) (MUSHROOM MUSHROOM1) (KNOWS_WHETHER GRUNT (EDIBLE MUSHROOM1)) (IS_AT GRUNT GROVE1) (SASQUATCH GRUNT) (ROAD PATH1) (POINT GROVE1) (IS_ON GROVE1 PATH1) (POINT HOME) (IS_ON HOME PATH1) (ROBOT ME) (CAN_TALK ME) (IS_ANIMATE ME) (KNOWS_WHETHER ME (EDIBLE MUSHROOM1)) (HUNGRY ME))) STEP TO BE TAKEN: (WALK GROVE1 HOME PATH1) EXPECTED STATE; ((IS_AT ME HOME) (PLANT MUSHROOM1) (CAN_TALK GRUNT) (IS_ANIMATE GRUNT) (MUSHROOM MUSHROOM1) (KNOWS_WHETHER GRUNT (EDIBLE MUSHROOM1)) (IS_AT GRUNT GROVE1) (SASQUATCH GRUNT) (ROAD PATH1) (POINT GROVE1) (IS_ON GROVE1 PATH1) (POINT HOME) (IS_ON HOME PATH1) (ROBOT ME) (CAN_TALK ME) (IS_ANIMATE ME) (KNOWS_WHETHER ME (EDIBLE MUSHROOM1)) (HUNGRY ME)) ACTUAL NEW STATE: ((IS_AT ME HOME) (PLANT MUSHROOM1) (CAN_TALK GRUNT) (IS_ANIMATE GRUNT) (MUSHROOM MUSHROOM1) (KNOWS_WHETHER GRUNT (EDIBLE MUSHROOM1)) (IS_AT GRUNT GROVE1) (SASQUATCH GRUNT) (ROAD PATH1) (POINT GROVE1) (IS_ON GROVE1 PATH1) (POINT HOME) (IS_ON HOME PATH1) (ROBOT ME) (CAN_TALK ME) (IS_ANIMATE ME) (KNOWS_WHETHER ME (EDIBLE MUSHROOM1)) (HUNGRY ME)) NIL CL-USER(10): ;; AFTER THIS, FURTHER `(GO!)'S JUST MAKE ME WALK BACK AND FORTH ;; BETWEEN HOME AND GROVE1