diff --git a/.flake8 b/.flake8 index a40b8e4cf..2540cc475 100644 --- a/.flake8 +++ b/.flake8 @@ -1,7 +1,8 @@ [flake8] - -ignore = F401 - +ignore = E203, E501, W503 +max-line-length = 80 +max-complexity = 18 +select = B,C,E,F,W,T4,B9 exclude = __pycache__, __pyphi_cache__, diff --git a/.gitignore b/.gitignore index cf741b414..c4c4c93a6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,30 +1,20 @@ __pycache__ .cache -.ropeproject .venv .env -.pythonrc* .agignore -.projectile -**/*.pyc +.tox +.coverage **/*.egg-info **/*.log **/*.BACKUP -.tox -pyphi/data/hamming_matrices/10.npy __pyphi_cache__ dist build -profiling docs/_build -.coverage htmlcov -results -html -env +profiling benchmarks/pyphi_config.yml -profiling/pyphi_config.yml +benchmarks/env +benchmarks/results ignore -.ignore -startup.py -my_requirements.txt diff --git a/.isort.cfg b/.isort.cfg index bd170cf33..9bae4bf1b 100644 --- a/.isort.cfg +++ b/.isort.cfg @@ -1,5 +1,9 @@ [settings] -line_length=80 +multi_line_output=3 +include_trailing_comma=True +force_grid_wrap=0 +use_parentheses=True +line_length=88 indent=' ' default_section=THIRDPARTY known_first_party=pyphi diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 000000000..c2f5f531c --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,77 @@ +exclude: '^$' +fail_fast: false +repos: + +- repo: https://github.com/pre-commit/pre-commit-hooks.git + rev: v2.2.3 + hooks: + - id: autopep8-wrapper + - id: check-added-large-files + - id: debug-statements + - id: double-quote-string-fixer + - id: end-of-file-fixer + - id: fix-encoding-pragma + - id: flake8 + additional_dependencies: [ + 'flake8-blind-except', + 'flake8-coding', + 'flake8-comprehensions', + 'flake8-debugger', + 'flake8-deprecated', + 'flake8-docstrings', + 'flake8-meiqia', + 'flake8-mutable', + 'flake8-pep3101', + 'flake8-print', + 'flake8-quotes', + 'flake8-string-format', + 'flake8-tidy-imports', + 'flake8-todo'] + exclude: 'test_oauth.py' + - id: trailing-whitespace + +- repo: https://github.com/ambv/black + rev: 19.3b0 + hooks: + - id: black + name: black + description: 'Black: The uncompromising Python code formatter' + entry: black + language: python + language_version: python3 + require_serial: true + types: [python] + +# - repo: git@github.com:pre-commit/mirrors-yapf.git +# sha: v0.20.0 +# hooks: +# - id: yapf +# exclude: 'migrations|settings|scripts' +# additional_dependencies: ['futures'] +# args: ['--style=.style.yapf', '--parallel', '--in-place'] + +# - repo: git@github.com:FalconSocial/pre-commit-python-sorter.git +# sha: b57843b0b874df1d16eb0bef00b868792cb245c2 +# hooks: +# - id: python-import-sorter +# args: ['--silent-overwrite'] + +# - repo: git@github.com:humitos/mirrors-docformatter.git +# sha: v0.0.1 +# hooks: +# - id: docformatter +# args: ['--in-place', '--wrap-summaries=80', '--wrap-descriptions=80', '--pre-summary-newline', '--no-blank'] + +# - repo: git@github.com:humitos/mirrors-autoflake.git +# sha: v1.0 +# hooks: +# - id: autoflake +# args: ['--in-place', '--remove-all-unused-imports', '--remove-unused-variable'] + +# - repo: git://github.com/guykisel/prospector-mirror +# sha: 'b27f281eb9398fc8504415d7fbdabf119ea8c5e1' +# hooks: +# - id: prospector +# # https://github.com/pre-commit/pre-commit/issues/178 +# language: system +# args: ['--profile=prospector'] diff --git a/.pylintrc b/.pylintrc index b44cff81b..7dc3241cc 100644 --- a/.pylintrc +++ b/.pylintrc @@ -60,6 +60,7 @@ disable = no-name-in-module, no-self-use, super-on-old-class, + bad-continuation, [REPORTS] diff --git a/.travis.yml b/.travis.yml index baed50436..30248be1d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,3 +1,5 @@ +dist: xenial + language: python sudo: false @@ -14,14 +16,15 @@ services: - redis-server # port 6379 (default) python: - - "3.4" - - "3.5" - - "3.6" + - 3.4 + - 3.5 + - 3.6 + - 3.7 # Install packages install: - pip install --upgrade pip setuptools wheel - - pip install --only-binary=numpy numpy==1.14 + - if [[ $TRAVIS_PYTHON_VERSION == 3.4 ]]; then pip install --only-binary=numpy numpy==1.15.4; else pip install --only-binary=numpy numpy==1.16.4; fi - pip install --only-binary=scipy -r requirements.txt - pip install coveralls - pip freeze diff --git a/CHANGELOG.md b/CHANGELOG.md index ba2e72cf3..dc9faa8fa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,49 @@ Changelog ========= +1.2.0 +----- +_2019-06-21_ + +### Fixes + +- Fixed a bug introduced into `pyphi.utils.load_data()` by a breaking change + in recent versions of NumPy that caused an error on import. +- Fixed a bug where changing `config.PRECISION` dynamically did not change + `constants.EPSILON`, causing some comparisons that relied on + `constants.EPSILON` to not reflect the new precision. +- Changing `config.FS_CACHE_DIRECTORY` and `config.FS_CACHE_VERBOSITY` now + causes a new `joblib.Memory` cache to be created. Previously, changing these + options dynamically had no effect. +- Made test suite compatible with stricter usage of `pytest` fixtures + required by recent versions of `pytest`. + +### API additions + +- Added `pyphi.tpm.reconstitute_tpm()`. + +### API changes + +- Renamed `pyphi.partition.partition_registry` to + `pyphi.partition.partition_types`. +- Renamed `pyphi.distance.bld()` to `pyphi.distance.klm()`. +- Fixed the connectivity matrix of the `def + disjunction_conjunction_network()`. +- Removed `'expanded_*_reperotire'` attributes of JSON-serialized `Concept`s. + +### Config + +- Added the `WELCOME_OFF` option to turn off the new welcome message. + +### Documentation + +- Added documentation for the `partition_types` registry. +- Added documentation for the filesystem and database caches. + + 1.1.0 ----- +_2018-05-30_ ### Fixes @@ -15,6 +56,7 @@ Changelog - Made model hashes deterministic (6b59061). This fixes an issue with the Redis MICE cache in which cached values were not shared between processes and program invokations. +- Fixed the connectivity matrix in `examples.disjunction_conjunction.network()`. ### API additions diff --git a/INSTALLATION.rst b/INSTALLATION.rst index 4e5869376..c5aeea21e 100644 --- a/INSTALLATION.rst +++ b/INSTALLATION.rst @@ -40,7 +40,7 @@ Now that we're using our shiny new Python versions, it is highly recommended to set up a **virtual environment** in which to install PyPhi. Virtual environments allow different projects to isolate their dependencies from one another, so that they don't interact in unexpected ways. Please see `this guide -`__ for more information. +`__ for more information. To do this, you must install ``virtualenvwrapper``, a `tool for manipulating virtual environments `__. This tool diff --git a/Makefile b/Makefile index 51eba8fb1..da3ab56f7 100644 --- a/Makefile +++ b/Makefile @@ -69,3 +69,6 @@ build-dist: clean-dist clean-dist: rm -rf $(dist_dir) + +clean: + rm -rf **/__pycache__ diff --git a/README.md b/README.md index 10dd7df61..5dcd08f6f 100644 --- a/README.md +++ b/README.md @@ -13,18 +13,17 @@ PyPhi is a Python library for computing integrated information (𝚽), and the associated quantities and objects. -**If you use this code, please cite the manuscript:** +**If you use this code, please cite the paper:** --- -Mayner WGP, Marshall W, Albantakis L, Findlay G, Marchman R, Tononi G (2017). -[PyPhi: A toolbox for integrated -information](https://arxiv.org/abs/1712.09644). arXiv:1712.09644 \[q-bio.NC\]. +Mayner WGP, Marshall W, Albantakis L, Findlay G, Marchman R, Tononi G. (2018) +[PyPhi: A toolbox for integrated information +theory](https://doi.org/10.1371/journal.pcbi.1006343). PLOS Computational +Biology 14(7): e1006343. --- -The manuscript is available at . - ## Usage, Examples, and API documentation @@ -113,25 +112,47 @@ before installing the requirements: sudo apt-get install python3-dev python3-scipy python3-numpy ``` +### Developing on Windows + +If you're just looking for an editable install, pip may work better than the conda develop utility included in the conda-build package. When using pip on Windows, the build of pyemd may fail. The simplest solution to this is to obtain pyemd through conda. + +```bash +conda create -n pyphi_dev +conda activate pyphi_dev +conda install -c wmayner pyemd +cd path/to/local/editable/copy/of/pyphi +pip install -e . +``` + +Unfortunately, pip isn't great at managing the DLLs that some packages (especially scipy) rely on. If you have missing DLL errors, try reinstalling the offending package (here, scipy) with conda. + +```bash +conda activate pyphi_dev +pip uninstall scipy +conda install scipy +``` ## Credit ### Please cite these papers if you use this code: -Mayner WGP, Marshall W, Albantakis L, Findlay G, Marchman R, Tononi G (2017). -[PyPhi: A toolbox for integrated -information](https://arxiv.org/abs/1712.09644). arXiv:1712.09644 \[q-bio.NC\]. +Mayner WGP, Marshall W, Albantakis L, Findlay G, Marchman R, Tononi G. (2018) +[PyPhi: A toolbox for integrated information +theory](https://doi.org/10.1371/journal.pcbi.1006343). PLOS Computational +Biology 14(7): e1006343. ``` -@article{mayner2017pyphi, - title={PyPhi: A toolbox for integrated information}, - author={Mayner, William, Gerald Paul AND Marshall, William AND - Albantakis, Larissa AND Findlay, Graham AND - Marchman, Robert AND Tononi, Giulio}, - journal={arXiv:1712.09644 [q-bio.NC]}, - year={2017}, - month={12}, - url={https://arxiv.org/abs/1712.09644} +@article{mayner2018pyphi, + title={PyPhi: A toolbox for integrated information theory}, + author={Mayner, William GP and Marshall, William and Albantakis, Larissa and Findlay, Graham and Marchman, Robert and Tononi, Giulio}, + journal={PLoS Computational Biology}, + volume={14}, + number={7}, + pages={e1006343}, + year={2018}, + publisher={Public Library of Science}, + doi={10.1371/journal.pcbi.1006343}, + url={https://doi.org/10.1371/journal.pcbi.1006343} } ``` diff --git a/docs/caching.rst b/docs/caching.rst new file mode 100644 index 000000000..b308cd367 --- /dev/null +++ b/docs/caching.rst @@ -0,0 +1 @@ +.. include:: ../CACHING.rst \ No newline at end of file diff --git a/docs/conf.py b/docs/conf.py index 7be162619..41f653359 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -62,7 +62,7 @@ # General information about the project. project = 'PyPhi' -copyright = '2014--2017 {}'.format(__author__) +copyright = '2014--2018 {}'.format(__author__) # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the @@ -121,7 +121,10 @@ .. |big_phi_max| replace:: :math:`\Phi^{\textrm{max}}` .. |small_phi| replace:: :math:`\varphi` .. |small_phi > 0| replace:: :math:`\varphi > 0` +.. |small_phi = 0| replace:: :math:`\varphi = 0` .. |small_phi_max| replace:: :math:`\varphi^{\textrm{max}}` +.. |small_phi = 1/6| replace:: :math:`\varphi = \frac{1}{6}` +.. |small_phi = 1/10| replace:: :math:`\varphi = \frac{1}{10}` .. |big_alpha| replace:: :math:`\mathcal{A}` .. |big_alpha > 0| replace:: :math:`\mathcal{A} > 0` .. |alpha| replace:: :math:`\alpha` @@ -150,8 +153,6 @@ .. |(AB / DE) x (∅ / C)| replace:: :math:`\frac{AB}{DE} \times \frac{\varnothing}{C}` .. |(A / CD) x (∅ / E)| replace:: :math:`\frac{A}{CD} \times \frac{\varnothing}{E}` .. |(∅ / C) x (A / D)| replace:: :math:`\frac{\varnothing}{C} \times \frac{A}{D}` -.. |small_phi = 1/6| replace:: :math:`\varphi = \frac{1}{6}` -.. |small_phi = 1/10| replace:: :math:`\varphi = \frac{1}{10}` .. |t| replace:: :math:`t` .. |t-1| replace:: :math:`t-1` .. |t+1| replace:: :math:`t+1` @@ -168,6 +169,8 @@ .. |N| replace:: :math:`N` .. |n x n| replace:: :math:`N \times N` .. |2^n x 2^n| replace:: :math:`2^N \times 2^N` +.. |2^m x 2| replace:: :math:`2^m \times 2` +.. |m| replace:: :math:`m` .. |i| replace:: :math:`i` .. |j| replace:: :math:`j` .. |i,jth| replace:: :math:`(i,j)^{\textrm{th}}` diff --git a/docs/examples/actual_causation.rst b/docs/examples/actual_causation.rst index 2c4462e5e..97a8c3fa8 100644 --- a/docs/examples/actual_causation.rst +++ b/docs/examples/actual_causation.rst @@ -1,12 +1,16 @@ Actual Causation ================ -This section demonstrates how to use PyPhi to evaluate actual causation as +This section demonstrates how to use PyPhi to evaluate actual causation, as described in -`Albantakis L, Marshall W, Hoel E, Tononi G (2017). What caused what? An -irreducible account of actual causation. arXiv:1708.06716 [cs.AI] -`_. + Albantakis L, Marshall W, Hoel E, Tononi G (2019). + What Caused What? A quantitative Account of Actual Causation Using + Dynamical Causal Networks. + *Entropy*, 21 (5), pp. 459. + ``_ + +First, we'll import the modules we need: >>> import pyphi >>> from pyphi import actual, config, Direction diff --git a/docs/index.rst b/docs/index.rst index 253fc09ba..fadec7160 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -3,6 +3,13 @@ PyPhi PyPhi is a Python library for computing integrated information. +If you use this software in your research, please cite the paper: + + Mayner WGP, Marshall W, Albantakis L, Findlay G, Marchman R, Tononi G. + (2018) PyPhi: A toolbox for integrated information theory. *PLOS + Computational Biology* 14(7): e1006343. + https://doi.org/10.1371/journal.pcbi.1006343 + To report issues, use the issue tracker on the `GitHub repository `_. Bug reports and pull requests are welcome. @@ -43,6 +50,7 @@ For general discussion, you are welcome to join the `pyphi-users group :maxdepth: 1 configuration + caching .. toctree:: :caption: API Reference diff --git a/paper/journal.pcbi.1006343.pdf b/paper/journal.pcbi.1006343.pdf new file mode 100644 index 000000000..253fe8813 Binary files /dev/null and b/paper/journal.pcbi.1006343.pdf differ diff --git a/paper/pcbi.1006343.s001.pdf b/paper/pcbi.1006343.s001.pdf new file mode 100644 index 000000000..1611d234b Binary files /dev/null and b/paper/pcbi.1006343.s001.pdf differ diff --git a/profiling/code_to_profile.py b/profiling/code_to_profile.py deleted file mode 100644 index 12fee7961..000000000 --- a/profiling/code_to_profile.py +++ /dev/null @@ -1,142 +0,0 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -*- - -""" -Profiling tool for PyPhi. -""" - -import argparse -import cProfile -import json -import logging -import os -import pickle -import sys -from time import time - -from joblib import Parallel, delayed - -import pyphi - -pyphidir = os.path.abspath('..') -if pyphidir not in sys.path: - sys.path.insert(0, pyphidir) - - -formatter = logging.Formatter( - fmt='%(asctime)s [%(name)s] %(levelname)s: %(message)s') - -PSTATS = 'pstats' -LOGS = 'logs' -RESULTS = 'results' -NETWORKS = 'networks' - - -def load_json_network(json_dict): - """Load a network from a json file""" - network = pyphi.Network.from_json(json_dict['network']) - state = json_dict['state'] - return (network, state) - - -def all_network_files(): - """All network files""" - # TODO: list explicitly since some are missing? - network_types = [ - 'AND-circle', - 'MAJ-specialized', - 'MAJ-complete', - 'iit-3.0-modular' - ] - network_sizes = range(5, 8) - network_files = [] - for n in network_sizes: - for t in network_types: - network_files.append('{}-{}'.format(n, t)) - return network_files - - -def profile_network(filename): - """Profile a network. - - Saves PyPhi results, pstats, and logs to respective directories. - """ - log = logging.getLogger(filename) - logfile = os.path.join(LOGS, filename + '.log') - os.makedirs(os.path.dirname(logfile), exist_ok=True) - handler = logging.FileHandler(logfile) - handler.setFormatter(formatter) - log.addHandler(handler) - log.setLevel(logging.INFO) - - try: - with open(os.path.join(NETWORKS, filename + '.json')) as f: - - network, state = load_json_network(json.load(f)) - - log.info('Profiling %s...', filename) - log.info('PyPhi configuration:\n%s', - pyphi.config.get_config_string()) - - start = time() - pr = cProfile.Profile() - pr.enable() - - results = tuple(pyphi.compute.complexes(network, state)) - - pr.disable() - end = time() - - pstatsfile = os.path.join(PSTATS, filename + '.pstats') - os.makedirs(os.path.dirname(pstatsfile), exist_ok=True) - pr.dump_stats(pstatsfile) - - log.info('Finished in %i seconds.', end - start) - - resultfile = os.path.join(RESULTS, filename + '-results.pkl') - os.makedirs(os.path.dirname(resultfile), exist_ok=True) - with open(resultfile, 'wb') as f: - pickle.dump(results, f) - except Exception as e: - log.error(e) - raise e - - -if __name__ == "__main__": - # Setup directories - os.makedirs(PSTATS, exist_ok=True) - os.makedirs(LOGS, exist_ok=True) - os.makedirs(RESULTS, exist_ok=True) - - # Parse arguments - parser = argparse.ArgumentParser(description=( - "Program to profile PyPhi on sample networks. \n\n" - "After running this code, either\n" - " - Use `python -m pstats [file.pstats]` for an interactive " - "pstats prompt.\n" - " - Use `loadprofile.sh [file.pstats] && print_stats.py` to print " - "the most offensive functions.\n" - " - Use the `makecallgraph` script to visualize the call graph.\n\n" - "For the most descriptive results, disable any parallelization in " - "PyPhi.")) - parser.add_argument('network_file', nargs='?', help=( - "The network to profile, e.g. '5-AND-circle'." - "Defaults to all networks.")) - parser.add_argument('-p', nargs='?', - help=('Profile networks in parallel.'), - default=False) - args = parser.parse_args() - - # Network to profile - if args.network_file: - network_files = [args.network_file] - else: - network_files = all_network_files() - - # Do it - if len(network_files) > 1: - Parallel(n_jobs=(-5), verbose=20)( - delayed(profile_network)(filename) for filename in network_files) - else: - for filename in network_files: - profile_network(filename) diff --git a/profiling/loadprofile.sh b/profiling/loadprofile.sh deleted file mode 100755 index 4050ec88f..000000000 --- a/profiling/loadprofile.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -outputfile="profile.pstats" -echo "Loaded $1 to $outputfile" -cp $1 $outputfile diff --git a/profiling/makecallgraph b/profiling/makecallgraph index 015227e82..d8c7f9621 100755 --- a/profiling/makecallgraph +++ b/profiling/makecallgraph @@ -1,3 +1,3 @@ #!/bin/sh -./gprof2dot -f pstats profile.pstats | dot -Tsvg -o callgraph.svg +./gprof2dot -f pstats $1 | dot -Tsvg -o callgraph.svg diff --git a/profiling/networks/5-AND-circle.json b/profiling/networks/5-AND-circle.json deleted file mode 100644 index ed9067d15..000000000 --- a/profiling/networks/5-AND-circle.json +++ /dev/null @@ -1 +0,0 @@ -{"network": {"tpm": [[[[[[0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0]]], [[[0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0, 0.0]]]], [[[[0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0]], [[0.0, 0.0, 1.0, 0.0, 0.0], [1.0, 0.0, 1.0, 0.0, 0.0]]], [[[0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 1.0, 0.0]], [[0.0, 0.0, 1.0, 0.0, 0.0], [1.0, 0.0, 1.0, 1.0, 0.0]]]]], [[[[[0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 1.0], [0.0, 0.0, 0.0, 0.0, 1.0]]], [[[0.0, 1.0, 0.0, 0.0, 0.0], [0.0, 1.0, 0.0, 1.0, 0.0]], [[0.0, 1.0, 0.0, 0.0, 1.0], [0.0, 1.0, 0.0, 1.0, 1.0]]]], [[[[0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0]], [[0.0, 0.0, 1.0, 0.0, 1.0], [1.0, 0.0, 1.0, 0.0, 1.0]]], [[[0.0, 1.0, 0.0, 0.0, 0.0], [1.0, 1.0, 0.0, 1.0, 0.0]], [[0.0, 1.0, 1.0, 0.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0]]]]]], "cm": [[0, 1, 0, 0, 1], [1, 0, 1, 0, 0], [0, 1, 0, 1, 0], [0, 0, 1, 0, 1], [1, 0, 0, 1, 0]], "size": 5, "labels": ["n0", "n1", "n2", "n3", "n4"], "__class__": "Network", "__version__": "0.8.1", "__id__": 4552723368}, "state": [1, 1, 1, 1, 1]} \ No newline at end of file diff --git a/profiling/networks/5-MAJ-complete.json b/profiling/networks/5-MAJ-complete.json deleted file mode 100644 index 274dde45f..000000000 --- a/profiling/networks/5-MAJ-complete.json +++ /dev/null @@ -1 +0,0 @@ -{"network": {"tpm": [[[[[[0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0]]], [[[0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 1.0, 1.0, 1.0]]]], [[[[0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 1.0, 1.0, 1.0]]], [[[0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 1.0, 1.0, 1.0]], [[1.0, 1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0]]]]], [[[[[0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 1.0, 1.0, 1.0]]], [[[0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 1.0, 1.0, 1.0]], [[1.0, 1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0]]]], [[[[0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 1.0, 1.0, 1.0]], [[1.0, 1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0]]], [[[1.0, 1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0]], [[1.0, 1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0]]]]]], "cm": [[1, 1, 1, 1, 1], [1, 1, 1, 1, 1], [1, 1, 1, 1, 1], [1, 1, 1, 1, 1], [1, 0, 1, 1, 1]], "size": 5, "labels": ["n0", "n1", "n2", "n3", "n4"], "__class__": "Network", "__version__": "0.8.1", "__id__": 4552723256}, "state": [1, 1, 1, 1, 1]} \ No newline at end of file diff --git a/profiling/networks/5-MAJ-specialized.json b/profiling/networks/5-MAJ-specialized.json deleted file mode 100644 index 78b61fd42..000000000 --- a/profiling/networks/5-MAJ-specialized.json +++ /dev/null @@ -1 +0,0 @@ -{"network": {"tpm": [[[[[[0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 1.0, 0.0, 0.0, 0.0]]], [[[0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0]], [[1.0, 0.0, 0.0, 0.0, 1.0], [1.0, 1.0, 0.0, 0.0, 1.0]]]], [[[[0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 1.0], [1.0, 1.0, 1.0, 0.0, 1.0]]], [[[0.0, 0.0, 0.0, 1.0, 1.0], [1.0, 0.0, 1.0, 1.0, 1.0]], [[1.0, 0.0, 0.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0]]]]], [[[[[0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 1.0, 1.0, 0.0, 0.0]], [[0.0, 1.0, 0.0, 0.0, 0.0], [1.0, 1.0, 1.0, 0.0, 0.0]]], [[[0.0, 0.0, 0.0, 1.0, 0.0], [1.0, 1.0, 1.0, 1.0, 0.0]], [[1.0, 1.0, 0.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0]]]], [[[[0.0, 0.0, 1.0, 1.0, 0.0], [0.0, 1.0, 1.0, 1.0, 0.0]], [[0.0, 1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0]]], [[[0.0, 0.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0]], [[1.0, 1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0]]]]]], "cm": [[0, 1, 1, 1, 0], [0, 0, 1, 1, 1], [1, 0, 0, 1, 1], [1, 1, 0, 0, 1], [1, 1, 1, 0, 0]], "size": 5, "labels": ["n0", "n1", "n2", "n3", "n4"], "__class__": "Network", "__version__": "0.8.1", "__id__": 4552723144}, "state": [1, 1, 1, 1, 1]} \ No newline at end of file diff --git a/profiling/networks/6-AND-circle.json b/profiling/networks/6-AND-circle.json deleted file mode 100644 index ffc31bd75..000000000 --- a/profiling/networks/6-AND-circle.json +++ /dev/null @@ -1 +0,0 @@ -{"network": {"tpm": [[[[[[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]]], [[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 1.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 1.0, 0.0]]]], [[[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]], [[0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0, 0.0, 0.0]]], [[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 1.0, 0.0]], [[0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0, 1.0, 0.0]]]]], [[[[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0]]], [[[0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.0, 0.0, 1.0, 0.0, 1.0, 0.0]], [[0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.0, 0.0, 1.0, 0.0, 1.0, 0.0]]]], [[[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0]], [[0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [1.0, 0.0, 0.0, 1.0, 0.0, 0.0]]], [[[0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.0, 0.0, 1.0, 0.0, 1.0, 0.0]], [[0.0, 0.0, 1.0, 1.0, 0.0, 0.0], [1.0, 0.0, 1.0, 1.0, 1.0, 0.0]]]]]], [[[[[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [0.0, 0.0, 0.0, 0.0, 0.0, 1.0]]], [[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 1.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [0.0, 0.0, 0.0, 0.0, 1.0, 1.0]]]], [[[[0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [0.0, 1.0, 0.0, 0.0, 0.0, 0.0]], [[0.0, 1.0, 0.0, 1.0, 0.0, 1.0], [0.0, 1.0, 0.0, 1.0, 0.0, 1.0]]], [[[0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [0.0, 1.0, 0.0, 0.0, 1.0, 0.0]], [[0.0, 1.0, 0.0, 1.0, 0.0, 1.0], [0.0, 1.0, 0.0, 1.0, 1.0, 1.0]]]]], [[[[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [1.0, 0.0, 0.0, 0.0, 0.0, 1.0]]], [[[0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.0, 0.0, 1.0, 0.0, 1.0, 0.0]], [[0.0, 0.0, 1.0, 0.0, 0.0, 1.0], [1.0, 0.0, 1.0, 0.0, 1.0, 1.0]]]], [[[[0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [1.0, 1.0, 0.0, 0.0, 0.0, 0.0]], [[0.0, 1.0, 0.0, 1.0, 0.0, 1.0], [1.0, 1.0, 0.0, 1.0, 0.0, 1.0]]], [[[0.0, 1.0, 1.0, 0.0, 0.0, 0.0], [1.0, 1.0, 1.0, 0.0, 1.0, 0.0]], [[0.0, 1.0, 1.0, 1.0, 0.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0]]]]]]], "cm": [[0, 1, 0, 0, 0, 1], [1, 0, 1, 0, 0, 0], [0, 1, 0, 1, 0, 0], [0, 0, 1, 0, 1, 0], [0, 0, 0, 1, 0, 1], [1, 0, 0, 0, 1, 0]], "size": 6, "labels": ["n0", "n1", "n2", "n3", "n4", "n5"], "__class__": "Network", "__version__": "0.8.1", "__id__": 4552723816}, "state": [1, 1, 1, 1, 1, 1]} \ No newline at end of file diff --git a/profiling/networks/6-MAJ-complete.json b/profiling/networks/6-MAJ-complete.json deleted file mode 100644 index bb34c6d0f..000000000 --- a/profiling/networks/6-MAJ-complete.json +++ /dev/null @@ -1 +0,0 @@ -{"network": {"tpm": [[[[[[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]]], [[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]]]], [[[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]]], [[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0]]]]], [[[[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]]], [[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0]]]], [[[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0]]], [[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0]], [[1.0, 1.0, 1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0]]]]]], [[[[[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]]], [[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0]]]], [[[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0]]], [[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0]], [[1.0, 1.0, 1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0]]]]], [[[[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0]]], [[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0]], [[1.0, 1.0, 1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0]]]], [[[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0]], [[1.0, 1.0, 1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0]]], [[[1.0, 1.0, 1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0]], [[1.0, 1.0, 1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0]]]]]]], "cm": [[1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1]], "size": 6, "labels": ["n0", "n1", "n2", "n3", "n4", "n5"], "__class__": "Network", "__version__": "0.8.1", "__id__": 4552723144}, "state": [1, 1, 1, 1, 1, 1]} \ No newline at end of file diff --git a/profiling/networks/6-MAJ-specialized.json b/profiling/networks/6-MAJ-specialized.json deleted file mode 100644 index 39f2d1a38..000000000 --- a/profiling/networks/6-MAJ-specialized.json +++ /dev/null @@ -1 +0,0 @@ -{"network": {"tpm": [[[[[[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 1.0, 0.0, 0.0, 0.0, 0.0]]], [[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0]], [[1.0, 0.0, 0.0, 0.0, 0.0, 1.0], [1.0, 1.0, 0.0, 0.0, 0.0, 1.0]]]], [[[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [1.0, 1.0, 0.0, 0.0, 0.0, 1.0]]], [[[0.0, 0.0, 0.0, 0.0, 1.0, 1.0], [1.0, 0.0, 0.0, 0.0, 1.0, 1.0]], [[1.0, 0.0, 0.0, 0.0, 1.0, 1.0], [1.0, 1.0, 0.0, 0.0, 1.0, 1.0]]]]], [[[[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0, 0.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 1.0, 1.0, 0.0, 0.0, 0.0]]], [[[0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [1.0, 0.0, 1.0, 0.0, 1.0, 0.0]], [[1.0, 0.0, 0.0, 0.0, 1.0, 1.0], [1.0, 1.0, 1.0, 0.0, 1.0, 1.0]]]], [[[[0.0, 0.0, 0.0, 1.0, 1.0, 0.0], [0.0, 0.0, 1.0, 1.0, 1.0, 0.0]], [[0.0, 0.0, 0.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0]]], [[[0.0, 0.0, 0.0, 1.0, 1.0, 1.0], [1.0, 0.0, 1.0, 1.0, 1.0, 1.0]], [[1.0, 0.0, 0.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0]]]]]], [[[[[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 1.0, 1.0, 0.0, 0.0, 0.0]], [[0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [1.0, 1.0, 1.0, 0.0, 0.0, 0.0]]], [[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 1.0, 1.0, 0.0, 0.0, 0.0]], [[1.0, 1.0, 0.0, 0.0, 0.0, 1.0], [1.0, 1.0, 1.0, 0.0, 0.0, 1.0]]]], [[[[0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [0.0, 1.0, 1.0, 1.0, 0.0, 0.0]], [[0.0, 1.0, 0.0, 1.0, 0.0, 1.0], [1.0, 1.0, 1.0, 1.0, 0.0, 1.0]]], [[[0.0, 0.0, 0.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0]], [[1.0, 1.0, 0.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0]]]]], [[[[[0.0, 0.0, 1.0, 1.0, 0.0, 0.0], [0.0, 1.0, 1.0, 1.0, 0.0, 0.0]], [[0.0, 1.0, 1.0, 1.0, 0.0, 0.0], [1.0, 1.0, 1.0, 1.0, 0.0, 0.0]]], [[[0.0, 0.0, 1.0, 1.0, 1.0, 0.0], [1.0, 1.0, 1.0, 1.0, 1.0, 0.0]], [[1.0, 1.0, 1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0]]]], [[[[0.0, 0.0, 1.0, 1.0, 1.0, 0.0], [0.0, 1.0, 1.0, 1.0, 1.0, 0.0]], [[0.0, 1.0, 1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0]]], [[[0.0, 0.0, 1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0]], [[1.0, 1.0, 1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0]]]]]]], "cm": [[0, 1, 1, 1, 0, 0], [0, 0, 1, 1, 1, 0], [0, 0, 0, 1, 1, 1], [1, 0, 0, 0, 1, 1], [1, 1, 0, 0, 0, 1], [1, 1, 1, 0, 0, 0]], "size": 6, "labels": ["n0", "n1", "n2", "n3", "n4", "n5"], "__class__": "Network", "__version__": "0.8.1", "__id__": 4552723816}, "state": [1, 1, 1, 1, 1, 1]} \ No newline at end of file diff --git a/profiling/networks/6-iit-3.0-modular.json b/profiling/networks/6-iit-3.0-modular.json deleted file mode 100644 index b3e3293c1..000000000 --- a/profiling/networks/6-iit-3.0-modular.json +++ /dev/null @@ -1 +0,0 @@ -{"network": {"tpm": [[[[[[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 1.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 1.0, 0.0]]], [[[0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0, 1.0, 0.0]], [[0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0, 1.0, 0.0]]]], [[[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 1.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 1.0, 0.0]]], [[[0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0, 1.0, 0.0]], [[0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0, 1.0, 0.0]]]]], [[[[[1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 1.0, 0.0]], [[1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 1.0, 0.0]]], [[[1.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.0, 0.0, 1.0, 0.0, 1.0, 0.0]], [[1.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.0, 0.0, 1.0, 0.0, 1.0, 0.0]]]], [[[[1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 1.0, 0.0]], [[1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 1.0, 0.0]]], [[[1.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.0, 0.0, 1.0, 0.0, 1.0, 0.0]], [[1.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.0, 0.0, 1.0, 0.0, 1.0, 0.0]]]]]], [[[[[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 1.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 1.0, 0.0]]], [[[0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0, 1.0, 0.0]], [[0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0, 1.0, 0.0]]]], [[[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 1.0, 0.0]], [[0.0, 1.0, 0.0, 1.0, 0.0, 1.0], [0.0, 1.0, 0.0, 1.0, 1.0, 1.0]]], [[[0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0, 1.0, 0.0]], [[0.0, 1.0, 1.0, 1.0, 0.0, 1.0], [0.0, 1.0, 1.0, 1.0, 1.0, 1.0]]]]], [[[[[1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 1.0, 0.0]], [[1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 1.0, 0.0]]], [[[1.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.0, 0.0, 1.0, 0.0, 1.0, 0.0]], [[1.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.0, 0.0, 1.0, 0.0, 1.0, 0.0]]]], [[[[1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 1.0, 0.0]], [[1.0, 1.0, 0.0, 1.0, 0.0, 1.0], [1.0, 1.0, 0.0, 1.0, 1.0, 1.0]]], [[[1.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.0, 0.0, 1.0, 0.0, 1.0, 0.0]], [[1.0, 1.0, 1.0, 1.0, 0.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0]]]]]]], "cm": [[0, 1, 0, 1, 0, 1], [1, 0, 0, 0, 0, 0], [0, 1, 0, 1, 0, 1], [0, 0, 1, 0, 0, 0], [0, 1, 0, 1, 0, 1], [0, 0, 0, 0, 1, 0]], "size": 6, "labels": ["n0", "n1", "n2", "n3", "n4", "n5"], "__class__": "Network", "__version__": "0.8.1", "__id__": 4552723144}, "state": [1, 1, 1, 1, 1, 1]} \ No newline at end of file diff --git a/profiling/networks/7-AND-circle.json b/profiling/networks/7-AND-circle.json deleted file mode 100644 index 5230f0090..000000000 --- a/profiling/networks/7-AND-circle.json +++ /dev/null @@ -1 +0,0 @@ -{"network": {"tpm": [[[[[[[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0]]], [[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0]]]], [[[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0], [0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0]]], [[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0], [0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0]]]]], [[[[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0]]], [[[0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0]], [[0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0], [0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 1.0]]]], [[[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0], [0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0]]], [[[0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0]], [[0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 1.0], [0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0]]]]]], [[[[[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0]]], [[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0]]]], [[[[0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0]], [[0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0], [1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0]]], [[[0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0]], [[0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0], [1.0, 0.0, 1.0, 0.0, 1.0, 1.0, 1.0]]]]], [[[[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0]]], [[[0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0]], [[0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0], [1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 1.0]]]], [[[[0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0]], [[0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0], [1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0]]], [[[0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0], [1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 0.0]], [[0.0, 0.0, 1.0, 1.0, 1.0, 0.0, 1.0], [1.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0]]]]]]], [[[[[[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0]], [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0]]], [[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0]], [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0]]]], [[[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0]], [[0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0], [0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0]]], [[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0]], [[0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0], [0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0]]]]], [[[[[0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0], [0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0]], [[0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0], [0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0]]], [[[0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 1.0], [0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 1.0]], [[0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 1.0], [0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 1.0]]]], [[[[0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0], [0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0]], [[0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0], [0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0]]], [[[0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 1.0], [0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 1.0]], [[0.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0], [0.0, 1.0, 0.0, 1.0, 1.0, 1.0, 1.0]]]]]], [[[[[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0]], [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0]]], [[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0]], [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0]]]], [[[[0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0], [1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0]], [[0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0], [1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0]]], [[[0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0], [1.0, 0.0, 1.0, 0.0, 0.0, 1.0, 1.0]], [[0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0], [1.0, 0.0, 1.0, 0.0, 1.0, 1.0, 1.0]]]]], [[[[[0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0], [1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0]], [[0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0], [1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0]]], [[[0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 1.0], [1.0, 1.0, 0.0, 1.0, 0.0, 1.0, 1.0]], [[0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 1.0], [1.0, 1.0, 0.0, 1.0, 0.0, 1.0, 1.0]]]], [[[[0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0], [1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0]], [[0.0, 1.0, 1.0, 0.0, 1.0, 0.0, 1.0], [1.0, 1.0, 1.0, 0.0, 1.0, 0.0, 1.0]]], [[[0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 1.0], [1.0, 1.0, 1.0, 1.0, 0.0, 1.0, 1.0]], [[0.0, 1.0, 1.0, 1.0, 1.0, 0.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]]]]]]]], "cm": [[0, 1, 0, 0, 0, 0, 1], [1, 0, 1, 0, 0, 0, 0], [0, 1, 0, 1, 0, 0, 0], [0, 0, 1, 0, 1, 0, 0], [0, 0, 0, 1, 0, 1, 0], [0, 0, 0, 0, 1, 0, 1], [1, 0, 0, 0, 0, 1, 0]], "size": 7, "labels": ["n0", "n1", "n2", "n3", "n4", "n5", "n6"], "__class__": "Network", "__version__": "0.8.1", "__id__": 4552723872}, "state": [1, 1, 1, 1, 1, 1, 1]} \ No newline at end of file diff --git a/profiling/networks/7-MAJ-complete.json b/profiling/networks/7-MAJ-complete.json deleted file mode 100644 index 1520acf96..000000000 --- a/profiling/networks/7-MAJ-complete.json +++ /dev/null @@ -1 +0,0 @@ -{"network": {"tpm": [[[[[[[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]]], [[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]]]], [[[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]]], [[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]]]]], [[[[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]]], [[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]]]], [[[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]]], [[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]], [[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]]]]]], [[[[[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]]], [[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]]]], [[[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]]], [[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]], [[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]]]]], [[[[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]]], [[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]], [[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]]]], [[[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]], [[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]]], [[[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]], [[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]]]]]]], [[[[[[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]]], [[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]]]], [[[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]]], [[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]], [[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]]]]], [[[[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]]], [[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]], [[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]]]], [[[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]], [[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]]], [[[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]], [[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]]]]]], [[[[[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]]], [[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]], [[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]]]], [[[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]], [[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]]], [[[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]], [[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]]]]], [[[[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]], [[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]]], [[[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]], [[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]]]], [[[[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]], [[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]]], [[[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]], [[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]]]]]]]], "cm": [[1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1]], "size": 7, "labels": ["n0", "n1", "n2", "n3", "n4", "n5", "n6"], "__class__": "Network", "__version__": "0.8.1", "__id__": 4552723144}, "state": [1, 1, 1, 1, 1, 1, 1]} \ No newline at end of file diff --git a/profiling/networks/7-MAJ-specialized.json b/profiling/networks/7-MAJ-specialized.json deleted file mode 100644 index aa5b00c42..000000000 --- a/profiling/networks/7-MAJ-specialized.json +++ /dev/null @@ -1 +0,0 @@ -{"network": {"tpm": [[[[[[[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0]]], [[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]], [[1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0]]]], [[[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0]]], [[[0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0], [1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0]], [[1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0], [1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.0]]]]], [[[[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0]]], [[[0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0]], [[1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0], [1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.0]]]], [[[[0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0], [0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0], [1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 1.0]]], [[[0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0], [1.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0]], [[1.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0], [1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 1.0]]]]]], [[[[[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0]]], [[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0]], [[1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0]]]], [[[[0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0], [1.0, 1.0, 1.0, 0.0, 1.0, 0.0, 1.0]]], [[[0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0], [1.0, 0.0, 1.0, 0.0, 1.0, 1.0, 1.0]], [[1.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 0.0, 1.0, 1.0, 1.0]]]]], [[[[[0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0], [0.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0]], [[0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0], [1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0]]], [[[0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0], [1.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.0]], [[1.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]]]], [[[[0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0], [0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.0]], [[0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]]], [[[0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0], [1.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0]], [[1.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]]]]]]], [[[[[[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0]], [[0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0]]], [[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0]], [[1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0], [1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0]]]], [[[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0]], [[0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0], [1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0]]], [[[0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0], [1.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0]], [[1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.0], [1.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0]]]]], [[[[[0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0]], [[0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0]]], [[[0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0], [1.0, 1.0, 1.0, 1.0, 0.0, 1.0, 0.0]], [[1.0, 1.0, 0.0, 1.0, 0.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0, 0.0, 1.0, 1.0]]]], [[[[0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0], [0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0]], [[0.0, 1.0, 0.0, 1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]]], [[[0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]], [[1.0, 1.0, 0.0, 1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]]]]]], [[[[[[0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0], [0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0]], [[0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0], [1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0]]], [[[0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0], [1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0]], [[1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 1.0], [1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 1.0]]]], [[[[0.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0], [0.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0]], [[0.0, 1.0, 1.0, 1.0, 1.0, 0.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 1.0]]], [[[0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]], [[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]]]]], [[[[[0.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0], [0.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0]], [[0.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0], [1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0]]], [[[0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0]], [[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]]]], [[[[0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.0], [0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0]], [[0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]]], [[[0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]], [[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]]]]]]]], "cm": [[0, 1, 1, 1, 0, 0, 0], [0, 0, 1, 1, 1, 0, 0], [0, 0, 0, 1, 1, 1, 0], [0, 0, 0, 0, 1, 1, 1], [1, 0, 0, 0, 0, 1, 1], [1, 1, 0, 0, 0, 0, 1], [1, 1, 1, 0, 0, 0, 0]], "size": 7, "labels": ["n0", "n1", "n2", "n3", "n4", "n5", "n6"], "__class__": "Network", "__version__": "0.8.1", "__id__": 4552723872}, "state": [1, 1, 1, 1, 1, 1, 1]} \ No newline at end of file diff --git a/profiling/networks/8-iit-3.0-modular.json b/profiling/networks/8-iit-3.0-modular.json deleted file mode 100644 index 48ad1ddaa..000000000 --- a/profiling/networks/8-iit-3.0-modular.json +++ /dev/null @@ -1 +0,0 @@ -{"network": {"tpm": [[[[[[[[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0]]], [[[0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0]]]], [[[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0]]], [[[0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0]]]]], [[[[[0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0]], [[0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0]]], [[[0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0]], [[0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0]]]], [[[[0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0]], [[0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0]]], [[[0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0]], [[0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0]]]]]], [[[[[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0]]], [[[0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0]]]], [[[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0]]], [[[0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0]]]]], [[[[[0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0]], [[0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0]]], [[[0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0]], [[0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0]]]], [[[[0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0]], [[0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0]]], [[[0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0]], [[0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0]]]]]]], [[[[[[[1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0]], [[1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0]]], [[[1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0]], [[1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0]]]], [[[[1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0]], [[1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0]]], [[[1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0]], [[1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0]]]]], [[[[[1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0]], [[1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0]]], [[[1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0]], [[1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0]]]], [[[[1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0]], [[1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0]]], [[[1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0]], [[1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0]]]]]], [[[[[[1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0]], [[1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0]]], [[[1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0]], [[1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0]]]], [[[[1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0]], [[1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0]]], [[[1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0]], [[1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0]]]]], [[[[[1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0]], [[1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0]]], [[[1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0]], [[1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0]]]], [[[[1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0]], [[1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0]]], [[[1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0]], [[1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0]]]]]]]], [[[[[[[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0]]], [[[0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0]]]], [[[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0]]], [[[0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0]]]]], [[[[[0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0]], [[0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0]]], [[[0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0]], [[0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0]]]], [[[[0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0]], [[0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0]]], [[[0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0]], [[0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0]]]]]], [[[[[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0]]], [[[0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0]], [[0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0]]]], [[[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0]], [[0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0], [0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 1.0, 1.0]]], [[[0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0]], [[0.0, 1.0, 0.0, 1.0, 1.0, 1.0, 0.0, 1.0], [0.0, 1.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0]]]]], [[[[[0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0]], [[0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0]]], [[[0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0]], [[0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0]]]], [[[[0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0]], [[0.0, 1.0, 1.0, 1.0, 0.0, 1.0, 0.0, 1.0], [0.0, 1.0, 1.0, 1.0, 0.0, 1.0, 1.0, 1.0]]], [[[0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0]], [[0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 1.0], [0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]]]]]]], [[[[[[[1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0]], [[1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0]]], [[[1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0]], [[1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0]]]], [[[[1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0]], [[1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0]]], [[[1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0]], [[1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0]]]]], [[[[[1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0]], [[1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0]]], [[[1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0]], [[1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0]]]], [[[[1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0]], [[1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0]]], [[[1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0]], [[1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0]]]]]], [[[[[[1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0]], [[1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0]]], [[[1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0]], [[1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0]]]], [[[[1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0]], [[1.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0], [1.0, 1.0, 0.0, 1.0, 0.0, 1.0, 1.0, 1.0]]], [[[1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0]], [[1.0, 1.0, 0.0, 1.0, 1.0, 1.0, 0.0, 1.0], [1.0, 1.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0]]]]], [[[[[1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0]], [[1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0]]], [[[1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0]], [[1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0]]]], [[[[1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0]], [[1.0, 1.0, 1.0, 1.0, 0.0, 1.0, 0.0, 1.0], [1.0, 1.0, 1.0, 1.0, 0.0, 1.0, 1.0, 1.0]]], [[[1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0]], [[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]]]]]]]]], "cm": [[0, 1, 0, 1, 0, 1, 0, 1], [1, 0, 0, 0, 0, 0, 0, 0], [0, 1, 0, 1, 0, 1, 0, 1], [0, 0, 1, 0, 0, 0, 0, 0], [0, 1, 0, 1, 0, 1, 0, 1], [0, 0, 0, 0, 1, 0, 0, 0], [0, 1, 0, 1, 0, 1, 0, 1], [0, 0, 0, 0, 0, 0, 1, 0]], "size": 8, "labels": ["n0", "n1", "n2", "n3", "n4", "n5", "n6", "n7"], "__class__": "Network", "__version__": "0.8.1", "__id__": 4552723368}, "state": [1, 1, 1, 1, 1, 1, 1, 1]} \ No newline at end of file diff --git a/profiling/networks/old/5-AND-circle.json b/profiling/networks/old/5-AND-circle.json deleted file mode 100644 index a1c1f5bf4..000000000 --- a/profiling/networks/old/5-AND-circle.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes":[{"index":0,"label":"A","on":1,"mechanism":"AND","reflexive":false,"threshold":2,"inSubsystem":false,"weight":2,"x":278.922327303175,"y":110.86931173967922,"px":278.93341191522353,"py":110.92458407922327,"fixed":false,"selected":true},{"index":1,"label":"B","on":1,"mechanism":"AND","reflexive":false,"threshold":2,"inSubsystem":false,"weight":2,"x":434.8655805111256,"y":175.05784140575832,"px":434.8132175866244,"py":175.09136378110455,"selected":true,"fixed":false},{"index":2,"label":"C","on":1,"mechanism":"AND","reflexive":false,"threshold":2,"inSubsystem":false,"weight":2,"x":404.41316136527365,"y":342.72184603054757,"px":404.3702956276063,"py":342.68186052234637,"fixed":0,"selected":true},{"index":3,"label":"D","on":1,"mechanism":"AND","reflexive":false,"threshold":2,"inSubsystem":false,"weight":2,"x":239.27389612347915,"y":384.76840745951,"px":239.30370076967472,"py":384.71386446287426,"selected":true,"fixed":false},{"index":4,"label":"E","on":1,"mechanism":"AND","reflexive":false,"threshold":2,"inSubsystem":false,"weight":2,"x":164.39503051262244,"y":233.66031349728834,"px":164.45093708276121,"py":233.6675026938178,"selected":true,"fixed":false}],"tpm":[[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,1,0,0,0],[0,0,0,0,0],[0,1,0,0,0],[0,0,0,0,0],[0,0,0,0,1],[0,0,1,0,0],[0,0,1,0,1],[0,0,0,0,0],[0,1,0,0,1],[0,0,1,0,0],[0,1,1,0,1],[0,0,0,0,0],[0,0,0,0,0],[1,0,0,0,0],[1,0,0,0,0],[0,0,0,1,0],[0,1,0,1,0],[1,0,0,1,0],[1,1,0,1,0],[0,0,0,0,0],[0,0,0,0,1],[1,0,1,0,0],[1,0,1,0,1],[0,0,0,1,0],[0,1,0,1,1],[1,0,1,1,0],[1,1,1,1,1]],"connectivityMatrix":[[0,1,0,0,1],[1,0,1,0,0],[0,1,0,1,0],[0,0,1,0,1],[1,0,0,1,0]],"currentState":[1,1,1,1,1],"pastState":[1,1,1,1,1]} \ No newline at end of file diff --git a/profiling/networks/old/5-MAJ-complete.json b/profiling/networks/old/5-MAJ-complete.json deleted file mode 100644 index 2da677109..000000000 --- a/profiling/networks/old/5-MAJ-complete.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes":[{"index":0,"label":"A","on":1,"mechanism":"MAJ","reflexive":true,"selected":true,"threshold":2,"inSubsystem":false,"weight":4,"x":332.60147613875904,"y":141.1991060024458,"px":332.7746476223027,"py":142.21304668585995,"fixed":0},{"index":1,"label":"B","on":1,"mechanism":"MAJ","reflexive":true,"selected":true,"threshold":2,"inSubsystem":false,"weight":4,"x":444.3997112423021,"y":202.17676175661654,"px":443.4431635161501,"py":202.7416454884443,"fixed":false},{"index":2,"label":"C","on":1,"mechanism":"MAJ","reflexive":true,"selected":true,"threshold":2,"inSubsystem":false,"weight":4,"x":237.48688534893165,"y":225.78652956587723,"px":238.50068862556432,"py":225.9279434877939,"fixed":false},{"index":3,"label":"D","on":1,"mechanism":"MAJ","reflexive":true,"selected":true,"threshold":2,"inSubsystem":false,"weight":4,"x":419.5189458630763,"y":330.82492283047645,"px":418.7659478577547,"py":330.0709509480691,"fixed":false},{"index":4,"label":"E","on":1,"mechanism":"MAJ","reflexive":true,"selected":true,"threshold":2,"inSubsystem":false,"weight":4,"x":287.87013738796566,"y":345.5862241421262,"px":288.41975278076995,"py":344.6413487630764,"fixed":false}],"tpm":[[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[1,1,1,1,1],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[1,1,1,1,1],[0,0,0,0,0],[1,1,1,1,1],[1,1,1,1,1],[1,1,1,1,1],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[1,0,1,1,1],[0,0,0,0,0],[1,0,1,1,1],[1,0,1,1,1],[1,1,1,1,1],[0,0,0,0,0],[1,0,1,1,1],[1,0,1,1,1],[1,1,1,1,1],[1,0,1,1,1],[1,1,1,1,1],[1,1,1,1,1],[1,1,1,1,1]],"connectivityMatrix":[[1,1,1,1,1],[1,1,1,1,1],[1,1,1,1,1],[1,1,1,1,1],[1,0,1,1,1]],"currentState":[1,1,1,1,1],"pastState":[1,1,1,1,1]} \ No newline at end of file diff --git a/profiling/networks/old/5-MAJ-specialized.json b/profiling/networks/old/5-MAJ-specialized.json deleted file mode 100644 index 361b6d8bb..000000000 --- a/profiling/networks/old/5-MAJ-specialized.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes":[{"index":0,"label":"A","on":1,"mechanism":"MAJ","reflexive":false,"threshold":2,"inSubsystem":false,"weight":4,"x":401.4491476759855,"y":345.1447051066806,"px":401.2399171091728,"py":344.81163223988557,"selected":true},{"index":1,"label":"B","on":1,"mechanism":"MAJ","reflexive":false,"threshold":2,"inSubsystem":false,"weight":4,"x":271.7894388450578,"y":331.12488683677634,"px":272.05697997812655,"py":330.8501047365263,"selected":true},{"index":2,"label":"C","on":1,"mechanism":"MAJ","reflexive":false,"threshold":2,"inSubsystem":false,"weight":4,"x":244.77101293642664,"y":203.15074095561653,"px":245.11329545388082,"py":203.34714199846303,"selected":true},{"index":3,"label":"D","on":1,"mechanism":"MAJ","reflexive":false,"threshold":2,"inSubsystem":false,"weight":4,"x":357.3206303234166,"y":140.4660675751261,"px":357.26710603089,"py":140.824677381782,"selected":true},{"index":4,"label":"E","on":1,"mechanism":"MAJ","reflexive":false,"threshold":2,"inSubsystem":false,"weight":4,"x":452.7746839316022,"y":226.59233930113191,"px":452.4178533755859,"py":226.65448715110767,"selected":true}],"tpm":[[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,1,1,0],[0,0,0,0,0],[0,0,0,1,0],[0,0,0,1,1],[0,0,1,1,1],[0,0,0,0,0],[0,1,0,0,0],[0,0,0,0,1],[0,1,1,1,1],[1,0,0,0,1],[1,1,0,1,1],[1,0,0,1,1],[1,1,1,1,1],[0,0,0,0,0],[0,1,1,0,0],[0,0,1,0,0],[0,1,1,1,0],[1,0,0,0,0],[1,1,1,1,0],[1,0,1,1,1],[1,1,1,1,1],[1,1,0,0,0],[1,1,1,0,0],[1,1,1,0,1],[1,1,1,1,1],[1,1,0,0,1],[1,1,1,1,1],[1,1,1,1,1],[1,1,1,1,1]],"connectivityMatrix":[[0,1,1,1,0],[0,0,1,1,1],[1,0,0,1,1],[1,1,0,0,1],[1,1,1,0,0]],"currentState":[1,1,1,1,1],"pastState":[1,1,1,1,1]} \ No newline at end of file diff --git a/profiling/networks/old/6-AND-circle.json b/profiling/networks/old/6-AND-circle.json deleted file mode 100644 index ffa2c6b34..000000000 --- a/profiling/networks/old/6-AND-circle.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes":[{"index":0,"label":"A","on":1,"mechanism":"AND","reflexive":false,"threshold":2,"inSubsystem":false,"weight":2,"x":304.3914655524606,"y":136.22088245887124,"px":304.3914655524606,"py":136.22088245887124,"fixed":1,"selected":false},{"index":1,"label":"B","on":1,"mechanism":"AND","reflexive":false,"threshold":2,"inSubsystem":false,"weight":2,"x":459.2213397395085,"y":193.2263535075456,"px":459.2213397395085,"py":193.2263535075456,"selected":false,"fixed":1},{"index":2,"label":"C","on":1,"mechanism":"AND","reflexive":false,"threshold":2,"inSubsystem":false,"weight":2,"x":457.70457853740857,"y":362.4362656008429,"px":457.70457853740857,"py":362.4362656008429,"fixed":1,"selected":false},{"index":3,"label":"D","on":1,"mechanism":"AND","reflexive":false,"threshold":2,"inSubsystem":false,"weight":2,"x":309.8245225719486,"y":428.0530201374073,"px":309.8245225719486,"py":428.0530201374073,"selected":false,"fixed":1},{"index":4,"label":"E","on":1,"mechanism":"AND","reflexive":false,"threshold":2,"inSubsystem":false,"weight":2,"x":172.73040958139816,"y":357.72380867803906,"px":172.73040958139816,"py":357.72380867803906,"selected":false,"fixed":1},{"index":5,"label":"F","on":1,"mechanism":"AND","reflexive":false,"threshold":2,"inSubsystem":false,"x":172.34924674233304,"y":203.2074377027802,"weight":2,"px":172.34924674233304,"py":203.2074377027802,"fixed":1,"selected":false}],"tpm":[[0,0,0,0,0,0],[0,0,0,0,0,0],[0,0,0,0,0,0],[0,0,0,0,0,0],[0,0,0,0,0,0],[0,1,0,0,0,0],[0,0,0,0,0,0],[0,1,0,0,0,0],[0,0,0,0,0,0],[0,0,0,0,0,0],[0,0,1,0,0,0],[0,0,1,0,0,0],[0,0,0,0,0,0],[0,1,0,0,0,0],[0,0,1,0,0,0],[0,1,1,0,0,0],[0,0,0,0,0,0],[0,0,0,0,0,1],[0,0,0,0,0,0],[0,0,0,0,0,1],[0,0,0,1,0,0],[0,1,0,1,0,1],[0,0,0,1,0,0],[0,1,0,1,0,1],[0,0,0,0,0,0],[0,0,0,0,0,1],[0,0,1,0,0,0],[0,0,1,0,0,1],[0,0,0,1,0,0],[0,1,0,1,0,1],[0,0,1,1,0,0],[0,1,1,1,0,1],[0,0,0,0,0,0],[0,0,0,0,0,0],[1,0,0,0,0,0],[1,0,0,0,0,0],[0,0,0,0,0,0],[0,1,0,0,0,0],[1,0,0,0,0,0],[1,1,0,0,0,0],[0,0,0,0,1,0],[0,0,0,0,1,0],[1,0,1,0,1,0],[1,0,1,0,1,0],[0,0,0,0,1,0],[0,1,0,0,1,0],[1,0,1,0,1,0],[1,1,1,0,1,0],[0,0,0,0,0,0],[0,0,0,0,0,1],[1,0,0,0,0,0],[1,0,0,0,0,1],[0,0,0,1,0,0],[0,1,0,1,0,1],[1,0,0,1,0,0],[1,1,0,1,0,1],[0,0,0,0,1,0],[0,0,0,0,1,1],[1,0,1,0,1,0],[1,0,1,0,1,1],[0,0,0,1,1,0],[0,1,0,1,1,1],[1,0,1,1,1,0],[1,1,1,1,1,1]],"connectivityMatrix":[[0,1,0,0,0,1],[1,0,1,0,0,0],[0,1,0,1,0,0],[0,0,1,0,1,0],[0,0,0,1,0,1],[1,0,0,0,1,0]],"currentState":[1,1,1,1,1,1],"pastState":[1,1,1,1,1,1]} \ No newline at end of file diff --git a/profiling/networks/old/6-MAJ-complete.json b/profiling/networks/old/6-MAJ-complete.json deleted file mode 100644 index 5eea26c17..000000000 --- a/profiling/networks/old/6-MAJ-complete.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes":[{"index":0,"label":"A","on":1,"mechanism":"MAJ","reflexive":true,"selected":true,"threshold":2,"inSubsystem":false,"weight":5,"x":239.3174527346224,"y":213.89774770877966,"px":240.49141177017614,"py":214.44516006757868,"fixed":0},{"index":1,"label":"B","on":1,"mechanism":"MAJ","reflexive":true,"selected":true,"threshold":2,"inSubsystem":false,"weight":5,"x":321.7495618627804,"y":140.98258827721338,"px":321.8201416443577,"py":142.28698878115298,"fixed":0},{"index":2,"label":"C","on":1,"mechanism":"MAJ","reflexive":true,"selected":true,"threshold":2,"inSubsystem":false,"weight":5,"x":429.3546762880245,"y":173.88638479145425,"px":428.18909625647814,"py":174.6803689895098,"fixed":false},{"index":3,"label":"D","on":1,"mechanism":"MAJ","reflexive":true,"selected":true,"threshold":2,"inSubsystem":false,"weight":5,"x":451.9490642667863,"y":284.58715708361393,"px":450.7849704839994,"py":284.0229654747098,"fixed":false},{"index":4,"label":"E","on":1,"mechanism":"MAJ","reflexive":true,"selected":true,"threshold":2,"inSubsystem":false,"weight":5,"x":368.46307222183316,"y":360.03497549183106,"px":368.39498759539504,"py":358.74151052966823,"fixed":0},{"index":5,"label":"F","on":1,"mechanism":"MAJ","reflexive":true,"selected":true,"threshold":2,"inSubsystem":false,"x":258.94791863602256,"y":325.12777598687757,"weight":5,"px":260.0961492393515,"py":324.3295434381386,"fixed":0}],"tpm":[[0,0,0,0,0,0],[0,0,0,0,0,0],[0,0,0,0,0,0],[0,0,0,0,0,0],[0,0,0,0,0,0],[0,0,0,0,0,0],[0,0,0,0,0,0],[0,0,0,0,0,0],[0,0,0,0,0,0],[0,0,0,0,0,0],[0,0,0,0,0,0],[0,0,0,0,0,0],[0,0,0,0,0,0],[0,0,0,0,0,0],[0,0,0,0,0,0],[1,1,1,1,1,1],[0,0,0,0,0,0],[0,0,0,0,0,0],[0,0,0,0,0,0],[0,0,0,0,0,0],[0,0,0,0,0,0],[0,0,0,0,0,0],[0,0,0,0,0,0],[1,1,1,1,1,1],[0,0,0,0,0,0],[0,0,0,0,0,0],[0,0,0,0,0,0],[1,1,1,1,1,1],[0,0,0,0,0,0],[1,1,1,1,1,1],[1,1,1,1,1,1],[1,1,1,1,1,1],[0,0,0,0,0,0],[0,0,0,0,0,0],[0,0,0,0,0,0],[0,0,0,0,0,0],[0,0,0,0,0,0],[0,0,0,0,0,0],[0,0,0,0,0,0],[1,1,1,1,1,1],[0,0,0,0,0,0],[0,0,0,0,0,0],[0,0,0,0,0,0],[1,1,1,1,1,1],[0,0,0,0,0,0],[1,1,1,1,1,1],[1,1,1,1,1,1],[1,1,1,1,1,1],[0,0,0,0,0,0],[0,0,0,0,0,0],[0,0,0,0,0,0],[1,1,1,1,1,1],[0,0,0,0,0,0],[1,1,1,1,1,1],[1,1,1,1,1,1],[1,1,1,1,1,1],[0,0,0,0,0,0],[1,1,1,1,1,1],[1,1,1,1,1,1],[1,1,1,1,1,1],[1,1,1,1,1,1],[1,1,1,1,1,1],[1,1,1,1,1,1],[1,1,1,1,1,1]],"connectivityMatrix":[[1,1,1,1,1,1],[1,1,1,1,1,1],[1,1,1,1,1,1],[1,1,1,1,1,1],[1,1,1,1,1,1],[1,1,1,1,1,1]],"currentState":[1,1,1,1,1,1],"pastState":[1,1,1,1,1,1]} \ No newline at end of file diff --git a/profiling/networks/old/6-MAJ-specialized.json b/profiling/networks/old/6-MAJ-specialized.json deleted file mode 100644 index 37a46958c..000000000 --- a/profiling/networks/old/6-MAJ-specialized.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes":[{"index":0,"label":"A","on":1,"mechanism":"MAJ","reflexive":false,"threshold":2,"inSubsystem":false,"weight":5,"x":220.4808124972226,"y":326.4993546996903,"px":221.3407146680289,"py":325.83499654233657,"selected":true},{"index":1,"label":"B","on":1,"mechanism":"MAJ","reflexive":false,"threshold":2,"inSubsystem":false,"weight":5,"x":281.9733382874501,"y":140.83145938198314,"px":282.10092304352435,"py":141.8278624401145,"selected":true,"fixed":0},{"index":2,"label":"C","on":1,"mechanism":"MAJ","reflexive":false,"threshold":2,"inSubsystem":false,"weight":5,"x":389.3678950762129,"y":173.02104598045435,"px":388.507013734718,"py":173.68091761196112,"selected":true},{"index":3,"label":"D","on":1,"mechanism":"MAJ","reflexive":false,"threshold":2,"inSubsystem":false,"weight":5,"x":327.3809312508097,"y":360.25083109044533,"px":327.24554311324994,"py":359.26462176103547,"selected":true},{"index":4,"label":"E","on":1,"mechanism":"MAJ","reflexive":false,"threshold":2,"inSubsystem":false,"weight":5,"x":199.0005315530663,"y":215.14923294995953,"px":199.93239579544016,"py":215.51830898613667,"selected":true,"fixed":0},{"index":5,"label":"F","on":1,"mechanism":"MAJ","reflexive":false,"threshold":2,"inSubsystem":false,"weight":5,"x":411.2760327681865,"y":284.53805719567384,"px":410.3499784129406,"py":284.165829783648,"selected":true,"fixed":0}],"tpm":[[0,0,0,0,0,0],[0,0,0,0,0,0],[0,0,0,0,0,0],[0,0,1,1,0,0],[0,0,0,0,0,0],[0,0,0,1,0,0],[0,0,0,1,1,0],[0,0,1,1,1,0],[0,0,0,0,0,0],[0,0,0,0,0,0],[0,0,0,0,1,0],[0,0,1,1,1,0],[0,0,0,0,1,1],[0,0,0,1,1,1],[0,0,0,1,1,1],[0,0,1,1,1,1],[0,0,0,0,0,0],[0,1,0,0,0,0],[0,0,0,0,0,0],[0,1,1,1,0,0],[0,0,0,0,0,1],[0,1,0,1,0,1],[0,0,0,1,1,1],[0,1,1,1,1,1],[1,0,0,0,0,1],[1,1,0,0,0,1],[1,0,0,0,1,1],[1,1,1,1,1,1],[1,0,0,0,1,1],[1,1,0,1,1,1],[1,0,0,1,1,1],[1,1,1,1,1,1],[0,0,0,0,0,0],[0,1,1,0,0,0],[0,0,1,0,0,0],[0,1,1,1,0,0],[0,0,0,0,0,0],[0,1,1,1,0,0],[0,0,1,1,1,0],[0,1,1,1,1,0],[1,0,0,0,0,0],[1,1,1,0,0,0],[1,0,1,0,1,0],[1,1,1,1,1,0],[1,0,0,0,1,1],[1,1,1,1,1,1],[1,0,1,1,1,1],[1,1,1,1,1,1],[1,1,0,0,0,0],[1,1,1,0,0,0],[1,1,1,0,0,0],[1,1,1,1,0,0],[1,1,0,0,0,1],[1,1,1,1,0,1],[1,1,1,1,1,1],[1,1,1,1,1,1],[1,1,0,0,0,1],[1,1,1,0,0,1],[1,1,1,0,1,1],[1,1,1,1,1,1],[1,1,0,0,1,1],[1,1,1,1,1,1],[1,1,1,1,1,1],[1,1,1,1,1,1]],"connectivityMatrix":[[0,1,1,1,0,0],[0,0,1,1,1,0],[0,0,0,1,1,1],[1,0,0,0,1,1],[1,1,0,0,0,1],[1,1,1,0,0,0]],"currentState":[1,1,1,1,1,1],"pastState":[1,1,1,1,1,1]} \ No newline at end of file diff --git a/profiling/networks/old/6-iit-3.0-modular.json b/profiling/networks/old/6-iit-3.0-modular.json deleted file mode 100644 index ec1cfe07d..000000000 --- a/profiling/networks/old/6-iit-3.0-modular.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes":[{"index":0,"label":"A","on":1,"mechanism":"OR","reflexive":false,"threshold":2,"inSubsystem":false,"x":153.27256150815407,"y":193.54932820085787,"weight":3,"px":153.27256150815407,"py":193.54932820085787,"selected":true,"fixed":1},{"index":1,"label":"B","on":1,"mechanism":"AND","reflexive":false,"threshold":2,"inSubsystem":false,"x":144.0299467735382,"y":367.4245906492675,"weight":3,"px":144.0299467735382,"py":367.4245906492675,"selected":true,"fixed":1},{"index":2,"label":"C","on":1,"mechanism":"OR","reflexive":false,"threshold":2,"inSubsystem":false,"x":297.09974170539647,"y":191.5680967185557,"weight":3,"px":297.09974170539647,"py":191.5680967185557,"selected":true,"fixed":1},{"index":3,"label":"D","on":1,"mechanism":"AND","reflexive":false,"threshold":2,"inSubsystem":false,"x":297.1423528990964,"y":364.0455938259867,"weight":3,"px":297.1423528990964,"py":364.0455938259867,"selected":true,"fixed":1},{"index":4,"label":"E","on":1,"mechanism":"OR","reflexive":false,"threshold":2,"inSubsystem":false,"x":448.9216856693354,"y":197.86731366170454,"weight":3,"px":448.9216856693354,"py":197.86731366170454,"selected":true,"fixed":1},{"index":5,"label":"F","on":1,"mechanism":"AND","reflexive":false,"threshold":2,"inSubsystem":false,"x":450.9152060701569,"y":366.1440476565852,"weight":3,"px":450.9152060701569,"py":366.1440476565852,"fixed":1,"selected":true}],"tpm":[[0,0,0,0,0,0],[0,0,0,0,0,0],[1,0,0,0,0,0],[1,0,0,0,0,0],[0,0,0,0,0,0],[0,0,0,0,0,0],[1,0,0,0,0,0],[1,0,0,0,0,0],[0,0,1,0,0,0],[0,0,1,0,0,0],[1,0,1,0,0,0],[1,0,1,0,0,0],[0,0,1,0,0,0],[0,0,1,0,0,0],[1,0,1,0,0,0],[1,0,1,0,0,0],[0,0,0,0,0,0],[0,0,0,0,0,0],[1,0,0,0,0,0],[1,0,0,0,0,0],[0,0,0,0,0,0],[0,1,0,1,0,1],[1,0,0,0,0,0],[1,1,0,1,0,1],[0,0,1,0,0,0],[0,0,1,0,0,0],[1,0,1,0,0,0],[1,0,1,0,0,0],[0,0,1,0,0,0],[0,1,1,1,0,1],[1,0,1,0,0,0],[1,1,1,1,0,1],[0,0,0,0,1,0],[0,0,0,0,1,0],[1,0,0,0,1,0],[1,0,0,0,1,0],[0,0,0,0,1,0],[0,0,0,0,1,0],[1,0,0,0,1,0],[1,0,0,0,1,0],[0,0,1,0,1,0],[0,0,1,0,1,0],[1,0,1,0,1,0],[1,0,1,0,1,0],[0,0,1,0,1,0],[0,0,1,0,1,0],[1,0,1,0,1,0],[1,0,1,0,1,0],[0,0,0,0,1,0],[0,0,0,0,1,0],[1,0,0,0,1,0],[1,0,0,0,1,0],[0,0,0,0,1,0],[0,1,0,1,1,1],[1,0,0,0,1,0],[1,1,0,1,1,1],[0,0,1,0,1,0],[0,0,1,0,1,0],[1,0,1,0,1,0],[1,0,1,0,1,0],[0,0,1,0,1,0],[0,1,1,1,1,1],[1,0,1,0,1,0],[1,1,1,1,1,1]],"connectivityMatrix":[[0,1,0,1,0,1],[1,0,0,0,0,0],[0,1,0,1,0,1],[0,0,1,0,0,0],[0,1,0,1,0,1],[0,0,0,0,1,0]],"currentState":[1,1,1,1,1,1],"pastState":[1,1,1,1,1,1]} \ No newline at end of file diff --git a/profiling/networks/old/7-AND-circle.json b/profiling/networks/old/7-AND-circle.json deleted file mode 100644 index 45e291a47..000000000 --- a/profiling/networks/old/7-AND-circle.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes":[{"index":0,"label":"A","on":1,"mechanism":"AND","reflexive":false,"threshold":2,"inSubsystem":false,"weight":2,"x":455.2686010418421,"y":96.48379154361075,"px":455.2686010418421,"py":96.48379154361075,"fixed":1,"selected":true},{"index":1,"label":"B","on":1,"mechanism":"AND","reflexive":false,"threshold":2,"inSubsystem":false,"weight":2,"x":515.3361800382808,"y":246.61529363916367,"px":515.3361800382808,"py":246.61529363916367,"selected":true,"fixed":1},{"index":2,"label":"C","on":1,"mechanism":"AND","reflexive":false,"threshold":2,"inSubsystem":false,"weight":2,"x":494.183612507285,"y":393.4787568212817,"px":494.183612507285,"py":393.4787568212817,"fixed":1,"selected":true},{"index":3,"label":"D","on":1,"mechanism":"AND","reflexive":false,"threshold":2,"inSubsystem":false,"weight":2,"x":328.4071869149115,"y":430.47399028796985,"px":328.4071869149115,"py":430.47399028796985,"selected":true,"fixed":1},{"index":4,"label":"E","on":1,"mechanism":"AND","reflexive":false,"threshold":2,"inSubsystem":false,"weight":2,"x":184.6170429711838,"y":363.6187000622663,"px":184.6170429711838,"py":363.6187000622663,"selected":true,"fixed":1},{"index":5,"label":"F","on":1,"mechanism":"AND","reflexive":false,"threshold":2,"inSubsystem":false,"x":165.4360441867527,"y":200.698157853545,"weight":2,"px":165.4360441867527,"py":200.698157853545,"fixed":1,"selected":true},{"index":6,"label":"G","on":1,"mechanism":"OR","reflexive":false,"threshold":2,"inSubsystem":false,"x":280.4286403192627,"y":88.64143440072291,"weight":2,"px":280.4286403192627,"py":88.64143440072291,"fixed":1,"selected":true}],"tpm":[[0,0,0,0,0,0,0],[0,0,0,0,0,0,1],[0,0,0,0,0,0,0],[0,0,0,0,0,0,1],[0,0,0,0,0,0,0],[0,1,0,0,0,0,1],[0,0,0,0,0,0,0],[0,1,0,0,0,0,1],[0,0,0,0,0,0,0],[0,0,0,0,0,0,1],[0,0,1,0,0,0,0],[0,0,1,0,0,0,1],[0,0,0,0,0,0,0],[0,1,0,0,0,0,1],[0,0,1,0,0,0,0],[0,1,1,0,0,0,1],[0,0,0,0,0,0,0],[0,0,0,0,0,0,1],[0,0,0,0,0,0,0],[0,0,0,0,0,0,1],[0,0,0,1,0,0,0],[0,1,0,1,0,0,1],[0,0,0,1,0,0,0],[0,1,0,1,0,0,1],[0,0,0,0,0,0,0],[0,0,0,0,0,0,1],[0,0,1,0,0,0,0],[0,0,1,0,0,0,1],[0,0,0,1,0,0,0],[0,1,0,1,0,0,1],[0,0,1,1,0,0,0],[0,1,1,1,0,0,1],[0,0,0,0,0,0,1],[0,0,0,0,0,0,1],[0,0,0,0,0,0,1],[0,0,0,0,0,0,1],[0,0,0,0,0,0,1],[0,1,0,0,0,0,1],[0,0,0,0,0,0,1],[0,1,0,0,0,0,1],[0,0,0,0,1,0,1],[0,0,0,0,1,0,1],[0,0,1,0,1,0,1],[0,0,1,0,1,0,1],[0,0,0,0,1,0,1],[0,1,0,0,1,0,1],[0,0,1,0,1,0,1],[0,1,1,0,1,0,1],[0,0,0,0,0,0,1],[0,0,0,0,0,0,1],[0,0,0,0,0,0,1],[0,0,0,0,0,0,1],[0,0,0,1,0,0,1],[0,1,0,1,0,0,1],[0,0,0,1,0,0,1],[0,1,0,1,0,0,1],[0,0,0,0,1,0,1],[0,0,0,0,1,0,1],[0,0,1,0,1,0,1],[0,0,1,0,1,0,1],[0,0,0,1,1,0,1],[0,1,0,1,1,0,1],[0,0,1,1,1,0,1],[0,1,1,1,1,0,1],[0,0,0,0,0,0,0],[0,0,0,0,0,0,1],[1,0,0,0,0,0,0],[1,0,0,0,0,0,1],[0,0,0,0,0,0,0],[0,1,0,0,0,0,1],[1,0,0,0,0,0,0],[1,1,0,0,0,0,1],[0,0,0,0,0,0,0],[0,0,0,0,0,0,1],[1,0,1,0,0,0,0],[1,0,1,0,0,0,1],[0,0,0,0,0,0,0],[0,1,0,0,0,0,1],[1,0,1,0,0,0,0],[1,1,1,0,0,0,1],[0,0,0,0,0,1,0],[0,0,0,0,0,1,1],[1,0,0,0,0,1,0],[1,0,0,0,0,1,1],[0,0,0,1,0,1,0],[0,1,0,1,0,1,1],[1,0,0,1,0,1,0],[1,1,0,1,0,1,1],[0,0,0,0,0,1,0],[0,0,0,0,0,1,1],[1,0,1,0,0,1,0],[1,0,1,0,0,1,1],[0,0,0,1,0,1,0],[0,1,0,1,0,1,1],[1,0,1,1,0,1,0],[1,1,1,1,0,1,1],[0,0,0,0,0,0,1],[0,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[0,0,0,0,0,0,1],[0,1,0,0,0,0,1],[1,0,0,0,0,0,1],[1,1,0,0,0,0,1],[0,0,0,0,1,0,1],[0,0,0,0,1,0,1],[1,0,1,0,1,0,1],[1,0,1,0,1,0,1],[0,0,0,0,1,0,1],[0,1,0,0,1,0,1],[1,0,1,0,1,0,1],[1,1,1,0,1,0,1],[0,0,0,0,0,1,1],[0,0,0,0,0,1,1],[1,0,0,0,0,1,1],[1,0,0,0,0,1,1],[0,0,0,1,0,1,1],[0,1,0,1,0,1,1],[1,0,0,1,0,1,1],[1,1,0,1,0,1,1],[0,0,0,0,1,1,1],[0,0,0,0,1,1,1],[1,0,1,0,1,1,1],[1,0,1,0,1,1,1],[0,0,0,1,1,1,1],[0,1,0,1,1,1,1],[1,0,1,1,1,1,1],[1,1,1,1,1,1,1]],"connectivityMatrix":[[0,1,0,0,0,0,1],[1,0,1,0,0,0,0],[0,1,0,1,0,0,0],[0,0,1,0,1,0,0],[0,0,0,1,0,1,0],[0,0,0,0,1,0,1],[1,0,0,0,0,1,0]],"currentState":[1,1,1,1,1,1,1],"pastState":[1,1,1,1,1,1,1]} \ No newline at end of file diff --git a/profiling/networks/old/7-MAJ-complete.json b/profiling/networks/old/7-MAJ-complete.json deleted file mode 100644 index cc59a0035..000000000 --- a/profiling/networks/old/7-MAJ-complete.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes":[{"index":0,"label":"A","on":1,"mechanism":"MAJ","reflexive":true,"selected":false,"threshold":2,"inSubsystem":false,"weight":6,"x":231.38341598532665,"y":281.93739960371386,"px":231.89450719505953,"py":281.8027817782387,"fixed":0},{"index":1,"label":"B","on":1,"mechanism":"MAJ","reflexive":true,"selected":false,"threshold":2,"inSubsystem":false,"weight":6,"x":251.66924136654995,"y":188.57872537449492,"px":252.1474992619341,"py":188.98392449304922,"fixed":false},{"index":2,"label":"C","on":1,"mechanism":"MAJ","reflexive":true,"selected":false,"threshold":2,"inSubsystem":false,"weight":6,"x":343.4339363794787,"y":151.11093312822533,"px":343.42481108417076,"py":151.73347334995523,"fixed":0},{"index":3,"label":"D","on":1,"mechanism":"MAJ","reflexive":true,"selected":false,"threshold":2,"inSubsystem":false,"weight":6,"x":429.22558327428686,"y":199.13590280690627,"px":428.7578572113039,"py":199.49455216651572,"fixed":false},{"index":4,"label":"E","on":1,"mechanism":"MAJ","reflexive":true,"selected":false,"threshold":2,"inSubsystem":false,"weight":6,"x":449.1676937202152,"y":296.91143323483686,"px":448.52391986344344,"py":296.76113154259383,"fixed":0},{"index":5,"label":"F","on":1,"mechanism":"MAJ","reflexive":true,"selected":false,"threshold":2,"inSubsystem":false,"x":378.789988977867,"y":363.2577251077865,"weight":6,"px":378.6054034649439,"py":362.7484898518281,"fixed":0},{"index":6,"label":"G","on":1,"mechanism":"MAJ","reflexive":true,"selected":false,"threshold":2,"inSubsystem":false,"x":275.37781940404534,"y":376.2330515912473,"weight":6,"px":275.37781940404534,"py":376.2330515912473,"fixed":1}],"tpm":[[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[1,1,1,1,1,1,1],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[1,1,1,1,1,1,1],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[1,1,1,1,1,1,1],[0,0,0,0,0,0,0],[1,1,1,1,1,1,1],[1,1,1,1,1,1,1],[1,1,1,1,1,1,1],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[1,1,1,1,1,1,1],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[1,1,1,1,1,1,1],[0,0,0,0,0,0,0],[1,1,1,1,1,1,1],[1,1,1,1,1,1,1],[1,1,1,1,1,1,1],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[1,1,1,1,1,1,1],[0,0,0,0,0,0,0],[1,1,1,1,1,1,1],[1,1,1,1,1,1,1],[1,1,1,1,1,1,1],[0,0,0,0,0,0,0],[1,1,1,1,1,1,1],[1,1,1,1,1,1,1],[1,1,1,1,1,1,1],[1,1,1,1,1,1,1],[1,1,1,1,1,1,1],[1,1,1,1,1,1,1],[1,1,1,1,1,1,1],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[1,1,1,1,1,1,1],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[1,1,1,1,1,1,1],[0,0,0,0,0,0,0],[1,1,1,1,1,1,1],[1,1,1,1,1,1,1],[1,1,1,1,1,1,1],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[1,1,1,1,1,1,1],[0,0,0,0,0,0,0],[1,1,1,1,1,1,1],[1,1,1,1,1,1,1],[1,1,1,1,1,1,1],[0,0,0,0,0,0,0],[1,1,1,1,1,1,1],[1,1,1,1,1,1,1],[1,1,1,1,1,1,1],[1,1,1,1,1,1,1],[1,1,1,1,1,1,1],[1,1,1,1,1,1,1],[1,1,1,1,1,1,1],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[1,1,1,1,1,1,1],[0,0,0,0,0,0,0],[1,1,1,1,1,1,1],[1,1,1,1,1,1,1],[1,1,1,1,1,1,1],[0,0,0,0,0,0,0],[1,1,1,1,1,1,1],[1,1,1,1,1,1,1],[1,1,1,1,1,1,1],[1,1,1,1,1,1,1],[1,1,1,1,1,1,1],[1,1,1,1,1,1,1],[1,1,1,1,1,1,1],[0,0,0,0,0,0,0],[1,1,1,1,1,1,1],[1,1,1,1,1,1,1],[1,1,1,1,1,1,1],[1,1,1,1,1,1,1],[1,1,1,1,1,1,1],[1,1,1,1,1,1,1],[1,1,1,1,1,1,1],[1,1,1,1,1,1,1],[1,1,1,1,1,1,1],[1,1,1,1,1,1,1],[1,1,1,1,1,1,1],[1,1,1,1,1,1,1],[1,1,1,1,1,1,1],[1,1,1,1,1,1,1],[1,1,1,1,1,1,1]],"connectivityMatrix":[[1,1,1,1,1,1,1],[1,1,1,1,1,1,1],[1,1,1,1,1,1,1],[1,1,1,1,1,1,1],[1,1,1,1,1,1,1],[1,1,1,1,1,1,1],[1,1,1,1,1,1,1]],"currentState":[1,1,1,1,1,1,1],"pastState":[1,1,1,1,1,1,1]} \ No newline at end of file diff --git a/profiling/networks/old/7-MAJ-specialized.json b/profiling/networks/old/7-MAJ-specialized.json deleted file mode 100644 index daf9eb34c..000000000 --- a/profiling/networks/old/7-MAJ-specialized.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes":[{"index":0,"label":"A","on":1,"mechanism":"MAJ","reflexive":false,"threshold":2,"inSubsystem":false,"weight":6,"x":342.85709657617184,"y":143.67404057962761,"px":342.5888289846238,"py":144.3402526750801,"selected":true},{"index":1,"label":"B","on":1,"mechanism":"MAJ","reflexive":false,"threshold":2,"inSubsystem":false,"weight":6,"x":191.20743247753916,"y":236.87464317643372,"px":191.9362980625894,"py":236.98334411722217,"selected":true,"fixed":0},{"index":2,"label":"C","on":1,"mechanism":"MAJ","reflexive":false,"threshold":2,"inSubsystem":false,"weight":6,"x":316.7289603052141,"y":364.4112064768832,"px":316.6700728458933,"py":363.67657661776076,"selected":true},{"index":3,"label":"D","on":1,"mechanism":"MAJ","reflexive":false,"threshold":2,"inSubsystem":false,"weight":6,"x":399.7614614248169,"y":311.5835709640917,"px":399.16754007660944,"py":311.1917455497849,"selected":true},{"index":4,"label":"E","on":1,"mechanism":"MAJ","reflexive":false,"threshold":2,"inSubsystem":false,"weight":6,"x":224.41656612172386,"y":329.44683894800727,"px":224.9348016269168,"py":328.96007367369197,"selected":true,"fixed":0},{"index":5,"label":"F","on":1,"mechanism":"MAJ","reflexive":false,"threshold":2,"inSubsystem":false,"weight":6,"x":244.8040302610636,"y":152.81990900991622,"px":245.1635276376324,"py":153.42847902286493,"selected":true,"fixed":0},{"index":6,"label":"G","on":1,"mechanism":"MAJ","reflexive":false,"threshold":2,"inSubsystem":false,"weight":6,"x":413.0551970628408,"y":213.50123891231084,"px":412.37541478922924,"py":213.72677836912698,"selected":true}],"tpm":[[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,1,1,0,0,0],[0,0,0,0,0,0,0],[0,0,0,1,0,0,0],[0,0,0,1,1,0,0],[0,0,1,1,1,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,1,0,0],[0,0,1,1,1,0,0],[0,0,0,0,1,1,0],[0,0,0,1,1,1,0],[0,0,0,1,1,1,0],[0,0,1,1,1,1,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,1,1,0,0,0],[0,0,0,0,0,1,0],[0,0,0,1,0,1,0],[0,0,0,1,1,1,0],[0,0,1,1,1,1,0],[0,0,0,0,0,1,1],[0,0,0,0,0,1,1],[0,0,0,0,1,1,1],[0,0,1,1,1,1,1],[0,0,0,0,1,1,1],[0,0,0,1,1,1,1],[0,0,0,1,1,1,1],[0,0,1,1,1,1,1],[0,0,0,0,0,0,0],[0,1,0,0,0,0,0],[0,0,0,0,0,0,0],[0,1,1,1,0,0,0],[0,0,0,0,0,0,0],[0,1,0,1,0,0,0],[0,0,0,1,1,0,0],[0,1,1,1,1,0,0],[0,0,0,0,0,0,1],[0,1,0,0,0,0,1],[0,0,0,0,1,0,1],[0,1,1,1,1,0,1],[0,0,0,0,1,1,1],[0,1,0,1,1,1,1],[0,0,0,1,1,1,1],[0,1,1,1,1,1,1],[1,0,0,0,0,0,1],[1,1,0,0,0,0,1],[1,0,0,0,0,0,1],[1,1,1,1,0,0,1],[1,0,0,0,0,1,1],[1,1,0,1,0,1,1],[1,0,0,1,1,1,1],[1,1,1,1,1,1,1],[1,0,0,0,0,1,1],[1,1,0,0,0,1,1],[1,0,0,0,1,1,1],[1,1,1,1,1,1,1],[1,0,0,0,1,1,1],[1,1,0,1,1,1,1],[1,0,0,1,1,1,1],[1,1,1,1,1,1,1],[0,0,0,0,0,0,0],[0,1,1,0,0,0,0],[0,0,1,0,0,0,0],[0,1,1,1,0,0,0],[0,0,0,0,0,0,0],[0,1,1,1,0,0,0],[0,0,1,1,1,0,0],[0,1,1,1,1,0,0],[0,0,0,0,0,0,0],[0,1,1,0,0,0,0],[0,0,1,0,1,0,0],[0,1,1,1,1,0,0],[0,0,0,0,1,1,0],[0,1,1,1,1,1,0],[0,0,1,1,1,1,0],[0,1,1,1,1,1,0],[1,0,0,0,0,0,0],[1,1,1,0,0,0,0],[1,0,1,0,0,0,0],[1,1,1,1,0,0,0],[1,0,0,0,0,1,0],[1,1,1,1,0,1,0],[1,0,1,1,1,1,0],[1,1,1,1,1,1,0],[1,0,0,0,0,1,1],[1,1,1,0,0,1,1],[1,0,1,0,1,1,1],[1,1,1,1,1,1,1],[1,0,0,0,1,1,1],[1,1,1,1,1,1,1],[1,0,1,1,1,1,1],[1,1,1,1,1,1,1],[1,1,0,0,0,0,0],[1,1,1,0,0,0,0],[1,1,1,0,0,0,0],[1,1,1,1,0,0,0],[1,1,0,0,0,0,0],[1,1,1,1,0,0,0],[1,1,1,1,1,0,0],[1,1,1,1,1,0,0],[1,1,0,0,0,0,1],[1,1,1,0,0,0,1],[1,1,1,0,1,0,1],[1,1,1,1,1,0,1],[1,1,0,0,1,1,1],[1,1,1,1,1,1,1],[1,1,1,1,1,1,1],[1,1,1,1,1,1,1],[1,1,0,0,0,0,1],[1,1,1,0,0,0,1],[1,1,1,0,0,0,1],[1,1,1,1,0,0,1],[1,1,0,0,0,1,1],[1,1,1,1,0,1,1],[1,1,1,1,1,1,1],[1,1,1,1,1,1,1],[1,1,0,0,0,1,1],[1,1,1,0,0,1,1],[1,1,1,0,1,1,1],[1,1,1,1,1,1,1],[1,1,0,0,1,1,1],[1,1,1,1,1,1,1],[1,1,1,1,1,1,1],[1,1,1,1,1,1,1]],"connectivityMatrix":[[0,1,1,1,0,0,0],[0,0,1,1,1,0,0],[0,0,0,1,1,1,0],[0,0,0,0,1,1,1],[1,0,0,0,0,1,1],[1,1,0,0,0,0,1],[1,1,1,0,0,0,0]],"currentState":[1,1,1,1,1,1,1],"pastState":[1,1,1,1,1,1,1]} \ No newline at end of file diff --git a/profiling/networks/old/8-iit-3.0-modular.json b/profiling/networks/old/8-iit-3.0-modular.json deleted file mode 100644 index ab7282161..000000000 --- a/profiling/networks/old/8-iit-3.0-modular.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes":[{"index":0,"label":"A","on":1,"mechanism":"OR","reflexive":false,"threshold":2,"inSubsystem":false,"x":153.4283539598144,"y":182.0415709193519,"weight":4,"px":153.4283539598144,"py":182.0415709193519,"selected":false,"fixed":1},{"index":1,"label":"B","on":1,"mechanism":"AND","reflexive":false,"threshold":2,"inSubsystem":false,"x":158.04457161727058,"y":331.3574296877908,"weight":4,"px":158.04457161727058,"py":331.3574296877908,"selected":false,"fixed":1},{"index":2,"label":"C","on":1,"mechanism":"OR","reflexive":false,"threshold":2,"inSubsystem":false,"x":251.2382796076859,"y":173.45339842109428,"weight":4,"px":251.2382796076859,"py":173.45339842109428,"selected":false,"fixed":1},{"index":3,"label":"D","on":1,"mechanism":"AND","reflexive":false,"threshold":2,"inSubsystem":false,"x":259.76497198276803,"y":338.50581010442284,"weight":4,"px":259.76497198276803,"py":338.50581010442284,"selected":false,"fixed":1},{"index":4,"label":"E","on":1,"mechanism":"OR","reflexive":false,"threshold":2,"inSubsystem":false,"x":356.28452024643076,"y":173.9977076048531,"weight":4,"px":356.28452024643076,"py":173.9977076048531,"selected":false,"fixed":1},{"index":5,"label":"F","on":1,"mechanism":"AND","reflexive":false,"threshold":2,"inSubsystem":false,"x":363.37080772138245,"y":333.9077527029692,"weight":4,"px":363.37080772138245,"py":333.9077527029692,"fixed":1,"selected":false},{"index":6,"label":"G","on":1,"mechanism":"OR","reflexive":false,"threshold":2,"inSubsystem":false,"x":456.9989043184415,"y":174.83856297506958,"weight":4,"px":456.9989043184415,"py":174.83856297506958,"selected":false,"fixed":1},{"index":7,"label":"H","on":1,"mechanism":"AND","reflexive":false,"threshold":2,"inSubsystem":false,"x":461.8495641232846,"y":329.0813331813447,"weight":4,"px":461.8495641232846,"py":329.0813331813447,"fixed":1,"selected":false}],"tpm":[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[1,0,0,0,0,0,0,0],[1,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[1,0,0,0,0,0,0,0],[1,0,0,0,0,0,0,0],[0,0,1,0,0,0,0,0],[0,0,1,0,0,0,0,0],[1,0,1,0,0,0,0,0],[1,0,1,0,0,0,0,0],[0,0,1,0,0,0,0,0],[0,0,1,0,0,0,0,0],[1,0,1,0,0,0,0,0],[1,0,1,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[1,0,0,0,0,0,0,0],[1,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[1,0,0,0,0,0,0,0],[1,0,0,0,0,0,0,0],[0,0,1,0,0,0,0,0],[0,0,1,0,0,0,0,0],[1,0,1,0,0,0,0,0],[1,0,1,0,0,0,0,0],[0,0,1,0,0,0,0,0],[0,0,1,0,0,0,0,0],[1,0,1,0,0,0,0,0],[1,0,1,0,0,0,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,1,0,0,0],[1,0,0,0,1,0,0,0],[1,0,0,0,1,0,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,1,0,0,0],[1,0,0,0,1,0,0,0],[1,0,0,0,1,0,0,0],[0,0,1,0,1,0,0,0],[0,0,1,0,1,0,0,0],[1,0,1,0,1,0,0,0],[1,0,1,0,1,0,0,0],[0,0,1,0,1,0,0,0],[0,0,1,0,1,0,0,0],[1,0,1,0,1,0,0,0],[1,0,1,0,1,0,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,1,0,0,0],[1,0,0,0,1,0,0,0],[1,0,0,0,1,0,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,1,0,0,0],[1,0,0,0,1,0,0,0],[1,0,0,0,1,0,0,0],[0,0,1,0,1,0,0,0],[0,0,1,0,1,0,0,0],[1,0,1,0,1,0,0,0],[1,0,1,0,1,0,0,0],[0,0,1,0,1,0,0,0],[0,0,1,0,1,0,0,0],[1,0,1,0,1,0,0,0],[1,0,1,0,1,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[1,0,0,0,0,0,0,0],[1,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[1,0,0,0,0,0,0,0],[1,0,0,0,0,0,0,0],[0,0,1,0,0,0,0,0],[0,0,1,0,0,0,0,0],[1,0,1,0,0,0,0,0],[1,0,1,0,0,0,0,0],[0,0,1,0,0,0,0,0],[0,0,1,0,0,0,0,0],[1,0,1,0,0,0,0,0],[1,0,1,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[1,0,0,0,0,0,0,0],[1,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,1,0,1,0,1,0,1],[1,0,0,0,0,0,0,0],[1,1,0,1,0,1,0,1],[0,0,1,0,0,0,0,0],[0,0,1,0,0,0,0,0],[1,0,1,0,0,0,0,0],[1,0,1,0,0,0,0,0],[0,0,1,0,0,0,0,0],[0,1,1,1,0,1,0,1],[1,0,1,0,0,0,0,0],[1,1,1,1,0,1,0,1],[0,0,0,0,1,0,0,0],[0,0,0,0,1,0,0,0],[1,0,0,0,1,0,0,0],[1,0,0,0,1,0,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,1,0,0,0],[1,0,0,0,1,0,0,0],[1,0,0,0,1,0,0,0],[0,0,1,0,1,0,0,0],[0,0,1,0,1,0,0,0],[1,0,1,0,1,0,0,0],[1,0,1,0,1,0,0,0],[0,0,1,0,1,0,0,0],[0,0,1,0,1,0,0,0],[1,0,1,0,1,0,0,0],[1,0,1,0,1,0,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,1,0,0,0],[1,0,0,0,1,0,0,0],[1,0,0,0,1,0,0,0],[0,0,0,0,1,0,0,0],[0,1,0,1,1,1,0,1],[1,0,0,0,1,0,0,0],[1,1,0,1,1,1,0,1],[0,0,1,0,1,0,0,0],[0,0,1,0,1,0,0,0],[1,0,1,0,1,0,0,0],[1,0,1,0,1,0,0,0],[0,0,1,0,1,0,0,0],[0,1,1,1,1,1,0,1],[1,0,1,0,1,0,0,0],[1,1,1,1,1,1,0,1],[0,0,0,0,0,0,1,0],[0,0,0,0,0,0,1,0],[1,0,0,0,0,0,1,0],[1,0,0,0,0,0,1,0],[0,0,0,0,0,0,1,0],[0,0,0,0,0,0,1,0],[1,0,0,0,0,0,1,0],[1,0,0,0,0,0,1,0],[0,0,1,0,0,0,1,0],[0,0,1,0,0,0,1,0],[1,0,1,0,0,0,1,0],[1,0,1,0,0,0,1,0],[0,0,1,0,0,0,1,0],[0,0,1,0,0,0,1,0],[1,0,1,0,0,0,1,0],[1,0,1,0,0,0,1,0],[0,0,0,0,0,0,1,0],[0,0,0,0,0,0,1,0],[1,0,0,0,0,0,1,0],[1,0,0,0,0,0,1,0],[0,0,0,0,0,0,1,0],[0,0,0,0,0,0,1,0],[1,0,0,0,0,0,1,0],[1,0,0,0,0,0,1,0],[0,0,1,0,0,0,1,0],[0,0,1,0,0,0,1,0],[1,0,1,0,0,0,1,0],[1,0,1,0,0,0,1,0],[0,0,1,0,0,0,1,0],[0,0,1,0,0,0,1,0],[1,0,1,0,0,0,1,0],[1,0,1,0,0,0,1,0],[0,0,0,0,1,0,1,0],[0,0,0,0,1,0,1,0],[1,0,0,0,1,0,1,0],[1,0,0,0,1,0,1,0],[0,0,0,0,1,0,1,0],[0,0,0,0,1,0,1,0],[1,0,0,0,1,0,1,0],[1,0,0,0,1,0,1,0],[0,0,1,0,1,0,1,0],[0,0,1,0,1,0,1,0],[1,0,1,0,1,0,1,0],[1,0,1,0,1,0,1,0],[0,0,1,0,1,0,1,0],[0,0,1,0,1,0,1,0],[1,0,1,0,1,0,1,0],[1,0,1,0,1,0,1,0],[0,0,0,0,1,0,1,0],[0,0,0,0,1,0,1,0],[1,0,0,0,1,0,1,0],[1,0,0,0,1,0,1,0],[0,0,0,0,1,0,1,0],[0,0,0,0,1,0,1,0],[1,0,0,0,1,0,1,0],[1,0,0,0,1,0,1,0],[0,0,1,0,1,0,1,0],[0,0,1,0,1,0,1,0],[1,0,1,0,1,0,1,0],[1,0,1,0,1,0,1,0],[0,0,1,0,1,0,1,0],[0,0,1,0,1,0,1,0],[1,0,1,0,1,0,1,0],[1,0,1,0,1,0,1,0],[0,0,0,0,0,0,1,0],[0,0,0,0,0,0,1,0],[1,0,0,0,0,0,1,0],[1,0,0,0,0,0,1,0],[0,0,0,0,0,0,1,0],[0,0,0,0,0,0,1,0],[1,0,0,0,0,0,1,0],[1,0,0,0,0,0,1,0],[0,0,1,0,0,0,1,0],[0,0,1,0,0,0,1,0],[1,0,1,0,0,0,1,0],[1,0,1,0,0,0,1,0],[0,0,1,0,0,0,1,0],[0,0,1,0,0,0,1,0],[1,0,1,0,0,0,1,0],[1,0,1,0,0,0,1,0],[0,0,0,0,0,0,1,0],[0,0,0,0,0,0,1,0],[1,0,0,0,0,0,1,0],[1,0,0,0,0,0,1,0],[0,0,0,0,0,0,1,0],[0,1,0,1,0,1,1,1],[1,0,0,0,0,0,1,0],[1,1,0,1,0,1,1,1],[0,0,1,0,0,0,1,0],[0,0,1,0,0,0,1,0],[1,0,1,0,0,0,1,0],[1,0,1,0,0,0,1,0],[0,0,1,0,0,0,1,0],[0,1,1,1,0,1,1,1],[1,0,1,0,0,0,1,0],[1,1,1,1,0,1,1,1],[0,0,0,0,1,0,1,0],[0,0,0,0,1,0,1,0],[1,0,0,0,1,0,1,0],[1,0,0,0,1,0,1,0],[0,0,0,0,1,0,1,0],[0,0,0,0,1,0,1,0],[1,0,0,0,1,0,1,0],[1,0,0,0,1,0,1,0],[0,0,1,0,1,0,1,0],[0,0,1,0,1,0,1,0],[1,0,1,0,1,0,1,0],[1,0,1,0,1,0,1,0],[0,0,1,0,1,0,1,0],[0,0,1,0,1,0,1,0],[1,0,1,0,1,0,1,0],[1,0,1,0,1,0,1,0],[0,0,0,0,1,0,1,0],[0,0,0,0,1,0,1,0],[1,0,0,0,1,0,1,0],[1,0,0,0,1,0,1,0],[0,0,0,0,1,0,1,0],[0,1,0,1,1,1,1,1],[1,0,0,0,1,0,1,0],[1,1,0,1,1,1,1,1],[0,0,1,0,1,0,1,0],[0,0,1,0,1,0,1,0],[1,0,1,0,1,0,1,0],[1,0,1,0,1,0,1,0],[0,0,1,0,1,0,1,0],[0,1,1,1,1,1,1,1],[1,0,1,0,1,0,1,0],[1,1,1,1,1,1,1,1]],"connectivityMatrix":[[0,1,0,1,0,1,0,1],[1,0,0,0,0,0,0,0],[0,1,0,1,0,1,0,1],[0,0,1,0,0,0,0,0],[0,1,0,1,0,1,0,1],[0,0,0,0,1,0,0,0],[0,1,0,1,0,1,0,1],[0,0,0,0,0,0,1,0]],"currentState":[1,1,1,1,1,1,1,1],"pastState":[1,1,1,1,1,1,1,1]} \ No newline at end of file diff --git a/profiling/print_stats.py b/profiling/print_stats.py old mode 100644 new mode 100755 index eaa5ede3b..553c6ef02 --- a/profiling/print_stats.py +++ b/profiling/print_stats.py @@ -1,17 +1,19 @@ -import pstats - +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- """ -Prints the pstats results for the functions in which the most -time was spent. - -Use `load_profile.sh` to load a pstats file into `profile.pstats`. -TODO: take the pstats file as command line arg. +Prints the pstats results for the functions in which the most time was spent. """ -FILE = "profile.pstats" +import argparse +import pstats + if __name__ == "__main__": - p = pstats.Stats(FILE) + parser = argparse.ArgumentParser() + parser.add_argument("pstats_file", help="the profile file to print") + args = parser.parse_args() + + p = pstats.Stats(args.pstats_file) p.strip_dirs() - p.sort_stats('tottime', 'calls', 'name') + p.sort_stats("tottime", "calls", "name") p.print_stats(25) diff --git a/profiling/profile_script.py b/profiling/profile_script.py new file mode 100755 index 000000000..2f52e310a --- /dev/null +++ b/profiling/profile_script.py @@ -0,0 +1,49 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +"""Profiling tool for PyPhi.""" + +import argparse +import cProfile +from pathlib import Path +from time import time + +import pyphi + + +def profile_file(path): + """Profile the execution of the script at ``path``.""" + start = time() + pr = cProfile.Profile() + pr.enable() + + exec(path.read_text()) + + pr.disable() + end = time() + + pstatsfile = path.with_suffix(".pstats") + pr.dump_stats(pstatsfile) + + elapsed = round(end - start, 2) + print(f"Finished in {elapsed} seconds.") + + +if __name__ == "__main__": + # Parse arguments + parser = argparse.ArgumentParser( + description=( + "Program to profile PyPhi on sample networks. \n\n" + "After running this code, either\n" + " - Use `python -m pstats [file.pstats]` for an interactive " + "pstats prompt.\n" + " - Use `loadprofile.sh [file.pstats] && print_stats.py` to print " + "the most offensive functions.\n" + " - Use the `makecallgraph` script to visualize the call graph.\n\n" + "For the most descriptive results, disable any parallelization in " + "PyPhi." + ) + ) + parser.add_argument("script", nargs="?", help="the script to profile.") + args = parser.parse_args() + + profile_file(Path(args.script)) diff --git a/profiling/quickprofile.sh b/profiling/quickprofile.sh deleted file mode 100755 index 9e78fbe52..000000000 --- a/profiling/quickprofile.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh -# -# Script to quickly profile a single network, produce a call graph, -# and display the top pstats results. -# -# The network should be passed in as "5-AND-circle", "6-MAJ-complete", etc. - -NETWORK=$1 - -python code_to_profile.py $NETWORK && -./loadprofile.sh pstats/$NETWORK.pstats && -./makecallgraph && -python print_stats.py && -open -a Firefox callgraph.svg diff --git a/profiling/saveprofile.sh b/profiling/saveprofile.sh deleted file mode 100755 index 3d98b3b19..000000000 --- a/profiling/saveprofile.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/sh - -outputfile="profile.pstats" -path="profile_data/" -prefix="profile" -sep="." -extension=".pstats" -if [ -z $1 ] -then - filename="`date +%s`" -else - filename=$1 -fi -save=$path$prefix$sep$filename$extension -echo "Saved '$outputfile' to '$save'" -cp $outputfile $save diff --git a/pyphi/__about__.py b/pyphi/__about__.py index 61f9b7bdc..2c54a80b0 100644 --- a/pyphi/__about__.py +++ b/pyphi/__about__.py @@ -5,12 +5,12 @@ """PyPhi metadata.""" __title__ = 'pyphi' -__version__ = '1.1.0' +__version__ = '1.2.0' __description__ = 'Python library for computing integrated information.' __author__ = 'William GP Mayner' __author_email__ = 'wmayner@gmail.com' __author_website__ = 'http://willmayner.com' -__copyright__ = 'Copyright 2014-2018 Will Mayner' +__copyright__ = 'Copyright 2014-2019 William GP Mayner' __license__ = 'GNU General Public License v3.0' __url__ = 'http://github.com/wmayner/pyphi' diff --git a/pyphi/__init__.py b/pyphi/__init__.py index 45699dae5..e8cf469e7 100644 --- a/pyphi/__init__.py +++ b/pyphi/__init__.py @@ -19,8 +19,12 @@ PyPhi is a Python library for computing integrated information. -See the documentation for the |examples| module for information on how to use -it. +If you use this software in your research, please cite the paper: + + Mayner WGP, Marshall W, Albantakis L, Findlay G, Marchman R, Tononi G. + (2018). PyPhi: A toolbox for integrated information theory. + PLOS Computational Biology 14(7): e1006343. + https://doi.org/10.1371/journal.pcbi.1006343 Online documentation is available at ``_. @@ -63,6 +67,8 @@ and their defaults. """ +import os + from .__about__ import * # pylint: disable=wildcard-import # Initialize config object @@ -75,7 +81,32 @@ from .subsystem import Subsystem from .actual import Transition - __all__ = ['Network', 'Subsystem', 'actual', 'config', 'constants', 'convert', 'db', 'examples', 'jsonify', 'macro', 'models', 'network', 'node', 'subsystem', 'utils', 'validate'] + +if not (config.WELCOME_OFF or 'PYPHI_WELCOME_OFF' in os.environ): + print(""" +Welcome to PyPhi! + +If you use PyPhi in your research, please cite the paper: + + Mayner WGP, Marshall W, Albantakis L, Findlay G, Marchman R, Tononi G. + (2018). PyPhi: A toolbox for integrated information theory. + PLOS Computational Biology 14(7): e1006343. + https://doi.org/10.1371/journal.pcbi.1006343 + +Documentation is available online (or with the built-in `help()` function): + https://pyphi.readthedocs.io + +To report issues, please use the issue tracker on the GitHub repository: + https://github.com/wmayner/pyphi + +For general discussion, you are welcome to join the pyphi-users group: + https://groups.google.com/forum/#!forum/pyphi-users + +To suppress this message, either: + - Set `WELCOME_OFF: true` in your `pyphi_config.yml` file, or + - Set the environment variable PYPHI_WELCOME_OFF to any value in your shell: + export PYPHI_WELCOME_OFF='yes' +""") diff --git a/pyphi/actual.py b/pyphi/actual.py index 4541128b6..3e991d5f7 100644 --- a/pyphi/actual.py +++ b/pyphi/actual.py @@ -4,6 +4,19 @@ """ Methods for computing actual causation of subsystems and mechanisms. + +If you use this module, please cite the following papers: + + Albantakis L, Marshall W, Hoel E, Tononi G (2019). + What Caused What? A quantitative Account of Actual Causation Using + Dynamical Causal Networks. + *Entropy*, 21 (5), pp. 459. + ``_ + + Mayner WGP, Marshall W, Albantakis L, Findlay G, Marchman R, Tononi G. (2018). + PyPhi: A toolbox for integrated information theory. + *PLOS Computational Biology* 14(7): e1006343. + ``_ """ import logging diff --git a/pyphi/conf.py b/pyphi/conf.py index 5d901c19c..58f9b0ac6 100644 --- a/pyphi/conf.py +++ b/pyphi/conf.py @@ -110,12 +110,13 @@ Logging ~~~~~~~ -These settings control how PyPhi handles log messages. Logs can be written to +These settings control how PyPhi handles messages. Logs can be written to standard output, a file, both, or none. If these simple default controls are not flexible enough for you, you can override the entire logging configuration. See the `documentation on Python's logger `_ for more information. +- :attr:`~pyphi.conf.PyphiConfig.WELCOME_OFF` - :attr:`~pyphi.conf.PyphiConfig.LOG_STDOUT_LEVEL` - :attr:`~pyphi.conf.PyphiConfig.LOG_FILE_LEVEL` - :attr:`~pyphi.conf.PyphiConfig.LOG_FILE` @@ -143,9 +144,10 @@ import pprint from copy import copy +import joblib import yaml -from . import __about__ +from . import __about__, constants log = logging.getLogger(__name__) @@ -260,7 +262,7 @@ def __setattr__(self, name, value): @classmethod def options(cls): - """Return a dictionary the ``Option`` objects for this config""" + """Return a dictionary of the ``Option`` objects for this config.""" return {k: v for k, v in cls.__dict__.items() if isinstance(v, Option)} def defaults(self): @@ -277,7 +279,7 @@ def load_file(self, filename): filename = os.path.abspath(filename) with open(filename) as f: - self.load_dict(yaml.load(f)) + self.load_dict(yaml.safe_load(f)) self._loaded_files.append(filename) @@ -357,6 +359,17 @@ def configure_logging(conf): }) +def configure_joblib(conf): + constants.joblib_memory = joblib.Memory( + location=conf.FS_CACHE_DIRECTORY, + verbose=conf.FS_CACHE_VERBOSITY + ) + + +def configure_precision(conf): + constants.EPSILON = 10**(-conf.PRECISION) + + class PyphiConfig(Config): """``pyphi.config`` is an instance of this class.""" @@ -364,7 +377,7 @@ class PyphiConfig(Config): In certain cases, making a cut can actually cause a previously reducible concept to become a proper, irreducible concept. Assuming this can never happen can increase performance significantly, however the obtained results - are not strictly accurate. """) + are not strictly accurate.""") CUT_ONE_APPROXIMATION = Option(False, doc=""" When determining the MIP for |big_phi|, this restricts the set of system @@ -390,7 +403,7 @@ class PyphiConfig(Config): def always_zero(a, b): return 0 - This measures can then be used by setting + This measure can then be used by setting ``config.MEASURE = 'ALWAYS_ZERO'``. If the measure is asymmetric you should register it using the @@ -452,11 +465,12 @@ def always_zero(a, b): filesystem-based cache in the current directory or from a database. Set this to ``'fs'`` for the filesystem, ``'db'`` for the database.""") - FS_CACHE_VERBOSITY = Option(0, doc=""" + FS_CACHE_VERBOSITY = Option(0, on_change=configure_joblib, doc=""" Controls how much caching information is printed if the filesystem cache is used. Takes a value between ``0`` and ``11``.""") - FS_CACHE_DIRECTORY = Option('__pyphi_cache__', doc=""" + FS_CACHE_DIRECTORY = Option('__pyphi_cache__', on_change=configure_joblib, + doc=""" If the filesystem is used for caching, the cache will be stored in this directory. This directory can be copied and moved around if you want to reuse results *e.g.* on a another computer, but it must be in the same @@ -483,6 +497,19 @@ def always_zero(a, b): Configure the Redis database backend. These are the defaults in the provided ``redis.conf`` file.""") + WELCOME_OFF = Option(False, doc=""" + Specifies whether to suppress the welcome message when PyPhi is imported. + + Alternatively, you may suppress the message by setting the environment + variable ``PYPHI_WELCOME_OFF`` to any value in your shell: + + .. code-block:: bash + + export PYPHI_WELCOME_OFF='yes' + + The message will not print if either this option is ``True`` or the + environment variable is set.""") + LOG_FILE = Option('pyphi.log', on_change=configure_logging, doc=""" Controls the name of the log file.""") @@ -506,7 +533,7 @@ def always_zero(a, b): If you are iterating over many systems rather than doing one long-running calculation, consider disabling this for speed.""") - PRECISION = Option(6, doc=""" + PRECISION = Option(6, on_change=configure_precision, doc=""" If ``MEASURE`` is ``EMD``, then the Earth Mover's Distance is calculated with an external C++ library that a numerical optimizer to find a good approximation. Consequently, systems with analytically zero |big_phi| will @@ -560,8 +587,8 @@ def always_zero(a, b): If set to ``'TRI'``, partitions will have three parts. In addition, computations will only consider partitions that strictly partition the - mechanism the mechanism. That is, for the mechanism ``(A, B)`` and purview - ``(B, C, D)`` the partition:: + mechanism. That is, for the mechanism ``(A, B)`` and purview ``(B, C, D)`` + the partition:: A,B ∅ ─── ✕ ─── @@ -587,11 +614,33 @@ def always_zero(a, b): where the mechanism in the third part is always empty. - In addition, in the case of a |small_phi|-tie when computing a |MIC| or - |MIE|, The ``'TRIPARTITION'`` setting choses the MIP with smallest purview - instead of the largest (which is the default). + Finally, if set to ``'ALL'``, all possible partitions will be tested. + + You can experiment with custom partitioning strategies using the + ``pyphi.partition.partition_types.register`` decorator. For example:: + + from pyphi.models import KPartition, Part + from pyphi.partition import partition_types + + @partition_types.register('SINGLE_NODE') + def single_node_partitions(mechanism, purview, node_labels=None): + for element in mechanism: + element = tuple([element]) + others = tuple(sorted(set(mechanism) - set(element))) + + part1 = Part(mechanism=element, purview=()) + part2 = Part(mechanism=others, purview=purview) + + yield KPartition(part1, part2, node_labels=node_labels) + + This generates the set of partitions that cut connections between a single + mechanism element and the entire purview. The mechanism and purview of each + |Part| remain undivided - only connections *between* parts are severed. + + You can use this new partititioning scheme by setting + ``config.PARTITION_TYPE = 'SINGLE_NODE'``. - Finally, if set to ``'ALL'``, all possible partitions will be tested.""") + See :mod:`~pyphi.partition` for more examples.""") PICK_SMALLEST_PURVIEW = Option(False, doc=""" When computing a |MIC| or |MIE|, it is possible for several MIPs to have @@ -617,8 +666,9 @@ def log(self): if self._loaded_files: log.info('Loaded configuration from %s', self._loaded_files) else: - log.info('Using default configuration (no config file provided)') - log.info('Current PyPhi configuration:\n %s', str(config)) + log.info('Using default configuration (no configuration file ' + 'provided)') + log.info('Current PyPhi configuration:\n %s', str(self)) PYPHI_CONFIG_FILENAME = 'pyphi_config.yml' diff --git a/pyphi/connectivity.py b/pyphi/connectivity.py index 6bfc43520..cf851b917 100644 --- a/pyphi/connectivity.py +++ b/pyphi/connectivity.py @@ -113,7 +113,7 @@ def inputs_to(nodes): sink_inputs = inputs_to(sinks) while True: - if np.all(sink_inputs == sources): + if np.array_equal(sink_inputs, sources): # sources exclusively connect to sinks. # There are no other nodes which connect sink nodes, # hence set(sources) + set(sinks) form a component @@ -126,7 +126,7 @@ def inputs_to(nodes): sink_inputs = inputs_to(sinks) # Considering all output nodes? - if np.all(sinks == outputs): + if np.array_equal(sinks, outputs): return False diff --git a/pyphi/constants.py b/pyphi/constants.py index c2a4e606e..c367a9cb2 100644 --- a/pyphi/constants.py +++ b/pyphi/constants.py @@ -8,12 +8,10 @@ import pickle -import joblib - -from . import config - #: The threshold below which we consider differences in phi values to be zero. -EPSILON = 10 ** - config.PRECISION +EPSILON = None +# NOTE: This is set dynamically by `conf.py` when PRECISION is changed; see +# `conf.py` for default value. #: Label for the filesystem cache backend. FILESYSTEM = 'fs' @@ -25,8 +23,9 @@ PICKLE_PROTOCOL = pickle.HIGHEST_PROTOCOL #: The joblib ``Memory`` object for persistent caching without a database. -joblib_memory = joblib.Memory(cachedir=config.FS_CACHE_DIRECTORY, - verbose=config.FS_CACHE_VERBOSITY) +joblib_memory = None +# NOTE: This is set dynamically by `conf.py` when PRECISION is changed; see +# `conf.py` for default value. #: Node states OFF = (0,) diff --git a/pyphi/distance.py b/pyphi/distance.py index d18b7ddeb..7a5057d63 100644 --- a/pyphi/distance.py +++ b/pyphi/distance.py @@ -230,10 +230,11 @@ def mp2q(p, q): return sum(entropy_dist * np.nan_to_num((p ** 2) / q * np.log(p / q))) -@measures.register('BLD', asymmetric=True) +@measures.register('KLM', asymmetric=True) +@measures.register('BLD', asymmetric=True) # Backwards-compatible alias @np_suppress() -def bld(p, q): - """Compute the Buzz Lightyear (Billy-Leo) Divergence.""" +def klm(p, q): + """Compute the KLM divergence.""" p, q = flatten(p), flatten(q) return max(abs(p * np.nan_to_num(np.log(p / q)))) diff --git a/pyphi/distribution.py b/pyphi/distribution.py index 31b8b4b97..6d9466192 100644 --- a/pyphi/distribution.py +++ b/pyphi/distribution.py @@ -52,7 +52,7 @@ def marginal_zero(repertoire, node_index): index = [slice(None)] * repertoire.ndim index[node_index] = 0 - return repertoire[index].sum() + return repertoire[tuple(index)].sum() def marginal(repertoire, node_index): diff --git a/pyphi/examples.py b/pyphi/examples.py index b4909b64e..00faae33d 100644 --- a/pyphi/examples.py +++ b/pyphi/examples.py @@ -1102,10 +1102,10 @@ def disjunction_conjunction_network(): [0, 0, 0, 1] ]) cm = np.array([ - [0, 0, 0, 0], [0, 0, 0, 1], [0, 0, 0, 1], - [0, 0, 0, 1] + [0, 0, 0, 1], + [0, 0, 0, 0] ]) return Network(tpm, cm, node_labels=LABELS[:tpm.shape[1]]) diff --git a/pyphi/labels.py b/pyphi/labels.py index 800be2a6a..14400aef8 100644 --- a/pyphi/labels.py +++ b/pyphi/labels.py @@ -22,7 +22,7 @@ def default_labels(indices): return tuple(default_label(i) for i in indices) -class NodeLabels(collections.abc.Sequence): +class NodeLabels(collections.Sequence): '''Text labels for nodes in a network. Labels can either be instantiated as a tuple of strings: diff --git a/pyphi/models/cuts.py b/pyphi/models/cuts.py index 95cccd44d..7c461f9c6 100644 --- a/pyphi/models/cuts.py +++ b/pyphi/models/cuts.py @@ -266,7 +266,7 @@ def to_json(self): return {'mechanism': self.mechanism, 'purview': self.purview} -class KPartition(collections.abc.Sequence): +class KPartition(collections.Sequence): """A partition with an arbitrary number of parts.""" __slots__ = ['parts', 'node_labels'] diff --git a/pyphi/models/mechanism.py b/pyphi/models/mechanism.py index 54343c4ca..3410b4c36 100644 --- a/pyphi/models/mechanism.py +++ b/pyphi/models/mechanism.py @@ -448,7 +448,7 @@ def emd_eq(self, other): self.mechanism == other.mechanism and self.eq_repertoires(other)) - # TODO: remove + # These methods are used by phiserver # TODO Rename to expanded_cause_repertoire, etc def expand_cause_repertoire(self, new_purview=None): """See |Subsystem.expand_repertoire()|.""" @@ -472,31 +472,12 @@ def expand_partitioned_effect_repertoire(self): def to_json(self): """Return a JSON-serializable representation.""" - dct = { + return { attr: getattr(self, attr) for attr in _concept_attributes + ['time'] } - # These flattened, little-endian repertoires are passed to `vphi` via - # `phiserver`. - dct.update({ - 'expanded_cause_repertoire': distribution.flatten( - self.expand_cause_repertoire()), - 'expanded_effect_repertoire': distribution.flatten( - self.expand_effect_repertoire()), - 'expanded_partitioned_cause_repertoire': distribution.flatten( - self.expand_partitioned_cause_repertoire()), - 'expanded_partitioned_effect_repertoire': distribution.flatten( - self.expand_partitioned_effect_repertoire()), - }) - return dct @classmethod def from_json(cls, dct): - # Remove extra attributes del dct['phi'] - del dct['expanded_cause_repertoire'] - del dct['expanded_effect_repertoire'] - del dct['expanded_partitioned_cause_repertoire'] - del dct['expanded_partitioned_effect_repertoire'] - return cls(**dct) diff --git a/pyphi/network.py b/pyphi/network.py index 8e43eeda9..14df335ef 100644 --- a/pyphi/network.py +++ b/pyphi/network.py @@ -9,7 +9,7 @@ import numpy as np -from . import cache, connectivity, convert, jsonify, utils, validate +from . import cache, connectivity, convert, jsonify, utils, validate, config from .labels import NodeLabels from .tpm import is_state_by_state @@ -80,7 +80,7 @@ def _build_tpm(tpm): """ tpm = np.array(tpm) - validate.tpm(tpm) + validate.tpm(tpm, check_independence=config.VALIDATE_CONDITIONAL_INDEPENDENCE) # Convert to multidimensional state-by-node form if is_state_by_state(tpm): diff --git a/pyphi/node.py b/pyphi/node.py index 497c88cc1..1c723a48b 100644 --- a/pyphi/node.py +++ b/pyphi/node.py @@ -30,11 +30,16 @@ class Node: node_labels (|NodeLabels|): Labels for these nodes. Attributes: - tpm (np.ndarray): The node TPM is a 2^(n_inputs)-by-2 matrix, where - node.tpm[i][j] gives the marginal probability that the node is in - state j at t+1 if the state of its inputs is i at t. If the node is - a single element with a cut selfloop, (i.e. it has no inputs), the - tpm is simply its unconstrained effect repertoire. + tpm (np.ndarray): The node TPM is an array with shape ``(2,)*(n + 1)``, + where ``n`` is the size of the |Network|. The first ``n`` + dimensions correspond to each node in the system. Dimensions + corresponding to nodes that provide input to this node are of size + 2, while those that do not correspond to inputs are of size 1, so + that the TPM has |2^m x 2| elements where |m| is the number of + inputs. The last dimension corresponds to the state of the node in + the next timestep, so that ``node.tpm[..., 0]`` gives probabilities + that the node will be 'OFF' and ``node.tpm[..., 1]`` gives + probabilities that the node will be 'ON'. """ def __init__(self, tpm, cm, index, state, node_labels): diff --git a/pyphi/partition.py b/pyphi/partition.py index 97f327bde..c76e85abe 100644 --- a/pyphi/partition.py +++ b/pyphi/partition.py @@ -15,7 +15,7 @@ # From stackoverflow.com/questions/19368375/set-partitions-in-python -def partitions(collection): # pylint: disable=inconsistent-return-statements +def partitions(collection): """Generate all set partitions of a collection. Example: @@ -30,7 +30,8 @@ def partitions(collection): # pylint: disable=inconsistent-return-statements # Special cases if not collection: - return [] + return + if len(collection) == 1: yield [collection] return @@ -362,7 +363,7 @@ class PartitionRegistry(Registry): Users can define custom partitions: Examples: - >>> @partition_registry.register('NONE') # doctest: +SKIP + >>> @partition_types.register('NONE') # doctest: +SKIP ... def no_partitions(mechanism, purview): ... return [] @@ -371,18 +372,18 @@ class PartitionRegistry(Registry): desc = 'partitions' -partition_registry = PartitionRegistry() +partition_types = PartitionRegistry() def mip_partitions(mechanism, purview, node_labels=None): """Return a generator over all mechanism-purview partitions, based on the current configuration. """ - func = partition_registry[config.PARTITION_TYPE] + func = partition_types[config.PARTITION_TYPE] return func(mechanism, purview, node_labels) -@partition_registry.register('BI') +@partition_types.register('BI') def mip_bipartitions(mechanism, purview, node_labels=None): r"""Return an generator of all |small_phi| bipartitions of a mechanism over a purview. @@ -438,7 +439,7 @@ def mip_bipartitions(mechanism, purview, node_labels=None): node_labels=node_labels) -@partition_registry.register('TRI') +@partition_types.register('TRI') def wedge_partitions(mechanism, purview, node_labels=None): """Return an iterator over all wedge partitions. @@ -510,7 +511,7 @@ def compressible(tripart): yield tripart -@partition_registry.register('ALL') +@partition_types.register('ALL') def all_partitions(mechanism, purview, node_labels=None): """Return all possible partitions of a mechanism and purview. diff --git a/pyphi/registry.py b/pyphi/registry.py index 8bfab5cf8..94dda74b8 100644 --- a/pyphi/registry.py +++ b/pyphi/registry.py @@ -6,10 +6,10 @@ A function registry for storing custom measures and partition strategies. """ -from collections.abc import Mapping +import collections -class Registry(Mapping): +class Registry(collections.Mapping): """Generic registry for user-supplied functions. See ``pyphi.subsystem.PartitionRegistry`` and diff --git a/pyphi/tpm.py b/pyphi/tpm.py index cc1887035..e2ca244ce 100644 --- a/pyphi/tpm.py +++ b/pyphi/tpm.py @@ -43,7 +43,7 @@ def condition_tpm(tpm, fixed_nodes, state): conditioning_indices = list(chain.from_iterable(conditioning_indices)) # Obtain the actual conditioned TPM by indexing with the conditioning # indices. - return tpm[conditioning_indices] + return tpm[tuple(conditioning_indices)] def expand_tpm(tpm): @@ -111,3 +111,26 @@ def infer_cm(tpm): for a, b in np.ndindex(cm.shape): cm[a][b] = infer_edge(tpm, a, b, all_contexts) return cm + + +def reconstitute_tpm(subsystem): + """Reconstitute the TPM of a subsystem using the individual node TPMs.""" + # The last axis of the node TPMs correponds to ON or OFF probabilities + # (used in the conditioning step when calculating the repertoires); we want + # ON probabilities. + node_tpms = [node.tpm[..., 1] for node in subsystem.nodes] + # Remove the singleton dimensions corresponding to external nodes + node_tpms = [ + tpm.squeeze(axis=subsystem.external_indices) + for tpm in node_tpms + ] + # We add a new singleton axis at the end so that we can use + # pyphi.tpm.expand_tpm, which expects a state-by-node TPM (where the last + # axis corresponds to nodes.) + node_tpms = [np.expand_dims(tpm, -1) for tpm in node_tpms] + # Now we expand the node TPMs to the full state space, so we can combine + # them all (this uses the maximum entropy distribution). + node_tpms = list(map(expand_tpm, node_tpms)) + # We concatenate the node TPMs along a new axis to get a multidimensional + # state-by-node TPM (where the last axis corresponds to nodes). + return np.concatenate(node_tpms, axis=-1) diff --git a/pyphi/utils.py b/pyphi/utils.py index ba1faa4a6..c6bffbabc 100644 --- a/pyphi/utils.py +++ b/pyphi/utils.py @@ -14,7 +14,7 @@ import decorator import numpy as np -from scipy.misc import comb +from scipy.special import comb from . import config, constants @@ -198,7 +198,7 @@ def load_data(directory, num): def get_path(i): # pylint: disable=missing-docstring return os.path.join(root, 'data', directory, str(i) + '.npy') - return [np.load(get_path(i)) for i in range(num)] + return [np.load(get_path(i), allow_pickle=True) for i in range(num)] # Using ``decorator`` preserves the function signature of the wrapped function, diff --git a/pyphi/validate.py b/pyphi/validate.py index ee4432e56..2424d67c4 100644 --- a/pyphi/validate.py +++ b/pyphi/validate.py @@ -9,7 +9,6 @@ import numpy as np from . import Direction, config, convert, exceptions -from .constants import EPSILON from .tpm import is_state_by_state # pylint: disable=redefined-outer-name @@ -73,8 +72,6 @@ def tpm(tpm, check_independence=True): def conditionally_independent(tpm): """Validate that the TPM is conditionally independent.""" - if not config.VALIDATE_CONDITIONAL_INDEPENDENCE: - return True tpm = np.array(tpm) if is_state_by_state(tpm): there_and_back_again = convert.state_by_node2state_by_state( @@ -82,7 +79,7 @@ def conditionally_independent(tpm): else: there_and_back_again = convert.state_by_state2state_by_node( convert.state_by_node2state_by_state(tpm)) - if np.any((tpm - there_and_back_again) >= EPSILON): + if not np.allclose((tpm - there_and_back_again), 0.0): raise exceptions.ConditionallyDependentError( 'TPM is not conditionally independent.\n' 'See the conditional independence example in the documentation ' diff --git a/pyphi_config.yml b/pyphi_config.yml index 94d2ce98c..654086c34 100644 --- a/pyphi_config.yml +++ b/pyphi_config.yml @@ -96,6 +96,8 @@ REDIS_CONFIG: # Logging # ~~~~~~~ +# Whether to suppress the welcome message. +WELCOME_OFF: false # The log level to write to stdout. LOG_STDOUT_LEVEL: "WARNING" # The log level to write to `LOG_FILE`. diff --git a/pytest.ini b/pytest.ini index ac6dfd065..d850a04c2 100644 --- a/pytest.ini +++ b/pytest.ini @@ -1,3 +1,6 @@ [pytest] addopts = --maxfail=1 --durations=5 --color=yes --tb=auto --doctest-glob='*.rst' --doctest-modules --ignore ./profiling --ignore ./benchmarks -vv norecursedirs = docs/_* +markers = + slow: marks tests as slow (deselect with '-m "not slow"') + veryslow: marks tests as very slow (deselect with '-m "not veryslow"') diff --git a/setup.py b/setup.py index ffe68631e..c33641849 100644 --- a/setup.py +++ b/setup.py @@ -20,7 +20,7 @@ 'psutil >=2.1.1', 'pyemd >=0.3.0', 'pymongo >=2.7.1', - 'pyyaml >=3.11', + 'pyyaml >=3.13', 'redis >=2.10.5', 'scipy >=0.13.3', 'tblib >=1.3.2', @@ -52,6 +52,7 @@ 'Programming Language :: Python :: 3.4', 'Programming Language :: Python :: 3.5', 'Programming Language :: Python :: 3.6', + 'Programming Language :: Python :: 3.7', 'Topic :: Scientific/Engineering', ], project_urls={ @@ -59,7 +60,6 @@ 'Documentation': 'https://pyphi.readthedocs.io', 'IIT Website': 'http://integratedinformationtheory.org/', 'Online Interface': 'http://integratedinformationtheory.org/calculate.html', - 'Source': 'https://github.com/wmayner/pyphi', 'User Group': 'https://groups.google.com/forum/#!forum/pyphi-users' } ) diff --git a/test/example_networks.py b/test/example_networks.py index 645a8fc39..e1a4fa390 100644 --- a/test/example_networks.py +++ b/test/example_networks.py @@ -12,8 +12,6 @@ # TODO pass just the subsystem (contains a reference to the network) -use_connectivity_matrices = True - standard = pyphi.examples.basic_network s = pyphi.examples.basic_subsystem s_state = pyphi.examples.basic_state() @@ -44,7 +42,7 @@ def s_complete(): return Subsystem(net, s_state, range(net.size)) -def noised(cm=False): +def noised(): tpm = np.array([ [0.0, 0.0, 0.0], [0.0, 0.0, 0.8], @@ -55,13 +53,11 @@ def noised(cm=False): [1.0, 1.0, 0.3], [0.1, 1.0, 0.0] ]) - if cm is False: - cm = np.array([ - [1, 1, 1], - [1, 1, 1], - [1, 1, 1] - ]) - cm = cm if use_connectivity_matrices else None + cm = np.array([ + [1, 1, 1], + [1, 1, 1], + [1, 1, 1] + ]) return Network(tpm, cm=cm) @@ -71,12 +67,6 @@ def s_noised(): return Subsystem(n, state, range(n.size)) -def s_noised_complete(): - n = noised(cm=None) - state = (1, 0, 0) - return Subsystem(n, state, range(n.size)) - - def noisy_selfloop_single(): net = pyphi.examples.basic_noisy_selfloop_network() state = (1, 0, 0) diff --git a/test/test_actual.py b/test/test_actual.py index 91ec18e19..de1ca181e 100644 --- a/test/test_actual.py +++ b/test/test_actual.py @@ -50,7 +50,7 @@ def prevention(): # Testing background conditions -# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @pytest.fixture def background_all_on(): @@ -85,13 +85,13 @@ def background_all_off(): @pytest.mark.parametrize('transition,direction,mechanism,purview,ratio', [ - (background_all_off, Direction.EFFECT, (0,), (1,), 1), - (background_all_off, Direction.CAUSE, (1,), (0,), 1), - (background_all_on, Direction.EFFECT, (0,), (1,), 0), - (background_all_on, Direction.CAUSE, (1,), (0,), 0)]) + (pytest.lazy_fixture('background_all_off'), Direction.EFFECT, (0,), (1,), 1), + (pytest.lazy_fixture('background_all_off'), Direction.CAUSE, (1,), (0,), 1), + (pytest.lazy_fixture('background_all_on'), Direction.EFFECT, (0,), (1,), 0), + (pytest.lazy_fixture('background_all_on'), Direction.CAUSE, (1,), (0,), 0)]) def test_background_conditions(transition, direction, mechanism, purview, ratio): - assert transition()._ratio(direction, mechanism, purview) == ratio + assert transition._ratio(direction, mechanism, purview) == ratio def test_background_noised(): diff --git a/test/test_big_phi.py b/test/test_big_phi.py index 855a98e67..ac821ed24 100644 --- a/test/test_big_phi.py +++ b/test/test_big_phi.py @@ -395,8 +395,8 @@ def test_sia_complete_graph_standard_example(s_complete): check_sia(sia, standard_answer) -def test_sia_complete_graph_s_noised(s_noised_complete): - sia = compute.sia(s_noised_complete) +def test_sia_complete_graph_s_noised(s_noised): + sia = compute.sia(s_noised) check_sia(sia, noised_answer) @@ -480,7 +480,6 @@ def test_rule152_complexes_no_caching(rule152): assert major.cut == result['cut'] -@pytest.mark.dev def test_sia_macro(macro_s): sia = compute.sia(macro_s) check_sia(sia, macro_answer) diff --git a/test/test_cache.py b/test/test_cache.py index 3b6e42c24..69f9a4740 100644 --- a/test/test_cache.py +++ b/test/test_cache.py @@ -127,11 +127,11 @@ def all_caches(test_func): Any decorated test must add a `redis_cache` argument. """ @pytest.mark.parametrize("redis_cache,", [ - require_redis((True,)), - (False,), + pytest.param(True, marks=require_redis), + pytest.param(False) ]) def wrapper(redis_cache, *args, **kwargs): - with config.override(REDIS_CACHE=redis_cache[0]): + with config.override(REDIS_CACHE=redis_cache): return test_func(redis_cache, *args, **kwargs) return functools.wraps(test_func)(wrapper) diff --git a/test/test_config.py b/test/test_config.py index 58717ae83..30f96fbe7 100644 --- a/test/test_config.py +++ b/test/test_config.py @@ -4,10 +4,12 @@ import logging import os +from pathlib import Path +import shutil import pytest -from pyphi import config +from pyphi import config, constants from pyphi.conf import Config, Option @@ -148,6 +150,40 @@ def test_reconfigure_logging_on_change(capsys): assert err == '' +def test_reconfigure_precision_on_change(): + with config.override(PRECISION=100): + assert constants.EPSILON == 1e-100 + + with config.override(PRECISION=3): + assert constants.EPSILON == 1e-3 + + with config.override(PRECISION=123): + assert constants.EPSILON == 1e-123 + + +def test_reconfigure_joblib_on_change(capsys): + cachedir = './__testing123__' + try: + with config.override(FS_CACHE_DIRECTORY=cachedir): + assert constants.joblib_memory.location == cachedir + assert Path(cachedir).exists() + finally: + shutil.rmtree(cachedir) + + def f(x): + return x + 1 + + with config.override(FS_CACHE_VERBOSITY=0): + constants.joblib_memory.cache(f)(42) + out, err = capsys.readouterr() + assert len(out) == 0 + + with config.override(FS_CACHE_VERBOSITY=100): + constants.joblib_memory.cache(f)(42) + out, err = capsys.readouterr() + assert len(out) > 0 + + @config.override() @pytest.mark.parametrize('name,valid,invalid', [ ('SYSTEM_CUTS', ['3.0_STYLE', 'CONCEPT_STYLE'], ['OTHER']), diff --git a/test/test_distance.py b/test/test_distance.py index b4debc716..ffc961f53 100644 --- a/test/test_distance.py +++ b/test/test_distance.py @@ -81,14 +81,14 @@ def test_mp2q(): assert distance.mp2q(a, b) == 2.7725887222397811 -def test_bld(): +def test_klm(): a = np.ones((2, 2, 2)) / 8 b = np.ones((2, 2, 2)) / 8 - assert distance.bld(a, b) == 0 + assert distance.klm(a, b) == 0 a = np.array([[[1]], [[0]]]) b = np.array([[[0.25]], [[0.75]]]) - assert distance.bld(a, b) == 1.3862943611198906 + assert distance.klm(a, b) == 1.3862943611198906 def test_default_measures(): @@ -99,11 +99,16 @@ def test_default_measures(): 'ENTROPY_DIFFERENCE', 'PSQ2', 'MP2Q', + 'KLM', 'BLD']) def test_default_asymmetric_measures(): - assert set(distance.measures.asymmetric()) == set(['KLD', 'MP2Q', 'BLD']) + assert set(distance.measures.asymmetric()) == set([ + 'KLD', + 'MP2Q', + 'KLM', + 'BLD']) def test_system_repertoire_distance_must_be_symmetric(): diff --git a/test/test_models.py b/test/test_models.py index 3d6a4b823..db04ba09d 100644 --- a/test/test_models.py +++ b/test/test_models.py @@ -742,26 +742,27 @@ def test_tripartion_str(tripartition): 'A,E B C ') -@pytest.fixture def k_partition(node_labels=None): return models.KPartition( models.Part((0,), (0, 4)), models.Part((), (1,)), models.Part((6,), (5,)), models.Part((2,), (2,)), - node_labels=node_labels) + node_labels=node_labels + ) -def test_partition_normalize(k_partition): - assert k_partition.normalize() == models.KPartition( +def test_partition_normalize(): + assert k_partition().normalize() == models.KPartition( models.Part((), (1,)), models.Part((0,), (0, 4)), models.Part((2,), (2,)), - models.Part((6,), (5,))) + models.Part((6,), (5,)) + ) -def test_partition_normalize_preserves_labels(): - k = k_partition(node_labels=node_labels()) +def test_partition_normalize_preserves_labels(node_labels): + k = k_partition(node_labels=node_labels) assert k.normalize().node_labels == k.node_labels diff --git a/test/test_network.py b/test/test_network.py index 6510ad3bc..08cdd67ba 100644 --- a/test/test_network.py +++ b/test/test_network.py @@ -5,7 +5,7 @@ import numpy as np import pytest -from pyphi import Direction +from pyphi import Direction, config, exceptions from pyphi.network import Network @@ -26,6 +26,19 @@ def test_network_init_validation(network): tpm = np.ones((4, 4, 4, 3)).astype(float) Network(tpm) + # Conditionally dependent + tpm = np.array([ + [1, 0.0, 0.0, 0], + [0, 0.5, 0.5, 0], + [0, 0.5, 0.5, 0], + [0, 0.0, 0.0, 1], + ]) + with config.override(VALIDATE_CONDITIONAL_INDEPENDENCE=False): + Network(tpm) + with config.override(VALIDATE_CONDITIONAL_INDEPENDENCE=True): + with pytest.raises(exceptions.ConditionallyDependentError): + Network(tpm) + def test_network_creates_fully_connected_cm_by_default(): tpm = np.zeros((2 * 2 * 2, 3)) diff --git a/test/test_partition.py b/test/test_partition.py index c0f183842..b34c4c5c7 100644 --- a/test/test_partition.py +++ b/test/test_partition.py @@ -9,7 +9,7 @@ from pyphi import Direction, config from pyphi.partition import (directed_bipartition, directed_tripartition_indices, k_partitions, - partitions, partition_registry, mip_bipartitions, + partitions, partition_types, mip_bipartitions, wedge_partitions, all_partitions) from pyphi.models import Part, KPartition, Bipartition, Tripartition @@ -289,8 +289,8 @@ def test_all_partitions(): KPartition(Part((0,), (2,)), Part((1,), (3,)), Part((), ()))]) -def test_partition_registry(): - assert partition_registry['BI'] == mip_bipartitions - assert partition_registry['TRI'] == wedge_partitions - assert partition_registry['ALL'] == all_partitions - assert set(partition_registry.all()) == set(['BI', 'TRI', 'ALL']) +def test_partition_types(): + assert partition_types['BI'] == mip_bipartitions + assert partition_types['TRI'] == wedge_partitions + assert partition_types['ALL'] == all_partitions + assert set(partition_types.all()) == set(['BI', 'TRI', 'ALL']) diff --git a/test/test_tpm.py b/test/test_tpm.py index 0b85bba24..ae425e285 100644 --- a/test/test_tpm.py +++ b/test/test_tpm.py @@ -4,7 +4,11 @@ import numpy as np -from pyphi.tpm import expand_tpm, infer_cm, is_state_by_state, marginalize_out +from pyphi import Subsystem +from pyphi.tpm import ( + expand_tpm, infer_cm, is_state_by_state, marginalize_out, + reconstitute_tpm +) def test_is_state_by_state(): @@ -48,3 +52,31 @@ def test_marginalize_out(s): def test_infer_cm(rule152): assert np.array_equal(infer_cm(rule152.tpm), rule152.cm) + +def test_reconstitute_tpm(standard, s_complete, rule152, noised): + # Check subsystem and network TPM are the same when the subsystem is the + # whole network + assert np.array_equal(reconstitute_tpm(s_complete), standard.tpm) + + # Regression tests + answer = np.array([ + [[[0., 0., 0.], + [0., 0., 0.]], + [[0., 0., 1.], + [0., 1., 0.]]], + [[[0., 1., 0.], + [0., 0., 0.]], + [[1., 0., 1.], + [1., 1., 0.]]] + ]) + subsystem = Subsystem(rule152, (0,)*5, (0, 1, 2)) + assert np.array_equal(answer, reconstitute_tpm(subsystem)) + + subsystem = Subsystem(noised, (0, 0, 0), (0, 1)) + answer = np.array([ + [[0. , 0. ], + [0.7, 0. ]], + [[0. , 0. ], + [1. , 0. ]] + ]) + assert np.array_equal(answer, reconstitute_tpm(subsystem)) \ No newline at end of file diff --git a/test/test_validate.py b/test/test_validate.py index 85e4b038e..43c466493 100644 --- a/test/test_validate.py +++ b/test/test_validate.py @@ -39,11 +39,9 @@ def test_validate_tpm_conditional_independence(): [0, 0.5, 0.5, 0], [0, 0.0, 0.0, 1], ]) - with pytest.raises(ValueError): - validate.conditionally_independent(tpm) - with config.override(VALIDATE_CONDITIONAL_INDEPENDENCE=False): + with pytest.raises(exceptions.ConditionallyDependentError): validate.conditionally_independent(tpm) - with pytest.raises(ValueError): + with pytest.raises(exceptions.ConditionallyDependentError): validate.tpm(tpm) validate.tpm(tpm, check_independence=False) diff --git a/test_requirements.txt b/test_requirements.txt index 5b741eb5c..beb9d72c4 100644 --- a/test_requirements.txt +++ b/test_requirements.txt @@ -1,5 +1,6 @@ numpy >=1.1.4 -pytest +pytest >=3.1.0 +pytest-lazy-fixture coverage asv virtualenv diff --git a/tox.ini b/tox.ini index ef78a9dd0..18a0c1fae 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,5 @@ [tox] -envlist = py{34,35,36} +envlist = py{34,35,36,37} [testenv] deps = -r{toxinidir}/requirements.txt