networks: Add build-full-boolean-state-graph-annotated.
This commit is contained in:
parent
2ece2e76ee
commit
6e5c73bcb2
2 changed files with 45 additions and 3 deletions
|
@ -133,7 +133,8 @@
|
||||||
[gr-full (dds-build-state-graph asyn (set s))]
|
[gr-full (dds-build-state-graph asyn (set s))]
|
||||||
[gr-full-pp (ppsg gr-full)]
|
[gr-full-pp (ppsg gr-full)]
|
||||||
[gr-full-ppb (ppsgb gr-full)]
|
[gr-full-ppb (ppsgb gr-full)]
|
||||||
[gr-complete-bool (build-full-boolean-state-graph asyn)])
|
[gr-complete-bool (build-full-boolean-state-graph asyn)]
|
||||||
|
[gr-complete-bool-ann (build-full-boolean-state-graph-annotated asyn)])
|
||||||
(check-equal? (dds-step-one asyn s) (set (st '((a . #f) (b . #f)))
|
(check-equal? (dds-step-one asyn s) (set (st '((a . #f) (b . #f)))
|
||||||
(st '((a . #t) (b . #f)))))
|
(st '((a . #t) (b . #f)))))
|
||||||
(check-equal? (dds-step-one-annotated asyn s)
|
(check-equal? (dds-step-one-annotated asyn s)
|
||||||
|
@ -171,4 +172,38 @@
|
||||||
(#hash((a . #t) (b . #t)) #hash((a . #f) (b . #t)))
|
(#hash((a . #t) (b . #t)) #hash((a . #f) (b . #t)))
|
||||||
(#hash((a . #t) (b . #t)) #hash((a . #t) (b . #t)))
|
(#hash((a . #t) (b . #t)) #hash((a . #t) (b . #t)))
|
||||||
(#hash((a . #f) (b . #t)) #hash((a . #f) (b . #t)))
|
(#hash((a . #f) (b . #t)) #hash((a . #f) (b . #t)))
|
||||||
(#hash((a . #f) (b . #t)) #hash((a . #t) (b . #t)))))))
|
(#hash((a . #f) (b . #t)) #hash((a . #t) (b . #t)))))
|
||||||
|
|
||||||
|
(check-equal? (get-edges gr-complete-bool-ann)
|
||||||
|
'((#hash((a . #f) (b . #f)) #hash((a . #t) (b . #f)))
|
||||||
|
(#hash((a . #f) (b . #f)) #hash((a . #f) (b . #f)))
|
||||||
|
(#hash((a . #t) (b . #f)) #hash((a . #t) (b . #f)))
|
||||||
|
(#hash((a . #t) (b . #f)) #hash((a . #f) (b . #f)))
|
||||||
|
(#hash((a . #t) (b . #t)) #hash((a . #f) (b . #t)))
|
||||||
|
(#hash((a . #t) (b . #t)) #hash((a . #t) (b . #t)))
|
||||||
|
(#hash((a . #f) (b . #t)) #hash((a . #f) (b . #t)))
|
||||||
|
(#hash((a . #f) (b . #t)) #hash((a . #t) (b . #t)))))
|
||||||
|
(check-equal? (edge-weight gr-complete-bool-ann
|
||||||
|
#hash((a . #f) (b . #f)) #hash((a . #t) (b . #f)))
|
||||||
|
(set 'a))
|
||||||
|
(check-equal? (edge-weight gr-complete-bool-ann
|
||||||
|
#hash((a . #f) (b . #f)) #hash((a . #f) (b . #f)))
|
||||||
|
(set 'b))
|
||||||
|
(check-equal? (edge-weight gr-complete-bool-ann
|
||||||
|
#hash((a . #t) (b . #f)) #hash((a . #t) (b . #f)))
|
||||||
|
(set 'b))
|
||||||
|
(check-equal? (edge-weight gr-complete-bool-ann
|
||||||
|
#hash((a . #t) (b . #f)) #hash((a . #f) (b . #f)))
|
||||||
|
(set 'a))
|
||||||
|
(check-equal? (edge-weight gr-complete-bool-ann
|
||||||
|
#hash((a . #t) (b . #t)) #hash((a . #f) (b . #t)))
|
||||||
|
(set 'a))
|
||||||
|
(check-equal? (edge-weight gr-complete-bool-ann
|
||||||
|
#hash((a . #t) (b . #t)) #hash((a . #t) (b . #t)))
|
||||||
|
(set 'b))
|
||||||
|
(check-equal? (edge-weight gr-complete-bool-ann
|
||||||
|
#hash((a . #f) (b . #t)) #hash((a . #f) (b . #t)))
|
||||||
|
(set 'b))
|
||||||
|
(check-equal? (edge-weight gr-complete-bool-ann
|
||||||
|
#hash((a . #f) (b . #t)) #hash((a . #t) (b . #t)))
|
||||||
|
(set 'a))))
|
||||||
|
|
|
@ -52,7 +52,8 @@
|
||||||
[pretty-print-state-graph-with (-> graph? (-> state? string?) graph?)]
|
[pretty-print-state-graph-with (-> graph? (-> state? string?) graph?)]
|
||||||
[pretty-print-state-graph (-> graph? graph?)]
|
[pretty-print-state-graph (-> graph? graph?)]
|
||||||
[pretty-print-boolean-state-graph (-> graph? graph?)]
|
[pretty-print-boolean-state-graph (-> graph? graph?)]
|
||||||
[build-full-boolean-state-graph (-> dynamics? graph?)])
|
[build-full-boolean-state-graph (-> dynamics? graph?)]
|
||||||
|
[build-full-boolean-state-graph-annotated (-> dynamics? graph?)])
|
||||||
;; Predicates
|
;; Predicates
|
||||||
(contract-out [variable? (-> any/c boolean?)]
|
(contract-out [variable? (-> any/c boolean?)]
|
||||||
[state? (-> any/c boolean?)]
|
[state? (-> any/c boolean?)]
|
||||||
|
@ -366,3 +367,9 @@
|
||||||
(dds-build-state-graph
|
(dds-build-state-graph
|
||||||
dyn
|
dyn
|
||||||
(list->set (build-all-boolean-states (hash-keys (dynamics-network dyn))))))
|
(list->set (build-all-boolean-states (hash-keys (dynamics-network dyn))))))
|
||||||
|
|
||||||
|
;;; Build the full annotated state graph of a Boolean network.
|
||||||
|
(define (build-full-boolean-state-graph-annotated dyn)
|
||||||
|
(dds-build-state-graph-annotated
|
||||||
|
dyn
|
||||||
|
(list->set (build-all-boolean-states (hash-keys (dynamics-network dyn))))))
|
||||||
|
|
Loading…
Reference in a new issue