- Full English
- Full camelCase
/!\ Obselete*
{
"nbNeighboor": 5,
"default": 2,
"absolutePositions": [
"1:0,1,1,0,0",
[0, 1, 0, 0, 0],
[1, 0, 0, 1, 0],
[1, 1, 1, 1, 0]
],
"softPositions": [
"1:0,1,5-1,0,1",
[1, [0, 1, 5], [1, 0, 1]],
[0, [0], [0]]
],
"positionTree": ['r', -1, 0, 1, -1, 0, 0, 0, -2, 1, 0, 0, -2, 1, -1, 0, 0, 1, 0, -2, 1, 1, 1, 0, -2],
"death": [[0,2],[5,6]],
"birth": [[3,4]]
}
- nbNeighboor*: number of neighboors considering for state transitionning.
- default: default value to transition to when the current state is not handled by the other porperties.
- d: dead
- s: alive
- absolutePositions: particular cases.
- softPositions: association list
[s, [i1, i2], [v1, v2]]
, transition the cell value tos
when sloti
has value `v**. (soft beacause constraints are softs**
Encoded in char
Celle state
'1'
: 1'0'
: 0
For next state
'a'
: alive'd'
: dead
The cell state are implicitly encoded in the edges (left is '0'
and right is '1'
) but the n-1 one are explicitly encoded as node value while the nth node value ('a'
or 'd'
) marks the next state for the current cell if such pattern is matched.
'r'
: root
Serialization
'f'
: fork point'a'
,'d'
: leaf
','
: next value