Touching Loops and Worms Formed by Cellular Automata
摘要
The objective is to form patterns with “touching” loops by Cellular Automata (CA). A loop is defined as a closed path of 1-cells in a 2D grid on a zero background and with a zero border. A path cell has two adjacent path cells, and two path cells are allowed to touch each other on a diagonal. The designed CA rule tries to build loops by overlapping tiles. It uses so-called templates, 5 \(\,\times \,\) 5 matching patterns which are systematically derived from the problem specific defined set of 3 \(\,\times \,\) 3 tiles. The rule checks the pattern being evolved against the list of templates. If the outer neighbors of a template match, then the cell’s state is set to the template’s center value. Noise is injected if there is no matching template or certain constraints are not fulfilled. “Worms” are special loops which are have a maximum of inner self-touching points. The designed Rule 1 variant evolves stable patterns with any kind of loop structures in a short time, whereas the Rule 2 variant evolves stable worm-only patterns in a much longer time. For different grid sizes, a selection of generated loop patterns are presented and some of their properties are discussed.