forked from potassco/pddl-instances
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdomain.pddl
84 lines (78 loc) · 1.88 KB
/
domain.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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
(define (domain scanalyzer3d)
(:requirements :typing :action-costs)
(:types segment car - object)
(:predicates (on ?c - car ?s - segment)
(analyzed ?c - car)
(CYCLE-2 ?s1 ?s2 - segment)
(CYCLE-4 ?s1 ?s2 ?s3 ?s4 - segment)
(CYCLE-2-WITH-ANALYSIS ?s1 ?s2 - segment)
(CYCLE-4-WITH-ANALYSIS ?s1 ?s2 ?s3 ?s4 - segment))
(:functions (total-cost) - number)
(:action analyze-2
:parameters (?s1 ?s2 - segment ?c1 ?c2 - car)
:precondition (and (CYCLE-2-WITH-ANALYSIS ?s1 ?s2)
(on ?c1 ?s1)
(on ?c2 ?s2)
)
:effect (and (not (on ?c1 ?s1))
(not (on ?c2 ?s2))
(on ?c1 ?s2)
(on ?c2 ?s1)
(analyzed ?c1)
(increase (total-cost) 3)
)
)
(:action analyze-4
:parameters (?s1 ?s2 ?s3 ?s4 - segment ?c1 ?c2 ?c3 ?c4 - car)
:precondition (and (CYCLE-4-WITH-ANALYSIS ?s1 ?s2 ?s3 ?s4)
(on ?c1 ?s1)
(on ?c2 ?s2)
(on ?c3 ?s3)
(on ?c4 ?s4)
)
:effect (and (not (on ?c1 ?s1))
(not (on ?c2 ?s2))
(not (on ?c3 ?s3))
(not (on ?c4 ?s4))
(on ?c1 ?s4)
(on ?c2 ?s1)
(on ?c3 ?s2)
(on ?c4 ?s3)
(analyzed ?c1)
(increase (total-cost) 3)
)
)
(:action rotate-2
:parameters (?s1 ?s2 - segment ?c1 ?c2 - car)
:precondition (and (CYCLE-2 ?s1 ?s2)
(on ?c1 ?s1)
(on ?c2 ?s2)
)
:effect (and (not (on ?c1 ?s1))
(not (on ?c2 ?s2))
(on ?c1 ?s2)
(on ?c2 ?s1)
(increase (total-cost) 1)
)
)
(:action rotate-4
:parameters (?s1 ?s2 ?s3 ?s4 - segment ?c1 ?c2 ?c3 ?c4 - car)
:precondition (and (CYCLE-4 ?s1 ?s2 ?s3 ?s4)
(on ?c1 ?s1)
(on ?c2 ?s2)
(on ?c3 ?s3)
(on ?c4 ?s4)
)
:effect (and (not (on ?c1 ?s1))
(not (on ?c2 ?s2))
(not (on ?c3 ?s3))
(not (on ?c4 ?s4))
(on ?c1 ?s4)
(on ?c2 ?s1)
(on ?c3 ?s2)
(on ?c4 ?s3)
(increase (total-cost) 1)
)
)
)
;; different costs for analyze and swap?