Smolder

From Esolang
Jump to navigation Jump to search

Smolder is a cellular automaton invented by User:Aadenboy created from a failed attempt at recreating Burn.

Structure

Smolder's state space consists of a square tiling of cells, each with a green, blue, and optionally a red channel, with each channel being in the range of . If a cell's blue and green channels are both zero, or it has a red channel, it will not tick.

Every tick, all cells which do not have a red channel and are orthogonally adjacent to one or more cells with a red channel greater than zero follow this procedure:

  • Define the cell's blue, green, and red channels as , , and , where refers to the cell.
  • Add up the channels for all of the orthogonally adjacent cells which have a red channel greater than zero, and define them as , , and , each , where refers to the total.
  • Define as the difference between the blue and green channels of the cell and the total.
  • Update the channels of the cell according to these formulas:

Single-cell example

As an example, consider this setup:

101
10

The rightmost cell, 10, calculates this:

The board updates to this state:

101
101

This is a basic example of flood-fill.

Multi-cell example

In this example:

112
112
01
112
01

The middle cell adds all the cells neighboring it together, modulo 4. With the total, it computes:

112
112
203
112
01

State network

For this section, a "transformation" is one cell turning into another via interaction with a single cell, and a "combination" is one cell turning into another via interaction with two cells.

The rules provided make it impossible for certain states to turn into any other, even when attempting to use combinations. If we create a map of these states, where nodes are connected through directed edges defined by transformations and combinations (which will be solid and dashed respectively). When doing this for every cell, it reveals that there are eight distinct clusters of states, which are mostly independent of one another.

The network of states.
Each cluster in the network is only able to travel within itself through transformations. Combinations allow clusters to step down to the next group, however there is no way to go back. Doing this enough times (at most twice) will lead you to the bottom cluster composed of cells
311
,
313
,
222
,
002
,
133
, and
131
.
The self-contained cluster.

This cluster is the only one where both transformations and combinations allow traversal within it, with the downside that the group is highly symmetric.

Interactions

Decay

Certain wires when flood-filling can undergo decay, where the red channel slowly decreases.

103
11
11
11
11

In this scenario, the difference between either channel equates in a total difference of 1, leading to the red channel decreasing by one each step.

103
012
101
010
11

Oscillation

Similarly, certain wires may oscillate between a set of values.

202
11
11
11
11

In this scenario, the total difference is zero, allowing the red channel to remain unaffected.

202
022
202
022
202

Logic

NAND

Where X and Y are either 202 or 00.

Initial state
X
20
Y
202
20
20
20
20
20
0 NAND 0
00
202
00
202
202
202
202
202
202
1 NAND 0
202
202
00
202
202
202
202
202
202
1 NAND 1
202
222
202
202
202
202
000
20
20

Computational class

Without infinite tiling and arbitrary modification after tiling the grid, Smolder is Total, since performing any useful computation (ex: NAND gate) must irreversibly turn some of the mutable cells used in it immutable, making any kind of loop impossible.

The computational class of unbounded Smolder with arbitrary modification after tiling the grid is unknown.

Resources