> For the complete documentation index, see [llms.txt](https://neurosymbolicai.gitbook.io/neuro-symbolic-ai-in-practice/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://neurosymbolicai.gitbook.io/neuro-symbolic-ai-in-practice/back-matter/appendix.md).

# Additional Resources & Planners

> **This appendix is supplementary reference material.** It is not required reading for understanding the book's core content. Use it when you are ready to select a planner, benchmark your system, or identify community resources. Each section is self-contained and can be consulted independently.

***

## A.1 State-of-the-Art AI Planners

The following planners represent practical choices for the planning paradigms relevant to this book. Each has been evaluated in the **International Planning Competition (IPC)** — the premier benchmark for AI planning systems. Planners are listed in order of practical relevance and maintenance status (2026).

> **On planner selection:** The field moves fast. Before integrating a planner into production, verify that it compiles against your PDDL version and operating system. The IPC website (<https://ipc.icaps-conference.org>) and planning.wiki list current competition results and maintained planner archives.

***

### Fast Downward

**Paradigm:** Heuristic search (A\*, GBFS, lazy search) **Status:** ✅ Actively maintained · Python/C++ · pip-installable **Best for:** General optimal and satisficing planning, research, neural heuristic integration **IPC record:** Winner of IPC 2004 optimal track; consistently top-ranked in subsequent competitions through IPC 2023

Fast Downward is the most widely used and most extensively cited AI planner in the research literature.(Helmert, 2006) Its modular architecture makes it the natural platform for integrating neural heuristics: the heuristic function is a pluggable component, and neural heuristics (hypergraph networks, learned distance functions) drop in without modification.

Key features:

* Supports **landmark heuristics** (LM-count, LM-cut), **FF heuristic**, **add-relaxation**, and dozens of others.
* Configurable search: A\* for optimal, GBFS or lazy search for satisficing.
* **Translator module** grounds PDDL input into an efficient internal SAS+ representation.
* Extensive documentation, active developer community, and continuous IPC participation.

**Code:** <https://github.com/aibasel/downward> **Documentation:** <https://www.fast-downward.org> **Installation:** `pip install downward`

*Reference:* Helmert, Malte. "The Fast Downward Planning System." *Journal of Artificial Intelligence Research* 26 (2006): 191–246. <https://doi.org/10.1613/jair.1879> | Code: <https://github.com/aibasel/downward>

***

### LAMA

**Paradigm:** Anytime / Satisficing (iterative improvement) **Status:** ✅ Included in Fast Downward · actively maintained **Best for:** Hard satisficing instances, anytime planning (need a plan *now*, improve it later) **IPC record:** Winner of IPC 2008 and IPC 2011 satisficing tracks

LAMA (LAndmark-based Multi-heuristic A\*) is built on Fast Downward and combines the FF heuristic with landmark-based heuristics in an anytime search framework.(Richter & Westphal, 2010) It produces a first solution quickly, then iteratively improves it.

Key features:

* **Anytime behavior:** Outputs progressively better solutions over time; can be stopped at any point with the best solution found so far.
* **Landmark factories:** Automatically discovers problem-specific landmarks (subgoals that must be achieved on any path to the goal).
* Ideal for time-constrained applications where the planning budget varies.

**Usage:** `./fast-downward.py domain.pddl problem.pddl --search "lazy_greedy([ff(), landmark_sum(lm_factory=lm_rhw())], preferred=[ff()])"`

*Reference:* Richter, Silvia, and Matthias Westphal. "The LAMA Planner: Guiding Cost-Based Anytime Planning with Landmarks." *Journal of Artificial Intelligence Research* 39 (2010): 127–177. <https://doi.org/10.1613/jair.2972>

***

### Powerlifted

**Paradigm:** Lifted search (operates directly on PDDL without grounding) **Status:** ✅ Actively maintained · C++ · IPC 2023 top performer **Best for:** Domains with large ground instances (many objects) where grounding is the bottleneck **IPC record:** Top performer at IPC 2023 lifted track

Most classical planners *ground* the PDDL domain — they instantiate every possible action by substituting all valid object combinations for parameters. For domains with many objects, this grounding step can produce millions of ground actions, making the grounded representation prohibitively large.

**Powerlifted** operates directly on the lifted PDDL representation, avoiding grounding entirely.(Corrêa et al., 2020) It evaluates preconditions and effects symbolically using database query techniques (query optimization over relational algebra), making it tractable for domains that completely defeat grounded planners.

Key features:

* **Lifted state space:** Avoids exponential grounding in object-rich domains.
* **Query optimization:** Leverages relational database techniques for lifted successor generation.
* **Actively developed** with IPC participation through 2023.

**Code:** <https://github.com/abcorrea/powerlifted>

*Reference:* Corrêa, Augusto B., et al. "Lifted Successor Generation Using Query Optimization Techniques." *Proceedings of ICAPS*, 2020. <https://arxiv.org/abs/2001.08705> | Code: <https://github.com/abcorrea/powerlifted>

***

### Scorpion / symk

**Paradigm:** Optimal planning with structural symmetry breaking (Orbit Space Search) **Status:** ✅ Maintained as Fast Downward branch · C++ **Best for:** Optimal planning in domains with structural symmetries (many equivalent states) **IPC record:** Competitive at IPC 2018 and 2023 optimal tracks

**Scorpion** (and its successor **symk** for top-k planning) is an optimal planner built on the Fast Downward infrastructure that exploits **structural symmetries** in planning problems via **Orbit Space Search (OSS)**.(Sievers et al., 2019) The key insight: many planning domains have symmetries — states that are structurally equivalent modulo object permutation. For example, if two boxes are interchangeable, the planner need not explore both orderings of packing them. OSS detects these symmetries using graph automorphism tools (bliss, Saucy) and prunes the A\* search space accordingly.

Scorpion is distinct from Powerlifted: it operates on a grounded representation (like standard Fast Downward) but prunes the grounded search space using symmetry detection. It is not a lifted planner.

Key features:

* **Orbit Space Search:** Reduces the effective search space for optimal A\* by pruning symmetric states.
* **Admissible heuristics:** Combines symmetry pruning with any admissible heuristic (h², LM-cut, etc.).
* **symk extension:** Finds top-k distinct plans, useful for diverse plan generation.

**Code (Scorpion):** <https://github.com/aibasel/downward> (Scorpion configuration) **Code (symk):** <https://github.com/speckdavid/symk>

*References:* Sievers, Silvan, Martin Wehrle, and Malte Helmert. "Generalized Symmetry Breaking in Classical Planning." *Proceedings of AAAI*, 2015. (Orbit space search for Scorpion; also Sievers et al., "Theoretical Foundations for Structural Symmetries of Lifted PDDL Tasks," ICAPS 2019.)

Shleyfman, Alexander, et al. "Symmetries and Pruning in Planning." *Proceedings of ECAI*, 2014. (Foundational symmetry pruning for planning)

Speck, David, et al. "Symbolic Planning with Edge-Valued Multi-Valued Decision Diagrams." *Proceedings of ICAPS*, 2020. (symk foundations) <https://ojs.aaai.org/index.php/ICAPS/article/view/6780>

***

### ENHSP — Expressive Numeric Heuristic Search Planner

**Paradigm:** Heuristic search for numeric and temporal planning (PDDL 2.1+) **Status:** ✅ Actively maintained · Java · best current tool for PDDL 2.1 numeric domains **Best for:** Numeric fluents, soft constraints, over-subscription planning, PDDL 2.1 compliance **IPC record:** Competitive at IPC 2018 and 2023 numeric tracks

When a planning problem involves **continuous resource quantities** (fuel, time, cost, temperature) expressed as numeric fluents in PDDL 2.1+, Fast Downward and LAMA are not directly applicable. **ENHSP** (Expressive Numeric Heuristic Search Planner) is the current standard tool for this class.(Scala et al., 2016)

Key features:

* **Full PDDL 2.1 numeric support:** Handles `increase`, `decrease`, `assign`, and arbitrary arithmetic on fluents.
* **Multiple heuristics:** Supports inadmissible heuristics optimized for satisficing and admissible heuristics for optimal numeric planning.
* **Soft constraints and preferences:** Handles PDDL 3.0 trajectory constraints and plan preferences.
* **Actively maintained** with releases supporting modern Java environments.

> **Note:** LPG (Local search over Planning Graphs) was the standard tool for numeric/temporal planning through the mid-2000s and competed in IPC 2002/2004 speed tracks. It is no longer actively maintained and is not recommended for new projects. ENHSP is its practical successor.

**Code:** <https://github.com/enriqueHG/ENHSP-public>

*Reference:* Scala, Enrico, et al. "Numeric Planning with Disjunctive Global Constraints via SMT." *Proceedings of ICAPS*, 2016. <https://ojs.aaai.org/index.php/ICAPS/article/view/13764>

***

### Pyperplan

**Paradigm:** Lightweight Python planner (A\*, BFS, GBFS with FF heuristic) **Status:** ✅ Actively maintained · pure Python · pip-installable **Best for:** Teaching, rapid prototyping, LLM integration, research experimentation **IPC record:** Educational / research tool (not submitted to IPC speed tracks)

Pyperplan is a pure-Python planning system designed for accessibility, not performance.(Alkhazraji et al., 2020) It implements A\*, BFS, and GBFS with the FF heuristic, parses standard PDDL, and can be imported as a Python library — making it ideal for integration with LLMs, neural components, and Jupyter notebooks.

Key features:

* **Pure Python:** No compilation required; works with any Python environment.
* **Library API:** Can be called programmatically from Python scripts and notebooks.
* **PDDL parser:** Full PDDL 1.2 parsing; extensible for custom domain types.
* **Ideal for LLM+P pipelines:** LLM generates PDDL → Pyperplan solves → results returned to LLM/user.

**Code:** <https://github.com/aibasel/pyperplan> **Installation:** `pip install pyperplan`

*Reference:* Alkhazraji, Yusra, et al. "Pyperplan." *GitHub repository*, 2020. <https://github.com/aibasel/pyperplan>

***

### A Note on SAT-Based Planning

SAT-based planning — encoding planning problems as satisfiability problems and leveraging SAT solvers — remains a theoretically elegant approach, particularly for finding **parallel plans** and leveraging advances in SAT solver technology.

**Madagascar** (Rintanen, 2014) demonstrated strong performance at IPC 2014, but is **no longer actively maintained** and has known compilation failures on modern operating systems. Practitioners should not rely on Madagascar for new projects.

For SAT-based planning needs, consider:

* Encoding PDDL directly as a SAT/MaxSAT problem using a modern SAT library (CaDiCaL, Glucose, or the Python `pysat` interface)
* Using **Unified Planning Library** (<https://github.com/aiplan4eu/unified-planning>) as an abstraction layer over multiple planners including SAT-based backends

*Reference (historical):* Rintanen, Jussi. "Madagascar: Scalable Planning with SAT." *Proceedings of IPC 8 Planner Abstracts*, 2014.

***

### Planner Comparison Summary

| Planner           | Paradigm            | Optimal?    | Temporal? | Numeric?   | Status         | Best Use Case                         |
| ----------------- | ------------------- | ----------- | --------- | ---------- | -------------- | ------------------------------------- |
| **Fast Downward** | Heuristic search    | ✅ (A\*)     | ❌         | ⚠️ limited | ✅ Active       | General, research, neural integration |
| **LAMA**          | Anytime/Satisficing | ❌           | ❌         | ❌          | ✅ (in FD)      | Time-constrained, hard instances      |
| **Powerlifted**   | Lifted search       | ⚠️          | ❌         | ❌          | ✅ Active       | Large object sets, no grounding       |
| **Scorpion/symk** | Optimal + symmetry  | ✅ (A\*+OSS) | ❌         | ❌          | ✅ Active       | Symmetric domains, top-k plans        |
| **ENHSP**         | Numeric heuristic   | ✅/❌         | ✅         | ✅          | ✅ Active       | Numeric fluents, PDDL 2.1+            |
| **Pyperplan**     | Heuristic search    | ❌           | ❌         | ❌          | ✅ Active       | Prototyping, LLM pipelines, teaching  |
| ~~Madagascar~~    | ~~SAT-based~~       | —           | —         | —          | ❌ Unmaintained | Historical reference only             |

**IPC results and domain archive:** <https://planning.wiki> | <https://ipc.icaps-conference.org>

***

## A.2 Curated Reading Lists and Community Resources

### Awesome LLM Reasoning with NeSy

A community-maintained, continuously updated list of papers, code, and resources at the intersection of LLM reasoning and neuro-symbolic AI:

**GitHub:** <https://github.com/LAMDA-NeSy/Awesome-LLM-Reasoning-with-NeSy>

This repository, maintained by the LAMDA-NeSy group, organizes papers by topic: LLM-guided planning, neuro-symbolic program synthesis, differentiable reasoning, KG-augmented LLMs, and more. It is the single most useful starting point for staying current with this rapidly evolving field.

### Unified Planning Library (UPL)

The **Unified Planning Library** (aiplan4eu project) provides a unified Python API for calling multiple classical planners — including Fast Downward, LAMA, ENHSP, and others — without planner-specific configuration syntax. Ideal for experimentation and neuro-symbolic pipeline integration.

**GitHub:** <https://github.com/aiplan4eu/unified-planning> **Documentation:** <https://unified-planning.readthedocs.io>

### Planning.wiki

The community reference for AI Planning: planner documentation, competition results, domain library, and tutorial resources.

**Website:** <https://planning.wiki>

### International Planning Competition

All IPC competition problems, domains, and results since 1998:

**Website:** <https://ipc.icaps-conference.org> **Domain library:** <https://github.com/AI-Planning/pddl-generators>

### ICAPS — International Conference on Automated Planning and Scheduling

The premier venue for AI Planning research. Proceedings freely available:

**Website:** <https://icaps-conference.org> **Proceedings:** <https://ojs.aaai.org/index.php/ICAPS>

***

## A.3 Datasets and Benchmarks

| Benchmark                  | Domain             | Key Use                         | Link                                                           |
| -------------------------- | ------------------ | ------------------------------- | -------------------------------------------------------------- |
| **CLEVR**                  | Visual QA          | Neuro-Symbolic Concept Learning | <https://cs.stanford.edu/people/jcjohns/clevr/>                |
| **PlanBench**              | Text planning      | LLM planning evaluation         | <https://github.com/karthikv792/LLMs-Planning>                 |
| **CodeContests**           | Competitive prog.  | AlphaCode training/eval         | <https://github.com/google-deepmind/code_contests>             |
| **mathlib (Lean 4)**       | Formal math        | AlphaProof training             | <https://leanprover-community.github.io/mathlib4_docs/>        |
| **stable-worldmodel**      | World modeling     | World model evaluation          | <https://arxiv.org/abs/2605.21800>                             |
| **IPC domains**            | Classical planning | Planner benchmarking            | <https://planning.wiki/ref/pddl/domain>                        |
| **FB15k-237**              | Knowledge graphs   | KGE benchmarking                | <https://github.com/DeepGraphLearning/KnowledgeGraphEmbedding> |
| **IPC-2023 benchmark set** | Classical/numeric  | Current SOTA benchmarks         | <https://ipc.icaps-conference.org/2023/>                       |

***

## References

1. Helmert, Malte. "The Fast Downward Planning System." *Journal of Artificial Intelligence Research* 26 (2006): 191–246. <https://doi.org/10.1613/jair.1879> | Code: <https://github.com/aibasel/downward>
2. Richter, Silvia, and Matthias Westphal. "The LAMA Planner: Guiding Cost-Based Anytime Planning with Landmarks." *Journal of Artificial Intelligence Research* 39 (2010): 127–177. <https://doi.org/10.1613/jair.2972>
3. Corrêa, Augusto B., et al. "Lifted Successor Generation Using Query Optimization Techniques." *Proceedings of ICAPS*, 2020. <https://arxiv.org/abs/2001.08705> | Code: <https://github.com/abcorrea/powerlifted>
4. Shleyfman, Alexander, et al. "Symmetries and Pruning in Planning." *Proceedings of ECAI*, 2014. (Orbit space search, Scorpion symmetry foundation) | Speck, David, et al. "Symbolic Planning with Edge-Valued Multi-Valued Decision Diagrams." *Proceedings of ICAPS*, 2020. <https://ojs.aaai.org/index.php/ICAPS/article/view/6780> | Code (symk): <https://github.com/speckdavid/symk>
5. Scala, Enrico, et al. "Numeric Planning with Disjunctive Global Constraints via SMT." *Proceedings of ICAPS*, 2016. <https://ojs.aaai.org/index.php/ICAPS/article/view/13764> | Code: <https://github.com/enriqueHG/ENHSP-public>
6. Alkhazraji, Yusra, et al. "Pyperplan." *GitHub repository*, 2020. <https://github.com/aibasel/pyperplan>
7. Rintanen, Jussi. "Madagascar: Scalable Planning with SAT." *Proceedings of IPC 8 Planner Abstracts*, 2014. \[Historical reference — system no longer maintained]


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://neurosymbolicai.gitbook.io/neuro-symbolic-ai-in-practice/back-matter/appendix.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
