-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathhacker-world.pddl
32 lines (27 loc) · 1.01 KB
/
hacker-world.pddl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
;;;; Hacker World - A realistic example
(define (domain hacker-world)
(:requirements :typing
:negative-preconditions)
(:types hacker non-hacker - person
pizza burger fries - food
pepperoni supreme - pizza
box fridge - container
person container food software - object)
(:predicates (has-access ?p - person ?s - software)
(hungry ?p - person)
(in ?o1 - object ?o2 - object))
;; Eat delicious pizza from a specified place
(:action eat-pizza
:parameters (?piz - pizza ?per - person ?pla - place)
:precondition (and (hungry ?per)
(in ?pla ?piz))
:effect (and (not (hungry ?per))
(not (in ?pla ?piz))
(in ?per ?piz)))
;; Get access to software of a victim
(:action hack
:parameters (?hac - hacker ?sof - software ?per - person)
:precondition (and (has-access ?per ?sof)
(not (hungry ?hac)))
:effect (and (has-access ?hac ?sof)
(not (has-access ?per ?sof)))))