Giter Site home page Giter Site logo

ai-planning / pddl-generators Goto Github PK

View Code? Open in Web Editor NEW
70.0 7.0 12.0 536 KB

A collection of PDDL generators, some of which have been used to generate benchmarks for the International Planning Competition (IPC).

Makefile 1.69% C 40.60% Python 19.76% Shell 1.23% Roff 0.09% OCaml 0.47% C++ 15.00% Perl 0.45% Ruby 3.86% Clojure 0.88% CMake 0.04% Lex 0.29% Yacc 1.91% PDDL 13.73%

pddl-generators's Introduction

This repository is a collection of PDDL generators, some of which have been used to generate benchmarks for the International Planning Competition (IPC).

Instructions

  • Install dependencies: sudo apt install g++ make python3
  • Build all generators: ./build_all
  • Build in parallel: ./build_all -j4
  • Delete (some) intermediate files: ./build_all clean
  • Build single generator: cd assembly; make
  • Test generators: sudo apt install tox && tox

Feedback

  • Bug reports and pull requests are appreciated.

Citation

If you use the generators for a publication, please use the following citation:

@Misc{seipp-et-al-zenodo2022,
  author =       "Jendrik Seipp and {\'A}lvaro Torralba and J{\"o}rg Hoffmann",
  title =        "{PDDL} Generators",
  publisher =    "Zenodo",
  year =         "2022",
  howpublished = "\url{https://doi.org/10.5281/zenodo.6382173}"
}

Acknowledgments

The basis for this generator collection is the FF domain collection by Jörg Hoffmann. The following notes from that page were written with the original set of generators in mind, but still apply to the current collection:

The FF domain collection provides (randomized, where possible) generators for 20 STRIPS and ADL planning benchmark domains, including the examples used in both competitions. Below, we give, for each domain, information about the origin, made adaptions (if any), the parameters of the generator, and the randomization strategy. [...] The generators should be self-explanatory in terms of how to build them (makefiles are included), and how to run them. In the less obvious cases, we have also included a README file.

Note: We do not make any claims whatsoever about the validity of the problem ranges generated, nor about the adequacy of the kind of problems that are generated within a domain. We have made an effort to imitate closely the examples known from published problem suites, and we have generally chosen the most obvious first-guess randomization strategy. Some of the generators, like the one for Assembly, are quite a hack. Nevertheless, we believe that the generators form an invaluable tool for experimentation --- they have definitely done so in our own experiments. Please contact us with any comments or suggestions.

We thank all persons involved in the development of the domains [in this repository]. We try to mention the persons involved in creating the generators, but some authors are missing. Please contact us with any additional information on this.

Overview of mystery/mprime/nomystery domain variants

Repo: AI-Planning/pddl-generators (pddl-generators)

  • pddl-generators/mprime: typed, speaking names, pass fuel between locations, no fuel increment
  • pddl-generators/mystery: typed, speaking names, like pddl-generators/mprime but no fuel passing
  • pddl-generators/nomystery: typed, speaking names, fuel associated with trucks, very different from aibasel/no-mystery

Repo: aibasel/downward-benchmarks (aibasel)

  • aibasel/mprime: untyped, obfuscated names, pass fuel between locations, forbid increasing fuel

  • aibasel/mystery: untyped, obfuscated names, no fuel passing

  • aibasel/unofficial/no-mprime: untyped, speaking names, copy of aibasel/mprime but with speaking predicate names, fuel increasing allowed

  • aibasel/unoffical/no-mystery: untyped, speaking names, copy of aibasel/mystery but with speaking predicate names, no fuel passing

  • aibasel/nomystery-{opt,sat}11-strips: same as pddl-generators/nomystery

  • aibasel/mprime, aibasel/mystery, and aibasel/nomystery-{opt,sat}11-strips are the original IPC domains, with the fix applied to mprime, whereas the versions in pddl-generators are adaptations which behave the same.

pddl-generators's People

Contributors

bonetblai avatar ctpelok77 avatar guicho271828 avatar haz avatar jendrikseipp avatar nirlipo avatar tomdelarosa avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

pddl-generators's Issues

Proposals

  • machine-readable specification of each generator, e.g. a json file for each generator, documenting the type, name, range of each argument, and the number of arguments
  • refactoring: same filename / directory hierarchy for every executable
  • refactoring: output name standardization

Error when running `build_all`

I get the following error when running build_all:

Domain: crewplanning
ocamlbuild main.native
make: ocamlbuild: Command not found
make: *** [Makefile:5: main.native] Error 127

Is ocamlbuild required? If that is the case then maybe it should be added to the documentation

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.