Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (def world
- '#{(connects G1 G2)
- (connects G2 G1)
- (connects G2 G3)
- (connects G3 G2)
- (on table G1)
- (climbable table)
- ;(platform table)
- (agent R)
- })
- (def state1
- '#{(on R table)
- ;(holds R nil)
- })
- (def ops
- '{pickup {:pre ((agent ?agent)
- (manipulable ?obj)
- (at ?agent ?place)
- (on ?obj ?place)
- (holds ?agent nil))
- :add ((holds ?agent ?obj))
- :del ((on ?obj ?place)
- (holds ?agent nil))
- :txt (pickup ?obj from ?place)
- :cmd [grasp ?obj]
- }
- drop {:pre ((at ?agent ?place)
- (holds ?agent ?obj)
- (holds ?agent ?platform))
- :add ((holds ?agent nil)
- (on ?obj ?place))
- :del ((holds ?agent ?obj)
- (holds ?agent ?platform))
- :txt (drop ?obj at ?place)
- :cmd [drop ?obj]
- }
- move {:pre ((agent ?agent)
- (at ?agent ?p1)
- (connects ?p1 ?p2))
- :add ((at ?agent ?p2))
- :del ((at ?agent ?p1))
- :txt (move ?p1 to ?p2)
- :cmd [move ?p2]
- }
- ;climbon {:pre ((agent ?agent)
- ; (at ?agent ?place)
- ; (on ?obj ?place)
- ; (climbable ?obj))
- ; ;(platform ?obj)
- ; ;(holds ?agent nil))
- ; :del ((at ?agent ?place))
- ; :add ((at ?agent ?obj))
- ; :txt (climbon ?agent ?obj)
- ; :cmd [on ?agent ?obj]
- ; }
- climboff (:pre ((agent ?agent)
- (on ?agent ?platform)
- (climbable ?climbable)
- ;(connects ?p1 ?p2)
- )
- :del ((on ?agent ?platform))
- :add ((at agent ?place))
- :txt (climb off ?agent to ?place)
- :cmd [at ?agent ?place])
- })
- (ops-search state1 '((at R G3)) ops :world world)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement