The Spectra Automated Planner for DCEC built on ShadowProver
Find a file
2017-12-29 00:08:54 -08:00
.idea More tweaks 2017-01-15 18:54:56 -05:00
snark-20120808r02 Support for plan methods 2017-12-22 17:44:24 -08:00
src Support for plan methods 2017-12-22 17:44:24 -08:00
.gitignore Ignore target 2017-01-18 23:04:05 -05:00
_config.yml Set theme jekyll-theme-cayman 2017-12-29 00:04:19 -08:00
pom.xml Support for plan methods 2017-12-22 17:44:24 -08:00
README.md Update README.md 2017-12-29 00:08:54 -08:00

Spectra

;; (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.