# HG changeset patch # User Steve Losh # Date 1488039421 0 # Node ID 3c9facf27dea58cbcc483b94ddb38fc42cebc213 # Parent a11739a2b4ef2b6bd890fc0a5f249e42a0243365 Clean up next-iset computation API diff -r a11739a2b4ef -r 3c9facf27dea src/reasoners/zdd.lisp --- a/src/reasoners/zdd.lisp Fri Feb 24 15:48:20 2017 +0000 +++ b/src/reasoners/zdd.lisp Sat Feb 25 16:17:01 2017 +0000 @@ -301,6 +301,12 @@ (zdd-match iset moves universe))) +(defun compute-next-iset (reasoner iset) + (-<> iset + (zdd-meet <> (zr-next-zdd *r*)) + (convert-next-to-true *r* <>))) + + ;;;; Drawing ------------------------------------------------------------------ (defun label (reasoner n) (let ((*package* (find-package :ggp-rules))) @@ -544,42 +550,40 @@ (defparameter *r* (make-zdd-reasoner *rules*)) (defparameter *i* (initial-iset *r*)) -;; (defun test () -;; (with-zdd -;; (-<> -;; (initial-iset *r*) +(defun test () + (with-zdd + (-<> + (initial-iset *r*) -;; (apply-rule-forest *r* <> (zr-possible-forest *r*)) -;; (sprout *r* <>) -;; (apply-rule-forest *r* <> (zr-happens-forest *r*)) -;; (filter-iset-for-percepts -;; *r* <> -;; 'ggp-rules::alice -;; '((ggp-rules::sees ggp-rules::alice (ggp-rules::coins ggp-rules::unset)))) -;; (filter-iset-for-move -;; *r* <> -;; 'ggp-rules::alice -;; 'ggp-rules::noop) -;; (zdd-meet <> (zr-next-zdd *r*)) -;; (convert-next-to-true *r* <>) + (apply-rule-forest *r* <> (zr-possible-forest *r*)) + (sprout *r* <>) + (apply-rule-forest *r* <> (zr-happens-forest *r*)) + (filter-iset-for-percepts + *r* <> + 'ggp-rules::alice + '((ggp-rules::sees ggp-rules::alice (ggp-rules::coins ggp-rules::unset)))) + (filter-iset-for-move + *r* <> + 'ggp-rules::alice + 'ggp-rules::noop) + (compute-next-iset *r* <>) -;; (apply-rule-forest *r* <> (zr-possible-forest *r*)) -;; (sprout *r* <>) -;; (apply-rule-forest *r* <> (zr-happens-forest *r*)) -;; (filter-iset-for-move -;; *r* <> -;; 'ggp-rules::alice -;; '(ggp-rules::play ggp-rules::tails)) -;; (filter-iset-for-percepts -;; *r* <> -;; 'ggp-rules::alice -;; '((ggp-rules::sees ggp-rules::alice (ggp-rules::coins ggp-rules::heads)))) -;; (zdd-meet <> (zr-next-zdd *r*)) -;; (convert-next-to-true *r* <>) + (apply-rule-forest *r* <> (zr-possible-forest *r*)) + (sprout *r* <>) + (apply-rule-forest *r* <> (zr-happens-forest *r*)) + (filter-iset-for-move + *r* <> + 'ggp-rules::alice + '(ggp-rules::play ggp-rules::tails)) + (filter-iset-for-percepts + *r* <> + 'ggp-rules::alice + '((ggp-rules::sees ggp-rules::alice (ggp-rules::coins ggp-rules::heads)))) + (compute-next-iset *r* <>) -;; (apply-rule-forest *r* <> (zr-possible-forest *r*)) + (apply-rule-forest *r* <> (zr-possible-forest *r*)) -;; (dump-iset *r* <>) -;; (no <>) -;; ; (draw-zdd *r* <>) -;; ))) + (dump-iset *r* <>) + (no <>) + ; (draw-zdd *r* <>) + )))