spectra

The Spectra Automated Planner for DCEC built on ShadowProver

https://github.com/rairlab/spectra

Science Score: 65.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
    Found 3 DOI reference(s) in README
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
    Organization rairlab has institutional domain (rair.cogsci.rpi.edu)
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.5%) to scientific vocabulary

Keywords

automated-planning epistemic-planning java
Last synced: 4 months ago · JSON representation ·

Repository

The Spectra Automated Planner for DCEC built on ShadowProver

Basic Info
  • Host: GitHub
  • Owner: RAIRLab
  • Language: Java
  • Default Branch: master
  • Homepage:
  • Size: 6.05 MB
Statistics
  • Stars: 4
  • Watchers: 8
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Topics
automated-planning epistemic-planning java
Created over 2 years ago · Last pushed 11 months ago
Metadata Files
Readme Citation

README.md

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.

bash git clone --recursive https://github.com/RAIRLab/ShadowProver.git

bash cd ShadowProver mvn package mvn install

Now, we can clone the Spectra repository.

bash git clone --recursive https://github.com/RAIRLab/Spectra.git

Similarly build and install the java project

bash cd Spectra mvn package mvn install

Now you should be able to run Spectra:

bash ./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} }

Owner

  • Name: RAIR Lab
  • Login: RAIRLab
  • Kind: organization
  • Location: Troy, NY

The Rensselaer Artificial Intelligence and Reasoning (RAIR) Laboratory

Citation (CITATION.cff)

cff-version: 1.2.0
message: "Cite it as below:"
authors:
- family-names: "Govindarajulu"
  given-names: "Naveen Sundar"
  orcid: "https://orcid.org/0000-0003-4772-6960"
- family-names: "Rozek"
  given-names: "Brandon"
  orcid: "https://orcid.org/0000-0002-4537-559X"
- family-names: "James"
  given-names: "Oswald"
  orcid: "https://orcid.org/0000-0003-1195-4793"
- family-names: "Bringsjord"
  given-names: "Selmer"
  orcid: "https://orcid.org/0000-0002-5700-1990"
title: "Spectra"
version: 0.50
date-released: 2022-5-22
url: "https://github.com/RAIRLab/Spectra"

GitHub Events

Total
  • Watch event: 2
  • Push event: 3
Last Year
  • Watch event: 2
  • Push event: 3

Dependencies

.github/workflows/build.yml actions
  • actions/checkout v3 composite
  • actions/setup-java v3 composite
Dockerfile docker
  • maven 3.6.3-jdk-11 build
docker-compose.yml docker
  • naveensundarg/py-interface-spectra 0.1.3
pom.xml maven
  • com.diogonunes:JCDP 2.0.1
  • com.google.guava:guava [24.1.1,)
  • net.sf.py4j:py4j 0.8.1
  • org.rairlab:prover 1.40
  • us.bpsm:edn-java 0.5.0
  • org.testng:testng 6.8 test