Our Contributors: Adam Green, Benjamin Jacob Reji, ChrisE2018, Christian Muise, Enrico Scala, Felipe Meneguzzi, Francisco Martin Rico, Henry Stairs, Jan Dolejsi, Mau Magnaguagno, Jonathan Mounty
This Wiki is here to provide easy access to resources related to the field of AI Planning. AI Planning is difficult to quantify under one roof, due to the variety of ongoing research in the field.
The International Conference on Autonomous Planning and Scheduling has in the course of supporting AI Planning research created a competition for the AI Planning Software (Planners) that have been built to solve AI Planning problems.
This competition, dating from 1998, has defined a general purpose definition language, Planning Domain Definition Language (PDDL) (Ghallab et al., 1998), which is designed to be capable of specifying any planning or scheduling problem you could come across.
In reality, PDDL since it’s first incarnation in 1998 has had serious modifications to make it capable of handling the complex tasks we expect of modern autonomous planning and scheduling techniques. (Fox & Long, 2003; Fox & Long, 2003; Edelkamp & Hoffman, 2004; Gerevini & Long, 2005)
For more details on PDDL, Planning, the history, the usage and the research, see the guide.
This wiki splits into three main sections, guide, reference and examples.
The guide section is here to help the uninitiated get an idea of what planning is and how it can be used. It glazes over technical details where they’re complex and difficult to understand. This is not intended to be a substitute to the copious academic literature written in the subject.
The reference guide itself splits into two sections, one for the language of planners, PDDL. The other section for the planners which can read and solve PDDL problems.
The nature of AI planning and the language means that not all features are supported by all planners and not all techniques are used as often as others. The reference here aims to help with that by firstly showing next to each definition an indication of how well supported the feature is and how commonly used it is.
For planners, this reference will aim to provide indication of what features are supported by what planners. It also provides useful hints and notes about the quirks and specific issues certain planners have in running certain problems.
To help grow the community and support available to new and experienced users alike, we work with The Planning Community slack, to help connect people working and using planning & PDDL. Drop in and say hello
Contributions are always welcome!
The best way to provide multiple contributions is to request collaborator access to this repository, either via emailing firstname.lastname@example.org or by filing an issue on this repo. You can fork this repository to your GitHub, make changes and file a pull request.
Alternatively, if you are not able to provide a contribution, but maybe think there is something this guide is missing or is incorrect, please add a new issue to this repo, and a correction, or additional will be made based on priority. Please use the “Report a problem with this guide” button available on most pages.
Finally, if you have a planner which you think should be included in this reference guide, please ask for collaborator access or fork the repository (if you’re the creator of the planner), or create an issue (if you’re a user) and we’ll try to include it.
Any other issues/concerns should be sent to email@example.com and I’ll try to get back to you ASAP.
This site breaks down into two major content sections
- the guide - Focuses on what planning is and using planning and planners to solve planning problems
- the reference - Provides a “handbook” to the language and the planners which solve the problems modelled in said language.
Below you can find a collection of resources for writing, learning and using PDDL and planning. For more information on what these tools and resources are and how they can help, please visit the additional resources page.
- Planner Tools
- PDDL Tools
- Learning Resources
- Publicly Available PDDL Domains
- Book: An Introduction to the Planning Domain Definition Language
- Ghallab, M., Knoblock, C., Wilkins, D., Barrett, A., Christianson, D., Friedman, M., Kwok, C., Golden, K., Penberthy, S., Smith, D., Sun, Y., & Weld, D. (1998). PDDL - The Planning Domain Definition Language.
- Fox, M., & Long, D. (2003). PDDL2.1: An Extension to PDDL for Expressing Temporal Planning Domains. CoRR, abs/1106.4561. http://arxiv.org/abs/1106.4561
- Fox, M., & Long, D. (2003). PDDL+ : Modelling Continuous Time-dependent Effects.
- Edelkamp, S., & Hoffman, J. (2004). PDDL2. 2: The language for the classical part of the 4th international planning competition.
- Gerevini, A., & Long, D. (2005). Plan Constraints and Preferences in PDDL3 The Language of the Fifth International Planning Competition. ICAPS 2006.
- Coles, A., Coles, A., Fox, M., & Long, D. (2009). Temporal Planning in Domains with Linear Processes. IJCAI International Joint Conference on Artificial Intelligence, 1671–1676.
- Coles, A., Coles, A., Fox, M., & Long, D. (2010). Forward-Chaining Partial-Order Planning. Proceedings of the Twentieth International Conference on International Conference on Automated Planning and Scheduling, 42–49.
- Hoffmann, J. (2011). The Metric-FF Planning System: Translating "Ignoring Delete Lists" to Numeric State Variables. Journal of Artificial Intelligence Research, 20. https://doi.org/10.1613/jair.1144
- Benton, J., Coles, A., & Coles, A. (2012). Temporal Planning with Preferences and Time-Dependent Continuous Costs. ICAPS 2012 - Proceedings of the 22nd International Conference on Automated Planning and Scheduling.
- Scala, E., Haslum, P., Thiébaux, S., & Ramírez, M. (2016). Interval-Based Relaxation for General Numeric Planning. ECAI.
- Cashmore, M., Fox, M., Long, D., & Magazzeni, D. (2016, January). A Compilation of the Full PDDL+ Language into SMT.
- Piotrowski, W., Fox, M., Long, D., Magazzeni, D., & Mercorio, F. (2016). Heuristic Planning for PDDL+ Domains. Proceedings of the Twenty-Fifth International Joint Conference on Artificial Intelligence, 3213–3219.
- OPTIC - Optimising Preferences and Time Dependent Costs
- PDDL Examples
- BNF Description of PDDL 3.0 [Gerevini, A. Long, D.]