Skip to content

ebolblga/0D-Cellular-Automata

Repository files navigation

0D Cellular Automata (0D CA)

Small website made to explore the smallest possible cell world.

https://ebolblga.github.io/0D-Cellular-Automata/

image

Just like 1D ECA where we stack 1D states of the world one after another, representing a temporal dimension, this will be stacking 0D worlds, creatings 1D image in the end.

Again just like in 1D each cell has its "neighborhood", in 0D it consists of only 1 cell. For n states there exists n^1 possible neighborhood states and n^(n^1) possible rules. So go and explore all of them I guess...?

Properties:

Lambda (λ) is a number between 0 and 1 that corresponds to how chaotic the system is with given rules. With λ = 0 the system is stable, nothing is happening, with λ = 1 the system is totally chaotic. Somewhere between those lambdas there is a region called edge of chaos. It is a place where the phase shift from order to disorder is happening - the only place where complex structures can exist.

Interestingly, most of the rules are considered a reversible cellular automaton just like Critters for example. There is only one state that led to the current state and there is only one state that will be next. This also means that all rules are periodic, it's like doing the same moves to the rubrics cube over and over, after some time you will get back to the exact same state.

It is also interesting to imagine what creature living in 0D will see. As you probably know, it seems like a rule that n dimensional being has a vision in n - 1. So we see in 2D, Mario in 1D and 0D creature will see -1D...? Although we can only speculate if that is even possible or makes sense, there exists a name for such objects: nullitope. 0D object - point, consists of infinitely many nullitopes. Nullitopes also have interesting properties, for example, they do not have coordinates.

2D time

https://ebolblga.github.io/0D-Cellular-Automata/2dtime

image

Now that you familiar with 0+1D CA (meaning 0 spatial dimensions and 1 time dimension), it is time to play with 0+2D CA - 0 spatial dimensions and 2 time dimensions. One rule will act along -y axis, second one along the x axis and any point on the surface is basically a combination of going forward in one and another timeline. Here are the articles that inspired me:

Considering that they are commutative (AB = BA) and AA is a valid pair, for n rules there exists n * (n - 1) / 2 + n possible rule combinations. The program finds sets of rules that are consistent with each other and displays them.

Useful resources:

How to launch yourself using Node.js and Visual Studio Code

# install yarn
npm install --global yarn

# now install all modules
yarn

# now start project
yarn dev

# build ssg version
yarn generate

License

This program is licensed under the MIT License. Please read the License file to know about the usage terms and conditions.