diff --git a/.gitignore b/.gitignore
index bd3656f3..7185af01 100644
--- a/.gitignore
+++ b/.gitignore
@@ -15,6 +15,8 @@
*-bak.cpp
*tmp.*
+
+.ipynb_checkpoints
.DS_Store
a.out
a.out.js
@@ -28,3 +30,8 @@ doc/_build/
package-lock.json
node_modules/
coverage_include/
+
+demos/*/*.csv
+
+binder/results/changing-enviroment/teeplots/*
+*/.ipynb_checkpoints/*
diff --git a/.gitmodules b/.gitmodules
index 12021593..eda7f68c 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -5,4 +5,10 @@
[submodule "third-party/conduit"]
path = third-party/conduit
url = https://github.com/mmore500/conduit.git
+[submodule "demos/boolean-calculator/third-party/magic_enum"]
+ path = demos/boolean-calculator/third-party/magic_enum
+ url = https://github.com/Neargye/magic_enum.git
shallow = true
+[submodule "demos/boolean-calculator/third-party/backward-cpp"]
+ path = demos/boolean-calculator/third-party/backward-cpp
+ url = https://github.com/bombela/backward-cpp.git
diff --git a/Dockerfile b/Dockerfile
index f802d61a..6bc68f09 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -10,6 +10,11 @@ RUN \
apt-get install -y --allow-downgrades --no-install-recommends \
rename \
libdwarf-dev \
+ elfutils \
+ libelf-dev \
+ libdw-dev \
+ libomp5 \
+ libomp-dev \
&& \
apt-get clean \
&& \
diff --git a/Makefile b/Makefile
index 58cb92e9..a51c8347 100644
--- a/Makefile
+++ b/Makefile
@@ -80,7 +80,10 @@ tests:
coverage:
$(MAKE) coverage -C tests/
+demos:
+ cd demos && make opt
+
install-test-dependencies:
git submodule update --init && cd third-party && bash ./install_emsdk.sh && bash ./install_force_cover.sh
-.PHONY: tests clean test serve debug native web tests install-test-dependencies documentation-coverage documentation-coverage-badge.json version-badge.json doto-badge.json
+.PHONY: tests clean test demos serve debug native web tests install-test-dependencies documentation-coverage documentation-coverage-badge.json version-badge.json doto-badge.json
diff --git a/README.md b/README.md
index b48f8f05..d9141952 100644
--- a/README.md
+++ b/README.md
@@ -7,8 +7,11 @@
[![Documentation Status](https://readthedocs.org/projects/signalgp-lite/badge/?version=latest)](https://signalgp-lite.readthedocs.io/en/latest/?badge=latest)
[![documentation coverage](https://img.shields.io/endpoint?url=https%3A%2F%2Fmmore500.github.io%2Fsignalgp-lite%2Fdocumentation-coverage-badge.json)](https://signalgp-lite.readthedocs.io/en/latest/)
[![code coverage status](https://codecov.io/gh/mmore500/signalgp-lite/branch/master/graph/badge.svg)](https://codecov.io/gh/mmore500/signalgp-lite)
+[![DockerHub](https://img.shields.io/badge/DockerHub-Hosted-blue)](https://hub.docker.com/r/mmore500/signalgp-lite)
[![dotos](https://img.shields.io/endpoint?url=https%3A%2F%2Fmmore500.com%2Fsignalgp-lite%2Fdoto-badge.json)](https://github.com/mmore500/signalgp-lite/search?q=todo+OR+fixme&type=)
[![GitHub stars](https://img.shields.io/github/stars/mmore500/signalgp-lite.svg?style=flat-square&logo=github&label=Stars&logoColor=white)](https://github.com/mmore500/signalgp-lite)
+[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/mmore500/signalgp-lite/binder?filepath=binder%2Findex.ipynb)
+
diff --git a/binder/README.md b/binder/README.md
new file mode 100644
index 00000000..61406f67
--- /dev/null
+++ b/binder/README.md
@@ -0,0 +1,2 @@
+Jupyter notebooks used for data analysis.
+You can run all notebooks in this directory in your web browser [via BinderHub](https://mybinder.org/v2/gh/mmore500/dishtiny/binder?filepath=binder).
diff --git a/binder/clear_notebooks.sh b/binder/clear_notebooks.sh
new file mode 100755
index 00000000..6884fe1c
--- /dev/null
+++ b/binder/clear_notebooks.sh
@@ -0,0 +1,62 @@
+#!/bin/bash
+
+################################################################################
+echo
+echo "running clear_notebooks.sh"
+echo "---------------------------------------------"
+################################################################################
+
+# fail on error
+set -e
+
+################################################################################
+echo
+echo "other initialization"
+echo "--------------------"
+################################################################################
+
+[[ -f ~/.secrets.sh ]] && source ~/.secrets.sh || echo "~/secrets.sh not found"
+
+# adapted from https://stackoverflow.com/a/24114056
+script_dir="$(dirname -- "$BASH_SOURCE")"
+echo "script_dir ${script_dir}"
+
+################################################################################
+echo
+echo "clear notebooks in current directory"
+echo "--------------------------------------"
+################################################################################
+
+shopt -s nullglob
+
+for notebook in "${script_dir}/"*.ipynb; do
+ jupyter nbconvert \
+ --ClearOutputPreprocessor.enabled=True \
+ --clear-output \
+ --inplace \
+ "${notebook}"
+ # remove empty cells
+ nb-clean clean --remove-empty-cells "${notebook}"
+ # strip trailing whitespace
+ sed -i 's/\s*\\n",$/\\n",/g' "${notebook}"
+ sed -i 's/\s*"$/"/g' "${notebook}"
+ # strip id fields
+ # adapted from https://stackoverflow.com/a/68037340
+ sed -i '/^ *"id": "[a-z0-9]\+",$/d' "${notebook}"
+done
+
+shopt -u nullglob
+
+################################################################################
+echo
+echo "recurse to subdirectories"
+echo "-------------------------"
+################################################################################
+
+shopt -s nullglob
+
+for script in "${script_dir}/"*/clear_notebooks.sh; do
+ "${script}"
+done
+
+shopt -u nullglob
diff --git a/binder/clear_outplots.sh b/binder/clear_outplots.sh
new file mode 100755
index 00000000..ee428761
--- /dev/null
+++ b/binder/clear_outplots.sh
@@ -0,0 +1,45 @@
+#!/bin/bash
+
+################################################################################
+echo
+echo "running clear_outplots.sh"
+echo "---------------------------------------------"
+################################################################################
+
+# fail on error
+set -e
+
+################################################################################
+echo
+echo "other initialization"
+echo "--------------------"
+################################################################################
+
+[[ -f ~/.secrets.sh ]] && source ~/.secrets.sh || echo "~/secrets.sh not found"
+
+# adapted from https://stackoverflow.com/a/24114056
+script_dir="$(dirname -- "$BASH_SOURCE")"
+echo "script_dir ${script_dir}"
+
+################################################################################
+echo
+echo "clear outplots in current directory"
+echo "-----------------------------------"
+################################################################################
+
+rm -rf "${script_dir}/outplots"
+rm -rf "${script_dir}/teeplots"
+
+################################################################################
+echo
+echo "recurse to subdirectories"
+echo "-------------------------"
+################################################################################
+
+shopt -s nullglob
+
+for script in "${script_dir}/"*/clear_outplots.sh; do
+ "${script}"
+done
+
+shopt -u nullglob
diff --git a/binder/execute_notebooks.sh b/binder/execute_notebooks.sh
new file mode 100755
index 00000000..07cb95ff
--- /dev/null
+++ b/binder/execute_notebooks.sh
@@ -0,0 +1,56 @@
+#!/bin/bash
+
+################################################################################
+echo
+echo "running execute_notebooks.sh"
+echo "---------------------------------------------"
+################################################################################
+
+# fail on error
+set -e
+
+################################################################################
+echo
+echo "other initialization"
+echo "--------------------"
+################################################################################
+
+[[ -f ~/.secrets.sh ]] && source ~/.secrets.sh || echo "~/secrets.sh not found"
+
+# adapted from https://stackoverflow.com/a/24114056
+script_dir="$(dirname -- "$BASH_SOURCE")"
+echo "script_dir ${script_dir}"
+
+################################################################################
+echo
+echo "execute notebooks in current directory"
+echo "--------------------------------------"
+################################################################################
+
+shopt -s nullglob
+
+for notebook in "${script_dir}/"*.ipynb; do
+ echo "notebook ${notebook}"
+ export NOTEBOOK_NAME="$(basename "${notebook%.*}")"
+ export NOTEBOOK_PATH="$(realpath "${notebook}")"
+ jupyter nbconvert \
+ --to notebook --execute --inplace \
+ --ExecutePreprocessor.timeout=600 \
+ "${notebook}"
+done
+
+shopt -u nullglob
+
+################################################################################
+echo
+echo "recurse to subdirectories"
+echo "-------------------------"
+################################################################################
+
+shopt -s nullglob
+
+for script in "${script_dir}/"*/execute_notebooks.sh; do
+ "${script}" "$@"
+done
+
+shopt -u nullglob
diff --git a/binder/requirements.txt b/binder/requirements.txt
new file mode 120000
index 00000000..320de70a
--- /dev/null
+++ b/binder/requirements.txt
@@ -0,0 +1 @@
+../third-party/requirements.txt
\ No newline at end of file
diff --git a/binder/results/changing-enviroment/86bf42/.ipynb_checkpoints/Untitled-checkpoint.ipynb b/binder/results/changing-enviroment/86bf42/.ipynb_checkpoints/Untitled-checkpoint.ipynb
new file mode 100644
index 00000000..6d27bc07
--- /dev/null
+++ b/binder/results/changing-enviroment/86bf42/.ipynb_checkpoints/Untitled-checkpoint.ipynb
@@ -0,0 +1,624 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "id": "cc6c395b",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import matplotlib.pyplot as plt\n",
+ "import numpy as np"
+ "import pandas as pd\n",
+ "import seaborn as sns\n",
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "id": "517936b6",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "df2 = pd.read_csv(\"K2/concat=100+replicate=1-100+ext=.csv\")\n",
+ "df2[\"k\"] = 2\n",
+ "df4 = pd.read_csv(\"K4/concat=100+replicate=1-100+ext=.csv\")\n",
+ "df4[\"k\"] = 4\n",
+ "df8 = pd.read_csv(\"K8/concat=100+replicate=1-100+ext=.csv\")\n",
+ "df8[\"k\"] = 8\n",
+ "df16 = pd.read_csv(\"K16/concat=98+replicate=1-99+ext=.csv\")\n",
+ "df16[\"k\"] = 16\n",
+ "\n",
+ "df = pd.concat([df2, df4, df8, df16])"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "id": "f24230c0",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " update | \n",
+ " mean_fitness | \n",
+ " min_fitness | \n",
+ " max_fitness | \n",
+ " inferiority | \n",
+ " replicate | \n",
+ " k | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 46.316 | \n",
+ " 0 | \n",
+ " 256 | \n",
+ " 0.180922 | \n",
+ " 100 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 45.954 | \n",
+ " 0 | \n",
+ " 256 | \n",
+ " 0.179508 | \n",
+ " 10 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " 2 | \n",
+ " 0 | \n",
+ " 47.909 | \n",
+ " 0 | \n",
+ " 256 | \n",
+ " 0.187145 | \n",
+ " 11 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " 3 | \n",
+ " 0 | \n",
+ " 47.056 | \n",
+ " 0 | \n",
+ " 256 | \n",
+ " 0.183812 | \n",
+ " 12 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " 4 | \n",
+ " 0 | \n",
+ " 47.067 | \n",
+ " 0 | \n",
+ " 256 | \n",
+ " 0.183855 | \n",
+ " 13 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " 114780 | \n",
+ " 746 | \n",
+ " 236.540 | \n",
+ " 22 | \n",
+ " 240 | \n",
+ " 0.985583 | \n",
+ " 9 | \n",
+ " 16 | \n",
+ "
\n",
+ " \n",
+ " 114781 | \n",
+ " 747 | \n",
+ " 236.052 | \n",
+ " 16 | \n",
+ " 240 | \n",
+ " 0.983550 | \n",
+ " 9 | \n",
+ " 16 | \n",
+ "
\n",
+ " \n",
+ " 114782 | \n",
+ " 748 | \n",
+ " 235.774 | \n",
+ " 19 | \n",
+ " 240 | \n",
+ " 0.982392 | \n",
+ " 9 | \n",
+ " 16 | \n",
+ "
\n",
+ " \n",
+ " 114783 | \n",
+ " 749 | \n",
+ " 236.171 | \n",
+ " 22 | \n",
+ " 240 | \n",
+ " 0.984046 | \n",
+ " 9 | \n",
+ " 16 | \n",
+ "
\n",
+ " \n",
+ " 114784 | \n",
+ " 750 | \n",
+ " 236.124 | \n",
+ " 16 | \n",
+ " 256 | \n",
+ " 0.922359 | \n",
+ " 9 | \n",
+ " 16 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
155282 rows × 7 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " update mean_fitness min_fitness max_fitness inferiority \\\n",
+ "0 0 46.316 0 256 0.180922 \n",
+ "1 0 45.954 0 256 0.179508 \n",
+ "2 0 47.909 0 256 0.187145 \n",
+ "3 0 47.056 0 256 0.183812 \n",
+ "4 0 47.067 0 256 0.183855 \n",
+ "... ... ... ... ... ... \n",
+ "114780 746 236.540 22 240 0.985583 \n",
+ "114781 747 236.052 16 240 0.983550 \n",
+ "114782 748 235.774 19 240 0.982392 \n",
+ "114783 749 236.171 22 240 0.984046 \n",
+ "114784 750 236.124 16 256 0.922359 \n",
+ "\n",
+ " replicate k \n",
+ "0 100 2 \n",
+ "1 10 2 \n",
+ "2 11 2 \n",
+ "3 12 2 \n",
+ "4 13 2 \n",
+ "... ... .. \n",
+ "114780 9 16 \n",
+ "114781 9 16 \n",
+ "114782 9 16 \n",
+ "114783 9 16 \n",
+ "114784 9 16 \n",
+ "\n",
+ "[155282 rows x 7 columns]"
+ ]
+ },
+ "execution_count": 3,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "id": "8f4e2eac",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " update | \n",
+ " mean_fitness | \n",
+ " min_fitness | \n",
+ " max_fitness | \n",
+ " inferiority | \n",
+ " replicate | \n",
+ " k | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 46.316 | \n",
+ " 0.0 | \n",
+ " 256 | \n",
+ " 0.180922 | \n",
+ " 100 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 45.954 | \n",
+ " 0.0 | \n",
+ " 256 | \n",
+ " 0.179508 | \n",
+ " 10 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " 2 | \n",
+ " 0 | \n",
+ " 47.909 | \n",
+ " 0.0 | \n",
+ " 256 | \n",
+ " 0.187145 | \n",
+ " 11 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " 3 | \n",
+ " 0 | \n",
+ " 47.056 | \n",
+ " 0.0 | \n",
+ " 256 | \n",
+ " 0.183812 | \n",
+ " 12 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " 4 | \n",
+ " 0 | \n",
+ " 47.067 | \n",
+ " 0.0 | \n",
+ " 256 | \n",
+ " 0.183855 | \n",
+ " 13 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " 3825111 | \n",
+ " 9995 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " 256 | \n",
+ " NaN | \n",
+ " 100 | \n",
+ " 8 | \n",
+ "
\n",
+ " \n",
+ " 3825112 | \n",
+ " 9996 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " 256 | \n",
+ " NaN | \n",
+ " 100 | \n",
+ " 8 | \n",
+ "
\n",
+ " \n",
+ " 3825113 | \n",
+ " 9997 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " 256 | \n",
+ " NaN | \n",
+ " 100 | \n",
+ " 8 | \n",
+ "
\n",
+ " \n",
+ " 3825114 | \n",
+ " 9998 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " 256 | \n",
+ " NaN | \n",
+ " 100 | \n",
+ " 8 | \n",
+ "
\n",
+ " \n",
+ " 3825115 | \n",
+ " 9999 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " 256 | \n",
+ " NaN | \n",
+ " 100 | \n",
+ " 8 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
3980398 rows × 7 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " update mean_fitness min_fitness max_fitness inferiority \\\n",
+ "0 0 46.316 0.0 256 0.180922 \n",
+ "1 0 45.954 0.0 256 0.179508 \n",
+ "2 0 47.909 0.0 256 0.187145 \n",
+ "3 0 47.056 0.0 256 0.183812 \n",
+ "4 0 47.067 0.0 256 0.183855 \n",
+ "... ... ... ... ... ... \n",
+ "3825111 9995 NaN NaN 256 NaN \n",
+ "3825112 9996 NaN NaN 256 NaN \n",
+ "3825113 9997 NaN NaN 256 NaN \n",
+ "3825114 9998 NaN NaN 256 NaN \n",
+ "3825115 9999 NaN NaN 256 NaN \n",
+ "\n",
+ " replicate k \n",
+ "0 100 2 \n",
+ "1 10 2 \n",
+ "2 11 2 \n",
+ "3 12 2 \n",
+ "4 13 2 \n",
+ "... ... .. \n",
+ "3825111 100 8 \n",
+ "3825112 100 8 \n",
+ "3825113 100 8 \n",
+ "3825114 100 8 \n",
+ "3825115 100 8 \n",
+ "\n",
+ "[3980398 rows x 7 columns]"
+ ]
+ },
+ "execution_count": 4,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "new_rows = []\n",
+ "for (replicate, k), filtered in df.groupby([\"replicate\", \"k\"]): \n",
+ " max_update = filtered[\"update\"].max()\n",
+ "\n",
+ " for update in range(max_update, 10000):\n",
+ " new_rows.append({\n",
+ " \"update\": update,\n",
+ " \"max_fitness\": 256,\n",
+ " \"replicate\": replicate,\n",
+ " \"k\": k\n",
+ " }) \n",
+ " \n",
+ "df = df.append(new_rows)\n",
+ "df"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 32,
+ "id": "3d18f4cd",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "5675"
+ ]
+ },
+ "execution_count": 32,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "data = df[np.log2(df[\"update\"]+1) % 1.0 < 0.0001]\n",
+ "len(data)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 33,
+ "id": "f3dc2b7e",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "