<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Nathaniel Johnston &#187; Cellular automata</title>
	<atom:link href="http://www.nathanieljohnston.com/tag/cellular-automata/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.nathanieljohnston.com</link>
	<description>A blog of recreational math and quantum information theory</description>
	<lastBuildDate>Sun, 05 Sep 2010 20:40:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Lifeline is Now Online</title>
		<link>http://www.nathanieljohnston.com/2010/03/lifeline-is-now-online/</link>
		<comments>http://www.nathanieljohnston.com/2010/03/lifeline-is-now-online/#comments</comments>
		<pubDate>Mon, 22 Mar 2010 20:23:46 +0000</pubDate>
		<dc:creator>Nathaniel</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Cellular automata]]></category>
		<category><![CDATA[Conway's Game of Life]]></category>

		<guid isPermaLink="false">http://www.nathanieljohnston.com/?p=1018</guid>
		<description><![CDATA[Lifeline was a newsletter for &#8220;enthusiasts of Conway&#8217;s Game of Life&#8221; that was published by Robert Wainwright in the early 1970&#8242;s. It and a handful of Scientific American articles were some of the only places ever to describe and coordinate the multitude of discoveries in the game during its early years. It ran for 11 issues from March [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.conwaylife.com/wiki/index.php?title=LifeLine">Lifeline</a> was a newsletter for &#8220;enthusiasts of Conway&#8217;s Game of Life&#8221; that was published by Robert Wainwright in the early 1970&#8242;s. It and a handful of <em>Scientific American</em> articles were some of the only places ever to describe and coordinate the multitude of discoveries in the game during its early years. It ran for 11 issues from March 1971 through September 1973 and it was the first place in which the following discoveries/inventions (among others) were described:</p>
<ul>
<li>Several oscillators, such as <a href="http://www.conwaylife.com/wiki/index.php?title=Candelabra">candleabra</a>, <a href="http://www.conwaylife.com/wiki/index.php?title=Cuphook">cuphook</a>, <a href="http://www.conwaylife.com/wiki/index.php?title=Double_ewe">double ewe</a>, <a href="http://www.conwaylife.com/wiki/index.php?title=Hustler">hustler</a>, <a href="http://www.conwaylife.com/wiki/index.php?title=Kok's_galaxy">Kok&#8217;s galaxy</a>, <a href="http://www.conwaylife.com/wiki/index.php?title=Octagon_II">octagon II</a>, <a href="http://www.conwaylife.com/wiki/index.php?title=Quasar">quasar</a>, and the <a href="http://www.conwaylife.com/wiki/index.php?title=Twin_bees_shuttle">twin bees shuttle</a>.</li>
<li>Several agars, including <a href="http://www.conwaylife.com/wiki/index.php?title=Squaredance">squaredance</a> and several that are unnamed.</li>
<li>The three grandparents of the <a href="http://www.conwaylife.com/wiki/index.php?title=R-pentomino">R-pentomino</a>, which are the longest-lived patterns with 5 or fewer cells.</li>
<li><a href="http://www.conwaylife.com/wiki/index.php?title=Immigration">Immigration</a>, a two-player variant of Conway&#8217;s Game of Life.</li>
<li>The &#8220;<a href="http://www.conwaylife.com/wiki/index.php?title=New_gun_1">new gun</a>&#8220;, which was the second glider gun ever constructed.</li>
<li>Bill Gosper&#8217;s famous <a href="http://www.conwaylife.com/wiki/index.php?title=Breeder_1">breeder</a>, the first pattern constructed that grows quadratically.</li>
<li>The <a href="http://www.conwaylife.com/wiki/index.php?title=Switch_engine">switch engine</a> and related <a href="http://www.conwaylife.com/wiki/index.php?title=Glider-producing_switch_engine">glider-producing switch engine</a>.</li>
<li>And on and on and on&#8230;</li>
</ul>
<p>Unfortunately, Lifeline has been extremely difficult to find because only about 500 copies of the newsletter were distributed and they were distributed some 40 years ago. Thanks to someone who found a set of the newsletters in the bottom of a box somewhere however, I have been able to scan them and get all eleven issues online at the LifeWiki:</p>
<p><a href="http://njohns01home.webfactional.com/wp-content/uploads/2010/03/Lifeline_vol_7.png"><img class="aligncenter size-medium wp-image-1023" title="Lifeline Number 7" src="http://www.nathanieljohnston.com/wp-content/uploads/2010/03/Lifeline_vol_7-234x300.png" alt="Lifeline Number 7" width="234" height="300" /></a></p>
<p style="text-align: center;"><a href="http://www.conwaylife.com/wiki/index.php?title=Lifeline_Volume_1">Number 1</a> • <a href="http://www.conwaylife.com/wiki/index.php?title=Lifeline_Volume_2">Number 2</a> • <a href="http://www.conwaylife.com/wiki/index.php?title=Lifeline_Volume_3">Number 3</a> • <a href="http://www.conwaylife.com/wiki/index.php?title=Lifeline_Volume_4">Number 4</a> • <a href="http://www.conwaylife.com/wiki/index.php?title=Lifeline_Volume_5">Number 5</a> • <a href="http://www.conwaylife.com/wiki/index.php?title=Lifeline_Volume_6">Number 6</a></p>
<p style="text-align: center;"><a href="http://www.conwaylife.com/wiki/index.php?title=Lifeline_Volume_6"></a><a href="http://www.conwaylife.com/wiki/index.php?title=Lifeline_Volume_7">Number 7</a> • <a href="http://www.conwaylife.com/wiki/index.php?title=Lifeline_Volume_8">Number 8</a> • <a href="http://www.conwaylife.com/wiki/index.php?title=Lifeline_Volume_9">Number 9</a> • <a href="http://www.conwaylife.com/wiki/index.php?title=Lifeline_Volume_10">Number 10</a> • <a href="http://www.conwaylife.com/wiki/index.php?title=Lifeline_Volume_11">Number 11</a></p>
<p style="text-align: left;">All eleven issues have page scans provided as images, the first five issues have been transcribed to text, and the first four issues have had their images updated/pretty-ified a bit. Also, you can download a PDF of the first issue below. So go read and learn about the early days of Life! And if you&#8217;re feeling generous, help transcribe some of the later issues to text.</p>
<p style="text-align: left;"><strong>Download:</strong> <a href="http://njohns01home.webfactional.com/wp-content/uploads/2010/03/LL_Vol01.pdf">Lifeline Number 1</a> [pdf — 5.52MB]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nathanieljohnston.com/2010/03/lifeline-is-now-online/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Spaceship Speed Limits in &quot;B3&quot; Life-Like Cellular Automata</title>
		<link>http://www.nathanieljohnston.com/2009/10/spaceship-speed-limits-in-life-like-cellular-automata/</link>
		<comments>http://www.nathanieljohnston.com/2009/10/spaceship-speed-limits-in-life-like-cellular-automata/#comments</comments>
		<pubDate>Fri, 30 Oct 2009 12:00:07 +0000</pubDate>
		<dc:creator>Nathaniel</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Cellular automata]]></category>
		<category><![CDATA[Conway's Game of Life]]></category>
		<category><![CDATA[Math]]></category>

		<guid isPermaLink="false">http://www.nathanieljohnston.com/?p=830</guid>
		<description><![CDATA[Those of you familiar with Conway&#8217;s Game of Life probably know of its two most basic spaceships: the glider and the lightweight spaceship (shown below). The glider travels diagonally by one cell every four generations (and thus its speed is said to be &#8220;c/4&#8243;) and the lightweight spaceship travels orthogonally by two cells every four [...]]]></description>
			<content:encoded><![CDATA[<p>Those of you familiar with <a href="http://www.conwaylife.com/wiki/index.php?title=Conway's_Game_of_Life">Conway&#8217;s Game of Life</a> probably know of its two most basic spaceships: the <a href="http://www.conwaylife.com/wiki/index.php?title=Glider">glider</a> and the <a href="http://www.conwaylife.com/wiki/index.php?title=Lightweight_spaceship">lightweight spaceship</a> (shown below). The glider travels diagonally by one cell every four generations (and thus its speed is said to be &#8220;c/4&#8243;) and the lightweight spaceship travels orthogonally by two cells every four generations (and so its speed is denoted by &#8220;2c/4&#8243; or &#8220;c/2&#8243;).</p>
<table style="margin-left:auto;margin-right:auto;border:0px" border="0" cellspacing="0" cellpadding="6">
<tbody style="border:0px">
<tr>
<td style="border:0px">
<div id="attachment_831" class="wp-caption aligncenter" style="width: 124px"><a href="http://www.conwaylife.com/wiki/index.php?title=Glider"><img class="size-full wp-image-831" title="The glider" src="http://njohns01home.webfactional.com/wp-content/uploads/2009/10/16.gif" alt="The glider" width="114" height="114" /></a><p class="wp-caption-text">The glider</p></div></td>
<td style="border:0px">
<p><div id="attachment_832" class="wp-caption aligncenter" style="width: 140px"><a href="http://www.conwaylife.com/wiki/index.php?title=Lightweight_spaceship"><img class="size-full wp-image-832" title="Lightweight spaceship" src="http://njohns01home.webfactional.com/wp-content/uploads/2009/10/17.gif" alt="Lightweight spaceship" width="130" height="114" /></a><p class="wp-caption-text">Lightweight spaceship</p></div></td>
</tr>
</tbody>
</table>
<p>A natural question to ask is whether or not there are any spaceships that travel faster than c/4 diagonally or c/2 orthogonally. John Conway proved in 1970 (very shortly after inventing the Game of Life) that the answer is no. I present this proof here, since it&#8217;s a bit difficult to find online (though Dave Greene was kind enough to post <a href="http://www.conwaylife.com/forums/viewtopic.php?f=7&amp;t=79&amp;p=248">a copy of it</a> on the ConwayLife.com forums).</p>
<p style="padding-left: 30px;"><strong>Theorem 1.</strong> The maximum speed that a spaceship can travel in Conway&#8217;s Game of Life is c/4 diagonally and c/2 orthogonally.</p>
<p style="padding-left: 30px;"><em>Proof.</em> We begin by proving the c/4 speed limit for diagonal spaceships. Consider the grid given in Figure 1 (below). If the spaceship is on and to the left of the diagonal line of cells defined by A, B, C, D, and E in generation 0, then suppose that cell X can be alive in generation 2.</p>
<p style="padding-left: 30px;">
<p><div id="attachment_837" class="wp-caption aligncenter" style="width: 172px"><img class="size-full wp-image-837" title="Figure 1: The spaceship is to the left of A,B,C,D, and E" src="http://njohns01home.webfactional.com/wp-content/uploads/2009/10/Image2.png" alt="Figure 1: The spaceship is to the left of A,B,C,D, and E" width="162" height="162" /><p class="wp-caption-text">Figure 1: The spaceship is to the left of A, B, C, D, and E</p></div>
<p style="padding-left: 30px;">Well, if cell X is alive in generation 2, then cells C, U, and V must be alive in generation 1. This means that U and V must have had 3 alive neighbours in generation 0, so each of B, C, D, J, and K must be alive in generation 0. This means that C must have at least four live neighbours in generation 0 though, so there is no way for it to survive to generation 1, which gives a contradiction.</p>
<p style="padding-left: 30px;">It follows that X can not be alive in generation 2. In other words, if the spaceship is behind the diagonal line A, B, C, D, E in generation 0, then it must be behind the diagonal line defined by U and V in generation 2. It follows that can not travel faster than c/4 diagonally.</p>
<p style="padding-left: 30px;">To see the corresponding result for orthogonal spaceships, just use two diagonal lines as in Figure 2. If a spaceship is on and below the diagonal lines defined by the solid black cells in generation 0, then we already saw that it must be on and below the diagonal lines defined by the striped cells in generation 2. It follows that it can not travel faster than c/2 orthogonally.</p>
<p style="padding-left: 30px;">
<div id="attachment_839" class="wp-caption aligncenter" style="width: 236px"><img class="size-full wp-image-839 " title="Figure 2: The spaceship is on and below the solid black cells in generation 0" src="http://njohns01home.webfactional.com/wp-content/uploads/2009/10/Image21.png" alt="Figure 2" width="226" height="162" /><p class="wp-caption-text">Figure 2: The spaceship is on and below the solid black cells in generation 0</p></div>
<p>Notice that this result doesn&#8217;t only apply to spaceships, but also to other configurations that are (initially) finite and travel across the grid, such as <a href="http://www.conwaylife.com/wiki/index.php?title=Puffer">puffers</a> and <a href="http://www.conwaylife.com/wiki/index.php?title=Wickstretcher">wickstretchers</a>. Also, this result applies to many Life-like cellular automata &#8212; not just Conway&#8217;s Game of Life.</p>
<p>In particular, these speed limits apply to any of the 2<sup>12</sup> = 4096 Life-like cellular automata in the range B3/S &#8211; B345678/S0123678. That is, these speed limits apply to any rule on the 2D square lattice such that birth occurs for 3 neighbours but not 0, 1, or 2 neighbours, and survival does not occur for 4 or 5 neighbours. But are the spaceship speed limits <em>attained</em> in each of these rules? The regular c/4 <a href="http://fano.ics.uci.edu/ca/rules/b3s23/g2.html">glider</a> only works in the 2<sup>8</sup> = 256 rules from B3/S23 &#8211; B3678/S0235678. In the remaining rules, not much is known; some of them have c/3 orthogonal spaceships, some have c/5 orthogonal spaceships, and some have no spaceships at all (such as any of the rules containing S0123, which can not contain spaceships because the trailing edge of the spaceship could never die). Of particular interest are the <a href="http://fano.ics.uci.edu/ca/rules/b3s13/g2.html">sidewinder</a> and <a href="http://fano.ics.uci.edu/ca/rules/b3s13/g4.html">this spaceship</a>, which play the c/4 diagonal and c/2 orthogonal roles of the glider and lightweight spaceship, respectively, in B3/S13 (as well as several other rules).</p>
<p>So what about the other B3 (but not B0, B1, or B2) rules? If cells survive when they have 4 or 5 cells, then it&#8217;s conceivable that spaceships might be able to travel faster than c/4 diagonally or c/2 orthogonally because Theorem 1 does not apply to them. It turns out that they indeed can travel faster diagonally, but somewhat surprisingly they <em>can not</em> travel faster orthogonally.</p>
<p style="padding-left: 30px;"><strong>Theorem 2.</strong> In any Life-like cellular automaton in which birth occurs when a cell has 3 live neighbours but not 0, 1, or 2 live neighbours, the maximum speed that a spaceship can travel is c/3 diagonally and c/2 orthogonally.</p>
<p style="padding-left: 30px;"><em>Proof.</em> The trick here is to consider lines of slope -1/2 as in Figure 3 below. It is possible (though a bit more complicated) to prove the c/3 diagonal speed limit using a diagonal line as in Figure 1 for Theorem 1, but the orthogonal speed limit that results is 2c/3. What is presented here is the only method I know of proving both the diagonal speed limit of c/3 <em>and</em> the orthogonal speed limit of c/2.</p>
<p style="padding-left: 30px;">
<div id="attachment_842" class="wp-caption aligncenter" style="width: 204px"><img class="size-full wp-image-842" title="Figure 3: The spaceship is below A,B,C,D,E, and F" src="http://njohns01home.webfactional.com/wp-content/uploads/2009/10/1.png" alt="Figure 3: The spaceship is below A,B,C,D,E, and F" width="194" height="162" /><p class="wp-caption-text">Figure 3: The spaceship is below A, B, C, D, E, and F in generation 0</p></div>
<p style="padding-left: 30px;">Suppose that a spaceship is on and below the line defined by the cells A, B, C, D, E, and F in Figure 3 in generation 0. It is clear that Y can not be alive in generation 2, since its only neighbour that could possibly be alive in generation 1 is K. Similarly, X can not be alive in generation 2 because its only neighbours that can be alive in generation 1 are B and K. It follows that in generation 2, the spaceship can not be more than 1 cell above the line A, B, C, D, E, F.</p>
<p style="padding-left: 30px;">More mathematically, this tells us that the maximum speed of a spaceship that travels x cells horizontally for every y cells vertically can not travel faster than max{x,y}c/(x+2y). Taking x = y = 1 (diagonal spaceships) gives a speed limit of c/3. Taking x = 0, y = 1 (orthogonal spaceships) gives a speed limit of c/2.</p>
<p>Finally, it should be noted that even though these spaceship speed upper bounds apply to a wide variety of different rules, many rules don&#8217;t even <em>have</em> spaceships (even relatively simple rules containing B3 in their rulestring). For example, no spaceships are currently known in the rule &#8220;<a href="http://www.conwaylife.com/wiki/index.php?title=Maze">maze</a>&#8221; (B3/S12345), and it seems quite believable that there are no spaceships to be found in that rule. I would love to see a proof that maze contains no spaceships, but it seems that there are too many cases to check by hand. I may end up trying a computer proof sometime in the near future.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nathanieljohnston.com/2009/10/spaceship-speed-limits-in-life-like-cellular-automata/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The Online Life-Like CA Soup Search</title>
		<link>http://www.nathanieljohnston.com/2009/07/the-online-life-like-ca-soup-search/</link>
		<comments>http://www.nathanieljohnston.com/2009/07/the-online-life-like-ca-soup-search/#comments</comments>
		<pubDate>Sat, 11 Jul 2009 18:42:24 +0000</pubDate>
		<dc:creator>Nathaniel</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Cellular automata]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[Conway's Game of Life]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://www.nathanieljohnston.com/?p=465</guid>
		<description><![CDATA[Today I&#8217;m &#8220;officially&#8221; announcing the Online Life-Like CA Soup Search, though some of the folks over at the ConwayLife.com forums have been helping me test it out for a couple of weeks now. As I mentioned in this post, one way to learn about the general behaviour of Conway&#8217;s Game of Life (or any other [...]]]></description>
			<content:encoded><![CDATA[<p>Today I&#8217;m &#8220;officially&#8221; announcing the <a href="http://www.conwaylife.com/soup/">Online Life-Like CA Soup Search</a>, though some of the folks over at the <a href="http://www.conwaylife.com/forums/">ConwayLife.com forums</a> have been helping me test it out for a couple of weeks now.</p>
<p>As I mentioned in <a href="http://www.nathanieljohnston.com/index.php/2009/06/longest-lived-soup-density-in-conways-game-of-life/">this post</a>, one way to learn about the general behaviour of Conway&#8217;s Game of Life (or any other <a href="http://www.conwaylife.com/wiki/index.php?title=Life-like_cellular_automata#Life-like_cellular_automata">Life-like cellular automaton</a>) is to generate random patterns and see what stable patterns they typically evolve into (if any). If you&#8217;ve played around with Conway&#8217;s Game of Life, then you more than likely are very familiar with <a href="http://www.conwaylife.com/wiki/index.php?title=Block">blocks</a>, <a href="http://www.conwaylife.com/wiki/index.php?title=Blinker">blinkers</a>, <a href="http://www.conwaylife.com/wiki/index.php?title=Beehive">beehives</a>, <a href="http://www.conwaylife.com/wiki/index.php?title=Loaf">loaves</a>, and maybe even <a href="http://www.conwaylife.com/wiki/index.php?title=Pulsar">pulsars</a>, simply as a result of drawing random gibberish on the grid and letting it evolve. This is exactly the idea behind the Online Life-Like CA Soup Search, just on a larger scale &#8212; what if we had lots of people&#8217;s computers drawing random gibberish on Life grids, letting them evolve, and storing the resulting patterns in a communal database?</p>
<p>This method of collecting patterns in Life is known as a census, and to my knowledge it has been carried out on a relatively large scale twice in the past; once by Achim Flammenkamp (results <a href="http://wwwhomes.uni-bielefeld.de/achim/freq_top_life.html">here</a>), and once by Andrej Okrasinski (results linked in the first paragraph <a href="http://www.geocities.com/conwaylife/">here</a>). As we would expect, the block is by far the most common still life, and the blinker is by far the most common oscillator. If we scroll down a bit, we see that the pulsar is the fourth most common oscillator (which is reasonably surprising, given its size). Scrolling much past that, we get into the interesting stuff &#8212; objects that no reasonable person has ever seen from drawing random stuff and seeing what it evolves into, simply because they occur so infrequently.</p>
<p>So why bother doing another census if two rather large-scale censuses (censi?) have already been carried out? My reasons are threefold:</p>
<ol>
<li>There has never (to my knowledge) been a census of any other Life-like cellular automata conducted. The Online Life-Like CA Soup Search is completely general in that it can conduct a census of any Life-like rule (assuming that rule is stable, of course). Censuses have already been started for five other rules, including <a href="http://www.conwaylife.com/soup/census.asp?rule=B36/S125&amp;sl=1&amp;os=1&amp;ss=1">2&#215;2</a>, <a href="http://www.conwaylife.com/soup/census.asp?rule=B3678/S34678&amp;sl=1&amp;os=1&amp;ss=1">Day &amp; Night</a>, <a href="http://www.conwaylife.com/soup/census.asp?rule=B36/S23&amp;sl=1&amp;os=1&amp;ss=1">HighLife</a>, and <a href="http://www.conwaylife.com/soup/census.asp?rule=B368/S245&amp;sl=1&amp;os=1&amp;ss=1">Move</a>. Because some of these other rules have been studied relatively little, this is an easy way of discovering new yet fundamental patterns in them. For example, it didn&#8217;t take long for the soup search script to uncover a c/8 line puffer in the 2&#215;2 (B36/S125) rule; the very first known pattern that exhibits infinite growth in 2&#215;2!
<div id="attachment_471" class="wp-caption aligncenter" style="width: 92px"><a href="http://www.conwaylife.com/?p=2x2linepuffer"><img class="size-full wp-image-471" title="2x2 Line Puffer" src="http://njohns01home.webfactional.com/wp-content/uploads/2009/07/glider.gif" alt="Line puffer in 2x2" width="82" height="98" /></a><p class="wp-caption-text">Line puffer in 2x2</p></div></li>
<li>Previous soup searches were limited in that they only looked for very specific types of objects &#8212; usually still lifes and oscillators (though Achim Flammenkamp did a search for spaceships and puffers that can be viewed <a href="http://wwwhomes.uni-bielefeld.de/achim/moving.html">here</a>). The Online Life-Like CA Soup Search searches for still lifes, oscillators, spaceships and puffers all at once, and even gets pseudo objects (such as the <a href="http://www.conwaylife.com/wiki/index.php?title=Bi-block">bi-block</a>) as well.</li>
<li>Multiple users can run the script and contribute to the results simultaneously. Rather than just having one person run a script that they themself wrote, the Online Life-Like CA Soup Search works by having users download a script and that script uploads results to the central database. This obviously provides a huge speed-up, and allows the census to continuously improve and expand.</li>
</ol>
<p>So what are you waiting for? Visit the <a href="http://www.conwaylife.com/soup/">Online Life-Like CA Soup Search</a>, download the script, and put your computer&#8217;s CPU cycles to good use!</p>
<p><div id="attachment_469" class="wp-caption aligncenter" style="width: 571px"><a href="http://www.conwaylife.com/soup/census.asp?rule=B3/S23&amp;sl=1&amp;os=1&amp;ss=1"><img class="size-full wp-image-469  " title="Conway's Game of Life Census" src="http://njohns01home.webfactional.com/wp-content/uploads/2009/07/cens.png" alt="Census results in Conway's Game of Life" width="561" height="407" /></a><p class="wp-caption-text">Census results in Conway&#39;s Game of Life</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.nathanieljohnston.com/2009/07/the-online-life-like-ca-soup-search/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rectangular Oscillators in the 2&#215;2 (B36/S125) Cellular Automaton</title>
		<link>http://www.nathanieljohnston.com/2009/05/rectangular-oscillators-in-the-2x2-b36s125-cellular-automaton/</link>
		<comments>http://www.nathanieljohnston.com/2009/05/rectangular-oscillators-in-the-2x2-b36s125-cellular-automaton/#comments</comments>
		<pubDate>Fri, 22 May 2009 04:00:36 +0000</pubDate>
		<dc:creator>Nathaniel</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Cellular automata]]></category>
		<category><![CDATA[Integer Sequences]]></category>
		<category><![CDATA[Math]]></category>

		<guid isPermaLink="false">http://www.nathanieljohnston.com/?p=267</guid>
		<description><![CDATA[One interesting Life-like cellular automaton, known as &#8220;2&#215;2&#8220;, is particularly abundant with frequently-occurring oscillators and has thus attracted some attention from Life enthusiasts over the years. The 2&#215;2 automaton takes place on a grid much like Conway&#8217;s Game of Life, but cells are born if they have exactly 3 or 6 neighbours, and they survive if [...]]]></description>
			<content:encoded><![CDATA[<p>One interesting Life-like cellular automaton, known as &#8220;<a href="http://www.conwaylife.com/wiki/index.php?title=2x2">2&#215;2</a>&#8220;, is particularly abundant with frequently-occurring oscillators and has thus attracted some attention from Life enthusiasts over the years. The 2&#215;2 automaton takes place on a grid much like <a href="http://www.conwaylife.com/wiki/index.php?title=Conway's_game_of_life">Conway&#8217;s Game of Life</a>, but cells are born if they have exactly 3 or 6 neighbours, and they survive if they have exactly 1, 2, or 5 neighbours (this behaviour is summarized by the rulestring &#8220;B36/S125&#8243;).</p>
<div id="attachment_268" class="wp-caption aligncenter" style="width: 223px"><a href="http://www.conwaylife.com/?p=2x2period2oscillators"><img class="size-full wp-image-268" title="2x2 oscillators" src="http://njohns01home.webfactional.com/wp-content/uploads/2009/05/anim.gif" alt="Some small oscillators in B36/S125" width="213" height="73" /></a><p class="wp-caption-text">Some small period 2 oscillators in B36/S125</p></div>
<p>Take a look at the second oscillator from the left in the top row of the above image &#8212; it is a 2 × 4 rectangle that oscillates back and forth. The oscillators that I will be looking at in this post are rectangles like this; rectangles of sizes 2m × 2n such that m + n is odd (the reason for these restrictions on the sizes of the rectangles is simply that they aren&#8217;t oscillators otherwise (<span style="color: #ff0000;">not quite</span>, see the correction in <a href="http://www.nathanieljohnston.com/index.php/2009/05/rectangular-oscillators-in-the-2x2-b36s125-cellular-automaton/comment-page-1/#comment-1454">the comments</a>)). The next two smallest of these rectangular oscillators are shown here:</p>
<div id="attachment_269" class="wp-caption aligncenter" style="width: 235px"><a href="http://www.conwaylife.com/?p=2x2blockoscillators"><img class="size-full wp-image-269" title="2x2 block oscillators" src="http://njohns01home.webfactional.com/wp-content/uploads/2009/05/anim1.gif" alt="Block oscillators in B36/S125" width="225" height="113" /></a><p class="wp-caption-text">Rectangular oscillators in B36/S125</p></div>
<p>As you can see, the oscillators behave a bit more unpredictably as their size increases. The question that I will answer now is <em>&#8220;What is the period of a 2m × 2n rectangular oscillator in the 2&#215;2 rule in terms of m and n?&#8221;</em></p>
<p>I will present the final answer right now, since it isn&#8217;t particularly simple: the period is 2<sup>k+1</sup> &#8211; 2, where k is the least natural number such that 2<sup>k</sup> = ± 1 mod (m + n). While this answer isn&#8217;t exactly pretty, the k values have at least already been computed up to m + n = 2001 (see Sloane&#8217;s <a href="http://www.research.att.com/~njas/sequences/A003558">A003558</a>), and there is at least some theory developed about them (see <a href="http://mathworld.wolfram.com/SuborderFunction.html">Suborder Function</a> at Mathworld).</p>
<p>It is perhaps worth noting that B36/S125 isn&#8217;t the only rule in which these oscillators work; it&#8217;s simply the most well-known. These rectangular oscillators behave the same in any rule from B3/S5 to B3678/S012567.</p>
<h3>Deriving the Answer</h3>
<p><em><strong>Disclaimer:</strong> The following contains much handwaving. It can be made rigorous, but I don&#8217;t particularly want to; the argument is long enough as it is, and this is recreational mathematics, after all.</em></p>
<p>Before proceeding, let&#8217;s make a simplification by noticing that a 2m × 2n rectangle is simply another phase of a 2 × 2(m + n &#8211; 1) rectangular oscillator. It is thus enough to consider 2 × 4n rectangular oscillators, where n is an integer.</p>
<p>The thing to notice about these oscillators is that, as described by Dean Hickerson in <a href="http://groups.google.tk/group/comp.theory.cell-automata/browse_frm/thread/b059a5fb0c796743/c5683380affb8068?lnk=gst&amp;q=2x2#c5683380affb8068">this thread</a>, each phase of these block oscillators can be described as an XOR of rectangles. For example, consider the following phase of one of the above oscillators:</p>
<div id="attachment_274" class="wp-caption aligncenter" style="width: 123px"><a href="http://www.conwaylife.com/?p=2x2blockoscillators"><img class="size-full wp-image-274" title="Rectangular oscillator phase" src="http://njohns01home.webfactional.com/wp-content/uploads/2009/05/pattern_13_12.png" alt="2 × 12 XOR 6 × 8" width="113" height="65" /></a><p class="wp-caption-text">2 × 12 XOR 6 × 8</p></div>
<p>The above phase can be considered the XOR of a 2 × 12 rectangle and a 6 × 8 rectangle. Different phases may require a different number of rectangles to be XORed, but every phase can always be represented in this way. More important, however, is the fact that the evolution of the oscillators occurs in a very predictable way when modeled like this. Consider the following grid.<em> (Aside: you will likely recognize that it resembles very closely one half of the </em><a href="http://en.wikipedia.org/wiki/Sierpinski_triangle"><em>Sierpinski triangle</em></a><em>. This is no coincidence; it turns out that these oscillators are, in a sense, emulating the &#8220;</em><a href="http://mathworld.wolfram.com/Rule90.html"><em>Rule 90</em></a><em>&#8221; 1D cellular automaton.)</em></p>
<div id="attachment_281" class="wp-caption aligncenter" style="width: 259px"><img class="size-full wp-image-281" title="Sierpinski XOR Table" src="http://njohns01home.webfactional.com/wp-content/uploads/2009/05/serp.png" alt="XOR table" width="249" height="249" /><p class="wp-caption-text">XOR grid</p></div>
<p>The way to read the above grid is that that row represents the current generation and the column represents the size of the rectangle that is being XORed (the first column represents a 2 × 4n rectangle, the second column represents a 4 × (4n &#8211; 2) rectangle, the third column represents a 6 × (4n &#8211; 4) rectangle, and so on). Thus, you &#8220;start&#8221; in the top-left cell, and that represents the 2 × 4n rectangle that you start with (in generation 0). To go to generation 1, go to the next row, where we see that the only filled in cell is in the second column, which is the 4 × (4n &#8211; 2) column. Thus, the first generation will just be a filled-in 4 × (4n &#8211; 2) rectangle. To see what generation 2 will look like, go to the next row, where we see that two cells are filled in, corresponding to 2 × 4n and 6 × (4n &#8211; 4) rectangles. Thus, XOR together two rectangles of those sizes (in the sense described earlier) to get what generation 2 must look like.</p>
<p>The key to determining the oscillators&#8217; periods comes from realizing that if we continue to label the columns in the way I described, eventually we hit zero-length rectangles, which doesn&#8217;t make a whole lot of sense. Thus, we simply do not XOR any of those rectangles that are of length zero. But what about rectangles of negative length? Instead of counting down into negative numbers, start counting back up. This is probably easiest to illustrate with an example, so I&#8217;ll use the n = 3 case.</p>
<div id="attachment_283" class="wp-caption aligncenter" style="width: 259px"><img class="size-full wp-image-283" title="serp1" src="http://njohns01home.webfactional.com/wp-content/uploads/2009/05/serp1.png" alt="Coloured XOR grid (n = 3)" width="249" height="249" /><p class="wp-caption-text">Coloured XOR grid (n = 3)</p></div>
<p>Red columns represent 2 × 12, orange represent 4 × 10, yellow represent 6 × 8, green represent 8 × 6, blue represent 10 × 4, purple represent 12 × 2, and grey represent zero-width rectangles that can be ignored. Thus, we see that (for example), in generation 9 (row 10), there is a puple and a green and so the oscillator will look like a 12 × 2 rectangle XORed with an 8 × 6 rectangle.</p>
<p>The period can be determined by grids of this type by going down the rows, looking for the first row (after row 1) that has an odd number of red cells filled in (so that after XORing, a 2 × 4n rectangle will be present) and an even number of each other colour besides grey (so that after XORing, no rectangles of other sizes will be present). It can be shown that the first time this occurs must be at the bottom of one the triangles that reaches all the way to the left (so in row 3, 7, 15, 31, and so on). This corresponds to the oscillators always having period that is equal to 2<sup>k</sup> &#8211; 2, where k is some integer. To determine what that integer is, notice that if one of these oscillators starts off as a 2 × 4n rectangle, then it will appear rotated 90 degrees as a 4n × 2 rectangle halfway through its period. Thus, we need the least k such that row 2<sup>k-1</sup> contains a single purple cell (i.e., 2<sup>k-1</sup> = ± 1 mod (2n + 1)).</p>
<p>By transforming back to 2m × 2n rectangles and shifting around k a little bit, we see that the period is 2<sup>k+1</sup> &#8211; 2, where k is the least integer such that 2<sup>k</sup> = ± 1 mod (m + n).</p>
<p>Thus, using Sloane&#8217;s <a href="http://www.research.att.com/~njas/sequences/A003558">A003558</a> as our guide, we see that the period of a 2m × 2n rectangle for m + n = 3, 5, 7, 9, &#8230; is 2, 6, 14, 14, 62, 126, 30, 30, 1022, &#8230;</p>
<p><strong><span style="color: #800000;">Update [May 28, 2009]:</span></strong> This sequence is now listed in the OEIS as Sloane&#8217;s <a href="http://www.research.att.com/~njas/sequences/A160657">A160657</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nathanieljohnston.com/2009/05/rectangular-oscillators-in-the-2x2-b36s125-cellular-automaton/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
