Commit 68352455 authored by David Speck's avatar David Speck

heuristic friendly versions of greedy pegsol

parent e30a9d45
domains = [
{'description': 'A greedy version of peg solitare which counts after every move (seq of moves) the number of remaining sticks as sdac cost.',
'name': 'greedy-pegsol-08',
'problems': [
('greedy-pegsol-08/pddl/p01-domain.pddl', 'greedy-pegsol-08/pddl/p01.pddl', 'greedy-pegsol-08/trans_sas/p01.sas'),
('greedy-pegsol-08/pddl/p02-domain.pddl', 'greedy-pegsol-08/pddl/p02.pddl', 'greedy-pegsol-08/trans_sas/p02.sas'),
('greedy-pegsol-08/pddl/p03-domain.pddl', 'greedy-pegsol-08/pddl/p03.pddl', 'greedy-pegsol-08/trans_sas/p03.sas'),
('greedy-pegsol-08/pddl/p04-domain.pddl', 'greedy-pegsol-08/pddl/p04.pddl', 'greedy-pegsol-08/trans_sas/p04.sas'),
('greedy-pegsol-08/pddl/p05-domain.pddl', 'greedy-pegsol-08/pddl/p05.pddl', 'greedy-pegsol-08/trans_sas/p05.sas'),
('greedy-pegsol-08/pddl/p06-domain.pddl', 'greedy-pegsol-08/pddl/p06.pddl', 'greedy-pegsol-08/trans_sas/p06.sas'),
('greedy-pegsol-08/pddl/p07-domain.pddl', 'greedy-pegsol-08/pddl/p07.pddl', 'greedy-pegsol-08/trans_sas/p07.sas'),
('greedy-pegsol-08/pddl/p08-domain.pddl', 'greedy-pegsol-08/pddl/p08.pddl', 'greedy-pegsol-08/trans_sas/p08.sas'),
('greedy-pegsol-08/pddl/p09-domain.pddl', 'greedy-pegsol-08/pddl/p09.pddl', 'greedy-pegsol-08/trans_sas/p09.sas'),
('greedy-pegsol-08/pddl/p10-domain.pddl', 'greedy-pegsol-08/pddl/p10.pddl', 'greedy-pegsol-08/trans_sas/p10.sas'),
('greedy-pegsol-08/pddl/p11-domain.pddl', 'greedy-pegsol-08/pddl/p11.pddl', 'greedy-pegsol-08/trans_sas/p11.sas'),
('greedy-pegsol-08/pddl/p12-domain.pddl', 'greedy-pegsol-08/pddl/p12.pddl', 'greedy-pegsol-08/trans_sas/p12.sas'),
('greedy-pegsol-08/pddl/p13-domain.pddl', 'greedy-pegsol-08/pddl/p13.pddl', 'greedy-pegsol-08/trans_sas/p13.sas'),
('greedy-pegsol-08/pddl/p14-domain.pddl', 'greedy-pegsol-08/pddl/p14.pddl', 'greedy-pegsol-08/trans_sas/p14.sas'),
('greedy-pegsol-08/pddl/p15-domain.pddl', 'greedy-pegsol-08/pddl/p15.pddl', 'greedy-pegsol-08/trans_sas/p15.sas'),
('greedy-pegsol-08/pddl/p16-domain.pddl', 'greedy-pegsol-08/pddl/p16.pddl', 'greedy-pegsol-08/trans_sas/p16.sas'),
('greedy-pegsol-08/pddl/p17-domain.pddl', 'greedy-pegsol-08/pddl/p17.pddl', 'greedy-pegsol-08/trans_sas/p17.sas'),
('greedy-pegsol-08/pddl/p18-domain.pddl', 'greedy-pegsol-08/pddl/p18.pddl', 'greedy-pegsol-08/trans_sas/p18.sas'),
('greedy-pegsol-08/pddl/p19-domain.pddl', 'greedy-pegsol-08/pddl/p19.pddl', 'greedy-pegsol-08/trans_sas/p19.sas'),
('greedy-pegsol-08/pddl/p20-domain.pddl', 'greedy-pegsol-08/pddl/p20.pddl', 'greedy-pegsol-08/trans_sas/p20.sas'),
('greedy-pegsol-08/pddl/p21-domain.pddl', 'greedy-pegsol-08/pddl/p21.pddl', 'greedy-pegsol-08/trans_sas/p21.sas'),
('greedy-pegsol-08/pddl/p22-domain.pddl', 'greedy-pegsol-08/pddl/p22.pddl', 'greedy-pegsol-08/trans_sas/p22.sas'),
('greedy-pegsol-08/pddl/p23-domain.pddl', 'greedy-pegsol-08/pddl/p23.pddl', 'greedy-pegsol-08/trans_sas/p23.sas'),
('greedy-pegsol-08/pddl/p24-domain.pddl', 'greedy-pegsol-08/pddl/p24.pddl', 'greedy-pegsol-08/trans_sas/p24.sas'),
('greedy-pegsol-08/pddl/p25-domain.pddl', 'greedy-pegsol-08/pddl/p25.pddl', 'greedy-pegsol-08/trans_sas/p25.sas'),
('greedy-pegsol-08/pddl/p26-domain.pddl', 'greedy-pegsol-08/pddl/p26.pddl', 'greedy-pegsol-08/trans_sas/p26.sas'),
('greedy-pegsol-08/pddl/p27-domain.pddl', 'greedy-pegsol-08/pddl/p27.pddl', 'greedy-pegsol-08/trans_sas/p27.sas'),
('greedy-pegsol-08/pddl/p28-domain.pddl', 'greedy-pegsol-08/pddl/p28.pddl', 'greedy-pegsol-08/trans_sas/p28.sas'),
('greedy-pegsol-08/pddl/p29-domain.pddl', 'greedy-pegsol-08/pddl/p29.pddl', 'greedy-pegsol-08/trans_sas/p29.sas'),
('greedy-pegsol-08/pddl/p30-domain.pddl', 'greedy-pegsol-08/pddl/p30.pddl', 'greedy-pegsol-08/trans_sas/p30.sas'),]}
]
;; Peg Solitaire sequential domain
(define (domain pegsolitaire-sequential)
(:requirements :typing :action-costs)
(:types location - object)
(:predicates
(IN-LINE ?x ?y ?z - location)
(occupied ?l - location)
(free ?l - location)
(move-ended)
(last-visited ?l - location)
)
(:functions (total-cost) - number)
(:action jump-new-move
:parameters (?from - location ?over - location ?to - location)
:precondition (and
(move-ended)
(IN-LINE ?from ?over ?to)
(occupied ?from)
(occupied ?over)
(free ?to)
)
:effect (and
(not (move-ended))
(not (occupied ?from))
(not (occupied ?over))
(not (free ?to))
(free ?from)
(free ?over)
(occupied ?to)
(last-visited ?to)
(increase (total-cost) 1)
)
)
(:action jump-continue-move
:parameters (?from - location ?over - location ?to - location)
:precondition (and
(last-visited ?from)
(IN-LINE ?from ?over ?to)
(occupied ?from)
(occupied ?over)
(free ?to)
)
:effect (and
(not (occupied ?from))
(not (occupied ?over))
(not (free ?to))
(free ?from)
(free ?over)
(occupied ?to)
(not (last-visited ?from))
(last-visited ?to)
)
)
(:action end-move
:parameters (?loc - location)
:precondition (last-visited ?loc)
:effect (and
(move-ended)
(not (last-visited ?loc))
)
)
)
;; The following problem is taken from the problem library of Solipeg 2.2:
;;
;; Solipeg, a Classic Marble Puzzle Game for the
;; Psion Series 3a, 3c and Siena
;; Version 2.2 (and 2.2 Lite)
;; Copyright (C) 1993, 1994, 1995, 1996 J Cade Roux
;;
;; This program is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 2 of the License, or
;; (at your option) any later version.
;;
;; This program is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;;
;; You should have received a copy of the GNU General Public License
;; along with this program; if not, write to the Free Software
;; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
;;
;; (see http://ourworld.compuserve.com/homepages/cade/psionsof.htm,
;; http://ourworld.compuserve.com/homepages/cade/solsrc22.zip)
;;
;; The Solipeg problem library in turn is derived from the booklet
;; "Problems in Puzzle-Peg" included in the game Puzzle-Peg (Third
;; Edition, 1924, Lubbers & Bell Mfg. Co.,Clinton, Iowa, USA).
;;
;; Original problem number and name: "2 Novice"
;;
;; Number of pegs: 5
;; Number of diagonal moves needed: 0
;;
;; Problem description:
;; "*" denotes "occupied"
;; "o" denotes "free"
;;
;; o o o
;; o * o
;; o o * o * o o
;; o * o o * o o
;; o o o o o o o
;; o o o
;; o o o
;;
;; Target position = (3,3)
;;
(define (problem pegsolitaire-sequential-002)
(:domain pegsolitaire-sequential)
(:objects
pos-0-2 - location
pos-0-3 - location
pos-0-4 - location
pos-1-2 - location
pos-1-3 - location
pos-1-4 - location
pos-2-0 - location
pos-2-1 - location
pos-2-2 - location
pos-2-3 - location
pos-2-4 - location
pos-2-5 - location
pos-2-6 - location
pos-3-0 - location
pos-3-1 - location
pos-3-2 - location
pos-3-3 - location
pos-3-4 - location
pos-3-5 - location
pos-3-6 - location
pos-4-0 - location
pos-4-1 - location
pos-4-2 - location
pos-4-3 - location
pos-4-4 - location
pos-4-5 - location
pos-4-6 - location
pos-5-2 - location
pos-5-3 - location
pos-5-4 - location
pos-6-2 - location
pos-6-3 - location
pos-6-4 - location
)
(:init
(= (total-cost) 0)
(move-ended)
(IN-LINE pos-0-2 pos-0-3 pos-0-4)
(IN-LINE pos-0-4 pos-0-3 pos-0-2)
(IN-LINE pos-0-2 pos-1-2 pos-2-2)
(IN-LINE pos-2-2 pos-1-2 pos-0-2)
(IN-LINE pos-0-3 pos-1-3 pos-2-3)
(IN-LINE pos-2-3 pos-1-3 pos-0-3)
(IN-LINE pos-0-4 pos-1-4 pos-2-4)
(IN-LINE pos-2-4 pos-1-4 pos-0-4)
(IN-LINE pos-1-2 pos-1-3 pos-1-4)
(IN-LINE pos-1-4 pos-1-3 pos-1-2)
(IN-LINE pos-1-2 pos-2-2 pos-3-2)
(IN-LINE pos-3-2 pos-2-2 pos-1-2)
(IN-LINE pos-1-3 pos-2-3 pos-3-3)
(IN-LINE pos-3-3 pos-2-3 pos-1-3)
(IN-LINE pos-1-4 pos-2-4 pos-3-4)
(IN-LINE pos-3-4 pos-2-4 pos-1-4)
(IN-LINE pos-2-0 pos-2-1 pos-2-2)
(IN-LINE pos-2-2 pos-2-1 pos-2-0)
(IN-LINE pos-2-0 pos-3-0 pos-4-0)
(IN-LINE pos-4-0 pos-3-0 pos-2-0)
(IN-LINE pos-2-1 pos-2-2 pos-2-3)
(IN-LINE pos-2-3 pos-2-2 pos-2-1)
(IN-LINE pos-2-1 pos-3-1 pos-4-1)
(IN-LINE pos-4-1 pos-3-1 pos-2-1)
(IN-LINE pos-2-2 pos-2-3 pos-2-4)
(IN-LINE pos-2-4 pos-2-3 pos-2-2)
(IN-LINE pos-2-2 pos-3-2 pos-4-2)
(IN-LINE pos-4-2 pos-3-2 pos-2-2)
(IN-LINE pos-2-3 pos-2-4 pos-2-5)
(IN-LINE pos-2-5 pos-2-4 pos-2-3)
(IN-LINE pos-2-3 pos-3-3 pos-4-3)
(IN-LINE pos-4-3 pos-3-3 pos-2-3)
(IN-LINE pos-2-4 pos-2-5 pos-2-6)
(IN-LINE pos-2-6 pos-2-5 pos-2-4)
(IN-LINE pos-2-4 pos-3-4 pos-4-4)
(IN-LINE pos-4-4 pos-3-4 pos-2-4)
(IN-LINE pos-2-5 pos-3-5 pos-4-5)
(IN-LINE pos-4-5 pos-3-5 pos-2-5)
(IN-LINE pos-2-6 pos-3-6 pos-4-6)
(IN-LINE pos-4-6 pos-3-6 pos-2-6)
(IN-LINE pos-3-0 pos-3-1 pos-3-2)
(IN-LINE pos-3-2 pos-3-1 pos-3-0)
(IN-LINE pos-3-1 pos-3-2 pos-3-3)
(IN-LINE pos-3-3 pos-3-2 pos-3-1)
(IN-LINE pos-3-2 pos-3-3 pos-3-4)
(IN-LINE pos-3-4 pos-3-3 pos-3-2)
(IN-LINE pos-3-2 pos-4-2 pos-5-2)
(IN-LINE pos-5-2 pos-4-2 pos-3-2)
(IN-LINE pos-3-3 pos-3-4 pos-3-5)
(IN-LINE pos-3-5 pos-3-4 pos-3-3)
(IN-LINE pos-3-3 pos-4-3 pos-5-3)
(IN-LINE pos-5-3 pos-4-3 pos-3-3)
(IN-LINE pos-3-4 pos-3-5 pos-3-6)
(IN-LINE pos-3-6 pos-3-5 pos-3-4)
(IN-LINE pos-3-4 pos-4-4 pos-5-4)
(IN-LINE pos-5-4 pos-4-4 pos-3-4)
(IN-LINE pos-4-0 pos-4-1 pos-4-2)
(IN-LINE pos-4-2 pos-4-1 pos-4-0)
(IN-LINE pos-4-1 pos-4-2 pos-4-3)
(IN-LINE pos-4-3 pos-4-2 pos-4-1)
(IN-LINE pos-4-2 pos-4-3 pos-4-4)
(IN-LINE pos-4-4 pos-4-3 pos-4-2)
(IN-LINE pos-4-2 pos-5-2 pos-6-2)
(IN-LINE pos-6-2 pos-5-2 pos-4-2)
(IN-LINE pos-4-3 pos-4-4 pos-4-5)
(IN-LINE pos-4-5 pos-4-4 pos-4-3)
(IN-LINE pos-4-3 pos-5-3 pos-6-3)
(IN-LINE pos-6-3 pos-5-3 pos-4-3)
(IN-LINE pos-4-4 pos-4-5 pos-4-6)
(IN-LINE pos-4-6 pos-4-5 pos-4-4)
(IN-LINE pos-4-4 pos-5-4 pos-6-4)
(IN-LINE pos-6-4 pos-5-4 pos-4-4)
(IN-LINE pos-5-2 pos-5-3 pos-5-4)
(IN-LINE pos-5-4 pos-5-3 pos-5-2)
(IN-LINE pos-6-2 pos-6-3 pos-6-4)
(IN-LINE pos-6-4 pos-6-3 pos-6-2)
(free pos-0-2)
(free pos-0-3)
(free pos-0-4)
(free pos-1-2)
(free pos-1-4)
(free pos-2-0)
(free pos-2-1)
(free pos-2-3)
(free pos-2-5)
(free pos-2-6)
(free pos-3-0)
(free pos-3-2)
(free pos-3-3)
(free pos-3-5)
(free pos-3-6)
(free pos-4-0)
(free pos-4-1)
(free pos-4-2)
(free pos-4-3)
(free pos-4-4)
(free pos-4-5)
(free pos-4-6)
(free pos-5-2)
(free pos-5-3)
(free pos-5-4)
(free pos-6-2)
(free pos-6-3)
(free pos-6-4)
(occupied pos-1-3)
(occupied pos-2-2)
(occupied pos-2-4)
(occupied pos-3-1)
(occupied pos-3-4)
)
(:goal (and
(free pos-0-2)
(free pos-0-3)
(free pos-0-4)
(free pos-1-2)
(free pos-1-3)
(free pos-1-4)
(free pos-2-0)
(free pos-2-1)
(free pos-2-2)
(free pos-2-3)
(free pos-2-4)
(free pos-2-5)
(free pos-2-6)
(free pos-3-0)
(free pos-3-1)
(free pos-3-2)
(free pos-3-4)
(free pos-3-5)
(free pos-3-6)
(free pos-4-0)
(free pos-4-1)
(free pos-4-2)
(free pos-4-3)
(free pos-4-4)
(free pos-4-5)
(free pos-4-6)
(free pos-5-2)
(free pos-5-3)
(free pos-5-4)
(free pos-6-2)
(free pos-6-3)
(free pos-6-4)
(occupied pos-3-3)
)
)
(:metric minimize (total-cost))
)
;; Peg Solitaire sequential domain
(define (domain pegsolitaire-sequential)
(:requirements :typing :action-costs)
(:types location - object)
(:predicates
(IN-LINE ?x ?y ?z - location)
(occupied ?l - location)
(free ?l - location)
(move-ended)
(last-visited ?l - location)
)
(:functions (total-cost) - number)
(:action jump-new-move
:parameters (?from - location ?over - location ?to - location)
:precondition (and
(move-ended)
(IN-LINE ?from ?over ?to)
(occupied ?from)
(occupied ?over)
(free ?to)
)
:effect (and
(not (move-ended))
(not (occupied ?from))
(not (occupied ?over))
(not (free ?to))
(free ?from)
(free ?over)
(occupied ?to)
(last-visited ?to)
(increase (total-cost) 1)
)
)
(:action jump-continue-move
:parameters (?from - location ?over - location ?to - location)
:precondition (and
(last-visited ?from)
(IN-LINE ?from ?over ?to)
(occupied ?from)
(occupied ?over)
(free ?to)
)
:effect (and
(not (occupied ?from))
(not (occupied ?over))
(not (free ?to))
(free ?from)
(free ?over)
(occupied ?to)
(not (last-visited ?from))
(last-visited ?to)
)
)
(:action end-move
:parameters (?loc - location)
:precondition (last-visited ?loc)
:effect (and
(move-ended)
(not (last-visited ?loc))
)
)
)
;; The following problem is taken from the problem library of Solipeg 2.2:
;;
;; Solipeg, a Classic Marble Puzzle Game for the
;; Psion Series 3a, 3c and Siena
;; Version 2.2 (and 2.2 Lite)
;; Copyright (C) 1993, 1994, 1995, 1996 J Cade Roux
;;
;; This program is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 2 of the License, or
;; (at your option) any later version.
;;
;; This program is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;;
;; You should have received a copy of the GNU General Public License
;; along with this program; if not, write to the Free Software
;; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
;;
;; (see http://ourworld.compuserve.com/homepages/cade/psionsof.htm,
;; http://ourworld.compuserve.com/homepages/cade/solsrc22.zip)
;;
;; The Solipeg problem library in turn is derived from the booklet
;; "Problems in Puzzle-Peg" included in the game Puzzle-Peg (Third
;; Edition, 1924, Lubbers & Bell Mfg. Co.,Clinton, Iowa, USA).
;;
;; Original problem number and name: "14 Move right"
;;
;; Number of pegs: 6
;; Number of diagonal moves needed: 0
;;
;; Problem description:
;; "*" denotes "occupied"
;; "o" denotes "free"
;;
;; o o o
;; o o o
;; o o o o * o o
;; o o * * o o o
;; o o o * * o o
;; o * o
;; o o o
;;
;; Target position = (3,3)
;;
(define (problem pegsolitaire-sequential-014)
(:domain pegsolitaire-sequential)
(:objects
pos-0-2 - location
pos-0-3 - location
pos-0-4 - location
pos-1-2 - location
pos-1-3 - location
pos-1-4 - location
pos-2-0 - location
pos-2-1 - location
pos-2-2 - location
pos-2-3 - location
pos-2-4 - location
pos-2-5 - location
pos-2-6 - location
pos-3-0 - location
pos-3-1 - location
pos-3-2 - location
pos-3-3 - location
pos-3-4 - location
pos-3-5 - location
pos-3-6 - location
pos-4-0 - location
pos-4-1 - location
pos-4-2 - location
pos-4-3 - location
pos-4-4 - location
pos-4-5 - location
pos-4-6 - location
pos-5-2 - location
pos-5-3 - location
pos-5-4 - location
pos-6-2 - location
pos-6-3 - location
pos-6-4 - location
)
(:init
(= (total-cost) 0)
(move-ended)
(IN-LINE pos-0-2 pos-0-3 pos-0-4)
(IN-LINE pos-0-4 pos-0-3 pos-0-2)
(IN-LINE pos-0-2 pos-1-2 pos-2-2)
(IN-LINE pos-2-2 pos-1-2 pos-0-2)
(IN-LINE pos-0-3 pos-1-3 pos-2-3)
(IN-LINE pos-2-3 pos-1-3 pos-0-3)
(IN-LINE pos-0-4 pos-1-4 pos-2-4)
(IN-LINE pos-2-4 pos-1-4 pos-0-4)
(IN-LINE pos-1-2 pos-1-3 pos-1-4)
(IN-LINE pos-1-4 pos-1-3 pos-1-2)
(IN-LINE pos-1-2 pos-2-2 pos-3-2)
(IN-LINE pos-3-2 pos-2-2 pos-1-2)
(IN-LINE pos-1-3 pos-2-3 pos-3-3)
(IN-LINE pos-3-3 pos-2-3 pos-1-3)
(IN-LINE pos-1-4 pos-2-4 pos-3-4)
(IN-LINE pos-3-4 pos-2-4 pos-1-4)
(IN-LINE pos-2-0 pos-2-1 pos-2-2)
(IN-LINE pos-2-2 pos-2-1 pos-2-0)
(IN-LINE pos-2-0 pos-3-0 pos-4-0)
(IN-LINE pos-4-0 pos-3-0 pos-2-0)
(IN-LINE pos-2-1 pos-2-2 pos-2-3)
(IN-LINE pos-2-3 pos-2-2 pos-2-1)
(IN-LINE pos-2-1 pos-3-1 pos-4-1)
(IN-LINE pos-4-1 pos-3-1 pos-2-1)
(IN-LINE pos-2-2 pos-2-3 pos-2-4)
(IN-LINE pos-2-4 pos-2-3 pos-2-2)
(IN-LINE pos-2-2 pos-3-2 pos-4-2)
(IN-LINE pos-4-2 pos-3-2 pos-2-2)
(IN-LINE pos-2-3 pos-2-4 pos-2-5)
(IN-LINE pos-2-5 pos-2-4 pos-2-3)
(IN-LINE pos-2-3 pos-3-3 pos-4-3)
(IN-LINE pos-4-3 pos-3-3 pos-2-3)
(IN-LINE pos-2-4 pos-2-5 pos-2-6)
(IN-LINE pos-2-6 pos-2-5 pos-2-4)
(IN-LINE pos-2-4 pos-3-4 pos-4-4)
(IN-LINE pos-4-4 pos-3-4 pos-2-4)
(IN-LINE pos-2-5 pos-3-5 pos-4-5)
(IN-LINE pos-4-5 pos-3-5 pos-2-5)
(IN-LINE pos-2-6 pos-3-6 pos-4-6)
(IN-LINE pos-4-6 pos-3-6 pos-2-6)
(IN-LINE pos-3-0 pos-3-1 pos-3-2)
(IN-LINE pos-3-2 pos-3-1 pos-3-0)
(IN-LINE pos-3-1 pos-3-2 pos-3-3)
(IN-LINE pos-3-3 pos-3-2 pos-3-1)
(IN-LINE pos-3-2 pos-3-3 pos-3-4)
(IN-LINE pos-3-4 pos-3-3 pos-3-2)
(IN-LINE pos-3-2 pos-4-2 pos-5-2)
(IN-LINE pos-5-2 pos-4-2 pos-3-2)
(IN-LINE pos-3-3 pos-3-4 pos-3-5)
(IN-LINE pos-3-5 pos-3-4 pos-3-3)
(IN-LINE pos-3-3 pos-4-3 pos-5-3)
(IN-LINE pos-5-3 pos-4-3 pos-3-3)
(IN-LINE pos-3-4 pos-3-5 pos-3-6)
(IN-LINE pos-3-6 pos-3-5 pos-3-4)
(IN-LINE pos-3-4 pos-4-4 pos-5-4)
(IN-LINE pos-5-4 pos-4-4 pos-3-4)
(IN-LINE pos-4-0 pos-4-1 pos-4-2)
(IN-LINE pos-4-2 pos-4-1 pos-4-0)
(IN-LINE pos-4-1 pos-4-2 pos-4-3)
(IN-LINE pos-4-3 pos-4-2 pos-4-1)
(IN-LINE pos-4-2 pos-4-3 pos-4-4)
(IN-LINE pos-4-4 pos-4-3 pos-4-2)
(IN-LINE pos-4-2 pos-5-2 pos-6-2)
(IN-LINE pos-6-2 pos-5-2 pos-4-2)
(IN-LINE pos-4-3 pos-4-4 pos-4-5)
(IN-LINE pos-4-5 pos-4-4 pos-4-3)
(IN-LINE pos-4-3 pos-5-3 pos-6-3)
(IN-LINE pos-6-3 pos-5-3 pos-4-3)
(IN-LINE pos-4-4 pos-4-5 pos-4-6)
(IN-LINE pos-4-6 pos-4-5 pos-4-4)
(IN-LINE pos-4-4 pos-5-4 pos-6-4)
(IN-LINE pos-6-4 pos-5-4 pos-4-4)
(IN-LINE pos-5-2 pos-5-3 pos-5-4)
(IN-LINE pos-5-4 pos-5-3 pos-5-2)
(IN-LINE pos-6-2 pos-6-3 pos-6-4)
(IN-LINE pos-6-4 pos-6-3 pos-6-2)
(free pos-0-2)
(free pos-0-3)
(free pos-0-4)
(free pos-1-2)
(free pos-1-3)
(free pos-1-4)
(free pos-2-0)
(free pos-2-1)
(free pos-2-2)
(free pos-2-3)
(free pos-2-5)
(free pos-2-6)
(free pos-3-0)
(free pos-3-1)
(free pos-3-4)
(free pos-3-5)
(free pos-3-6)
(free pos-4-0)
(free pos-4-1)
(free pos-4-2)
(free pos-4-5)
(free pos-4-6)
(free pos-5-2)
(free pos-5-4)
(free pos-6-2)
(free pos-6-3)
(free pos-6-4)
(occupied pos-2-4)
(occupied pos-3-2)
(occupied pos-3-3)
(occupied pos-4-3)
(occupied pos-4-4)
(occupied pos-5-3)
)
(:goal (and
(free pos-0-2)
(free pos-0-3)