However, the intended scope of the thread is larger, including also any other terminology that can be used when one is discussing CA rule definitions (e.g. rulestrings written using some notation, rule tables, rule trees, free-form plain text human-readable definitions of evolution rules, ...)
Old content of the post is left below without changes.
---
I don't believe this question is controversial, but it was suggested that I start a thread for this. https://conwaylife.com/w/index.php?diff ... did=141136
My attempt at a summary of the terminology involved when discussing definitions/specifications of CA rules:
- A condition is some particular constraint on the neighbourhood of a cell, that must be met for that cell to undergo a certain transition. For example, in the usual notation for Life-like cellular automata, B6 is a birth condition that can be explained as "a cell is born when there are exactly 6 alive neighbours".
- A transition is what happens or can happen with a cell. In a two-state CA, examples of transitions would be "birth", "survival", "death", "abstain".
- In jargon/in informal discussions, it is somewhat common to mix the two and write 'transition' instead of 'condition', but that is imprecise, and therefore should be avoided when explaining things to people that do not yet know them (e.g. on LifeWiki).
- When coding a specific CA rule, a transition function is a function that takes states of a cell and cells in its neighbourhood, and returns the new state of the cell. (I.e. the function "decides" which of possible transitions will happen for this cell in this tick. It may be implemented by explicitly checking whether or not the birth/survival conditions are met, or as an arbitrary code/computation.)
"birth condition" "birth conditions"
"survival condition" "survival conditions"
"transition function"
Here are a few quotes from different sources from the wider CA community:
CGSE/Create a universal two-dimensional cellular automaton cell using two-way universal logic processors wrote:A diagram of the setup, with example inputs (link to full-sized image):
[image]
This uses a simple approach; first it counts the number of live neighbouring cells, and then checks if that number fulfills a birth/survival condition.
A non-life-like cellular automaton wrote:To be specific, this automaton is very similar to B2/S23, but a dead cell comes to life iff it has precisely two live von Neumann neighbours; the survival condition still uses the Moore neighbourhood. Hence, in a sense, this automaton mixes the von Neumann and Moore neighbourhoods. Technically, though, it uses the entire Moore neighbourhood, but the birth condition cares about which neighbours are alive.
The B36/S125 “2x2” Life-Like Cellular Automaton wrote:More succinctly, a Life-like cellular automaton emulates a Margolus block cellular automaton if and only if, in its rulestring, B3 = S5, B4 = S4, B5 = S6 = S7, and B1 = B2 = S3. 2x2 can be seen to satisfy these conditions because 4 is neither a birth condition nor a survival condition, 5 is not a birth condition and 6 and 7 are not survival conditions, 3 is a birth condition and 5 is a survival condition, and 3 is not a survival condition and 1 and 2 are not birth conditions.