×
Local Rules for Global Coordination
Every cell in this 32*32*32 grid shares the same, unchanging update rule and is only allowed to look at its immediate neighbours to work out what to do next.
The current state of each cell is encoded in a length 16-24 vector of floats. Three numbers are used for the RGB of the cell, one number represents the current "aliveness" of that cell, and the remaining 12-20 numbers (more complex shapes require more numbers) are used for signalling between cells.
When viewing one of these signalling layers, bright green shows that a cell is strongly positively activated and bright red shows that a cell is strongly negatively activated.
The rules are learned by and encoded in a tiny convolutional neural network that is running on your machine using ORT. The 3D rendering is handled by THREE.
✹ Inspired by this paper ✹
✹ My PyTorch implementation can be found in this kaggle notebook ✹
✹ My simple flask app for re-creating this model viewer is here ✹
Contact: maxbrowngit[𝔸𝕋]proton[𝔻𝕆𝕋]me