FlashPlanner 1.0.19
See the version list below for details.
dotnet add package FlashPlanner --version 1.0.19
NuGet\Install-Package FlashPlanner -Version 1.0.19
<PackageReference Include="FlashPlanner" Version="1.0.19" />
<PackageVersion Include="FlashPlanner" Version="1.0.19" />
<PackageReference Include="FlashPlanner" />
paket add FlashPlanner --version 1.0.19
#r "nuget: FlashPlanner, 1.0.19"
#:package FlashPlanner@1.0.19
#addin nuget:?package=FlashPlanner&version=1.0.19
#tool nuget:?package=FlashPlanner&version=1.0.19
<p align="center"> <img src="https://github.com/kris701/FlashPlanner/assets/22596587/d3f387a6-e0b5-4118-9801-c125a4e64100" width="200" height="200" /> </p>
Flash Planner
This is a project that contains a simple planner, operating on a grounded representation. You can either use the planner as the C# code or use the CLI interface to get plans. The planner expects a grounded representation of a PDDL domain+problem, that can be obtained from the Translator.
The following is an example of how to use the CLI interface:
dotnet run -- --domain domain.pddl --problem p01.pddl --search "greedy(hGoal())"
The available search engines are:
greedy
: Greedy Searchgreedy_underaprox
: Greedy Search with Under-Approximation Refinement (UAR)greedy_prefered
: Greedy Search with Preferred Operators (PO)greedy_defered
: Greedy Search with Deferred Heuristic Evaluation (DHE)greedy_bb
: Black box greedy searchgreedy_bb_focused
: Black box Greedy Search with Focused Macros.
Do note that the black box planners only support the hGoal heuristic.
The available heuristics are:
hConstant(n)
: Returns a given constant all the timehDepth()
: Simply returns a cost that is 1 lower than its parenthFF()
: Returns a cost based on a solution to the relaxed planning graph for the problemhAdd()
: Retuns the sum of actions needed to achive every goal facthMax()
: Returns the highest amount of actions needed to achive a goal fact.hGoal()
: Returns the amount of goals that are achived in the given state, i.e.h = allGoals - achivedGoals
hPath()
: Returns the cost of the current branch being evaluatedhWeighted(h,w)
: Takes one of the previously given heuristics, and weights its result from a constant.
This project is also available as a package on the NuGet Package Manager.
Examples
To find a plan using the Greedy Best First Search engine:
var decl = new PDDLDecl(...);
var translator = new PDDLToSASTranslator(true);
var sas = translator.Translate(decl);
using (var greedyBFS = new GreedyBFS(sas, new hFF(decl)))
{
var plan = greedyBFS.Solve();
}
Supported PDDL Requirements
Here is the set of requirements that the planner supports.
- STRIPS (
:strips
) - Typing (
:typing
) - Disjunctive Preconditions (
:disjunctive-preconditions
) - Equality (
:equality
) - Quantified Preconditions (
:quantified-preconditions
)- Existential Preconditions (
:existential-preconditions
) - Universal Preconditions (
:universal-preconditions
)
- Existential Preconditions (
- Conditional Effects (
:conditional-effects
) - Domain Axioms (
:domain-axioms
)- Subgoals Through Axioms (
:subgoals-through-axioms
) - Expression Evaluation (
:expression-evaluation
)
- Subgoals Through Axioms (
- ADL (
:adl
) - Fluents (
:fluents
) - Durative Actions (
:durative-actions
)- Durative Inequalities (
:durative-inequalities
) - Continuous Effects (
:continuous-effects
)
- Durative Inequalities (
- Negative Preconditions (
:negative-preconditions
) - Derived Predicates (
:derived-predicates
) - Timed Initial Literals (
:timed-initial-literals
) - Action Expansions (
:action-expansions
) - Foreach Expansions (
:forach-expansions
) - DAG Expansions (
:dag-expansions
) - Safety Constraints (
:safety-constraints
) - Open World (
:open-world
) - True Negation (
:true-negation
) - UCPOP (
:ucpop
) - Constraints (
:constraints
) - Preferences (
:preferences
)
Performance
Here are some simple benchmarks to get an idea of the performance of this planner. It is compared against Fast Downward. Both are run with greedy best first search with hFF. Benchmarks are only run on the first 20 problems. The planners have a time limit of 60 seconds and a memory limit of 4GB.
Domain | Problems | Fast Downward | Flash Planner |
---|---|---|---|
satellite | 20 | 20 | 17 |
miconic | 20 | 20 | 20 |
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- PDDLSharp (>= 1.6.3)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last Updated |
---|---|---|
1.2.21 | 141 | 6/14/2024 |
1.2.20 | 137 | 6/13/2024 |
1.2.19 | 145 | 6/13/2024 |
1.2.18 | 134 | 6/13/2024 |
1.2.17 | 122 | 6/12/2024 |
1.2.16 | 123 | 6/12/2024 |
1.2.15 | 133 | 6/12/2024 |
1.2.14 | 114 | 6/11/2024 |
1.2.13 | 126 | 6/10/2024 |
1.2.12 | 130 | 6/9/2024 |
1.2.11 | 137 | 6/9/2024 |
1.2.10 | 138 | 6/9/2024 |
1.2.9 | 127 | 6/9/2024 |
1.2.8 | 124 | 6/9/2024 |
1.2.7 | 125 | 6/9/2024 |
1.2.6 | 126 | 6/8/2024 |
1.2.5 | 117 | 6/8/2024 |
1.2.4 | 132 | 6/7/2024 |
1.2.3 | 123 | 6/7/2024 |
1.2.2 | 120 | 6/7/2024 |
1.2.1 | 123 | 6/7/2024 |
1.2.0 | 129 | 6/6/2024 |
1.1.15 | 120 | 6/6/2024 |
1.1.14 | 114 | 6/6/2024 |
1.1.13 | 138 | 5/30/2024 |
1.1.12 | 138 | 5/30/2024 |
1.1.11 | 131 | 5/29/2024 |
1.1.10 | 141 | 5/28/2024 |
1.1.9 | 117 | 5/28/2024 |
1.1.8 | 121 | 5/28/2024 |
1.1.7 | 136 | 5/28/2024 |
1.1.6 | 145 | 5/24/2024 |
1.1.5 | 157 | 5/24/2024 |
1.1.4 | 144 | 5/24/2024 |
1.1.3 | 138 | 5/24/2024 |
1.1.2 | 142 | 5/24/2024 |
1.1.1 | 136 | 5/23/2024 |
1.1.0 | 132 | 5/23/2024 |
1.0.21 | 134 | 5/23/2024 |
1.0.20 | 131 | 5/14/2024 |
1.0.19 | 118 | 5/14/2024 |
1.0.18 | 99 | 5/14/2024 |
1.0.17 | 103 | 5/14/2024 |
1.0.16 | 108 | 5/13/2024 |
1.0.15 | 111 | 5/13/2024 |
1.0.14 | 134 | 5/13/2024 |
1.0.13 | 99 | 5/13/2024 |
1.0.12 | 128 | 5/11/2024 |
1.0.11 | 128 | 5/11/2024 |
1.0.10 | 115 | 5/11/2024 |
1.0.9 | 127 | 5/11/2024 |
1.0.8 | 126 | 5/11/2024 |
1.0.7 | 140 | 5/10/2024 |
1.0.6 | 121 | 5/10/2024 |
1.0.5 | 109 | 5/10/2024 |
1.0.4 | 127 | 5/10/2024 |
1.0.3 | 122 | 5/10/2024 |
1.0.2 | 123 | 5/9/2024 |
1.0.1 | 117 | 5/9/2024 |