## Is there a hexagonal analog of Conway's Game of Life?

**jwezorek**, 07 April 2016 - · 793 views

The short answer is that in the hexagonal case the best analog of Conway's Game of Life -- in my opinion as someone who has been a CA hobbyist for 30 years or so -- is an original creation which I will describe for the first time in detail in this blog post. (Note: The links to cellular automata in this post go to a custom web-based player which may not run correctly on mobile devices.)

Regarding a hexagonal Game of Life, a key thing to understand is that Conway Life isn't just the rule; it is the rule (Life 2333) running on a square grid with an 8-cell neighborhood i.e. the neighborhood of four squares directly adjacent to a square plus those diagonally adjacent. You can, of course, apply the same rule on a hexagonal grid using the natural six hexagon neighborhood but what you will get won't look anything like Life. It will look like this: Life 2333 on a hexagon grid.

So if the above does not qualify as a hexagonal Game of Life then what would? Well, at the very least we need a glider. Carter Bays, a professor at the University of South Carolina, presented a Conway-like rule that admits a glider on the hexagonal lattice in 2005, Life 3,5/2 in his notation. However, by Bays' own admission "this rule is not as rich as Conway's Life" and indeed when we run Bays' Hex Life on random input we do not see gliders: Life 3,5/2 on random input. The problem is that its glider is too big to occur randomly. Its glider is in a sense artificial. Part of the beauty of Conway Life is that gliders are frequently spontaneously generated. The other thing you'll notice about Bays' Life 3,5/2 is that it descends into still-lifes and oscillators too quickly. Conway Life is dynamic. It sprawls and grows, descends into bounded chaos, before finally decaying into still-lifes and oscillators.

To summarize, we want a hexagonal cellular automaton that

- Has a glider that is frequently generated by random initial input.
- Frequently exhibits bounded growth from random initial input.

In order to achieve what we want, we need to drop one of the constraints. Using my cellular automata breeding application Lifelike, I explored dropping the constraint that the rule must be a simple totalistic rule over two states. What I have come up with is a cellular automaton that uses a simple totalistic rule over three states, states 0 to 2. One way to view this move is to view the live cells in Conway Life as counters -- beans, pennies, whatever -- and imagine dropping the constraint that a cell can only contain one counter. Anyway, my rule is as follows:

- Take the sum S of the 6-cell neighborhood where death=0, yellow=1, and red=2.
- If the cell is currently dead it comes to life as yellow if S is exactly 4.
- If the cell is yellow it goes to red if S is 1 to 4 inclusive or is exactly 6.
- If the cell is red it stays red if S is 1 or 2 and goes to yellow if S is 4.
- Otherwise it is dead in the next generation.

The little fish

The big fish

I concede Conway's rule is more elegant than Joe Life's rule but if one thinks about it, Conway Life's neighborhood is less natural than the six hexagon neighborhood in that it is kind of weird to include the the diagonally adjacent squares. So in my opinion, elegance that Joe Life lacks in its state table it makes up for in its neighborhood.