Hexagonal neighbourhood

From LifeWiki
Jump to: navigation, search

The hexagonal neighbourhood is the set of all cells that are adjacent to the region of interest in a grid tiled with hexagons (the region of interest itself may or may not be considered part of the hexagonal neighbourhood, depending on context). Currently, these rules are partially supported by both Golly and apgsearch. These rules are typically notated using the H suffix (e.g. B2/S34H).

Software support

LifeViewer supports outer-totalistic hexagonal rules and represents them using a regular square grid with every second row shifted horizontally by half a cell. Golly simulates these rules using a variant of the Moore neighbourhood which ignores the bottom-left and top-right cells in the neighbourhood and includes special cell icons shaped like slanted hexagons which resemble a hexagonal grid when placed together.[1] They both also have the ability to support Generations variants of hexagonal rules.

apgsearch and Catagolue also support the hexagonal neighbourhood. They support hexagonal Generations rules, but they also support isotropic non-totalistic rules (see Generalizations below). As of version 4.71, all possible symmetries are available for searching except for C3_3 and D6_3 (see Symmetries below).[2]

Generalizations

Main article: Isotropic non-totalistic Life-like cellular automaton

Like in the Moore neighborhood, isotropic cellular automata using the hexagonal neighbourhood can be defined using a notation devised by Paul Callahan which represent the relative permutations of the cells using the letters o, m, and p. These stand for ortho, meta, and para respectively and were chosen in analogy to arene substitution patterns in aromatic chemistry.[3][4]

0 1 2 3 4 5 6
(no
letter)
Hexagonal neighborhood 0.png Hexagonal neighborhood 1.png Hexagonal neighborhood 5.png Hexagonal neighborhood 6.png
o
(ortho)
Hexagonal neighborhood 2o.png Hexagonal neighborhood 3o.png Hexagonal neighborhood 4o.png
m
(meta)
Hexagonal neighborhood 2m.png Hexagonal neighborhood 3m.png Hexagonal neighborhood 4m.png
p
(para)
Hexagonal neighborhood 2p.png Hexagonal neighborhood 3p.png Hexagonal neighborhood 4p.png

As mentioned above, Golly also has the ability to support outer-totalistic Generations rules using the hexagonal grid. Larger than Life and BSFKL rules are also possible, but they are not currently supported by Golly or apgsearch as of December 2018.

Symmetries

Main article: Symmetry

The hexagonal neighbourhood relies on a different grid than the Moore and von Neumann neighborhoods and thus features a different set of inherent symmetries when dealing with isotropic rules:

  • Asymmetric (C1, 8x32, 4x64, 2x128, 1x256)
  • C2_1
  • C2_4
  • C3_1
  • C3_3 (unsupported by apgsearch)
  • C6
  • D2_xo
  • D2_x
  • D4_x1
  • D4_x4
  • D6_1
  • D6_1o
  • D6_3 (unsupported by apgsearch)
  • D12

All of these are currently supported by both lifelib and apgsearch, except for D6_3 and C3_3. Catagolue's /hashsoup endpoint currently does not understand any of the C3, C6, D6 or D12 symmetries, but the samples soups can nonetheless be correctly retrieved using lifelib's pattern.download_samples() function.

Hexagonal rules can also support gutter symmetry,[5] however apgsearch does not support searching with these.

See also

References

  1. http://golly.sourceforge.net/Help/Algorithms/QuickLife.html#hex
  2. Adam P. Goucher. Re: apgsearch v4.0 (discussion thread) at the ConwayLife.com forums
  3. Paul Callahan (December 3, 1997). "Experiments with a somewhat "Life-like" hexagonal CA (long)". Retrieved on December 8, 2018.
  4. http://www.conwaylife.com/forums/download/file.php?id=261
  5. 'muzik'. Re: Non-totalistic hex rules (discussion thread) at the ConwayLife.com forums

External links