{"id":11036,"date":"2013-02-20T12:02:23","date_gmt":"2013-02-20T20:02:23","guid":{"rendered":"http:\/\/www.preposterousuniverse.com\/blog\/?p=11036"},"modified":"2013-02-20T12:02:23","modified_gmt":"2013-02-20T20:02:23","slug":"smooth-life","status":"publish","type":"post","link":"https:\/\/preposterousuniverse.com\/blog\/2013\/02\/20\/smooth-life\/","title":{"rendered":"Smooth Life"},"content":{"rendered":"<p>Chances are you&#8217;ve seen Conway&#8217;s <a href=\"http:\/\/www.conwaylife.com\/wiki\/Game_of_Life\">Game of Life<\/a>, the checkerboard cellular automaton featuring stable structures, replicators, and all sorts of cool designs. (Plenty of implementations <a href=\"http:\/\/psych.hanover.edu\/JavaTest\/Play\/Life.html\">available online<\/a>.) It&#8217;s called &#8220;life&#8221; because the processes of movement and evolution bear some tangential resemblance to regular organic life, although there are plenty of other reasons to be interested &#8212; for example, you can construct a <a href=\"http:\/\/www.conwaylife.com\/wiki\/Universal_computer\">universal computer<\/a> within the game.<\/p>\n<p>Now <a href=\"https:\/\/plus.google.com\/u\/0\/117663015413546257905\/posts\/bguQ1Q6U1RQ\">John Baez<\/a> points us to a version called SmoothLife, in which the evolution looks dramatically more &#8220;biological.&#8221; (Technical paper by Stefan Rafler <a href=\"http:\/\/arxiv.org\/abs\/1111.1567\">here<\/a>, and a playlist with many videos is <a href=\"http:\/\/www.youtube.com\/playlist?list=PL69EDA11384365494\">here<\/a>.) Rather than just looking at the nearest neighbor sites on a square grid, SmoothLife integrates over a region in the vicinity of each point, with a specified filter function. As a result, everything looks, well, a lot smoother.<\/p>\n<div class=\"lyte-wrapper\" title=\"Generalized Conway Game of Life - SmoothLife3\" style=\"width:640px;max-width:100%;margin:5px;\"><div class=\"lyMe\" id=\"WYL_QiYbsT4Ws_c\" itemprop=\"video\" itemscope itemtype=\"https:\/\/schema.org\/VideoObject\"><div><meta itemprop=\"thumbnailUrl\" content=\"https:\/\/i.ytimg.com\/vi\/QiYbsT4Ws_c\/hqdefault.jpg\" \/><meta itemprop=\"embedURL\" content=\"https:\/\/www.youtube.com\/embed\/QiYbsT4Ws_c\" \/><meta itemprop=\"duration\" content=\"PT1M35S\" \/><meta itemprop=\"uploadDate\" content=\"2011-10-14T12:35:21Z\" \/><\/div><div id=\"lyte_QiYbsT4Ws_c\" data-src=\"https:\/\/i.ytimg.com\/vi\/QiYbsT4Ws_c\/hqdefault.jpg\" class=\"pL\"><div class=\"tC\"><div class=\"tT\" itemprop=\"name\">Generalized Conway Game of Life - SmoothLife3<\/div><\/div><div class=\"play\"><\/div><div class=\"ctrl\"><div class=\"Lctrl\"><\/div><div class=\"Rctrl\"><\/div><\/div><\/div><noscript><a href=\"https:\/\/youtu.be\/QiYbsT4Ws_c\" rel=\"nofollow\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/i.ytimg.com\/vi\/QiYbsT4Ws_c\/0.jpg\" alt=\"Generalized Conway Game of Life - SmoothLife3\" width=\"640\" height=\"340\" \/><br \/>Watch this video on YouTube<\/a><\/noscript><meta itemprop=\"description\" content=\"The transfer function that is used to calculate every new timestep can be arbitrarily complex. The kernel does not change, just as in different variations of the Game of Life, where birth\/death values change, but not the kernel.\"><\/div><\/div><div class=\"lL\" style=\"max-width:100%;width:640px;margin:5px;\"><\/div><\/p>\n<p>While SmoothLife is undeniably more lifelike in appearance, I think the differences between these kinds of simulations and biological life are as important as the similarities. Conway&#8217;s original game supports an impressive variety of structures, but it&#8217;s not really robust; if you start with a random configuration, chances are good that it will settle down to something boring before too long. My uninformed suspicion is that this is partly due to the fact that cellular automata typically feature irreversible dynamics; you can&#8217;t recover the past state from the present. (There are many initial states that evolve to a completely empty grid, for example.) As a result, evolution is not <a href=\"http:\/\/en.wikipedia.org\/wiki\/Ergodicity\">ergodic<\/a>, exploring a large section of the possible state space; instead, it settles down to some smaller region and stays there. There are some <a href=\"http:\/\/en.wikipedia.org\/wiki\/Reversible_cellular_automaton\">reversible automata<\/a>, which are quite interesting. To <em>really<\/em> model actual biology, you would want an automaton that was fundamentally reversible, but in which the system you cared about was coupled to a &#8220;low entropy&#8221; environment. Don&#8217;t know if anyone has attempted anything like that (or whether it would turn out to be interesting).<\/p>\n<p>While I&#8217;m giving away all my wonderful ideas, it might be fun to look at cellular automata on random lattices rather than strict rectilinear grids. If the nodes were connected to a random number of neighbors, you would at least avoid the rigid forty-five-degree-ness of the original Life, but it might be harder to think of interesting evolution rules. While we&#8217;re at it, we could imagine automata on random lattices that evolved (randomly!) with time. Then you&#8217;d essentially be doing automata in the presence of gravity, since the &#8220;spacetime&#8221; on which the dynamics occurred would be flexible. (Best of all if you could update the lattice in ways that depended on the states of the cells, so that matter would be affecting the geometry.)<\/p>\n<p>Musings along these lines make me more sympathetic to the idea that we&#8217;re all living in a computer simulation.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Chances are you&#8217;ve seen Conway&#8217;s Game of Life, the checkerboard cellular automaton featuring stable structures, replicators, and all sorts of cool designs. (Plenty of implementations available online.) It&#8217;s called &#8220;life&#8221; because the processes of movement and evolution bear some tangential resemblance to regular organic life, although there are plenty of other reasons to be interested [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[48],"tags":[],"class_list":["post-11036","post","type-post","status-publish","format-standard","hentry","category-math"],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/preposterousuniverse.com\/blog\/wp-json\/wp\/v2\/posts\/11036","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/preposterousuniverse.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/preposterousuniverse.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/preposterousuniverse.com\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/preposterousuniverse.com\/blog\/wp-json\/wp\/v2\/comments?post=11036"}],"version-history":[{"count":3,"href":"https:\/\/preposterousuniverse.com\/blog\/wp-json\/wp\/v2\/posts\/11036\/revisions"}],"predecessor-version":[{"id":11040,"href":"https:\/\/preposterousuniverse.com\/blog\/wp-json\/wp\/v2\/posts\/11036\/revisions\/11040"}],"wp:attachment":[{"href":"https:\/\/preposterousuniverse.com\/blog\/wp-json\/wp\/v2\/media?parent=11036"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/preposterousuniverse.com\/blog\/wp-json\/wp\/v2\/categories?post=11036"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/preposterousuniverse.com\/blog\/wp-json\/wp\/v2\/tags?post=11036"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}