Expand description
Search algorithms for automated planning.
This module provides a collection of search algorithms (planners) for solving PDDL planning tasks. It includes unidirectional planners like BFS and A*, as well as bidirectional planners like BiDij, NBS, and BAE*.
§Entry points
Registry— a plugin-style registry of planners and heuristics. UseRegistry::with_builtinsto get all built-in algorithms.Solver— high-level solver that uses aRegistryto build and run planners.
§Using the registry
use miniplan::search::Registry;
let registry = Registry::with_builtins();
let planners: Vec<&str> = registry.planners().map(|r| r.name).collect();
assert!(planners.contains(&"bfs"));
assert!(planners.contains(&"astar"));§Planner traits
The Planner trait defines the interface all planners implement.
Each planner reports its PlannerCapabilities and can solve a Task.
within given SearchLimits, returning a SearchOutcome.
Re-exports§
pub use crate::task::OpId;
Structs§
- Astar
- A* search with a pluggable heuristic.
- Bae
- Bidirectional A* with Error (BAE*, Sadhukhan 2013).
- Bfs
- Breadth-first search planner.
- BiDij
- Bidirectional Dijkstra’s algorithm (cost-aware).
- BibfsUc
- Bidirectional breadth-first search (uniform-cost).
- Gbfs
- Greedy best-first search with a pluggable heuristic.
- HValue
- A heuristic value returned by
Heuristic::estimate. - Nbs
- Near-Optimal Bidirectional Search (NBS, Chen et al. 2017).
- Planner
Capabilities - Capability flags describing what features a planner supports.
- Planner
Choice - Selects which planner and heuristic to use for a solve operation.
- Planner
Config - Configuration options passed to planner/heuristic factories.
- Registered
Heuristic - A heuristic registered in the
Registry. - Registered
Planner - A planner registered in the
Registry. - Registry
- A registry of planners and heuristics.
- Search
Limits - Limits that control search termination.
- Search
Stats - Statistics collected during a search.
- Solver
- High-level solver that combines a
RegistrywithSearchLimits.
Enums§
- Planner
Kind - Built-in planner types.
- Search
Outcome - The result of a search operation.
Traits§
- Heuristic
- A heuristic function for estimating the cost to reach the goal.
- Planner
- A search algorithm that can solve a planning task.
Type Aliases§
- Heuristic
Factory - A factory function type for constructing a
Heuristic. - Planner
Factory - A factory function type for constructing a
Planner.