Table of Contents
Fetching ...

Touching Loop Patterns with Cellular Automata

Rolf Hoffmann

Abstract

The objective is the design of a Cellular Automata rule that can form patterns with 'touching' loops. 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 is connected with two of its adjacent neighbors. In touching loops a path cell is also allowed to touch another on a diagonal. A CA rule was designed that can evolve stable touching loop patterns. The rule tries to cover the 2D space by overlapping tiles. The rule uses so-called templates, 5 x 5 matching patterns which are systematically derived from the given set of 3 x 3 tiles. The rule checks the pattern being evolved against a 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 the tiles are not properly assembled. Thereby the evolution is driven to the desired loop patterns.

Touching Loop Patterns with Cellular Automata

Abstract

The objective is the design of a Cellular Automata rule that can form patterns with 'touching' loops. 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 is connected with two of its adjacent neighbors. In touching loops a path cell is also allowed to touch another on a diagonal. A CA rule was designed that can evolve stable touching loop patterns. The rule tries to cover the 2D space by overlapping tiles. The rule uses so-called templates, 5 x 5 matching patterns which are systematically derived from the given set of 3 x 3 tiles. The rule checks the pattern being evolved against a 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 the tiles are not properly assembled. Thereby the evolution is driven to the desired loop patterns.

Paper Structure

This paper contains 20 sections, 27 figures.

Figures (27)

  • Figure 1: (a) Non-touching loops. (b) Touching loops.
  • Figure 2: (a) Example of a loop modeled as a closed path of cells in a 2D grid. (b) Two loops (the most simple ones, two mini-loops) are inter-touching each other. (c) A self-touching loop.
  • Figure 3: The basic tiles: (a) straight path tile, (b) corner tile. The symmetric ones have to be added. Blue: pixel value = 1, yellow: pixel value = 0.
  • Figure 4: The whole set of tiles, including the symmetric ones. The numbers indicate the cover/overlay level of the tile pixels, '1' if they are not overlaid.
  • Figure 5: Assembling a $3\times3$ mini-loop step by step.
  • ...and 22 more figures