Added IPC 2004 Satellite example instances.

This commit is contained in:
Patrick Lühne 2016-08-18 15:51:58 +02:00
parent f8ec341015
commit 220b9959a3
5 changed files with 202 additions and 0 deletions

View File

@ -0,0 +1,75 @@
(define (domain satellite)
(:requirements :strips :equality :typing)
(:types satellite direction instrument mode)
(:predicates
(on_board ?i - instrument ?s - satellite)
(supports ?i - instrument ?m - mode)
(pointing ?s - satellite ?d - direction)
(power_avail ?s - satellite)
(power_on ?i - instrument)
(calibrated ?i - instrument)
(have_image ?d - direction ?m - mode)
(calibration_target ?i - instrument ?d - direction))
(:action turn_to
:parameters (?s - satellite ?d_new - direction ?d_prev - direction)
:precondition (and (pointing ?s ?d_prev)
)
:effect (and (pointing ?s ?d_new)
(not (pointing ?s ?d_prev))
)
)
(:action switch_on
:parameters (?i - instrument ?s - satellite)
:precondition (and (on_board ?i ?s)
(power_avail ?s)
)
:effect (and (power_on ?i)
(not (calibrated ?i))
(not (power_avail ?s))
)
)
(:action switch_off
:parameters (?i - instrument ?s - satellite)
:precondition (and (on_board ?i ?s)
(power_on ?i)
)
:effect (and (not (power_on ?i))
(power_avail ?s)
)
)
(:action calibrate
:parameters (?s - satellite ?i - instrument ?d - direction)
:precondition (and (on_board ?i ?s)
(calibration_target ?i ?d)
(pointing ?s ?d)
(power_on ?i)
)
:effect (calibrated ?i)
)
(:action take_image
:parameters (?s - satellite ?d - direction ?i - instrument ?m - mode)
:precondition (and (calibrated ?i)
(on_board ?i ?s)
(supports ?i ?m)
(power_on ?i)
(pointing ?s ?d)
(power_on ?i)
)
:effect (have_image ?d ?m)
)
)

View File

@ -0,0 +1,30 @@
(define (problem strips-sat-x-1)
(:domain satellite)
(:objects
satellite0 - satellite
instrument0 - instrument
image1 - mode
spectrograph2 - mode
thermograph0 - mode
Star0 - direction
GroundStation1 - direction
GroundStation2 - direction
Phenomenon3 - direction
Phenomenon4 - direction
Star5 - direction
Phenomenon6 - direction
)
(:init
(supports instrument0 thermograph0)
(calibration_target instrument0 GroundStation2)
(on_board instrument0 satellite0)
(power_avail satellite0)
(pointing satellite0 Phenomenon6)
)
(:goal (and
(have_image Phenomenon4 thermograph0)
(have_image Star5 thermograph0)
(have_image Phenomenon6 thermograph0)
))
)

View File

@ -0,0 +1,40 @@
(define (problem strips-sat-x-1)
(:domain satellite)
(:objects
satellite0 - satellite
instrument0 - instrument
instrument1 - instrument
infrared0 - mode
infrared1 - mode
image2 - mode
GroundStation1 - direction
Star0 - direction
GroundStation2 - direction
Planet3 - direction
Planet4 - direction
Phenomenon5 - direction
Phenomenon6 - direction
Star7 - direction
)
(:init
(supports instrument0 infrared1)
(supports instrument0 infrared0)
(calibration_target instrument0 Star0)
(supports instrument1 image2)
(supports instrument1 infrared1)
(supports instrument1 infrared0)
(calibration_target instrument1 GroundStation2)
(on_board instrument0 satellite0)
(on_board instrument1 satellite0)
(power_avail satellite0)
(pointing satellite0 Planet4)
)
(:goal (and
(have_image Planet3 infrared0)
(have_image Planet4 infrared0)
(have_image Phenomenon5 image2)
(have_image Phenomenon6 infrared0)
(have_image Star7 infrared0)
))
)

View File

@ -0,0 +1,52 @@
(define (problem strips-sat-x-1)
(:domain satellite)
(:objects
satellite0 - satellite
instrument0 - instrument
instrument1 - instrument
instrument2 - instrument
satellite1 - satellite
instrument3 - instrument
image1 - mode
infrared0 - mode
spectrograph2 - mode
Star1 - direction
Star2 - direction
Star0 - direction
Star3 - direction
Star4 - direction
Phenomenon5 - direction
Phenomenon6 - direction
Phenomenon7 - direction
)
(:init
(supports instrument0 spectrograph2)
(supports instrument0 infrared0)
(calibration_target instrument0 Star1)
(supports instrument1 image1)
(calibration_target instrument1 Star2)
(supports instrument2 infrared0)
(supports instrument2 image1)
(calibration_target instrument2 Star0)
(on_board instrument0 satellite0)
(on_board instrument1 satellite0)
(on_board instrument2 satellite0)
(power_avail satellite0)
(pointing satellite0 Star4)
(supports instrument3 spectrograph2)
(supports instrument3 infrared0)
(supports instrument3 image1)
(calibration_target instrument3 Star0)
(on_board instrument3 satellite1)
(power_avail satellite1)
(pointing satellite1 Star0)
)
(:goal (and
(pointing satellite0 Phenomenon5)
(have_image Star3 infrared0)
(have_image Star4 spectrograph2)
(have_image Phenomenon5 spectrograph2)
(have_image Phenomenon7 spectrograph2)
))
)

View File

@ -0,0 +1,5 @@
instance | minimal horizon | #solutions with minimal horizon
============================================================
problem-01.pddl | 9 | 12
problem-02.pddl | 13 | 240
problem-03.pddl | 11 | 276