ipc2023-classical / ipc2023-dataset

2 stars 1 forks source link

Dataset of International Planning Competition 2023 Classical Tracks

IPC 2023 featured three classical tracks: Optimal track, Satisficing track, and Agile track. Satisficing and Agile tracks used exactly the same dataset. All tracks consist of the same set of 7 newly designed domains, but optimal and satisficing tracks have a different set of tasks. All domains except one come with a generator and some means of obtaining either optimal plan, or the cost of the optimal plan, or an upper bound on the cost of the optimal plan.

Since some (if not most) planners competing in IPC 2023 had insufficient support of some PDDL features used in the new domains, we provided a normalized version of the PDDL tasks for four domains: folding, recharging-robots, rubiks-cube, and slitherlink. The normalization was done on the PDDL level, i.e., it is a translation from PDDL domain and problem files to another PDDL domain and problem files. The translation compiles away disjunctions, quantifiers, and negative conditions appearing the in the goal condition.

The translator used in IPC 2023 can be built as an apptainer image using the ipc23-normalize.def recipe:

  $ sudo apptainer build ipc23-normalize.sif ipc23-normalize.def

The resulting image takes four parameters: a path to the input PDDL domain file, a path to the input PDDL problem file, a path to the output PDDL domain file, and a path to the output PDDL problem file. So, for example, to normalize the task p01.pddl from the slitherlink domain in the optimal track, one can call the translator as follows:

  $ ./ipc23-normalize.sif opt/slitherlink/domain.pddl opt/slitherlink/p01.pddl domain-p01-norm.pddl p01-norm.pddl