SymbolicPlanners
Symbolic planners for problems and domains specified in PDDL.
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (12.6%) to scientific vocabulary
Repository
Symbolic planners for problems and domains specified in PDDL.
Basic Info
- Host: GitHub
- Owner: JuliaPlanners
- License: apache-2.0
- Language: Julia
- Default Branch: master
- Size: 2.43 MB
Statistics
- Stars: 61
- Watchers: 2
- Forks: 10
- Open Issues: 2
- Releases: 28
Metadata Files
README.md
SymbolicPlanners.jl
Symbolic planners for problems and domains specified in PDDL.
Installation
Make sure PDDL.jl is installed. For the stable version, press ] to enter the Julia package manager REPL, then run:
add SymbolicPlanners
For the latest development version, run:
add https://github.com/JuliaPlanners/SymbolicPlanners.jl
Features
- Forward state-space planning (A*, BFS, etc.)
- Backward (i.e. regression) planning
- Policy-based planning (RTDP, RTHS, MCTS, etc.)
- Relaxed-distance heuristics (Manhattan, hadd, hmax, etc.)
- Policy and plan simulation
- Modular framework for goal, reward and cost specifications
- Support for PDDL domains with numeric fluents and custom datatypes
Usage
A simple usage example is shown below. More information can be found in the documentation.
```julia using PDDL, PlanningDomains, SymbolicPlanners
Load Blocksworld domain and problem
domain = loaddomain(:blocksworld) problem = loadproblem(:blocksworld, "problem-4")
Construct initial state from domain and problem
state = initstate(domain, problem)
Construct goal specification that requires minimizing plan length
spec = MinStepsGoal(problem)
Construct A* planner with h_add heuristic
planner = AStarPlanner(HAdd())
Find a solution given the initial state and specification
sol = planner(domain, state, spec) ```
Planners
- Forward Breadth-First Search
- Forward Heuristic Search (A*, Greedy, etc.)
- Backward Heuristic Search (A*, Greedy, etc.)
- Bidirectional Heuristic Search
- Real Time Dynamic Programming (RTDP)
- Real Time Heuristic Search (RTHS)
- Monte Carlo Tree Search (MCTS)
- FastDownward, Pyperplan, and ENHSP wrappers
Heuristics
- Goal Count: counts the number of unsatisfied goals
- Manhattan: L1 distance for arbitrary numeric fluents
- Euclidean: L2 distance for arbitrary numeric fluents
- HSP heuristics: hadd, hmax, etc.
- HSPr heuristics: the above, but for backward search
- FF heuristic: length of a relaxed plan, used by the Fast-Forward planner
- LMCut heuristic: admissible heuristic based on action landmarks
Specifications
- MinStepsGoal: Minimize steps to reach a (symbolically-defined) goal
- MinMetricGoal: Minimize a metric formula when reaching a goal
- MaxMetricGoal: Maximize a metric formula when reaching a goal
- StateConstrainedGoal: Adds state constraints that must hold throughout a plan
- GoalReward: Achieve reward upon reaching a goal state
- BonusGoalReward: Adds goal reward to an existing specification
- MultiGoalReward: Achieve separate rewards for achieving separate goals
- DiscountedReward: Discounts the rewards or costs of an existing specification
Performance
After Julia's JIT compilation, and using the same search algorithm (A*) and search heuristic (hadd), SymbolicPlanners.jl with the PDDL.jl compiler is (as of February 2022): - 10 to 50 times as fast as Pyperplan, - 0.1 to 1.2 times as fast as FastDownward, - 0.7 to 36 times as fast as ENHSP on numeric domains without action costs.
A comparison on domains and problems from the 2000 and 2002 International Planning Competitions is shown below. Runtimes are relative to SymbolicPlanners.jl using the PDDL.jl compiler. In each cell, we report the first quartile (Q1), median (M), and third quartile (Q3) across solved problems. Experiment code is available here.

Owner
- Name: Julia Planners
- Login: JuliaPlanners
- Kind: organization
- Repositories: 4
- Profile: https://github.com/JuliaPlanners
Automated planning for robotics and AI with Julia.
Citation (CITATION.cff)
cff-version: 1.2.0 title: SymbolicPlanners.jl message: "If you use this software, please cite it as below." type: software authors: - given-names: Tan family-names: Zhi-Xuan orcid: "https://orcid.org/0000-0002-1549-8492" version: 0.1.10 date-released: 2023-02-13 url: "https://github.com/JuliaPlanners/SymbolicPlanners.jl"
GitHub Events
Total
- Create event: 1
- Issues event: 1
- Release event: 1
- Watch event: 3
- Push event: 24
Last Year
- Create event: 1
- Issues event: 1
- Release event: 1
- Watch event: 3
- Push event: 24
Committers
Last synced: about 3 years ago
All Time
- Total Commits: 204
- Total Committers: 3
- Avg Commits per committer: 68.0
- Development Distribution Score (DDS): 0.059
Top Committers
| Name | Commits | |
|---|---|---|
| Xuan | t****x@g****m | 192 |
| pevnak | p****k@g****m | 10 |
| Simon Blauth | s****h@m****g | 2 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 9 months ago
All Time
- Total issues: 13
- Total pull requests: 7
- Average time to close issues: 22 days
- Average time to close pull requests: 19 days
- Total issue authors: 10
- Total pull request authors: 6
- Average comments per issue: 2.38
- Average comments per pull request: 2.43
- Merged pull requests: 6
- Bot issues: 0
- Bot pull requests: 2
Past Year
- Issues: 1
- Pull requests: 1
- Average time to close issues: N/A
- Average time to close pull requests: 3 days
- Issue authors: 1
- Pull request authors: 1
- Average comments per issue: 0.0
- Average comments per pull request: 7.0
- Merged pull requests: 1
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- ztangent (3)
- lettuce-program (2)
- prizzorome (1)
- mhechthz (1)
- owenps (1)
- guilherme-puida (1)
- helen-of-troy (1)
- simonblauth (1)
- mzhen77 (1)
- urbanm30 (1)
Pull Request Authors
- github-actions[bot] (2)
- danielz9999 (2)
- aemartinez (2)
- Bartiema (2)
- pevnak (1)
- simonblauth (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- julia 10 total
- Total dependent packages: 1
- Total dependent repositories: 0
- Total versions: 28
juliahub.com: SymbolicPlanners
Symbolic planners for problems and domains specified in PDDL.
- Documentation: https://docs.juliahub.com/General/SymbolicPlanners/stable/
- License: Apache-2.0
-
Latest release: 0.1.27
published over 1 year ago
Rankings
Dependencies
- actions/cache v1 composite
- actions/checkout v2 composite
- julia-actions/julia-buildpkg latest composite
- julia-actions/julia-runtest latest composite
- julia-actions/setup-julia v1 composite
- actions/checkout v2 composite
- julia-actions/setup-julia latest composite