Home > Blockchain >  Some criteria when it comes to defining a PDDL domain
Some criteria when it comes to defining a PDDL domain

Time:11-23

I have recently started working with PDDL, specifically using PDDL and Fast-downward to solve problems.

However, there is a problem that I encountered while working with PDDL. Defining a domain and a problem that is solvable is not challenging, the big issue is the running time of the solver.

A problem that can be solved within seconds with a well-defined domain is solved within minutes with a poorly defined domain.

I want to ask about which criteria I should look into when defining a PDDL domain. (Ex: fewer predicates, minimal use of "forall" or "exists", etc...)

I have been looking around on the internet about optimizing the domain definition for PDDL, however there has been no answers.

CodePudding user response:

It's kind of an impossible question to answer crisply. General rules of thumb:

  • use the simplest formalism you can get away with (strips being the simplest)

  • avoid actions with many parameters

  • avoid having actions with huge conditions or effects

  • avoid predicates with too many parameters

Beyond that, it really depends on what's happening with the solving process to diagnose what you could change.

  • Related