Hex Automata: "A Frayed Knot". Rule 390 + Seed 6.526

แชร์
ฝัง
  • เผยแพร่เมื่อ 29 มิ.ย. 2024
  • When a cell pattern grows in a small closed universe, it must eventually collide with itself. This chaotic process is both destructive and creative. When birth & death are in balance in a such a chaotic environment, we get a chance to see some novelty (aesthetic surprises).
    A growing pattern's ability to undergo "self-collision" results from "screen-wrapping" of the opposite edges of the grid. This wrapping gives a finite closed continuous surface equivalent to a 2-torus (the surface of a standard 3-d ring donut). Such a closed surface, although finite, has no boundaries. Traveling in any direction within a closed space always leads back to the starting point. If a person stood inside such space, they could look at themselves standing in the distance. If you expand too much, you bump into yourself. Weird.
    2-Dimensional cellular automata, hexagonal array,
    Color-coding of cells age/life-status:
    All colored cells are alive except blue-colored cells.
    yellow = just born (state = 1),
    red = alive 2 or more time-steps (state = 1),
    blue = fading "ghost" of cell that died (state = 0),
    black = empty space (state = 0),
    ---------------------------------------
    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: begins at 24 x 24 (columns x rows) and grows in increments to 88 x 88 on time-step 51, and then remains constant until the final time-step 362.
    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).
    Neighborhood: semi-totalistic (details to be published at a future date),
    Rule-set 390 full designation: 81788 - 260 - 56 - 166409,
    This rule-set was found by using the "Splice Elite Formatted" method for combining "genetic material" (binary strings) from 4 different parent rule-sets (chosen randomly from published rule-sets).
    Time: 362 steps (display rate 5 fps). The first & final frames are shown for 1 & 2 seconds, respectively.
    Live cell population: starts at 6, and reaches a maximum of 3650 on time-step 93, and then ends with 691 on the final time-step 362.
    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.
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 6

  • @RPG_Guy-fx8ns
    @RPG_Guy-fx8ns 24 วันที่ผ่านมา +5

    why do cellular automata only check their immediate neighbors? what if you made one that checks more like a random walk through a small tree of nearby cells, to determine its rules. like it checks its neighbors and checks half of its neighbors-neighbors randomly, then picks one of those to check a random 3rd neighbor. total all those to check for a rule. You could make a lot more rules that way. If you make rules that mostly preserve matter it might look more organic. like rules that teleport pieces into empty neighbors, or teleports some pieces from one end of a connected tree to another. basically you could make snakes or bendy bushes or mazes or molecules designed into the rules.

    • @hexagon-multiverse
      @hexagon-multiverse  24 วันที่ผ่านมา +3

      Most CA use only the immediately adjacent neighbor cells in order to keep the number of neighborhood configurations manageable. If the neighborhood extends out further, you can certainly get richer behavior, but the number of configurations generally grows exponentially.
      But I like your idea of using a neighborhood that branches outwards without trying be include all neighbor cell within the branch radius. This keep the number of configurations from exploding, which is important since the rule-set must be able to specify the next state of the central cell for all possible configurations (by either an equation or look-up table).
      Notice that the branching neighborhood that you suggest is itself fractal. Seems like this could be more appropriate, and more realistic than an adjacent-neighbors-only approach.

  • @user-cu9ww9tj4i
    @user-cu9ww9tj4i 10 วันที่ผ่านมา

    현실 셀룰러 오토마타는 매우 높은 에너지가 만든 규칙으로 돌아가니 현실에 외계인이 흔해도 할말이 없음.

  • @arbieroo5679
    @arbieroo5679 24 วันที่ผ่านมา +1

    You make puns with Imp Unity!
    Pedantic topology: A standard torus (a "2-torus") is the 2-D surface of a 3-D object. It's technically the surface of a ring doughnut, not the interior of a ring doughnut. A 3-D torus ("3-torus") would be the surface of a 4-D object. Similarly, technically, a sphere is the 2-D surface of a ball. The ball is a 3-D object.

    • @hexagon-multiverse
      @hexagon-multiverse  24 วันที่ผ่านมา +2

      Thanks for the clarification -- yes, I now see how I abused the terminology. A torus is a surface, not the volume enclosed by said surface. And the dimensionality of that surface is the key, not that of the volume. So the topology of the surface inhabited by the cells in my cellular automata is "2-torus". Glad to get this straightened out. Although I am mostly self-taught when it comes to maths, I do love geometry & topology.

    • @arbieroo5679
      @arbieroo5679 24 วันที่ผ่านมา +1

      @@hexagon-multiverse You've got it!😉