Рет қаралды 1,406
One more run of the "universal replicator" rule-set on the edge-wrapped hexagonally-shaped grid of hexagonally-spaced hexagonal cells.
This time, an "almost symmetrical" seed is used. It is a sliver away from having bilateral symmetry (bisecting mirror plane). It is close to being symmetric, so the iterated forms don't become too chaotic & murky.
To explore the effect of grid topology on seed development, he same rule-set & seed, but with square field of cells instead, is shown the companion video "Square vs Hex":
• Hex Automata: "Square... ,
Color-coding:
YELLOW cells are just born,
RED cells have been alive 2 or more consecutive time-steps,
BLUE cells are already deceased, but their "ghost" lingers for 1 time-step.
2-Dimensional cellular automata, hexagonal array,
---------------------------------------
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: radius remains constant at 60 cells.
Periodic boundary conditions: opposite pairs of edges are screen-wrapped, giving a topology equivalent to the 2-dimensional surface of a 3-dimensional torus containing a 180 degree twist. The twist does have a noticeable effect (compared to a screened-wrapped rectangular field which corresponds to a torus with no twist).
Neighborhood: semi-totalistic (details to be published at a future date),
Rule-set found by random search. Details to be published later.
Time: 384 steps (display rate 5 fps). The first & final frames are shown for 1 & 2 seconds, respectively.
Live cell population: starts at 121, reaches a maximum of 6202 on time-step 62, and finishes with 2792 on the final time-step 384. Note that the final population is less than 24 x 121 = 2904 due to slightly overlapping copies.
Resolution: 2578 screen pixels per cell,
Program: "Hexagon-Multiverse 1.0" (unpublished), PHP language.
Platform: MacBook Pro (M1), Sonoma 14.1.1 OS, Safari 17.1 browser.