mirror of
https://github.com/RAIRLab/Spectra.git
synced 2024-12-21 11:06:19 -05:00
The Spectra Automated Planner for DCEC built on ShadowProver
.github/workflows | ||
.idea | ||
snark@1b657eadf4 | ||
src | ||
.gitignore | ||
.gitmodules | ||
docker-compose.yml | ||
Dockerfile | ||
Example.ipynb | ||
interface.py | ||
pom.xml | ||
README.md | ||
run_spectra.sh |
Spectra
Spectra is a general purpose planning system. It extends STRIPS-style planning by allowing arbitrary DCEC and first-order formulae for state descriptions, background knowledge, and action descriptions rather than just predicates. This allows, for instance, handling domains with infinite or unbounded objects elegantly (among other things).
System Description Publication (2024)
Overview Presentation (2017)
- Drawbacks of propositional planning (current planning systems):
- Expressivity: Cannot express arbitrary constraints. “At every step make sure that no two blocks on the table have same color”
- Domain Size: Scaling to large domains of arbitrary sizes poses difficulty.
Example Problem Files
See the example problems
Installation
Make sure you have Java 17 installed! While ShadowProver will, Spectra will not compile on Java 8.
First, we need to make sure ShadowProver is installed.
git clone --recursive https://github.com/RAIRLab/ShadowProver.git
cd ShadowProver
mvn package
mvn install
Now, we can clone the Spectra repository.
git clone --recursive https://github.com/RAIRLab/Spectra.git
Similarly build and install the java project
cd Spectra
mvn package
mvn install
Now you should be able to run Spectra:
./run_spectra.sh [problem_file_path]
Cite
@article{Rozek2024,
author={Rozek, Brandon and Bringsjord, Selmer},
title={Spectra: An Expressive STRIPS-Inspired AI Planner Based on Automated Reasoning},
journal={KI - K{\"u}nstliche Intelligenz},
year={2024},
month={May},
day={22},
issn={1610-1987},
doi={10.1007/s13218-024-00847-8},
url={https://doi.org/10.1007/s13218-024-00847-8}
}