Difference between revisions of "Hexagonal neighbourhood"

From LifeWiki
Jump to navigation Jump to search
m (Standardized references)
(→‎Higher ranges: formatted ref)
(12 intermediate revisions by 4 users not shown)
Line 3: Line 3:


==Software support==
==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. A true hexagonal grid may be implemented at some point.<ref name="post66218" /> [[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.<ref>{{LinkGollyHelp|Algorithms/QuickLife.html|title=QuickLife|format=ref}}</ref> They both also have the ability to support [[Generations]] variants of hexagonal rules. LifeViewer does not support isotropic non-totialstic hexagonal rulestrings, but it can support their rules through MAP. It may be able to interpret the rulestrings in a future version.<ref name="post66831" /> It is not known if it will be able to run hexagonal rules with a range of higher than 1.<ref name="post67142" />
[[LifeViewer]] supports outer-totalistic hexagonal rules and uses a hexagonal grid. LifeViewer also supports isotropic non-totalistic hexagonal rulestrings from build 313,<ref name="post73364" /> and supports hexagonal [[Higher-range outer-totalistic]] (including [[Larger than Life]]) rules.


[[apgsearch]] and [[Catagolue]] also support the hexagonal neighbourhood. They support hexagonal [[Generations]] rules, but they also support isotropic non-totalistic rules (see [[#Generalizations|Generalizations]] below). As of version 4.71, all possible [[symmetry|symmetries]] are available for searching except for C3_3 and D6_3 (see [[#Symmetries|Symmetries]] below).<ref name="post66638" />
[[Golly]] simulates hex 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.<ref>{{LinkGollyHelp|Algorithms/QuickLife.html|title=QuickLife|format=ref}}</ref> They both also have the ability to support [[Generations]] variants of hexagonal rules. In addition, hexagonal [[Higher-range outer-totalistic]] (including [[Larger than Life]]) rules are supported from v4.0 onwards.
 
[[apgsearch]] and [[Catagolue]] also support the hexagonal neighbourhood. They support hexagonal [[Generations]] rules, but they also support isotropic non-totalistic rules (see [[#Generalizations|Generalizations]] below). As of version 4.71, all possible [[symmetry|symmetries]] are available for searching except for C3_3 and D6_3 (see [[#Symmetries|Symmetries]] below).<ref name="post66638" /><ref>{{cite web|url=https://gitlab.com/apgoucher/lifelib/-/issues/4|title=C3_3 and D6_3 hex symmetries are not supported|author=Connor Steppie|date=January 15, 2020|work=GitLab}}</ref>


==Generalizations==
==Generalizations==
{{main|Isotropic non-totalistic Life-like cellular automaton}}
{{main|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 [https://en.wikipedia.org/wiki/Arene_substitution_pattern arene substitution patterns] in aromatic chemistry.<ref>{{cite web|url=http://www.radicaleye.com/lifepage/hexrule.txt|title=Experiments with a somewhat "Life-like" hexagonal CA (long)|author=Paul Callahan|date=December 3, 1997|accessdate=December 8, 2018}}</ref><ref>http://www.conwaylife.com/forums/download/file.php?id=261</ref>
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 [https://en.wikipedia.org/wiki/Arene_substitution_pattern arene substitution patterns] in aromatic chemistry.<ref>{{cite web|url=https://www.conwaylife.com/ref/lifepage/hexrule.txt|title=Experiments with a somewhat "Life-like" hexagonal CA (long)|author=Paul Callahan|date=December 3, 1997|accessdate=December 8, 2018}}</ref><ref>{{cite web|url=http://www.conwaylife.com/forums/download/file.php?id=261|title=ExtendedCallahanHexagonal.gif|work=ConwayLife.com forums|accessdate=December 8, 2018}}</ref>


{| class="wikitable" style="margin-left: auto; margin-right: auto; border: none;"
{| class="wikitable" style="margin-left: auto; margin-right: auto; border: none;"
Line 28: Line 30:
|}
|}


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.
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 apgsearch as of November 2020. However, [[LifeViewer]] and [[Golly]] support [[Larger than Life]] rules in this neighbourhood.
 
A subset of the hexagonal range 1 neighbourhood known as the tripod neighbourhood has also been investigated.<ref name="post7049" />
 
==Higher ranges==
The hexagonal neighbourhood can be defined with a higher range; that is, so that it captures cells that are further than one cell away from the region of interest. The higher range hexagonal neighbourhood take the shape of a symmetric honeycomb<ref>{{Cite web|url=https://lazyslug.com/lifeview/plugin/neighbourhoods.html|title=LifeViewer Plugin Tests|author=Chris Rowett|accessdate=November 21, 2020}}</ref> and the number of cells in a range n hexagonal neighbourhood has the formula 3n(n+1).


==Symmetries==
==Symmetries==
Line 52: Line 59:


Hexagonal rules can also support gutter symmetry,<ref name="post66215" /> however apgsearch does not support searching with these.
Hexagonal rules can also support gutter symmetry,<ref name="post66215" /> however apgsearch does not support searching with these.
==Image Gallery==
{|
|-
|[[File:Hexagonal (range 2).png|120px|thumb|left|The range 2 hexagonal neighbourhood of a single cell]]
|[[File:Hexagonal (range 3).png|120px|thumb|left|The range 3 hexagonal neighbourhood of a single cell]]
|}


==See also==
==See also==
Line 67: Line 81:
==References==
==References==
<references>
<references>
<ref name="post66218">{{LinkForumThread
<ref name="post73364">{{LinkForumThread
|format = ref
|title  = Re: Pattern viewer for forum threads
|p      = 66218
|author = Chris Rowett
|date  = December 5, 2018
}}</ref>
<ref name="post66831">{{LinkForumThread
|format = ref
|title  = Re: Pattern viewer for forum threads
|p      = 66831
|author = Chris Rowett
|date  = December 28, 2018
}}</ref>
<ref name="post67142">{{LinkForumThread
|format = ref
|format = ref
|title  = Re: Pattern viewer for forum threads
|title  = Re: Pattern viewer for forum threads
|p      = 67142
|p      = 73364
|author = Chris Rowett
|author = Chris Rowett
|date  = January 2, 2019
|date  = March 17, 2019
}}</ref>
}}</ref>
<ref name="post66638">{{LinkForumThread
<ref name="post66638">{{LinkForumThread
Line 94: Line 94:
|author = Adam P. Goucher
|author = Adam P. Goucher
|date  = December 20, 2018
|date  = December 20, 2018
}}</ref>
<ref name="post7049">{{LinkForumThread
|format = ref
|title  = Triangular & Tripod von Neuman neighborhoods
|p      = 7049
|author = EricG
|date  = September 9, 2012
}}</ref>
}}</ref>
<ref name="post66215">{{LinkForumThread
<ref name="post66215">{{LinkForumThread

Revision as of 16:15, 21 November 2020

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 uses a hexagonal grid. LifeViewer also supports isotropic non-totalistic hexagonal rulestrings from build 313,[1] and supports hexagonal Higher-range outer-totalistic (including Larger than Life) rules.

Golly simulates hex 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.[2] They both also have the ability to support Generations variants of hexagonal rules. In addition, hexagonal Higher-range outer-totalistic (including Larger than Life) rules are supported from v4.0 onwards.

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).[3][4]

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.[5][6]

0 1 2 3 4 5 6
(no
letter)
File:Hexagonal neighborhood 0.png File:Hexagonal neighborhood 1.png File:Hexagonal neighborhood 5.png File:Hexagonal neighborhood 6.png
o
(ortho)
File:Hexagonal neighborhood 2o.png File:Hexagonal neighborhood 3o.png File:Hexagonal neighborhood 4o.png
m
(meta)
File:Hexagonal neighborhood 2m.png File:Hexagonal neighborhood 3m.png File:Hexagonal neighborhood 4m.png
p
(para)
File:Hexagonal neighborhood 2p.png File:Hexagonal neighborhood 3p.png File: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 apgsearch as of November 2020. However, LifeViewer and Golly support Larger than Life rules in this neighbourhood.

A subset of the hexagonal range 1 neighbourhood known as the tripod neighbourhood has also been investigated.[7]

Higher ranges

The hexagonal neighbourhood can be defined with a higher range; that is, so that it captures cells that are further than one cell away from the region of interest. The higher range hexagonal neighbourhood take the shape of a symmetric honeycomb[8] and the number of cells in a range n hexagonal neighbourhood has the formula 3n(n+1).

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,[9] however apgsearch does not support searching with these.

Image Gallery

File:Hexagonal (range 2).png
The range 2 hexagonal neighbourhood of a single cell
File:Hexagonal (range 3).png
The range 3 hexagonal neighbourhood of a single cell

See also

References

  1. Chris Rowett (March 17, 2019). Re: Pattern viewer for forum threads (discussion thread) at the ConwayLife.com forums
  2. QuickLife at Golly's online help
  3. Adam P. Goucher (December 20, 2018). Re: apgsearch v4.0 (discussion thread) at the ConwayLife.com forums
  4. Connor Steppie (January 15, 2020). "C3_3 and D6_3 hex symmetries are not supported". GitLab.
  5. Paul Callahan (December 3, 1997). "Experiments with a somewhat "Life-like" hexagonal CA (long)". Retrieved on December 8, 2018.
  6. "ExtendedCallahanHexagonal.gif". ConwayLife.com forums. Retrieved on December 8, 2018.
  7. EricG (September 9, 2012). Triangular & Tripod von Neuman neighborhoods (discussion thread) at the ConwayLife.com forums
  8. Chris Rowett. "LifeViewer Plugin Tests". Retrieved on November 21, 2020.
  9. 'muzik' (December 5, 2018). Re: Non-totalistic hex rules (discussion thread) at the ConwayLife.com forums

External links