A 1D cellular automaton, Rule 110 (bottom), being fed as input to a 2D cellular automaton, Conway’s Game of Life (top). How It Works: The colors represent a gird of cells (pixels) that are alive (are white pixels) or are dead (non-white pixels, where the color represents how long it's been since that cell has been alive, so when it dies it fades through several colors and then eventually fades to black). The rules for deciding which cells are alive and dead are as follow. The grid starts off with a single alive cell in the middle of the bottom row with all other cells dead. This bottom row is shifted up and the row below it is created using the following rule: each cell looks at the three cells above it (up and to the left, directly above, and up and to the right) and is set to alive or dead based on the following rules (□ = an alive cell, ■ = a dead cell): □□□ → ■ □□■ → □ □■□ → □ □■■ → ■ ■□□ → □ ■□■ → □ ■■□ → □ ■■■ → ■ So anytime the cell directly above is alive, or the cell up and to the right is alive, that cell is set to alive, unless all 3 cells above that cell are alive. This is why the pattern creates a triangle moving down and to the left, with bubbles that show up whenever the 3 cells above a cell are alive. This set of rules is called Rule 110. The reason for the name 110 is that when these patterns were being studied by Stephen Wolfram, he gave each rule a number based on the sequence of the resulting states for that rule (the states to the right of the arrows as listed above), which in our case is ■□□■□□□■ (the resulting states from top to bottom), which if translated into 1s and 0s is 01101110, which is the binary number for 110 (in decimal). To see what the other possible rules look like, check out: The rows produced by Rule 110 keep getting shifted up until they are copied into the bottom row of the upper part of the screen. The rules that the cells follow once they are in this upper part of the screen are called Conway's Game of Life (invented by John Conway). The rules are as follows, each cell looks at all 8 of its neighbors (above, below, left, right, and the 4 diagonals) and counts how many of those cells are alive. It then updates its state based on the following: • If 3 of its neighbors are alive → the cell will be alive in the next step. • If 2 of its neighbors are alive and the current cell is alive → it will be alive in the next step. • In all other cases → it will be dead in the next step. These rules are then applied over and over at each time step. The code that generated this video: 💻 Another similar video, “Rule 30 fed into Conway's Game of Life“: 📼 Join our Discord community: 💬 Connect with me: 🐦 Twitter - 📷 Instagram - 👱 Facebook - 💼 LinkedIn - 🎵 Kazukii - Need → → →
Hide player controls
Hide resume playing