Sergiu Ivanov
cfe710e6b2
network: Don't use make-network-from-functions in basic definitions.
2020-11-22 00:08:46 +01:00
Sergiu Ivanov
11d75bcc89
networks: Rewrite update.
2020-11-21 23:28:30 +01:00
Sergiu Ivanov
6560dcbe6c
networks: Move booleanize-state before its own test case.
2020-11-21 23:15:17 +01:00
Sergiu Ivanov
a654ac5896
network: Remove make-network-from-forms.
2020-11-21 23:13:50 +01:00
Sergiu Ivanov
a3ac1c7fcd
networks: Include domains into the network.
...
This change is breaking. The following commits will progressively fix
the whole network module.
2020-11-21 22:53:45 +01:00
Sergiu Ivanov
f1a1123cc4
networks: Make it possible to skip expensive test cases.
...
At the moment, this is particularly for skipping the tests
constructing the interaction graphs.
2020-11-21 00:53:11 +01:00
Sergiu Ivanov
fe0fbc3ed0
networks: Add build-signed-interaction-graph/form.
2020-11-19 00:22:01 +01:00
Sergiu Ivanov
0345cd3648
networks: Add build-interaction-graph/form.
2020-11-19 00:14:54 +01:00
Sergiu Ivanov
8e100c2e8b
networks: Add build-signed-interaction-graph.
2020-11-18 01:11:37 +01:00
Sergiu Ivanov
0313d81c25
network: Add another self-loop test for get-interaction-sign.
2020-11-18 01:08:40 +01:00
Sergiu Ivanov
c55113f27e
network: Bug fix in get-interaction-sign.
2020-11-18 00:46:55 +01:00
Sergiu Ivanov
195d71ed4e
networks: Remove interaction? from the tests for get-interaction-sign.
2020-11-18 00:29:45 +01:00
Sergiu Ivanov
af8428d275
network,build-interaction-graph: Use in-list.
2020-11-18 00:13:00 +01:00
Sergiu Ivanov
d190f76fdf
networks: Add build-interaction-graph.
2020-11-18 00:09:15 +01:00
Sergiu Ivanov
ff9654e5c6
network: Add get-interaction-sign.
2020-11-17 23:38:34 +01:00
Sergiu Ivanov
bfc48ff453
networks: Slightly optimize interaction?.
2020-11-15 00:02:44 +01:00
Sergiu Ivanov
8a1f4c682e
networks: Add interaction?.
2020-11-14 23:15:39 +01:00
Sergiu Ivanov
ce0925e41e
networks: Remove the old functions for building interaction graphs.
...
These functions mix interaction graphs derived from the expressions
defining the network with deriving the interactions from the dynamics,
which does not always yield the same result. Also, some functions
only worked for Boolean networks, including get-interaction-sign.
Additionally, these functions are among the first ones I wrote in dds,
so there are a couple of things which can be written in a better way.
2020-11-12 22:54:04 +01:00
Sergiu Ivanov
60be01d979
networks: Fix and simplify the comment of Inferring interaction graphs.
2020-11-12 01:11:15 +01:00
Sergiu Ivanov
5ece1f6c88
networks: list-interactions → list-syntactic-interactions.
2020-11-12 01:09:18 +01:00
Sergiu Ivanov
681ed0e732
networks: Simplify and fix the comment of update.
2020-11-12 01:08:10 +01:00
Sergiu Ivanov
88caecb98a
networks: Properly export dynamics.
2020-11-12 01:07:41 +01:00
Sergiu Ivanov
6d77052ed6
network: Explain why a network does not include the domains.
2020-11-12 01:05:27 +01:00
Sergiu Ivanov
5fd1e5cb5b
Revert "BREAKING: Make domains part of the network."
...
This reverts commit f414ae8966
.
2020-11-12 01:03:48 +01:00
Sergiu Ivanov
f414ae8966
BREAKING: Make domains part of the network.
...
I always keep bringing domains about for my network, which complicates
things a lot. This commit packages the domains within the network,
which will break a lot of stuff :-) The following commits will fix it all.
2020-11-12 00:58:58 +01:00
Sergiu Ivanov
cde6ee30fa
networks: build-interaction-graph → build-syntactic-interaction-graph.
...
The interaction graph is *not* usually defined in this way.
2020-11-11 15:51:24 +01:00
Sergiu Ivanov
2b60b23bf1
networks: Add group-truth-table-by-nai.
2020-11-08 23:31:11 +01:00
Sergiu Ivanov
59c7108510
networks: Add and illustrate sbn-interaction-graph.
2020-11-08 22:56:46 +01:00
Sergiu Ivanov
bc9a2bd5f8
networks: Add and illustrate pretty-print-tbn-interaction-graph.
2020-11-08 22:30:29 +01:00
Sergiu Ivanov
7af1bb8d79
networks: Add tbn-interaction-graph and explain in example.
2020-11-08 20:29:00 +01:00
Sergiu Ivanov
000c2eeba7
networks: Fix the test for print-org-sbn.
2020-11-05 23:23:48 +01:00
Sergiu Ivanov
79d3ab1ea6
networks: Add print-org-sbn.
2020-11-04 00:06:48 +01:00
Sergiu Ivanov
c4a5327b4b
networks: Fix the tests for print-org-tbn.
2020-11-02 23:05:05 +01:00
Sergiu Ivanov
af5a9d07a9
networks: Add print-org-tbn.
2020-11-02 17:58:45 +01:00
Sergiu Ivanov
0edda89642
networks: Add compact-tbn.
2020-11-02 00:08:49 +01:00
Sergiu Ivanov
2a0cfb4dcc
network,compact-tbf: Use for/hash instead of hash-filter.
2020-11-01 23:42:51 +01:00
Sergiu Ivanov
f7e44df117
networks: Add compact-tbf.
2020-10-31 00:48:00 +01:00
Sergiu Ivanov
208dc12060
networks: Add normalize-tbn.
2020-10-24 23:51:56 +02:00
Sergiu Ivanov
11ecbf84dc
networks: Add normalized-tbn?.
2020-10-24 23:15:13 +02:00
Sergiu Ivanov
e79fef9118
networks: Add build-tbn-state-graph and use it in example.
2020-10-23 00:17:36 +02:00
Sergiu Ivanov
2dd38fa4dc
networks: Add read-org-sbn.
2020-10-22 00:59:58 +02:00
Sergiu Ivanov
a3f3a5616d
networks: Factor parse-org-tbn out from read-org-tbn.
2020-10-22 00:52:06 +02:00
Sergiu Ivanov
b3d2ed94ec
networks: Add build-full-01-state-graph and build-full-01-state-graph-annotated.
2020-10-18 22:57:08 +02:00
Sergiu Ivanov
afa84d00b5
networks: Add build-all-01-states.
2020-10-18 22:52:45 +02:00
Sergiu Ivanov
85feab230f
networks: Add make-01-domains.
2020-10-18 22:52:05 +02:00
Sergiu Ivanov
5f80bd0443
networks: Add read-org-tbn.
2020-10-17 23:51:51 +02:00
Sergiu Ivanov
7555db41ef
networks, tbn->network: Add tests for SBN.
2020-10-17 00:55:20 +02:00
Sergiu Ivanov
218ecfc009
networks: Add sbn? and make-sbn.
2020-10-17 00:45:40 +02:00
Sergiu Ivanov
c2237ecdbc
networks: Add tbn->network.
2020-10-16 00:55:26 +02:00
Sergiu Ivanov
119fcdb8df
networks: Add make-tbn.
2020-10-15 00:33:18 +02:00
Sergiu Ivanov
d6bf00d617
networks: Fix tbn? to use tbf/state.
2020-10-15 00:17:15 +02:00
Sergiu Ivanov
2d1ef85209
networks: Streamline print-org-tbfs/state.
2020-10-14 00:07:08 +02:00
Sergiu Ivanov
664aa89c6a
networks: Add print-org-sbfs/state.
2020-10-14 00:02:58 +02:00
Sergiu Ivanov
835b89bbb8
networks: Add read-org-sbfs/state.
2020-10-13 23:25:21 +02:00
Sergiu Ivanov
1ff413ddcc
networks: Add lists->sbfs/state.
2020-10-12 23:20:48 +02:00
Sergiu Ivanov
943fd322c4
network: Add make-sbf/state.
2020-10-12 22:53:34 +02:00
Sergiu Ivanov
74a3bb9e69
networks: Move sbf/state? to a better place.
2020-10-12 22:46:21 +02:00
Sergiu Ivanov
c8e7d3733c
networks: Add sbf/state?.
2020-10-12 22:40:03 +02:00
Sergiu Ivanov
848d53f97a
networks: Add tbf/state-tabulate.
2020-10-12 00:53:56 +02:00
Sergiu Ivanov
f37155fd3e
networks: Add tbf/state-tabulate*.
2020-10-12 00:47:54 +02:00
Sergiu Ivanov
0987ce332a
networks: Fix the test case for print-org-tbfs/state.
2020-10-12 00:47:25 +02:00
Sergiu Ivanov
7b3b31b211
networks: Add print-org-tbfs/state.
2020-10-12 00:24:10 +02:00
Sergiu Ivanov
2a71a1cd93
networks: Add read-org-tbfs/state.
2020-10-10 23:51:52 +02:00
Sergiu Ivanov
82c1849660
networks: Add lists->tbfs/state.
2020-10-10 23:23:43 +02:00
Sergiu Ivanov
e85cfd9f0f
networks: Slightly reorder the exports.
2020-08-01 23:38:24 +02:00
Sergiu Ivanov
fbc3bf5c8a
networks: Add apply-tbf/state.
2020-08-01 23:24:51 +02:00
Sergiu Ivanov
ead66a2f4e
networks: Use a named test-case in the tests for apply-tbf-to-state.
2020-07-23 00:22:39 +02:00
Sergiu Ivanov
e370356fac
networks: Add some tests for tbf/state.
2020-07-23 00:20:00 +02:00
Sergiu Ivanov
0b41cf54fc
networks: Add make-tbf/state.
2020-07-23 00:19:25 +02:00
Sergiu Ivanov
91c45ada06
networks: Make tbf/state transparent.
2020-07-23 00:17:17 +02:00
Sergiu Ivanov
a4be7922d4
networks: state/tbf → tbf/state.
2020-07-23 00:11:14 +02:00
Sergiu Ivanov
c27b9fe28b
networks: Move apply-tbf-to-state to the top of the section.
2020-07-23 00:06:26 +02:00
Sergiu Ivanov
3fa5b7ca89
networks: Add state/tbf-w and state/tbf-θ.
2020-07-23 00:05:34 +02:00
Sergiu Ivanov
1f33e6c38c
networks: Add state/tbf.
2020-07-23 00:02:35 +02:00
Sergiu Ivanov
7710e56bb8
networks: apply-tbf/state → apply-tbf-to-state
...
The next commits will define tbf/state. The function to apply such a
TBF would naturally be called apply-tbf/state, and it will be quite
different from the apply-tbf-to-state, hence the renaming.
2020-07-22 23:53:20 +02:00
Sergiu Ivanov
e10b208079
networks: Add apply-tbf/state.
2020-07-22 23:46:58 +02:00
Sergiu Ivanov
3c640d2cab
networks: Export tbn?.
2020-07-22 23:45:13 +02:00
Sergiu Ivanov
5c0bb0ddbb
networks: Add tbn?.
2020-07-21 00:13:56 +02:00
Sergiu Ivanov
180810a2aa
utils: 0-1 -> 01
...
Shorter and easier to type.
2020-06-06 08:23:55 +02:00
Sergiu Ivanov
83dd673df9
utils: any->boolean -> any->0-1.
2020-06-04 23:47:10 +02:00
Sergiu Ivanov
458868ea21
any->boolean: Move from networks to utils.
2020-06-03 23:42:47 +02:00
Sergiu Ivanov
6247f28958
networks,tabulate-network: Fix the case of an identifier.
2020-06-02 23:37:28 +02:00
Sergiu Ivanov
7f58bf5623
networks: Rewrite tabulate-network to use tabulate-state*/boolean.
2020-06-02 23:34:19 +02:00
Sergiu Ivanov
9a1477ad42
networks: Fix the test for tabulate-state*/boolean.
2020-06-02 23:33:34 +02:00
Sergiu Ivanov
f812165b39
networks,tabulate-state*,tabulate-state*/boolean: Move the contracts to provide.
2020-06-02 21:53:53 +02:00
Sergiu Ivanov
a34b08e477
networks: Rewrite tabulate-state to use tabulate-state*.
2020-06-02 21:29:00 +02:00
Sergiu Ivanov
42ffc37eeb
networks: Add tabulate-state* and tabulate-state*/boolean.
2020-06-02 21:28:37 +02:00
Sergiu Ivanov
cd00e2a4d4
networks: Redefine ppsg and ppsgb as functions and export them.
2020-05-28 00:49:29 +02:00
Sergiu Ivanov
8421d89629
networks: Factor out purely function-related code into functions.
2020-05-28 00:24:17 +02:00
Sergiu Ivanov
90bebbded9
boolean-power,boolean-power-stream: Move from networks to utils.
2020-05-28 00:24:02 +02:00
Sergiu Ivanov
b98d00320c
networks: Use test-case and define instead of let.
2020-05-27 23:39:38 +02:00
Sergiu Ivanov
c8d88de6c2
networks: Move the tests to the test submodule.
2020-05-22 23:40:40 +02:00
Sergiu Ivanov
82def3b704
networks: Ensure that all variables always appear in the interaction graphs.
2020-05-14 01:06:17 +02:00
Sergiu Ivanov
6c707ddba7
build-signed-interaction-graph: Use _.
2020-05-14 00:56:46 +02:00
Sergiu Ivanov
faa3d9ff00
networks: Remove unorg-syn and unorg-asyn.
2020-03-25 23:21:16 +01:00
Sergiu Ivanov
319b15d956
networks: Remove ppsg and ppsgb.
2020-03-25 23:15:37 +01:00
Sergiu Ivanov
e8e3a71d87
networks: Remove nn.
2020-03-25 23:05:28 +01:00
Sergiu Ivanov
dfb882d891
networks: Remove st and stb.
2020-03-25 00:31:23 +01:00
Sergiu Ivanov
ac8c999272
networks: Add table->network.
2020-03-24 00:18:39 +01:00
Sergiu Ivanov
9961dc7c8b
networks: Add "and networks" to "Constructing functions".
2020-03-23 22:31:58 +01:00
Sergiu Ivanov
b0eb81b051
networks: Add build-signed-interaction-graph and build-boolean-signed-interaction-graph.
...
No tests yet.
2020-03-22 21:00:12 +01:00
Sergiu Ivanov
a77d42af85
networks: Functions for interaction graph explicitly say they use forms.
2020-03-22 20:45:11 +01:00
Sergiu Ivanov
65445e6ba8
networks: Make get-interaction-sign take a network, not a form.
2020-03-22 20:43:14 +01:00
Sergiu Ivanov
5330336b6d
networks: Use '+ and '- as labels in the signed interaction graph.
2020-03-22 20:26:04 +01:00
Sergiu Ivanov
401f895dd2
networks: Make build-all-states order the variables.
2020-03-22 19:34:08 +01:00
Sergiu Ivanov
cd11bcc330
networks: Export and test the functions for generation of random networks.
2020-03-22 19:28:44 +01:00
Sergiu Ivanov
c823001492
networks: Add tabulate-network and tabulate-boolean-network.
2020-03-22 19:22:54 +01:00
Sergiu Ivanov
5fd16e4465
networks: Add random-network, random-boolean-network, random-boolean-networks/vars.
2020-03-22 18:40:50 +01:00
Sergiu Ivanov
75b19c7977
networks: Make sectioning more fine-grained.
2020-03-22 14:40:23 +01:00
Sergiu Ivanov
a40106e47c
networks: Add random-function/state and random-boolean-function/state.
2020-03-22 14:35:26 +01:00
Sergiu Ivanov
5358f9bf57
networks: Add tabulate-state and tabulate-state/boolean.
2020-03-22 14:34:40 +01:00
Sergiu Ivanov
9113a788a9
networks: Make network? more precise.
...
Require that the hash table maps variables to procedures, instead of
requiring nothing of the values of the hash table.
2020-03-21 19:19:23 +01:00
Sergiu Ivanov
9682049df5
networks: Remove network/c.
...
I've never used it.
2020-03-21 19:18:45 +01:00
Sergiu Ivanov
a55b671248
networks: Make the contracts on functions dealing with Boolean tables more precise.
2020-03-20 22:29:33 +01:00
Sergiu Ivanov
bba2dfad12
networks: Split the randomness functions into their own section.
2020-03-20 22:22:33 +01:00
Sergiu Ivanov
6c75a073c0
networks: Add random-boolean-table, random-boolean-function, random-boolean-function/list.
2020-03-20 22:15:29 +01:00
Sergiu Ivanov
519f3759ea
networks,enumerate-boolean-tables: Use boolean-power/stream.
2020-03-20 16:43:14 +01:00
Sergiu Ivanov
59d5b040f4
networks: Remove n from boolean-power-n and boolean-power-n/stream.
2020-03-20 16:41:26 +01:00
Sergiu Ivanov
e89163d044
networks: Add boolean-power-n/stream.
2020-03-20 16:40:15 +01:00
Sergiu Ivanov
36c26d2a1f
networks: Export and test boolean-power-n.
2020-03-20 16:38:32 +01:00
Sergiu Ivanov
f09f24d2dd
networks: Use streams for enumerating Boolean functions.
2020-03-20 00:15:51 +01:00
Sergiu Ivanov
2c79ca3781
networks: Add enumerate-boolean-tables, enumerate-boolean-functions, and enumerate-boolean-functions/list.
2020-03-19 23:40:08 +01:00
Sergiu Ivanov
80ef41eaa4
networks,table->function: Store the function in a local binding.
...
This avoids reconstructing the function from the table every time the
lambda is called.
2020-03-19 23:17:23 +01:00
Sergiu Ivanov
9bcb5681ce
networks: Add table->function and table->function/list.
2020-03-18 21:40:09 +01:00
Sergiu Ivanov
572bef8a7b
networks: Add tabulate and illustrate it in example.
2020-03-15 16:12:35 +01:00
Sergiu Ivanov
07e1a73b50
networks: Add read-org-network-make-asyn and read-org-network-make-syn.
...
Also add some shortcuts.
2020-03-04 18:54:36 +01:00
Sergiu Ivanov
a3967d8bf8
utils: Move pretty-print-modalities as pretty-print-set-sets from networks.
2020-03-02 23:59:37 +01:00
Sergiu Ivanov
ac7ce12a9d
networks: Remove a custom definition of dds-step-one.
...
This method now falls back to dds-step-one-annotated.
2020-03-02 12:12:57 +01:00
Sergiu Ivanov
9143f6f9fc
networks: Add pretty-print-modalities and use it for state graphs.
2020-03-01 17:57:58 +01:00
Sergiu Ivanov
a3f5d4d2ba
networks, pretty-print-state-graph-with: Use pretty-print-set for edges.
2020-03-01 15:20:44 +01:00
Sergiu Ivanov
6e5c73bcb2
networks: Add build-full-boolean-state-graph-annotated.
2020-02-28 21:56:42 +01:00
Sergiu Ivanov
2ece2e76ee
networks: Re-export dds-build-state-graph-annotated and dds-build-n-step-state-graph-annotated.
2020-02-28 21:46:25 +01:00
Sergiu Ivanov
fd290a049e
networks: Make the pretty printing procedures sort the keys.
2020-02-26 21:27:02 +01:00
Sergiu Ivanov
63b676b1ba
networks: Remove an extra call to booleanize-state.
2020-02-26 21:02:44 +01:00
Sergiu Ivanov
b53639839f
networks: Add booleanize-state and make stb a shortcut for it.
2020-02-26 20:47:38 +01:00
Sergiu Ivanov
2022e0187b
networks: Add make-state-booleanize and stb.
2020-02-26 15:51:25 +01:00
Sergiu Ivanov
9e0db04035
networks: Make nn a shortcut form network-form->network.
...
It used to be for make-network-from-forms, but nn is more practical in
my Org-mode setup as of now.
2020-02-23 20:28:11 +01:00
Sergiu Ivanov
b0acbadadd
networks: Add build-all-boolean-states and build-full-boolean-state-graph.
2020-02-23 20:13:37 +01:00
Sergiu Ivanov
f88bc0d01b
networks: Add further infrastructure for pretty-printing networks.
2020-02-23 19:44:55 +01:00
Sergiu Ivanov
3a873ab256
networks: Add pretty-print-state.
2020-02-23 19:24:53 +01:00
Sergiu Ivanov
39575f39c2
generic: Add dds-build-state-graph and dds-build-n-step-state-graph.
...
Also provide a common fallback implementation.
2020-02-23 18:51:57 +01:00
Sergiu Ivanov
e7eb1fb09e
networks: Implement dds-step-one-annotated.
2020-02-23 14:11:55 +01:00
Sergiu Ivanov
5969595bed
networks: Add and use modality?
2020-02-23 13:53:02 +01:00
Sergiu Ivanov
95d248c548
networks, generic: Make all set/c arguments 'dont-care.
2020-02-23 13:38:18 +01:00
Sergiu Ivanov
8c92a4bbd8
networks, generic: Add dds-step.
2020-02-23 13:29:09 +01:00
Sergiu Ivanov
598904fecd
networks: Fix an extra newline in provides.
2020-02-23 12:27:59 +01:00
Sergiu Ivanov
5907edfef0
dds-step -> dds-step-one
2020-02-23 12:23:55 +01:00
Sergiu Ivanov
5d5d0347e8
networks: Make dynamics inherit from dds and implement dds-step.
2020-02-23 12:19:47 +01:00
Sergiu Ivanov
f9191287e1
networks: Make update accept any kind of sets of variables.
2020-02-23 12:10:27 +01:00
Sergiu Ivanov
cbf949ba5a
network: Use domain-mapping/c in the contract of make-same-domains.
2020-02-23 11:51:59 +01:00