Guest User

Untitled

a guest
Jan 21st, 2018
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.08 KB | None | 0 0
  1. (define (domain monkey-domain)
  2. (:requirements :strips :equality)
  3.  
  4. (:predicates (location ?x)
  5. (on-floor)
  6. (at ?m ?x)
  7. (hasknife)
  8. (onbox ?x)
  9. (eat-banana)
  10. (get-key)
  11. (open-cage)
  12. (hasbanana))
  13. (:constants monkey box knife banana)
  14.  
  15. ;; movement and climbing
  16. (:action GO-TO
  17. :parameters (?x ?y)
  18. :precondition (and (location ?x) (location ?y)
  19. (not (= ?y ?x)) (on-floor) (at monkey ?y))
  20. :effect (and (at monkey ?x) (not (at monkey ?y))))
  21.  
  22. (:action CLIMB
  23. :parameters (?x)
  24. :precondition (and (location ?x) (at box ?x) (at monkey ?x))
  25. :effect (and (onbox ?x) (not (on-floor))))
  26.  
  27. (:action PUSH-BOX
  28. :parameters (?x ?y)
  29. :precondition (and (location ?x) (location ?y)
  30. (not (= ?y ?x)) (at box ?y) (at monkey ?y)
  31. (on-floor))
  32. :effect (and (at monkey ?x) (not (at monkey ?y))
  33. (at box ?x) (not (at box ?y))))
  34.  
  35. ;; getting banana
  36. (:action GET-KNIFE
  37. :parameters (?y)
  38. :precondition (and (location ?y) (at knife ?y) (at monkey ?y))
  39. :effect (and (hasknife) (not (at knife ?y))))
  40.  
  41. (:action GRAB-BANANA
  42. :parameters (?y)
  43. :precondition (and (location ?y) (hasknife)
  44. (at banana ?y) (onbox ?y))
  45. :effect (hasbanana)))
  46.  
  47. (:action EAT-BANANA
  48. :parameters(?y)
  49. :precondition (and(location ?y) (hasbanana))
  50. :effect (eat-banana))
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59. (define (problem my-problem)
  60. (:domain monkey-domain)
  61. (:objects p1 p2 p3 p4)
  62. (:init (location p1)
  63. (location p2)
  64. (location p3)
  65. (location p4)
  66. (at monkey p1)
  67. (on-floor)
  68. (at box p2)
  69. (at banana p3)
  70. (at knife p4))
  71. (:goal (AND (hasbanana)))
  72. (:length (:serial 20) (:parallel 10)))
Add Comment
Please, Sign In to add comment