Рет қаралды 47
New candidate for the 4-state rule-set library. This one reminds me of the Universal Replicator rule-set for the 2-state cellular automata, but this one lacks the universal aspect (it replicates single red live cells, but not other seeds).
I’m “back in the saddle” after recovering from allergies. I must avoid sucrose, ethanol, grains, soy, & dairy - hard since this makes up most of modern commercial “food”. But this has forced me to improve my habits by cooking fresh ingredients at home. Thanks to the Almighty One for this guidance.
Color-coding of cells:
Black (0) -- the dead or empty state,
Red, Yellow, or Blue (1, 2, or 3) -- three different "alive" states.
2-Dimensional cellular automata, hexagonal array,
These 3 different alive states do not correspond to any simple property of the cell pattern. This is unlike commonly seen totalistic ("sum-of-neighbors") rule-sets.
---------------------------------------
General Procedure:
STEP 1). Make a 2-dimensional grid (array) of "cells" which can each have a value of 0 (off/dead) or 1 (on/alive). Conway's famous "Game of Life" cellular automaton uses a square grid, but here we use a hexagonal grid (chicken-wire or honeycomb). Initialize the grid by filling it with all zeros. This is the "main grid".
STEP 2). Add a starting "seed" pattern to the main grid by changing some of the cell values to "1" (on/alive). Sometimes specific compact seeds are used, alternatively sometimes they are a random unstructured spread of ones that II call "primordial soup".
STEP 3). The program then looks at every cell in the entire main grid, one-by-one. When examining each cell, the total number of live neighbor cells is counted among its 6 immediately adjacent neighbor cells (if using "totalistic" rules). The program then consults the rule-set to decide if the central cell will be alive (1, on) or dead (0, off) in the next time-step. In order to not disturb the cell pattern that is being updating, all of these new values are accumulated on a separate temporary grid.
STEP 4). After every cell is updated on the temporary grid, the main grid is re-initialized to all zeros, and then the temporary grid is copied to the main grid
STEP 5). Repeat Steps 3 & 4 for hundreds or thousands of iterations. The result of each iteration serves as the input for the next iteration. The grid is finite, so the live cell pattern will eventually go repeat or go extinct, although this could take thousands of time-steps.
---------------------------------------
Note: this "Hexagon-Multiverse" (HMCA) cellular automaton is similar to Conway's famous "Game of Life" in the sense that both are 2-dimensional, have binary cell states, and are synchronous and deterministic. But the Game of Life uses a square grid, while the HMCA uses a more natural (common in nature) and more symmetrical hexagonal grid. Additionally, the HMCA achieves interesting results using a variety of rule-sets, whereas the Game of Life is limited to a single rule-set.
Hexagonal Cell Array: size begins at 20 x 20 (columns x rows), grows incrementally, reaching 108 x 108 on time-step 45, and then remains constant.
Periodic boundary conditions: horizontal & vertical dimensions wrap across opposite edges, giving a finite closed continuous surface equivalent to a 2-torus (the surface of a standard 3-d ring donut).
Rule-set 53 full designation:
103020300101300010300011002000000000000000002300001020022301030020000000000000002001023,
This rule-set was found by a purely random search.
Time: 336 steps (display rate 5 fps). The first & final frames are shown for 1 & 2 seconds, respectively.
Live cell population: starts at 1, and reaches a maximum of 4672 on time-step 95, and ends with 1479 on the final time-step 336.
Program: "Hexagon-Multiverse 1.0" (unpublished), PHP language.
Platform: MacBook Pro (M1), Sonoma 14.1.1 OS, Safari 17.1 browser.