diff --git a/instances/ipc-2000-blocks-track-1-typed/domain.pddl b/instances/ipc-2000-blocks-track-1-typed/domain.pddl new file mode 100644 index 0000000..24eac8b --- /dev/null +++ b/instances/ipc-2000-blocks-track-1-typed/domain.pddl @@ -0,0 +1,49 @@ +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;; 4 Op-blocks world +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +(define (domain BLOCKS) + (:requirements :strips :typing) + (:types block) + (:predicates (on ?x - block ?y - block) + (ontable ?x - block) + (clear ?x - block) + (handempty) + (holding ?x - block) + ) + + (:action pick-up + :parameters (?x - block) + :precondition (and (clear ?x) (ontable ?x) (handempty)) + :effect + (and (not (ontable ?x)) + (not (clear ?x)) + (not (handempty)) + (holding ?x))) + + (:action put-down + :parameters (?x - block) + :precondition (holding ?x) + :effect + (and (not (holding ?x)) + (clear ?x) + (handempty) + (ontable ?x))) + (:action stack + :parameters (?x - block ?y - block) + :precondition (and (holding ?x) (clear ?y)) + :effect + (and (not (holding ?x)) + (not (clear ?y)) + (clear ?x) + (handempty) + (on ?x ?y))) + (:action unstack + :parameters (?x - block ?y - block) + :precondition (and (on ?x ?y) (clear ?x) (handempty)) + :effect + (and (holding ?x) + (clear ?y) + (not (clear ?x)) + (not (handempty)) + (not (on ?x ?y))))) diff --git a/instances/ipc-2000-blocks-track-1-typed/problem-04-00.pddl b/instances/ipc-2000-blocks-track-1-typed/problem-04-00.pddl new file mode 100644 index 0000000..2b58a1a --- /dev/null +++ b/instances/ipc-2000-blocks-track-1-typed/problem-04-00.pddl @@ -0,0 +1,7 @@ +(define (problem BLOCKS-4-0) +(:domain BLOCKS) +(:objects D B A C - block) +(:INIT (CLEAR C) (CLEAR A) (CLEAR B) (CLEAR D) (ONTABLE C) (ONTABLE A) + (ONTABLE B) (ONTABLE D) (HANDEMPTY)) +(:goal (AND (ON D C) (ON C B) (ON B A))) +) \ No newline at end of file diff --git a/instances/ipc-2000-blocks-track-1-typed/problem-05-01.pddl b/instances/ipc-2000-blocks-track-1-typed/problem-05-01.pddl new file mode 100644 index 0000000..10d750f --- /dev/null +++ b/instances/ipc-2000-blocks-track-1-typed/problem-05-01.pddl @@ -0,0 +1,7 @@ +(define (problem BLOCKS-5-1) +(:domain BLOCKS) +(:objects A D C E B - block) +(:INIT (CLEAR B) (CLEAR E) (CLEAR C) (ONTABLE D) (ONTABLE E) (ONTABLE C) + (ON B A) (ON A D) (HANDEMPTY)) +(:goal (AND (ON D C) (ON C B) (ON B A) (ON A E))) +) \ No newline at end of file diff --git a/instances/ipc-2000-blocks-track-1-typed/problem-08-01.pddl b/instances/ipc-2000-blocks-track-1-typed/problem-08-01.pddl new file mode 100644 index 0000000..b659024 --- /dev/null +++ b/instances/ipc-2000-blocks-track-1-typed/problem-08-01.pddl @@ -0,0 +1,7 @@ +(define (problem BLOCKS-8-1) +(:domain BLOCKS) +(:objects B A G C F D H E - block) +(:INIT (CLEAR E) (CLEAR H) (CLEAR D) (CLEAR F) (ONTABLE C) (ONTABLE G) + (ONTABLE D) (ONTABLE F) (ON E C) (ON H A) (ON A B) (ON B G) (HANDEMPTY)) +(:goal (AND (ON C D) (ON D B) (ON B G) (ON G F) (ON F H) (ON H A) (ON A E))) +) \ No newline at end of file diff --git a/instances/ipc-2000-blocks-track-1-typed/problem-09-02.pddl b/instances/ipc-2000-blocks-track-1-typed/problem-09-02.pddl new file mode 100644 index 0000000..aa84494 --- /dev/null +++ b/instances/ipc-2000-blocks-track-1-typed/problem-09-02.pddl @@ -0,0 +1,8 @@ +(define (problem BLOCKS-9-2) +(:domain BLOCKS) +(:objects B I C E D A G F H - block) +(:INIT (CLEAR H) (CLEAR F) (ONTABLE G) (ONTABLE F) (ON H A) (ON A D) (ON D E) + (ON E C) (ON C I) (ON I B) (ON B G) (HANDEMPTY)) +(:goal (AND (ON F G) (ON G H) (ON H D) (ON D I) (ON I E) (ON E B) (ON B C) + (ON C A))) +) diff --git a/instances/ipc-2000-blocks-track-1-typed/solutions b/instances/ipc-2000-blocks-track-1-typed/solutions new file mode 100644 index 0000000..20c8101 --- /dev/null +++ b/instances/ipc-2000-blocks-track-1-typed/solutions @@ -0,0 +1,6 @@ +instance | minimal horizon | #solutions with minimal horizon +============================================================ +problem-04-00.pddl | 6 | 1 +problem-05-01.pddl | 10 | 2 +problem-08-01.pddl | 20 | 60 +problem-09-02.pddl | 20 | 37