1 % ------------------------- Problem Instance
--------------------------
2 % --- Load domain definitions from an external file
-------------------
5 % --- Definition of the initial
state ---------------------------------
7 connected
(loc11
, loc21
, east
).
8 connected
(loc11
, loc12
, north
).
9 connected
(loc12
, loc22
, east
).
10 connected
(loc12
, loc13
, north
).
11 connected
(loc13
, loc23
, east
).
12 connected
(loc13
, loc14
, north
).
13 connected
(loc14
, loc24
, east
).
15 connected
(loc21
, loc31
, east
).
16 connected
(loc21
, loc22
, north
).
17 connected
(loc22
, loc32
, east
).
18 connected
(loc22
, loc23
, north
).
19 connected
(loc23
, loc33
, east
).
20 connected
(loc23
, loc24
, north
).
22 connected
(loc31
, loc32
, east
).
23 connected
(loc32
, loc33
, east
).
25 % The other way around
, west
and south
26 connected
(loc21
, loc11
, west
).
27 connected
(loc12
, loc11
, south
).
28 connected
(loc22
, loc12
, west
).
29 connected
(loc13
, loc12
, south
).
30 connected
(loc23
, loc13
, west
).
31 connected
(loc14
, loc13
, south
).
32 connected
(loc24
, loc14
, west
).
34 connected
(loc31
, loc21
, west
).
35 connected
(loc22
, loc21
, south
).
36 connected
(loc32
, loc22
, west
).
37 connected
(loc23
, loc22
, south
).
38 connected
(loc33
, loc23
, west
).
39 connected
(loc24
, loc23
, south
).
41 connected
(loc32
, loc31
, west
).
42 connected
(loc33
, loc32
, west
).
44 %connected(X
, Y
, east
) :- connected
(Y
, X
, west
).
45 %connected(X
, Y
, north
) :- connected
(Y
, X
, south
).
47 crate
(cratec
, loc21
, s0
).
48 crate
(crateb
, loc22
, s0
).
49 crate
(cratea
, loc23
, s0
).
51 target
(cratea
, loc12
).
52 target
(crateb
, loc13
).
53 target
(cratec
, loc11
).
57 % --- Goal condition that the planner will try to reach
---------------
58 %goal(S
) :- forall
(crate
(Crate
, Loc
, S
), target
(Crate
, Loc
)).
59 goal
(S
) :- crate
(cratea
, Targeta
, S
), target
(cratea
, Targeta
),
60 crate
(crateb
, Targetb
, S
), target
(crateb
, Targetb
),
61 crate
(cratec
, Targetc
, S
), target
(cratec
, Targetc
).
62 %goal(S
) :- crate
(cratea
, Targeta
, S
), target
(_
, Targeta
),
63 % crate
(crateb
, Targetb
, S
), target
(_
, Targetb
),
64 % crate
(cratec
, Targetc
, S
), target
(_
, Targetc
).