aibasel/pyperplan

todo: failing to parse tetris

Closed this issue · 4 comments

While parsing the domain file, it fails to recognize an implied type "pieces"

https://github.com/AI-Planning/classical-domains/blob/master/classical/tetris-opt14-strips/domain.pddl#L4-L10

This is one of those things where people don't agree what is or is not correct in :types specifications. We had many discussions about these, including things like

non-unique supertypes:

(:types
b c - object
a - c
a - b)

cyclic specs:

(:types
a - b
b - a)

self-referential specs:

(:types a - a)

Pyperplan follows the semantics that all types other than the universal supertype object (which is mentioned as such in the PDDL 1.2 paper) need to be explicitly introduced. When I researched this a long time ago, I think this was the semantics that Drew McDermott's type library actually used, but I could never get 100% confirmation of this.

Long story short, there is no agreement on what the semantics of types should be, and so whatever semantics pyperplan picks, someone would be unhappy with it. :-(

I am somewhat reluctant to change the semantics, but we could for example add an FAQ item or something similar. What do people think?

Adding a short FAQ item (to the README?) sounds like a good idea.

Are you willing to take this on, Jendrik?

I copied your main sentence to the README: ec559e8