Graphplan
Implementation of the Graphplan planning algorithm and Plangraph data structure written in Rust.
Original paper: Fast Planning Through Planning Graph Analysis by Avrim L. Blum and Merrick L. Furst
Usage
You can load a domain from a toml file (see the resources/example.toml
directory for expected format) and instantiate a GraphPlan
.
Example:
extern crate graphplan;
use GraphPlan;
use SimpleSolver;
use PlanGraph;
The lower level API allows you to constructing your own problem domain programmatically. You can also implement your own solver by implementing the GraphPlanSolver
trait.
Example:
extern crate graphplan;
use GraphPlan;
use Proposition;
use Action;
use SimpleSolver;
Running benchmarks
Benchmarks using criterion
can be found in the benches
directory. To run them:
cargo bench
open target/criterion/report/index.html
License
Copyright (c) Alex Kehayias. All rights reserved. The use and distribution terms for this software are covered by the Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php). By using this software in any fashion, you are agreeing to be bound by the terms of this license. You must not remove this notice, or any other, from this software.