Problem
Contributors: Adam Green, Jan Dolejsi,
The problem syntax in PDDL 2.2 is expanded very lightly in order to support Timed Initial Literals. The choice of keyword is an interesting one because at
is a commonly used predicate name used to indicate that some locatable is in some location i.e. (at Adam Bush-House)
.
The way in which this keyword is used to define timed initial literals means however that it should not conflict with domains that make use of at
as a predicate name. However, this is entirely dependent on how the planner parses a plan.
(define
(problem trainplanning1)
(:domain railways)
(:objects
Pompey Guildford London - station
train1 train2 - train
)
(:init
(train-not-in-use train1)
(at 20 (train-not-in-use train2))
)
... goal omitted
)
Contents
Timed Initial Literals
Support: Medium
Usage: Medium
(at <time_value> <predicate>)
A timed initial literal is defined using the time keyword, followed by the value for the point in time which the predicate becomes true, followed by the predicate itself.
In planning, time is treated as just a number, and no assumptions are made about the scale it represents, therefore writing something such as at 10
could express 10 seconds, minutes or indeed hours.
Ultimately it is the responsibility of the modelling user to determine what scale they wish to map their model to, and therefore the “resolution” they get for the accuracy of time.
(at 20 (train-not-in-use train2))
The statement above expresses that at some time 20, the train train2
will no longer be in use.