{"id":811,"date":"2008-03-06T04:14:14","date_gmt":"2008-03-06T04:14:14","guid":{"rendered":"http:\/\/UnhinderedByTalent.com\/Phi\/archives\/2008\/03\/06\/not-quite-a-wave\/"},"modified":"2008-03-06T20:23:14","modified_gmt":"2008-03-06T20:23:14","slug":"not-quite-a-wave","status":"publish","type":"post","link":"https:\/\/UnhinderedByTalent.com\/Phi\/archives\/2008\/03\/06\/not-quite-a-wave\/","title":{"rendered":"Not quite a wave"},"content":{"rendered":"<p><a href=\"http:\/\/www.flickr.com\/photos\/nicmcphee\/2313528176\/\" title=\"Not quite a wave by Unhindered by Talent, on Flickr\"><img decoding=\"async\" src=\"https:\/\/i0.wp.com\/farm4.static.flickr.com\/3140\/2313528176_c3ce977562.jpg?w=450\" alt=\"Not quite a wave\" data-recalc-dims=\"1\" \/><\/a><\/p>\n<p>Sometimes you&#8217;re just minding your own business, trying to get a little science done, and a little art pops out at you all unexpected.<\/p>\n<p>What?!?  You want to know where this comes from?  All is revealed beneath the fold&#8230;<\/p>\n<p><!--more--><\/p>\n<p>The dotted line is, not surprisingly, the sine function plotted from about -10 to +15.  The dashed line is a crazy rational function evolved using genetic programming.  The bold line shows where the test data came from that was used to evaluate the quality of the evolved solutions, and it&#8217;s clear that in that range the evolved function matches <em>very<\/em> closely. <\/p>\n<p>It&#8217;s also clear that outside of that range (which was never part of the evolutionary training), the evolved function rapidly wanders off into its own happy place (including a nifty discontinuity at around x=10).  This is in fact to be expected.  The GP system was only allowed to use +, *, -, and \/, i.e., all it could construct were rational functions.  There are no rational functions that match sine across its entire range, so this is really about as good as we could do given those tools.  If we&#8217;d given the GP system a periodic function (like cosine) in its toolkit, then it could potentially evolve something that would match sine everywhere.  With rational functions, though, it just ain&#8217;t gonna happen.<\/p>\n<p>But this graph looks a lot cooler than it would if they matched everywhere :-).<\/p>\n<p>Oh?<\/p>\n<p>The function that it actually evolved?  <\/p>\n<p>You sure you want to see that?<\/p>\n<p>Well, OK&#8230;<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/www.forkosh.dreamhost.com\/mathtex.cgi?x\\over{-a\\times x \\over {x \\over x - b} + x + x \\times (x - c)} - {x^2 \\over \\left( {2 \\over x} + x \\right) \\times \\left(d - {x^2 \\over e} \\right)}\" alt=\"Evolved equation\" border=0 align=middle\/><br \/>\nwhere<\/p>\n<ul>\n<li>a = 2.76609789995<\/li>\n<li>b = 10.240744822<\/li>\n<li>c = 3.9532436939<\/li>\n<li>d =  3.20011637632<\/li>\n<li>e = 12.6508398844<\/li>\n<\/ul>\n<p>I never promised it would make a lot of sense, did I?  Evolution often doesn&#8217;t produce pretty.  So much for intelligent design&#8230;<\/p>\n\n\t<div class=\"st-post-tags \">\n\tTags: <a href=\"https:\/\/UnhinderedByTalent.com\/Phi\/archives\/tag\/evolution\/\" title=\"evolution\">evolution<\/a>, <a href=\"https:\/\/UnhinderedByTalent.com\/Phi\/archives\/tag\/evolutionary-computation\/\" title=\"evolutionary computation\">evolutionary computation<\/a>, <a href=\"https:\/\/UnhinderedByTalent.com\/Phi\/archives\/tag\/genetic-programming\/\" title=\"genetic programming\">genetic programming<\/a>, <a href=\"https:\/\/UnhinderedByTalent.com\/Phi\/archives\/tag\/graphics\/\" title=\"graphics\">graphics<\/a>, <a href=\"https:\/\/UnhinderedByTalent.com\/Phi\/archives\/tag\/mathematics\/\" title=\"Mathematics\">Mathematics<\/a>, <a href=\"https:\/\/UnhinderedByTalent.com\/Phi\/archives\/tag\/research\/\" title=\"Research\">Research<\/a>, <a href=\"https:\/\/UnhinderedByTalent.com\/Phi\/archives\/tag\/science\/\" title=\"Science\">Science<\/a>, <a href=\"https:\/\/UnhinderedByTalent.com\/Phi\/archives\/tag\/symbolic-regression\/\" title=\"symbolic regression\">symbolic regression<\/a><br \/><\/div>\n\n\n\t<h4>Related posts<\/h4>\n\t<ul class=\"st-related-posts\">\n\t<li><a href=\"https:\/\/UnhinderedByTalent.com\/Phi\/archives\/2008\/03\/30\/umm-students-are-just-so-cool\/\" title=\"UMM students are just <em>so<\/em> cool! (30 Mar 08)\">UMM students are just <em>so<\/em> cool!<\/a> (5)<\/li>\n\t<li><a href=\"https:\/\/UnhinderedByTalent.com\/Phi\/archives\/2010\/07\/12\/massive-road-trip-days-7-11\/\" title=\"Massive road trip, days 7-11 (12 Jul 10)\">Massive road trip, days 7-11<\/a> (0)<\/li>\n<\/ul>\n\n","protected":false},"excerpt":{"rendered":"<p>Sometimes you&#8217;re just minding your own business, trying to get a little science done, and a little art pops out at you all unexpected. What?!? You want to know where this comes from? All is revealed beneath the fold&#8230; Tags: evolution, evolutionary computation, genetic programming, graphics, Mathematics, Research, Science, symbolic regression Related posts UMM students &hellip; <a href=\"https:\/\/UnhinderedByTalent.com\/Phi\/archives\/2008\/03\/06\/not-quite-a-wave\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Not quite a wave&#8221;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_newsletter_tier_id":0},"categories":[21,4,22,12,15],"tags":[66,228,235,50,871,864,866,279],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p90sy-d5","jetpack_sharing_enabled":true,"jetpack_likes_enabled":false,"jetpack-related-posts":[{"id":1337,"url":"https:\/\/UnhinderedByTalent.com\/Phi\/archives\/2010\/07\/29\/just-2-days-left-genetic-programming-and-evolvable-machines-anniversary-issue-available-for-free\/","url_meta":{"origin":811,"position":0},"title":"Just 2 days left: Genetic Programming and Evolvable Machines anniversary issue available for free!","author":"Nic McPhee","date":"29 Jul 10","format":false,"excerpt":"The Springer journal Genetic Programming and Evolvable Machines is celebrating its first 10 years with a special anniversary issue of articles reviewing the state of the field and considering some of its possible futures. For the month of July the entire issue is available for free!","rel":"","context":"In &quot;Computing&quot;","block_context":{"text":"Computing","link":"https:\/\/UnhinderedByTalent.com\/Phi\/archives\/category\/computing\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":807,"url":"https:\/\/UnhinderedByTalent.com\/Phi\/archives\/2008\/02\/28\/jocp-at-revision-400\/","url_meta":{"origin":811,"position":1},"title":"JOCP!  At revision 400!","author":"Nic McPhee","date":"28 Feb 08","format":false,"excerpt":"It's pretty cool when you update your repository and see At revision 400 We just hit that on the genetic programming book that Riccardo and Bill and I are working on; we're currently averaging close to 10 commits a day here in the final stages. We hope to wrap it\u2026","rel":"","context":"In &quot;Books&quot;","block_context":{"text":"Books","link":"https:\/\/UnhinderedByTalent.com\/Phi\/archives\/category\/writing\/books\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1265,"url":"https:\/\/UnhinderedByTalent.com\/Phi\/archives\/2010\/05\/10\/im-published-in-cacm-but-not-in-the-way-one-might-have-thought\/","url_meta":{"origin":811,"position":2},"title":"I&#8217;m published in CACM! (But not in the way one might have thought)","author":"Nic McPhee","date":"10 May 10","format":false,"excerpt":"The May, 2010, issue of the Communications of the ACM (CACM - the flagship magazine of the ACM) features a photograph of UMM CSci alum Tyler Hutchison presenting research work done with Andy Korth and Nic McPhee at MICS 2007. The article is \"Student and Faculty Attitudes and Beliefs About\u2026","rel":"","context":"In &quot;Art&quot;","block_context":{"text":"Art","link":"https:\/\/UnhinderedByTalent.com\/Phi\/archives\/category\/art\/"},"img":{"alt_text":"CACM page spread featuring UMM CSci alum Tyler Hutchison at MICS","src":"https:\/\/i0.wp.com\/farm5.static.flickr.com\/4022\/4594073817_bdb17727b0.jpg?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":2055,"url":"https:\/\/UnhinderedByTalent.com\/Phi\/archives\/2022\/06\/03\/silico-paleontology-the-minnebar-16-talk-that-wasnt\/","url_meta":{"origin":811,"position":3},"title":"Silico-Paleontology: The Minnebar 16 talk that wasn&#8217;t","author":"Nic McPhee","date":"3 Jun 22","format":false,"excerpt":"I was all scheduled to give a talk at tomorrow's Minnebar 16 entitled \"Silico-Paleontology: Using graph databases to analyze evolved programs\". Than, last night, my left knee cap decided to slide off to places it didn't belong, and I ended up in the ER where I received a very stylish\u2026","rel":"","context":"In &quot;Computing&quot;","block_context":{"text":"Computing","link":"https:\/\/UnhinderedByTalent.com\/Phi\/archives\/category\/computing\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":588,"url":"https:\/\/UnhinderedByTalent.com\/Phi\/archives\/2007\/06\/24\/evolving-buildable-lego-structures\/","url_meta":{"origin":811,"position":4},"title":"Evolving buildable Lego structures","author":"Nic McPhee","date":"24 Jun 07","format":false,"excerpt":"More cool work out of Jordan Pollack's lab at Brandeis. They've build a nice force simulator and design system for Legos called EvoCAD that lets you evolve Lego structures that satisfy various conditions. Pablo Funes, who recently finished his PhD, used this to evolve spans of over 2 meters, tree-like\u2026","rel":"","context":"In &quot;Computing&quot;","block_context":{"text":"Computing","link":"https:\/\/UnhinderedByTalent.com\/Phi\/archives\/category\/computing\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":822,"url":"https:\/\/UnhinderedByTalent.com\/Phi\/archives\/2008\/03\/30\/umm-students-are-just-so-cool\/","url_meta":{"origin":811,"position":5},"title":"UMM students are just so cool!","author":"Nic McPhee","date":"30 Mar 08","format":false,"excerpt":"As mentioned earlier, our paper \"Semantic building blocks in genetic programming\" with Brian Ohs (UMM '08) and Tyler Hutchison (UMM '07) was nominated for Best Paper at EuroGP 2008 in Naples, Italy. We won! That a paper co-authored with two undergraduates from a small, public, undergraduate liberal arts institution like\u2026","rel":"","context":"In &quot;Computing&quot;","block_context":{"text":"Computing","link":"https:\/\/UnhinderedByTalent.com\/Phi\/archives\/category\/computing\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/UnhinderedByTalent.com\/Phi\/wp-json\/wp\/v2\/posts\/811"}],"collection":[{"href":"https:\/\/UnhinderedByTalent.com\/Phi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/UnhinderedByTalent.com\/Phi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/UnhinderedByTalent.com\/Phi\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/UnhinderedByTalent.com\/Phi\/wp-json\/wp\/v2\/comments?post=811"}],"version-history":[{"count":0,"href":"https:\/\/UnhinderedByTalent.com\/Phi\/wp-json\/wp\/v2\/posts\/811\/revisions"}],"wp:attachment":[{"href":"https:\/\/UnhinderedByTalent.com\/Phi\/wp-json\/wp\/v2\/media?parent=811"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/UnhinderedByTalent.com\/Phi\/wp-json\/wp\/v2\/categories?post=811"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/UnhinderedByTalent.com\/Phi\/wp-json\/wp\/v2\/tags?post=811"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}