SymbolicPlanners

Symbolic planners for problems and domains specified in PDDL.

https://github.com/juliaplanners/symbolicplanners.jl

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
Last synced: 7 months ago · JSON representation ·

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
Created over 5 years ago · Last pushed 12 months ago
Metadata Files
Readme License Citation

README.md

SymbolicPlanners.jl

Documentation (Stable) Documentation (Latest) GitHub Workflow Status GitHub release (latest SemVer) License

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

Heuristics

Specifications

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.

Runtime comparison for SymbolicPlanners.jl vs. Pyperplan, FastDownward and ENHSP

Owner

  • Name: Julia Planners
  • Login: JuliaPlanners
  • Kind: organization

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 Email 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.

  • Versions: 28
  • Dependent Packages: 1
  • Dependent Repositories: 0
  • Downloads: 10 Total
Rankings
Dependent repos count: 9.9%
Stargazers count: 19.2%
Forks count: 19.4%
Average: 21.9%
Dependent packages count: 38.9%
Last synced: 8 months ago

Dependencies

.github/workflows/CI.yml actions
  • 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
.github/workflows/Documentation.yml actions
  • actions/checkout v2 composite
  • julia-actions/setup-julia latest composite
.github/workflows/CompatHelper.yml actions