An attempt to reimplement the particle in a box experiment as described in Fig.2a of Wissner-Gross & Freer, 2013 and pages 2-3 and 10-11 of supplementary material.
The code in its current state cannot reproduce the experiment reliably. I am not sure why and would welcome any help!
Currently, the particle-in-a-box behaves as below and does not move towards the center of the plot.
The algorithm works first by generating many random-walk paths through the state-space -- here is a "light cone" plot of these random walks with time on the vertical axis.
I then perform PCA to reduce the dimensionality of the array formed from concatenating the states of the random walk through time, and then perform KDE (kernel density estimation) on these dimensionality-reduced random walks.
Then, I compute the probability density of each random walk and normalize them by their sum (ie a sum over samples) to produce volume fractions, which can then be used in the algorithm on page 11 of the supplementary material.
conda create --name entropica python=3.12
conda activate entropica
pip install notebook==7.2.2 ipython==8.29.0 numpy==2.1.2 matplotlib==3.9.2 scipy==1.14.1
A nice way to run the jupyter notebook from a remote server is using the command
nohup jupyter notebook --no-browser --ip 0.0.0.0 &
I highly recommend reading the following sources that helped me to better understand this interesting work.
- Causal Entropic Forces [Wissner-Gross & Freer, 2013a].
- Supplementary Material to Causal Entropic Forces [Wissner-Gross & Freer, 2013b].
- Comment: Causal entropic forces [Kappen, 2013].
- Causal Entropic Forces: Intelligent Behaviour, Dynamics and Pattern Formation [Hornischer, 2015].
- Fractal AI: A fragile theory of intelligence [Cerezo & Ballester, 2018].