;; SAMPLE RUN FOR "eg-eating-world3.lisp": ;;======================================== CL-USER(1): (load "gridworld-definitions.lisp") T CL-USER(2): (load "gridworld-planning.lisp") T CL-USER(3): (load "eg-eating-world3.lisp") T CL-USER(4): (initialize-state) #S(STATE-NODE :NAME #:STATE-NODE246 :WFFS ((IS_ANIMATE ME) (CAN_TALK ME) (EDIBLE BANANA1) (IS_AT BANANA1 HOME) (BANANA BANANA1) (HUNGRY ME) (IS_AT ME HOME) (ROBOT ME) (IS_ON HOME PATH1) (POINT HOME) ...) :CHILDREN NIL :OPERATORS NIL :PARENT ...) CL-USER(5): (go!) POSSIBLE ACTIONS & VALUES: (((EAT ME BANANA1 HOME) . 8) ((WALK HOME GROVE1 PATH1) . 7)) SEEMINGLY BEST PLAN: ((EAT ME BANANA1 HOME) (SLEEP) (WALK HOME GROVE1 PATH1)) CORRESPONDING STATES: (((IS_ANIMATE ME) (CAN_TALK ME) (EDIBLE BANANA1) (IS_AT BANANA1 HOME) (BANANA BANANA1) (HUNGRY ME) (IS_AT ME HOME) (ROBOT ME) (IS_ON HOME PATH1) (POINT HOME) (IS_ON GROVE1 PATH1) (POINT GROVE1) (ROAD PATH1)) ((ROAD PATH1) (POINT GROVE1) (IS_ON GROVE1 PATH1) (POINT HOME) (IS_ON HOME PATH1) (ROBOT ME) (IS_AT ME HOME) (BANANA BANANA1) (CAN_TALK ME) (IS_ANIMATE ME)) ((HUNGRY ME) (IS_ANIMATE ME) (CAN_TALK ME) (BANANA BANANA1) (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) (BANANA BANANA1) (CAN_TALK ME) (IS_ANIMATE ME) (HUNGRY ME))) STEP TO BE TAKEN: (EAT ME BANANA1 HOME) EXPECTED STATE; ((ROAD PATH1) (POINT GROVE1) (IS_ON GROVE1 PATH1) (POINT HOME) (IS_ON HOME PATH1) (ROBOT ME) (IS_AT ME HOME) (BANANA BANANA1) (CAN_TALK ME) (IS_ANIMATE ME)) ACTUAL NEW STATE: ((ROAD PATH1) (POINT GROVE1) (IS_ON GROVE1 PATH1) (POINT HOME) (IS_ON HOME PATH1) (ROBOT ME) (IS_AT ME HOME) (BANANA BANANA1) (CAN_TALK ME) (IS_ANIMATE ME)) NIL CL-USER(6): (go!) POSSIBLE ACTIONS & VALUES: (((SLEEP) . 6) ((SLEEP) . 6) ((WALK HOME GROVE1 PATH1) . 5) ((WALK HOME GROVE1 PATH1) . 5)) SEEMINGLY BEST PLAN: ((SLEEP) (WALK HOME GROVE1 PATH1) (WALK GROVE1 HOME PATH1)) CORRESPONDING STATES: (((ROAD PATH1) (POINT GROVE1) (IS_ON GROVE1 PATH1) (POINT HOME) (IS_ON HOME PATH1) (ROBOT ME) (IS_AT ME HOME) (BANANA BANANA1) (CAN_TALK ME) (IS_ANIMATE ME)) ((HUNGRY ME) (IS_ANIMATE ME) (CAN_TALK ME) (BANANA BANANA1) (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) (BANANA BANANA1) (CAN_TALK ME) (IS_ANIMATE ME) (HUNGRY ME)) ((IS_AT ME HOME) (HUNGRY ME) (IS_ANIMATE ME) (CAN_TALK ME) (BANANA BANANA1) (ROBOT ME) (IS_ON HOME PATH1) (POINT HOME) (IS_ON GROVE1 PATH1) (POINT GROVE1) (ROAD PATH1))) STEP TO BE TAKEN: (SLEEP) EXPECTED STATE; ((HUNGRY ME) (IS_ANIMATE ME) (CAN_TALK ME) (BANANA BANANA1) (IS_AT ME HOME) (ROBOT ME) (IS_ON HOME PATH1) (POINT HOME) (IS_ON GROVE1 PATH1) (POINT GROVE1) (ROAD PATH1)) ACTUAL NEW STATE: ((HUNGRY ME) (IS_ANIMATE ME) (CAN_TALK ME) (BANANA BANANA1) (IS_AT ME HOME) (ROBOT ME) (IS_ON HOME PATH1) (POINT HOME) (IS_ON GROVE1 PATH1) (POINT GROVE1) (ROAD PATH1)) NIL CL-USER(7): (go!) POSSIBLE ACTIONS & VALUES: (((WALK HOME GROVE1 PATH1) . 5) ((WALK HOME GROVE1 PATH1) . 5)) SEEMINGLY BEST PLAN: ((WALK HOME GROVE1 PATH1) (WALK GROVE1 HOME PATH1) (WALK HOME GROVE1 PATH1)) CORRESPONDING STATES: (((HUNGRY ME) (IS_ANIMATE ME) (CAN_TALK ME) (BANANA BANANA1) (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) (BANANA BANANA1) (CAN_TALK ME) (IS_ANIMATE ME) (HUNGRY ME)) ((IS_AT ME HOME) (HUNGRY ME) (IS_ANIMATE ME) (CAN_TALK ME) (BANANA BANANA1) (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) (BANANA BANANA1) (CAN_TALK ME) (IS_ANIMATE ME) (HUNGRY 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) (BANANA BANANA1) (CAN_TALK ME) (IS_ANIMATE ME) (HUNGRY ME)) ACTUAL NEW STATE: ((IS_INANIMATE APPLE-TREE1) (IS_ALIVE APPLE-TREE1) (HAS APPLE-TREE1 APPLE1) (EDIBLE APPLE1) (IS_AT APPLE1 GROVE1) (APPLE APPLE1) (IS_AT APPLE-TREE1 GROVE1) (TREE APPLE-TREE1) (IS_AT ME GROVE1) (ROAD PATH1) (POINT GROVE1) (IS_ON GROVE1 PATH1) (POINT HOME) (IS_ON HOME PATH1) (ROBOT ME) (BANANA BANANA1) (CAN_TALK ME) (IS_ANIMATE ME) (HUNGRY ME)) NIL CL-USER(8): (go!) POSSIBLE ACTIONS & VALUES: (((EAT ME APPLE1 GROVE1) . 8) ((WALK GROVE1 HOME PATH1) . 7) ((WALK GROVE1 HOME PATH1) . 5)) SEEMINGLY BEST PLAN: ((EAT ME APPLE1 GROVE1) (SLEEP) (WALK GROVE1 HOME PATH1)) CORRESPONDING STATES: (((IS_INANIMATE APPLE-TREE1) (IS_ALIVE APPLE-TREE1) (HAS APPLE-TREE1 APPLE1) (EDIBLE APPLE1) (IS_AT APPLE1 GROVE1) (APPLE APPLE1) (IS_AT APPLE-TREE1 GROVE1) (TREE APPLE-TREE1) (IS_AT ME GROVE1) (ROAD PATH1) (POINT GROVE1) (IS_ON GROVE1 PATH1) (POINT HOME) (IS_ON HOME PATH1) (ROBOT ME) (BANANA BANANA1) (CAN_TALK ME) (IS_ANIMATE ME) (HUNGRY ME)) ((IS_ANIMATE ME) (CAN_TALK ME) (BANANA BANANA1) (ROBOT ME) (IS_ON HOME PATH1) (POINT HOME) (IS_ON GROVE1 PATH1) (POINT GROVE1) (ROAD PATH1) (IS_AT ME GROVE1) (TREE APPLE-TREE1) (IS_AT APPLE-TREE1 GROVE1) (APPLE APPLE1) (HAS APPLE-TREE1 APPLE1) (IS_ALIVE APPLE-TREE1) (IS_INANIMATE APPLE-TREE1)) ((HUNGRY ME) (IS_INANIMATE APPLE-TREE1) (IS_ALIVE APPLE-TREE1) (HAS APPLE-TREE1 APPLE1) (APPLE APPLE1) (IS_AT APPLE-TREE1 GROVE1) (TREE APPLE-TREE1) (IS_AT ME GROVE1) (ROAD PATH1) (POINT GROVE1) (IS_ON GROVE1 PATH1) (POINT HOME) (IS_ON HOME PATH1) (ROBOT ME) (BANANA BANANA1) (CAN_TALK ME) (IS_ANIMATE ME)) ((IS_AT ME HOME) (IS_ANIMATE ME) (CAN_TALK ME) (BANANA BANANA1) (ROBOT ME) (IS_ON HOME PATH1) (POINT HOME) (IS_ON GROVE1 PATH1) (POINT GROVE1) (ROAD PATH1) (TREE APPLE-TREE1) (IS_AT APPLE-TREE1 GROVE1) (APPLE APPLE1) (HAS APPLE-TREE1 APPLE1) (IS_ALIVE APPLE-TREE1) (IS_INANIMATE APPLE-TREE1) (HUNGRY ME))) STEP TO BE TAKEN: (EAT ME APPLE1 GROVE1) EXPECTED STATE; ((IS_ANIMATE ME) (CAN_TALK ME) (BANANA BANANA1) (ROBOT ME) (IS_ON HOME PATH1) (POINT HOME) (IS_ON GROVE1 PATH1) (POINT GROVE1) (ROAD PATH1) (IS_AT ME GROVE1) (TREE APPLE-TREE1) (IS_AT APPLE-TREE1 GROVE1) (APPLE APPLE1) (HAS APPLE-TREE1 APPLE1) (IS_ALIVE APPLE-TREE1) (IS_INANIMATE APPLE-TREE1)) ACTUAL NEW STATE: ((IS_ANIMATE ME) (CAN_TALK ME) (BANANA BANANA1) (ROBOT ME) (IS_ON HOME PATH1) (POINT HOME) (IS_ON GROVE1 PATH1) (POINT GROVE1) (ROAD PATH1) (IS_AT ME GROVE1) (TREE APPLE-TREE1) (IS_AT APPLE-TREE1 GROVE1) (APPLE APPLE1) (HAS APPLE-TREE1 APPLE1) (IS_ALIVE APPLE-TREE1) (IS_INANIMATE APPLE-TREE1)) NIL CL-USER(9): (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: (((IS_ANIMATE ME) (CAN_TALK ME) (BANANA BANANA1) (ROBOT ME) (IS_ON HOME PATH1) (POINT HOME) (IS_ON GROVE1 PATH1) (POINT GROVE1) (ROAD PATH1) (IS_AT ME GROVE1) (TREE APPLE-TREE1) (IS_AT APPLE-TREE1 GROVE1) (APPLE APPLE1) (HAS APPLE-TREE1 APPLE1) (IS_ALIVE APPLE-TREE1) (IS_INANIMATE APPLE-TREE1)) ((HUNGRY ME) (IS_INANIMATE APPLE-TREE1) (IS_ALIVE APPLE-TREE1) (HAS APPLE-TREE1 APPLE1) (APPLE APPLE1) (IS_AT APPLE-TREE1 GROVE1) (TREE APPLE-TREE1) (IS_AT ME GROVE1) (ROAD PATH1) (POINT GROVE1) (IS_ON GROVE1 PATH1) (POINT HOME) (IS_ON HOME PATH1) (ROBOT ME) (BANANA BANANA1) (CAN_TALK ME) (IS_ANIMATE ME)) ((IS_AT ME HOME) (IS_ANIMATE ME) (CAN_TALK ME) (BANANA BANANA1) (ROBOT ME) (IS_ON HOME PATH1) (POINT HOME) (IS_ON GROVE1 PATH1) (POINT GROVE1) (ROAD PATH1) (TREE APPLE-TREE1) (IS_AT APPLE-TREE1 GROVE1) (APPLE APPLE1) (HAS APPLE-TREE1 APPLE1) (IS_ALIVE APPLE-TREE1) (IS_INANIMATE APPLE-TREE1) (HUNGRY ME)) ((IS_AT ME GROVE1) (HUNGRY ME) (IS_INANIMATE APPLE-TREE1) (IS_ALIVE APPLE-TREE1) (HAS APPLE-TREE1 APPLE1) (APPLE APPLE1) (IS_AT APPLE-TREE1 GROVE1) (TREE APPLE-TREE1) (ROAD PATH1) (POINT GROVE1) (IS_ON GROVE1 PATH1) (POINT HOME) (IS_ON HOME PATH1) (ROBOT ME) (BANANA BANANA1) (CAN_TALK ME) (IS_ANIMATE ME))) STEP TO BE TAKEN: (SLEEP) EXPECTED STATE; ((HUNGRY ME) (IS_INANIMATE APPLE-TREE1) (IS_ALIVE APPLE-TREE1) (HAS APPLE-TREE1 APPLE1) (APPLE APPLE1) (IS_AT APPLE-TREE1 GROVE1) (TREE APPLE-TREE1) (IS_AT ME GROVE1) (ROAD PATH1) (POINT GROVE1) (IS_ON GROVE1 PATH1) (POINT HOME) (IS_ON HOME PATH1) (ROBOT ME) (BANANA BANANA1) (CAN_TALK ME) (IS_ANIMATE ME)) ACTUAL NEW STATE: ((HUNGRY ME) (IS_INANIMATE APPLE-TREE1) (IS_ALIVE APPLE-TREE1) (HAS APPLE-TREE1 APPLE1) (APPLE APPLE1) (IS_AT APPLE-TREE1 GROVE1) (TREE APPLE-TREE1) (IS_AT ME GROVE1) (ROAD PATH1) (POINT GROVE1) (IS_ON GROVE1 PATH1) (POINT HOME) (IS_ON HOME PATH1) (ROBOT ME) (BANANA BANANA1) (CAN_TALK ME) (IS_ANIMATE ME)) NIL CL-USER(10): (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) (IS_INANIMATE APPLE-TREE1) (IS_ALIVE APPLE-TREE1) (HAS APPLE-TREE1 APPLE1) (APPLE APPLE1) (IS_AT APPLE-TREE1 GROVE1) (TREE APPLE-TREE1) (IS_AT ME GROVE1) (ROAD PATH1) (POINT GROVE1) (IS_ON GROVE1 PATH1) (POINT HOME) (IS_ON HOME PATH1) (ROBOT ME) (BANANA BANANA1) (CAN_TALK ME) (IS_ANIMATE ME)) ((IS_AT ME HOME) (IS_ANIMATE ME) (CAN_TALK ME) (BANANA BANANA1) (ROBOT ME) (IS_ON HOME PATH1) (POINT HOME) (IS_ON GROVE1 PATH1) (POINT GROVE1) (ROAD PATH1) (TREE APPLE-TREE1) (IS_AT APPLE-TREE1 GROVE1) (APPLE APPLE1) (HAS APPLE-TREE1 APPLE1) (IS_ALIVE APPLE-TREE1) (IS_INANIMATE APPLE-TREE1) (HUNGRY ME)) ((IS_AT ME GROVE1) (HUNGRY ME) (IS_INANIMATE APPLE-TREE1) (IS_ALIVE APPLE-TREE1) (HAS APPLE-TREE1 APPLE1) (APPLE APPLE1) (IS_AT APPLE-TREE1 GROVE1) (TREE APPLE-TREE1) (ROAD PATH1) (POINT GROVE1) (IS_ON GROVE1 PATH1) (POINT HOME) (IS_ON HOME PATH1) (ROBOT ME) (BANANA BANANA1) (CAN_TALK ME) (IS_ANIMATE ME)) ((IS_AT ME HOME) (IS_ANIMATE ME) (CAN_TALK ME) (BANANA BANANA1) (ROBOT ME) (IS_ON HOME PATH1) (POINT HOME) (IS_ON GROVE1 PATH1) (POINT GROVE1) (ROAD PATH1) (TREE APPLE-TREE1) (IS_AT APPLE-TREE1 GROVE1) (APPLE APPLE1) (HAS APPLE-TREE1 APPLE1) (IS_ALIVE APPLE-TREE1) (IS_INANIMATE APPLE-TREE1) (HUNGRY ME))) STEP TO BE TAKEN: (WALK GROVE1 HOME PATH1) EXPECTED STATE; ((IS_AT ME HOME) (IS_ANIMATE ME) (CAN_TALK ME) (BANANA BANANA1) (ROBOT ME) (IS_ON HOME PATH1) (POINT HOME) (IS_ON GROVE1 PATH1) (POINT GROVE1) (ROAD PATH1) (TREE APPLE-TREE1) (IS_AT APPLE-TREE1 GROVE1) (APPLE APPLE1) (HAS APPLE-TREE1 APPLE1) (IS_ALIVE APPLE-TREE1) (IS_INANIMATE APPLE-TREE1) (HUNGRY ME)) ACTUAL NEW STATE: ((IS_AT ME HOME) (IS_ANIMATE ME) (CAN_TALK ME) (BANANA BANANA1) (ROBOT ME) (IS_ON HOME PATH1) (POINT HOME) (IS_ON GROVE1 PATH1) (POINT GROVE1) (ROAD PATH1) (TREE APPLE-TREE1) (IS_AT APPLE-TREE1 GROVE1) (APPLE APPLE1) (HAS APPLE-TREE1 APPLE1) (IS_ALIVE APPLE-TREE1) (IS_INANIMATE APPLE-TREE1) (HUNGRY ME)) NIL CL-USER(11): (go!) POSSIBLE ACTIONS & VALUES: (((WALK HOME GROVE1 PATH1) . 5) ((WALK HOME GROVE1 PATH1) . 5)) SEEMINGLY BEST PLAN: ((WALK HOME GROVE1 PATH1) (WALK GROVE1 HOME PATH1) (WALK HOME GROVE1 PATH1)) CORRESPONDING STATES: (((IS_AT ME HOME) (IS_ANIMATE ME) (CAN_TALK ME) (BANANA BANANA1) (ROBOT ME) (IS_ON HOME PATH1) (POINT HOME) (IS_ON GROVE1 PATH1) (POINT GROVE1) (ROAD PATH1) (TREE APPLE-TREE1) (IS_AT APPLE-TREE1 GROVE1) (APPLE APPLE1) (HAS APPLE-TREE1 APPLE1) (IS_ALIVE APPLE-TREE1) (IS_INANIMATE APPLE-TREE1) (HUNGRY ME)) ((IS_AT ME GROVE1) (HUNGRY ME) (IS_INANIMATE APPLE-TREE1) (IS_ALIVE APPLE-TREE1) (HAS APPLE-TREE1 APPLE1) (APPLE APPLE1) (IS_AT APPLE-TREE1 GROVE1) (TREE APPLE-TREE1) (ROAD PATH1) (POINT GROVE1) (IS_ON GROVE1 PATH1) (POINT HOME) (IS_ON HOME PATH1) (ROBOT ME) (BANANA BANANA1) (CAN_TALK ME) (IS_ANIMATE ME)) ((IS_AT ME HOME) (IS_ANIMATE ME) (CAN_TALK ME) (BANANA BANANA1) (ROBOT ME) (IS_ON HOME PATH1) (POINT HOME) (IS_ON GROVE1 PATH1) (POINT GROVE1) (ROAD PATH1) (TREE APPLE-TREE1) (IS_AT APPLE-TREE1 GROVE1) (APPLE APPLE1) (HAS APPLE-TREE1 APPLE1) (IS_ALIVE APPLE-TREE1) (IS_INANIMATE APPLE-TREE1) (HUNGRY ME)) ((IS_AT ME GROVE1) (HUNGRY ME) (IS_INANIMATE APPLE-TREE1) (IS_ALIVE APPLE-TREE1) (HAS APPLE-TREE1 APPLE1) (APPLE APPLE1) (IS_AT APPLE-TREE1 GROVE1) (TREE APPLE-TREE1) (ROAD PATH1) (POINT GROVE1) (IS_ON GROVE1 PATH1) (POINT HOME) (IS_ON HOME PATH1) (ROBOT ME) (BANANA BANANA1) (CAN_TALK ME) (IS_ANIMATE ME))) STEP TO BE TAKEN: (WALK HOME GROVE1 PATH1) EXPECTED STATE; ((IS_AT ME GROVE1) (HUNGRY ME) (IS_INANIMATE APPLE-TREE1) (IS_ALIVE APPLE-TREE1) (HAS APPLE-TREE1 APPLE1) (APPLE APPLE1) (IS_AT APPLE-TREE1 GROVE1) (TREE APPLE-TREE1) (ROAD PATH1) (POINT GROVE1) (IS_ON GROVE1 PATH1) (POINT HOME) (IS_ON HOME PATH1) (ROBOT ME) (BANANA BANANA1) (CAN_TALK ME) (IS_ANIMATE ME)) ACTUAL NEW STATE: ((IS_AT ME GROVE1) (HUNGRY ME) (IS_INANIMATE APPLE-TREE1) (IS_ALIVE APPLE-TREE1) (HAS APPLE-TREE1 APPLE1) (APPLE APPLE1) (IS_AT APPLE-TREE1 GROVE1) (TREE APPLE-TREE1) (ROAD PATH1) (POINT GROVE1) (IS_ON GROVE1 PATH1) (POINT HOME) (IS_ON HOME PATH1) (ROBOT ME) (BANANA BANANA1) (CAN_TALK ME) (IS_ANIMATE ME)) NIL