Commit Graph

287 Commits

Author SHA1 Message Date
Sergiu Ivanov 27bb25c201 networks: Fix signed interaction graphs. 2020-11-22 21:26:26 +01:00
Sergiu Ivanov 3e35b8e0ab networks, IG: Use forms->boolean-network.
IG = interaction graph
2020-11-22 21:24:05 +01:00
Sergiu Ivanov ec3c74b5e2 networks: Add forms->boolean-network. 2020-11-22 21:21:31 +01:00
Sergiu Ivanov a4979d9c9f networks: Add make-boolean-network-form. 2020-11-22 21:18:22 +01:00
Sergiu Ivanov d5e1819fff networks: Add make-boolean-network. 2020-11-22 21:18:14 +01:00
Sergiu Ivanov 6fd3d41c7e networks: Update the IG-related functions.
IG = interaction graph
2020-11-22 21:06:33 +01:00
Sergiu Ivanov 393f1d2bba networks: Move domain-mapping/c to Basic definitions. 2020-11-22 20:46:53 +01:00
Sergiu Ivanov cb208a66fc networks: Add one more comment on syntactic IG vs. IG. 2020-11-22 20:42:30 +01:00
Sergiu Ivanov b8f29d905d networks: Remove make-network-from-forms. 2020-11-22 00:29:36 +01:00
Sergiu Ivanov 236dca704d networks: Update network-form->network. 2020-11-22 00:27:56 +01:00
Sergiu Ivanov ed03015e81 network: Add domains to network-form. 2020-11-22 00:24:15 +01:00
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