{"id":581,"date":"2016-10-28T23:30:18","date_gmt":"2016-10-29T03:30:18","guid":{"rendered":"http:\/\/aristotle2digital.blogwyrm.com\/?p=581"},"modified":"2016-10-23T19:36:57","modified_gmt":"2016-10-23T23:36:57","slug":"game-of-life","status":"publish","type":"post","link":"https:\/\/aristotle2digital.blogwyrm.com\/?p=581","title":{"rendered":"Game of Life"},"content":{"rendered":"<p><a href=\"http:\/\/aristotle2digital.blogwyrm.com\/?p=569\">Last month\u2019s column<\/a> explored the surprising complexity that results from the repeated application of the simple set of rules called the <strong>Half or Triple-Plus-One<\/strong> (HTPO).\u00a0 Despite the fact that the rules are easy to understand and apply, composing their application iteratively led to rich patterns that defy the ability of the current state of mathematical logic to fully predict or prove.\u00a0 So it should come as no surprise that there similar systems exhibit \u2018big things in small packages\u2019 behavior.<\/p>\n<p>One class of systems where the application of simple local rules leads to complex global behavior is known as <a href=\"https:\/\/en.wikipedia.org\/wiki\/Cellular_automaton\">cellular automata<\/a>.\u00a0 These systems are usually modeled as living on a grid or lattice usually with a rectangular topology, although other connection schemes exist.<\/p>\n<p>The state of the system is specified by a discrete state variable living at the grid point, with the most common state being specified by the integers 0 or 1, corresponding to \u2018on\u2019 or \u2018off\u2019.\u00a0 The transition rules for deciding whether a grid point turns from on to off or vice versa are usually based on the local neighborhood of the grid point and are usually specified by relatively simple rules.<\/p>\n<p>As in the HTPO case, the fun begins when the entire system dynamics for extended systems are taken into account.\u00a0 Even though a specific grid point only interacts directly with its neighbors (the precise definition of what these are differ from system to system) its future evolution is determined by its neighbor\u2019s interactions with their neighbors and so on.\u00a0 In a real sense, local rules propagate out globally, and this is how the complexity results.<\/p>\n<p>Perhaps the best known and popular cellular automaton system is <a href=\"https:\/\/en.wikipedia.org\/wiki\/Conway%27s_Game_of_Life\">Conway\u2019s Game of Life<\/a>.\u00a0 This system takes place on a rectangular grid with the state of the system specified by 0 for off (\u2018dead\u2019) and 1 for on (\u2018alive\u2019). \u00a0Each cell has 8 neighbors, the closest cells to the north, north-east, east, south-east, south, south-west, west, and north-west.\u00a0 The rules for how a particular grid cell evolves in time are:<\/p>\n<ul>\n<li>If a cell is alive and has less than 2 neighbors, it dies from heart-crushing loneliness and a failure by society-at-large to meet its needs,<\/li>\n<li>if a cell is alive and has 2 or 3 neighbors, it flourishes due to a balanced social life where it is integrated properly into society,<\/li>\n<li>if a cell is alive and has 4 or more neighbors, it dies from overcrowding, squalor, and disease,<\/li>\n<li>and if a cell is dead but there are exactly 3 neighbors, a new baby is born to settle into the empty spot.<\/li>\n<\/ul>\n<p>Of course, none of the colorful language used above is canonical.\u00a0 John Horton Conway picked the rules to try to balance the birth and death rates such that there would be no explosive growth and that the outcomes were not trivially predictable from the inputs.\u00a0 According to the Wikipedia article linked above, Conway\u2019s work was motivated by the desire to simplify von Neumann\u2019s invention of a computational \u2018machine\u2019 that could build copies of itself.<\/p>\n<p>The introduction of the Game of Life in 1970 sparked an entire industry due to the rich, emergent patterns that result.\u00a0 To give a taste of the possibilities consider some simple configurations on a 6&#215;6 grid.\u00a0 Perhaps the simplest, non-trivial configuration is the block, which consists of 4 cells clustered together.<\/p>\n<p><a href=\"http:\/\/aristotle2digital.blogwyrm.com\/wp-content\/uploads\/2016\/10\/Block.png\" rel=\"attachment wp-att-579\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-579\" src=\"http:\/\/aristotle2digital.blogwyrm.com\/wp-content\/uploads\/2016\/10\/Block.png\" alt=\"block\" width=\"857\" height=\"829\" srcset=\"https:\/\/aristotle2digital.blogwyrm.com\/wp-content\/uploads\/2016\/10\/Block.png 857w, https:\/\/aristotle2digital.blogwyrm.com\/wp-content\/uploads\/2016\/10\/Block-300x290.png 300w, https:\/\/aristotle2digital.blogwyrm.com\/wp-content\/uploads\/2016\/10\/Block-768x743.png 768w, https:\/\/aristotle2digital.blogwyrm.com\/wp-content\/uploads\/2016\/10\/Block-810x784.png 810w\" sizes=\"auto, (max-width: 857px) 100vw, 857px\" \/><\/a><\/p>\n<p>Since each cell has 3 neighbors, the pattern, once established, persists into eternity and the four cells live forever together in a stable colony.\u00a0\u00a0 Interestingly, this future-time stability does not imply past-time stability as this configuration can be reached by a variety of enormously dynamic and turbulent pasts as long as the penultimate step is a 3-cell \u2018L\u2019 configuration.<\/p>\n<p>There are many stable configurations like the block.\u00a0 Another one that tends to appear in simulations is the beehive, which also lasts from one time to another time unless disturbed.<\/p>\n<p><a href=\"http:\/\/aristotle2digital.blogwyrm.com\/wp-content\/uploads\/2016\/10\/Beehive.png\" rel=\"attachment wp-att-577\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-577\" src=\"http:\/\/aristotle2digital.blogwyrm.com\/wp-content\/uploads\/2016\/10\/Beehive.png\" alt=\"beehive\" width=\"857\" height=\"482\" srcset=\"https:\/\/aristotle2digital.blogwyrm.com\/wp-content\/uploads\/2016\/10\/Beehive.png 857w, https:\/\/aristotle2digital.blogwyrm.com\/wp-content\/uploads\/2016\/10\/Beehive-300x169.png 300w, https:\/\/aristotle2digital.blogwyrm.com\/wp-content\/uploads\/2016\/10\/Beehive-768x432.png 768w, https:\/\/aristotle2digital.blogwyrm.com\/wp-content\/uploads\/2016\/10\/Beehive-810x456.png 810w\" sizes=\"auto, (max-width: 857px) 100vw, 857px\" \/><\/a><\/p>\n<p>It is interesting to note that the addition of one extra cell anywhere where it may be counted as a neighbor to the beehive ruins the stability completely.<\/p>\n<p>Dynamic patterns that have a stable form (really stationary) are also present, some of which are periodic and others which exhibit non-periodic, complex motions.\u00a0 The simplest examples of periodic behaviors are those structures that seem to spin or rotate thus seeming to retain their shape.\u00a0 The textbook example of this is the blinker that appears to rotate.<\/p>\n<p><a href=\"http:\/\/aristotle2digital.blogwyrm.com\/wp-content\/uploads\/2016\/10\/Blinker.png\" rel=\"attachment wp-att-578\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-578\" src=\"http:\/\/aristotle2digital.blogwyrm.com\/wp-content\/uploads\/2016\/10\/Blinker.png\" alt=\"blinker\" width=\"857\" height=\"327\" srcset=\"https:\/\/aristotle2digital.blogwyrm.com\/wp-content\/uploads\/2016\/10\/Blinker.png 857w, https:\/\/aristotle2digital.blogwyrm.com\/wp-content\/uploads\/2016\/10\/Blinker-300x114.png 300w, https:\/\/aristotle2digital.blogwyrm.com\/wp-content\/uploads\/2016\/10\/Blinker-768x293.png 768w, https:\/\/aristotle2digital.blogwyrm.com\/wp-content\/uploads\/2016\/10\/Blinker-810x309.png 810w\" sizes=\"auto, (max-width: 857px) 100vw, 857px\" \/><\/a><\/p>\n<p>A more careful analysis shows that only the central cell persists while the exterior ones die and resurrect every second time step.\u00a0 The Wikipedia article shows other periodic structures, including the very beautiful pulsar, that exhibit much more complex periodicities.<\/p>\n<p>In the class of non-periodic stationary structures comes the glider, which is a 5-cell structure that sort-of shuffles its way across the board so that it walks through 4 distinct shapes such that its center moves one cell diagonally every 4 steps.<\/p>\n<p><a href=\"http:\/\/aristotle2digital.blogwyrm.com\/wp-content\/uploads\/2016\/10\/Glider.png\" rel=\"attachment wp-att-580\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-580\" src=\"http:\/\/aristotle2digital.blogwyrm.com\/wp-content\/uploads\/2016\/10\/Glider.png\" alt=\"glider\" width=\"857\" height=\"207\" srcset=\"https:\/\/aristotle2digital.blogwyrm.com\/wp-content\/uploads\/2016\/10\/Glider.png 857w, https:\/\/aristotle2digital.blogwyrm.com\/wp-content\/uploads\/2016\/10\/Glider-300x72.png 300w, https:\/\/aristotle2digital.blogwyrm.com\/wp-content\/uploads\/2016\/10\/Glider-768x186.png 768w, https:\/\/aristotle2digital.blogwyrm.com\/wp-content\/uploads\/2016\/10\/Glider-810x196.png 810w\" sizes=\"auto, (max-width: 857px) 100vw, 857px\" \/><\/a><\/p>\n<p>Obviously, a huge amount of complexity results from these simple rules.\u00a0 But the Game of Life has more structure than the emergence of a bewildering array of patterns.\u00a0 It turns out all logic gates needed in computing can be constructed using gliders, as seen in this video by Alex Bellos<\/p>\n<p><iframe loading=\"lazy\" width=\"560\" height=\"315\" src=\"https:\/\/www.youtube.com\/embed\/vGWGeund3eA\" frameborder=\"0\" allowfullscreen><\/iframe><\/p>\n<p>The key structure for producing the gliders is known as <a href=\"https:\/\/en.wikipedia.org\/wiki\/Gun_(cellular_automaton)\">Gospar\u2019s Glider Gun<\/a>, which pumps out a signal (a glider) that can be interrupted by other gliders from other guns.\u00a0 The fact that all possible logic gates can be constructed in the Game of Life means that it is Turing-Complete.\u00a0 Thus you can program any algorithm in Game of Life, including the Game of Life<\/p>\n<p><iframe loading=\"lazy\" width=\"560\" height=\"315\" src=\"https:\/\/www.youtube.com\/embed\/xP5-iIeKXE8\" frameborder=\"0\" allowfullscreen><\/iframe><\/p>\n<p>Amazing what a few simple rules can do!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Last month\u2019s column explored the surprising complexity that results from the repeated application of the simple set of rules called the Half or Triple-Plus-One (HTPO).\u00a0 Despite the fact that the&#8230; <a class=\"read-more-button\" href=\"https:\/\/aristotle2digital.blogwyrm.com\/?p=581\">Read more &gt;<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-581","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/aristotle2digital.blogwyrm.com\/index.php?rest_route=\/wp\/v2\/posts\/581","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aristotle2digital.blogwyrm.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/aristotle2digital.blogwyrm.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/aristotle2digital.blogwyrm.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/aristotle2digital.blogwyrm.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=581"}],"version-history":[{"count":0,"href":"https:\/\/aristotle2digital.blogwyrm.com\/index.php?rest_route=\/wp\/v2\/posts\/581\/revisions"}],"wp:attachment":[{"href":"https:\/\/aristotle2digital.blogwyrm.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=581"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/aristotle2digital.blogwyrm.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=581"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/aristotle2digital.blogwyrm.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=581"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}