Рет қаралды 1,742
This test run confirms that the "totalistic" color-coding function is compatible with auto-zoom and with both the square- & hexagon-shaped grids. Also, this is the introduction of the new "hexapus" seed.
Parts 1 & 2 of this video use the square- & hexagon-shaped grids, respectively. Both parts use auto-zoom.
Most videos here use "age-based" color-coding, which colors to indicate birth, life, & death. By contrast, the "totalistic" color-coding in this video simply colors a cell according to how many of its 6 neighboring cells are alive, and thus 7 colors are needed for 0 - 6 neighbors.
Note that the rule-set used here is not simply totalistic like the color-coding. Although the rule-set does take into account the total number of live neighbors, it is more complex and includes other inputs (to be elaborated at a future date).
Rule 304 is the "Universal Replicator", which makes multiple copies of any seed. Somehow the process always works despite all the chaos produced by collision between parts of the growing pattern.
2-Dimensional cellular automata, hexagonal array,
Totalistic Color-coding for cells with 0 to 6 live neighbors:
dark blue = 0 live neighbors,
light blue = 1 live neighbor,
orange = 2 live neighbors,
yellow = 3 live neighbors,
green = 4 live neighbors,
light violet = 5 live neighbors,
dark violet = 6 live neighbors,
black = dead cell/empty space.
(This color palette has not been optimized yet).
---------------------------------------
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.
Cell Grid:
Part 1: Square-shaped grid size starts at 24 x 24 (columns x rows), and grows to 120 x 120 by time-step 44, and then remains constant.
Part 2: Hexagon-shaped grid starts with a radius of 16 cells, and grows to radius 60 by time-step 39, and then remains constant.
Periodic boundary conditions:
Part 1: Square-shaped grid has 2 pairs of opposite edges wrap to give a finite closed continuous surface equivalent to a 2-torus (the surface of a standard 3-d ring donut).
Part 2: Hexagon-shaped grid has 3 pairs of opposite edges wrap to give a finite closed continuous surface equivalent to a 2-torus (the surface of a standard 3-d ring donut), but containing a 180 degree twist.
Neighborhood: semi-totalistic (details to be published at a future date),
Time: 192 steps for both Parts 1 and 2 (display rate 5 fps). The first & final frames are shown for 1 & 2 seconds, respectively.
Live cell population:
Part 1: Square-shaped grid starts at 36, reaches a maximum of 6972 on time-step 117, and ends with 1218 on time-step 192.
Part 1: Hexagon-shaped grid starts at 36, reaches a maximum of 4916 on time-step 124, and ends with 1584 on time-step 192.
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.