From 95f30f1c5f6c68ebbba604a175a4d5c8b392d377 Mon Sep 17 00:00:00 2001 From: Brandon Rozek Date: Fri, 29 Mar 2024 17:42:34 -0400 Subject: [PATCH] Simplified readme --- README.md | 31 +------------------------------ 1 file changed, 1 insertion(+), 30 deletions(-) diff --git a/README.md b/README.md index 6a22d7a..6c018b5 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Spectra -Spectra is a general purpose planning system. It extends STRIPS-style planning by allowing arbitray first-order formulae for state descriptions and background knowledge rather than just predicates. This allows, for instance, handling domains with infinite or unbounded objects elegantly (among other things). +Spectra is a general purpose planning system. It extends STRIPS-style planning by allowing arbitray 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). [Overview Presentation (pdf)](https://drive.google.com/open?id=1RHulFDgASACBkjvl-8ZEidj50NbGmKPu) @@ -54,32 +54,3 @@ Now you should be able to run Spectra: ![examples.png](https://bitbucket.org/repo/Mjq4bX/images/3136509575-examples.png) - - -## Scaling Up ## - -Two approaches: - -1. **Procedural Attachments**: Special purpose procedural code that can bypass strict formal reasoning. - -2. *μ*-**methods**: Written in denotational proof language. Preserves soundness by letting us write down commonly used patterns of reasoning (a bit unwieldy integration now than the first approach) - - - -```clojure -;; (removeFrom ?x ?y) => "Remove ?x from ?y" -;; (placeInside ?x ?y) ==> "Place ?x inside ?y" -(define-method planMethod [?b ?c ?d] - {:goal [(In ?b ?c) (In ?c ?d)] - :while [(In ?b ?d) (Empty ?c) - (< (size ?c) (size ?d)) - (< (size ?b) (size ?c))] - :actions [(removeFrom ?b ?d) (placeInside ?b ?c) (placeInside ?c ?d)]}) -``` - -Roughly, a method has conditions that the goal and background + start state should satisfy. If the conditions are satisfied, a plan template is generated (note the variables). -The planner then verifies if the plan template works, if so it outputs the plan. - -## Spectra on a Seriated Cup Challenge ## - -![download-3.gif](https://bitbucket.org/repo/Mjq4bX/images/794008054-download-3.gif)