The Spectra Automated Planner for DCEC built on ShadowProver
Find a file
2024-06-01 01:24:35 -04:00
.github/workflows Roses updates and Java 17 docs 2024-06-01 01:23:50 -04:00
.idea Fixes 2018-03-15 00:25:49 -07:00
snark@1b657eadf4 Moved snark to submodule 2023-03-30 15:33:03 -04:00
src Roses updates and Java 17 docs 2024-06-01 01:23:50 -04:00
.gitignore TORA example 2018-06-18 18:29:40 -07:00
.gitmodules Moved snark to submodule 2023-03-30 15:33:03 -04:00
docker-compose.yml Added a docker image containg a Py4J server. 2021-01-04 17:46:04 -08:00
Dockerfile Moved snark to submodule 2023-03-30 15:33:03 -04:00
Example.ipynb Added a docker image containg a Py4J server. 2021-01-04 17:46:04 -08:00
interface.py Added a docker image containg a Py4J server. 2021-01-04 17:46:04 -08:00
pom.xml Roses updates and Java 17 docs 2024-06-01 01:23:50 -04:00
README.md Added citation and more info 2024-05-31 10:53:19 -04:00
run_spectra.sh Renaming imports to support ShadowProver changes 2023-10-27 10:57:15 -04:00

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}
}