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-pp (ppsg 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)))
|
||||
(st '((a . #t) (b . #f)))))
|
||||
(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 . #t) (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 (-> 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
|
||||
(contract-out [variable? (-> any/c boolean?)]
|
||||
[state? (-> any/c boolean?)]
|
||||
|
@ -366,3 +367,9 @@
|
|||
(dds-build-state-graph
|
||||
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