Commit graph

255 commits

Author SHA1 Message Date
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
Sergiu Ivanov
dedfddfe55 networks: Add make-dynamics-from-func, make-asyn-dynamics, make-syn-dynamics. 2020-02-23 11:42:01 +01:00
Sergiu Ivanov
c9cbb1c951 networks: Add make-syn and make-asyn. 2020-02-23 11:25:19 +01:00
Sergiu Ivanov
2fa89f05b9 networks: Start section Dynamics of networks. 2020-02-23 11:10:35 +01:00
Sergiu Ivanov
2d0e688425 networks: Add build-boolean-signed-interaction-graph. 2020-02-23 10:00:48 +01:00
Sergiu Ivanov
b04d897c67 Remove extra comments at the end of networks. 2020-02-23 09:26:07 +01:00
Sergiu Ivanov
4a6888ddde networks: Rewrite update for immutable hashes. 2020-02-23 09:19:45 +01:00
Sergiu Ivanov
1492c33e1a networks: Remove build-all-states-same-domain.
This is function is not really necessary, since I have
make-same-domains.
2020-02-23 09:13:03 +01:00
Sergiu Ivanov
245b22316e networks: Add and use domain-mapping/c. 2020-02-23 09:12:01 +01:00
Sergiu Ivanov
bdbbae6eb6 networks: Make build-all-state take a hash as the domain mapping.
It used to take a list of pairs.
2020-02-23 09:09:43 +01:00
Sergiu Ivanov
9eca7bf449 Prefer for, for/list, and for/hash for iterating over hashes. 2020-02-23 08:57:50 +01:00
Sergiu Ivanov
5fd1b95d5c networks: Fix the comments for make-state and make-network-from-functions. 2020-02-23 08:47:16 +01:00
Sergiu Ivanov
daf2e079ae networks: Add build-signed-interaction-graph. 2020-02-23 01:00:09 +01:00
Sergiu Ivanov
251a7dcf23 networks: make-same-domain-mapping -> make-same-domains, make-boolean-domain-mapping -> make-boolean-domains 2020-02-23 00:15:18 +01:00
Sergiu Ivanov
183160da6f networks: Add make-same-domain-mapping and make-boolean-domain-mapping. 2020-02-23 00:13:36 +01:00
Sergiu Ivanov
cf676028d3 networks, update: Don't talk about Boolean networks. 2020-02-23 00:05:04 +01:00
Sergiu Ivanov
fbef580a01 networks: Add get-interaction-sign. 2020-02-23 00:04:19 +01:00
Sergiu Ivanov
c2c87d0a7d network: Create immutable hashes by default. 2020-02-22 23:22:43 +01:00
Sergiu Ivanov
ac8e63c5f4 networks: Make the state an immutable hash table by default. 2020-02-22 23:20:10 +01:00
Sergiu Ivanov
25a88c820a networks: Add build-all-states-same-domain. 2020-02-22 22:41:56 +01:00
Sergiu Ivanov
da3f25922a networks: Add build-all-states. 2020-02-22 22:31:05 +01:00
Sergiu Ivanov
8dfa11b17c networks: Say contracts are contract?. 2020-02-22 10:37:37 +01:00