Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (def world2
- '#{(connects G1 G2)
- (connects G2 G1)
- (connects G2 G3)
- (connects G3 G2)
- (on ball table1)
- (on nil table2)
- (on table1 G1)
- (on table2 G3)
- (platform table1)
- (platform table2)
- (manipulable ball)
- (agent R)
- })
- (def state2
- '#{(at R G2)
- (holds R nil)
- })
- (def ops
- '{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]
- }
- 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)
- (on ?place nil))
- :add ((holds ?agent nil)
- (on ?obj ?place))
- :del ((holds ?agent ?obj))
- :txt (drop ?obj at ?place)
- :cmd [drop ?obj]
- }
- pick-off {:pre ((agent ?agent)
- (manipulable ?obj)
- (at ?agent ?place)
- (on ?platform ?place)
- (on ?obj ?platform)
- (holds ?agent nil))
- :add ((holds ?agent ?obj))
- :del ((on ?obj ?platform)
- (holds ?agent nil))
- :txt ((Pick off ?obj from ?platform))
- }
- drop-on {:pre ((agent ?agent)
- (at ?agent ?place)
- (on ?platform ?place)
- (on nil ?platform)
- (:not (holds ?agent nil))
- (holds ?agent ?obj))
- :add ((holds ?agent nil)
- (on ?obj ?platform))
- :del ((holds ?agent ?obj))
- :txt ((drop ?obj on ?platform))
- :cmd [drop ?obj on ?platform]
- }
- })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement