<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>            . Hacking Evolution .             </title>
	<atom:link href="http://blog.hackingevolution.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.hackingevolution.net</link>
	<description>A Quest For Sound Explanations For the Adaptive Capacity of Evolutionary Systems</description>
	<lastBuildDate>Fri, 05 Mar 2010 18:07:58 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='blog.hackingevolution.net' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/163e49da990d4eac2b4ef5d046131920?s=96&#038;d=http://s2.wp.com/i/buttonw-com.png</url>
		<title>            . Hacking Evolution .             </title>
		<link>http://blog.hackingevolution.net</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://blog.hackingevolution.net/osd.xml" title="            . Hacking Evolution .             " />
	<atom:link rel='hub' href='http://blog.hackingevolution.net/?pushpress=hub'/>
		<item>
		<title>Screencast Presentation: An Introduction to the Generative Fixation Hypothesis</title>
		<link>http://blog.hackingevolution.net/2010/02/13/screencast-presentation-a-gentle-introduction-to-the-generative-fixation-hypothesis/</link>
		<comments>http://blog.hackingevolution.net/2010/02/13/screencast-presentation-a-gentle-introduction-to-the-generative-fixation-hypothesis/#comments</comments>
		<pubDate>Sun, 14 Feb 2010 00:01:48 +0000</pubDate>
		<dc:creator>Keki</dc:creator>
				<category><![CDATA[Bit Frequency Visualization]]></category>
		<category><![CDATA[generative fixation]]></category>
		<category><![CDATA[genetic algorithms]]></category>
		<category><![CDATA[hyperclimbing]]></category>
		<category><![CDATA[symmetry-analysis]]></category>
		<category><![CDATA[screencast]]></category>

		<guid isPermaLink="false">http://blog.hackingevolution.net/?p=1307</guid>
		<description><![CDATA[http://cs.brandeis.edu/~kekib/genfix/GAsAndHyperclimbing.html
Enjoy!
Filed under: Bit Frequency Visualization, generative fixation, genetic algorithms, hyperclimbing, symmetry-analysis Tagged: screencast      <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.hackingevolution.net&blog=3215331&post=1307&subd=hackingevolution&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://cs.brandeis.edu/~kekib/genfix/GAsAndHyperclimbing.html">http://cs.brandeis.edu/~kekib/genfix/GAsAndHyperclimbing.html</a></p>
<p>Enjoy!</p>
<br />Filed under: <a href='http://blog.hackingevolution.net/category/analytic-technique/visualization/bit-frequency-visualization/'>Bit Frequency Visualization</a>, <a href='http://blog.hackingevolution.net/category/computer-science/genetic-algorithms-computer-science/generative-fixation/'>generative fixation</a>, <a href='http://blog.hackingevolution.net/category/computer-science/genetic-algorithms-computer-science/'>genetic algorithms</a>, <a href='http://blog.hackingevolution.net/category/computer-science/genetic-algorithms-computer-science/hyperclimbing/'>hyperclimbing</a>, <a href='http://blog.hackingevolution.net/category/analytic-technique/symmetry-analysis/'>symmetry-analysis</a> Tagged: <a href='http://blog.hackingevolution.net/tag/screencast/'>screencast</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackingevolution.wordpress.com/1307/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackingevolution.wordpress.com/1307/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackingevolution.wordpress.com/1307/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackingevolution.wordpress.com/1307/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackingevolution.wordpress.com/1307/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackingevolution.wordpress.com/1307/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackingevolution.wordpress.com/1307/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackingevolution.wordpress.com/1307/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackingevolution.wordpress.com/1307/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackingevolution.wordpress.com/1307/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.hackingevolution.net&blog=3215331&post=1307&subd=hackingevolution&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.hackingevolution.net/2010/02/13/screencast-presentation-a-gentle-introduction-to-the-generative-fixation-hypothesis/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Keki</media:title>
		</media:content>
	</item>
		<item>
		<title>Hyperclimbing and Decimation</title>
		<link>http://blog.hackingevolution.net/2010/01/29/hyperclimbing-and-decimation/</link>
		<comments>http://blog.hackingevolution.net/2010/01/29/hyperclimbing-and-decimation/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 07:01:16 +0000</pubDate>
		<dc:creator>Keki</dc:creator>
				<category><![CDATA[decimation]]></category>
		<category><![CDATA[generative fixation]]></category>
		<category><![CDATA[genetic algorithms]]></category>
		<category><![CDATA[hyperclimbing]]></category>
		<category><![CDATA[survey propagation]]></category>

		<guid isPermaLink="false">http://blog.hackingevolution.net/?p=1248</guid>
		<description><![CDATA[In recent years, probabilistic inference algorithms such as survey propagation and belief propagation have been shown to be remarkably effective at tackling large, random instances of SAT, and other combinatorial optimization problems that lie beyond the reach of previous approaches. These inference algorithms belong to a class of techniques called decimation strategies. Decimation strategies monotonically [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.hackingevolution.net&blog=3215331&post=1248&subd=hackingevolution&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>In recent years, probabilistic inference algorithms such as survey propagation and belief propagation have been shown to be remarkably effective at tackling large, random instances of SAT, and other combinatorial optimization problems that lie beyond the reach of previous approaches. These inference algorithms belong to a class of techniques called <a href="http://www.cs.cornell.edu/~kroc/pub/spDecimationSAC09.pdf">decimation strategies</a>. Decimation strategies monotonically reduce the size of a problem instance by iteratively fixing partial solutions (partial variable assignments in the case of SAT).</p>
<p>The <a href="http://cs.brandeis.edu/~kekib/dissertation.html">generative fixation hypothesis</a> essentially states that genetic algorithms work by efficiently implementing a decimation strategy called hyperclimbing.</p>
<br />Filed under: <a href='http://blog.hackingevolution.net/category/computer-science/combinatorial-optimization/decimation/'>decimation</a>, <a href='http://blog.hackingevolution.net/category/computer-science/genetic-algorithms-computer-science/generative-fixation/'>generative fixation</a>, <a href='http://blog.hackingevolution.net/category/computer-science/genetic-algorithms-computer-science/'>genetic algorithms</a>, <a href='http://blog.hackingevolution.net/category/computer-science/genetic-algorithms-computer-science/hyperclimbing/'>hyperclimbing</a>, <a href='http://blog.hackingevolution.net/category/computer-science/combinatorial-optimization/survey-propagation/'>survey propagation</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackingevolution.wordpress.com/1248/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackingevolution.wordpress.com/1248/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackingevolution.wordpress.com/1248/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackingevolution.wordpress.com/1248/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackingevolution.wordpress.com/1248/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackingevolution.wordpress.com/1248/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackingevolution.wordpress.com/1248/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackingevolution.wordpress.com/1248/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackingevolution.wordpress.com/1248/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackingevolution.wordpress.com/1248/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.hackingevolution.net&blog=3215331&post=1248&subd=hackingevolution&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.hackingevolution.net/2010/01/29/hyperclimbing-and-decimation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Keki</media:title>
		</media:content>
	</item>
		<item>
		<title>Hyperclimbing, Genetic Algorithms, and Machine Learning</title>
		<link>http://blog.hackingevolution.net/2009/10/27/hyperclimbing/</link>
		<comments>http://blog.hackingevolution.net/2009/10/27/hyperclimbing/#comments</comments>
		<pubDate>Tue, 27 Oct 2009 12:59:34 +0000</pubDate>
		<dc:creator>Keki</dc:creator>
				<category><![CDATA[generative fixation]]></category>
		<category><![CDATA[genetic algorithms]]></category>
		<category><![CDATA[hyperclimbing]]></category>
		<category><![CDATA[machine learning]]></category>

		<guid isPermaLink="false">http://blog.hackingevolution.net/?p=1057</guid>
		<description><![CDATA[I’ve identified a promising stochastic search heuristic, called hyperclimbing, for large-scale optimization over huge attribute product spaces (e.g., the set of all binary strings of some length N, where N is very large) with rugged fitness functions. Hyperclimbing works by progressively limiting sampling to a series of nested subsets with increasing expected fitness. At any [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.hackingevolution.net&blog=3215331&post=1057&subd=hackingevolution&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>I’ve identified a promising stochastic search heuristic, called <em>hyperclimbing</em>, for large-scale optimization over huge attribute product spaces (e.g., the set of all binary strings of some length <em>N</em>, where <em>N</em> is very large) with rugged fitness functions. Hyperclimbing works by progressively limiting sampling to a series of nested subsets with increasing expected fitness. At any given step, this heuristic sifts through vast numbers of coarse partitions of the subset it &#8220;inhabits&#8221;, and identifies ones that partition this set into subsets whose expected fitness values are significantly variegated. Because hyperclimbing is sensitive, not to the local features of a search space, but to certain more global statistics, it is not susceptible to the kinds of issues that waylay local search heuristics.</p>
<p>The chief barrier to the wide and enthusiastic use of hyperclimbing is that it seems to scale very poorly with the number of attributes. When one heeds the seemingly high cost of applying hyperclimbing to large search spaces, this heuristic quickly looses its shine. A key conclusion of my doctoral work is that this seemingly high cost is illusory. I have uncovered evidence that strongly suggests that genetic algorithms can implement hyperclimbing extraordinarily efficiently.</p>
<p>As readers of this blog probably know, genetic algorithms are search algorithms that mimic natural evolution. These algorithms have been used in a wide range of engineering and scientific fields to quickly procure useful solutions to poorly understood (i.e. black-box) optimization problems. Unfortunately, despite the routine use of genetic algorithms for over three decades, their adaptive capacity has not been adequately accounted for. Given the evidence that genetic algorithms can implement efficient hyperclimbing, I’ve proposed a new explanation for the adaptive capacity of these algorithms. This new account&#8212;<a href="http://cs.brandeis.edu/~kekib/dissertation.html">the generative fixation  hypothesis</a>&#8212;promises to spark significant advances in the fields of genetic algorithmics and discrete optimization.</p>
<p>The discovery that hyperclimbing is efficiently implementable also promises to have a non-negligible impact on the ecology of machine learning research. Optimization and machine learning are, after all, intimately related. Overlooking a few exceptions, the practice of machine learning research, can be characterized as the effective reduction of difficult learning problems to optimization problems for which efficient algorithms exist. In other words, the machine learning problems that can effectively be tackled are in large part those that can <em>in practice </em>be reduced to optimization problems that can be tackled efficiently. Currently, this largely limits the class of tractable machine learning problems to the class of learning problems that can in practice be reduced to <em>convex</em> optimization problems [1] . The identification of general-purpose non-convex optimization heuristics with efficient implementations (e.g. hyperclimbing), thus, has the potential to significantly extend the reach of machine learning.</p>
<p>For a description of hyperclimbing, and evidence that genetic algorithms can implement this heuristic efficiently, please see my <a href="http://cs.brandeis.edu/~kekib/dissertation.html">dissertation</a></p>
<p>[1]  Kristin P. Bennett and Emilio Parrado-Hernandez. <a href="http://jmlr.csail.mit.edu/papers/volume7/MLOPT-intro06a/MLOPT-intro06a.pdf">The interplay of optimization and machine  learning research</a>. Journal of Machine Learning Research, 7:1265–1281, 2006.</p>
<br />Posted in generative fixation, genetic algorithms, hyperclimbing, machine learning  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackingevolution.wordpress.com/1057/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackingevolution.wordpress.com/1057/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackingevolution.wordpress.com/1057/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackingevolution.wordpress.com/1057/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackingevolution.wordpress.com/1057/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackingevolution.wordpress.com/1057/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackingevolution.wordpress.com/1057/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackingevolution.wordpress.com/1057/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackingevolution.wordpress.com/1057/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackingevolution.wordpress.com/1057/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.hackingevolution.net&blog=3215331&post=1057&subd=hackingevolution&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.hackingevolution.net/2009/10/27/hyperclimbing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Keki</media:title>
		</media:content>
	</item>
		<item>
		<title>Google Group for Generative Fixation</title>
		<link>http://blog.hackingevolution.net/2009/08/27/google-group-for-the-gfh/</link>
		<comments>http://blog.hackingevolution.net/2009/08/27/google-group-for-the-gfh/#comments</comments>
		<pubDate>Thu, 27 Aug 2009 23:21:46 +0000</pubDate>
		<dc:creator>Keki</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[generative fixation]]></category>

		<guid isPermaLink="false">http://blog.hackingevolution.net/?p=1028</guid>
		<description><![CDATA[The generative fixation hypothesis now has a Google group&#8212;a place to ask  questions and share your insights.  If you&#8217;re intrigued by the idea of generative fixation, please sign up.
http://groups.google.com/group/generativefixation
Posted in generative fixation, Uncategorized       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.hackingevolution.net&blog=3215331&post=1028&subd=hackingevolution&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>The generative fixation hypothesis now has a Google group&#8212;a place to ask  questions and share your insights.  If you&#8217;re intrigued by the idea of generative fixation, please sign up.</p>
<p><a href="http://groups.google.com/group/generativefixation">http://groups.google.com/group/generativefixation</a></p>
<br />Posted in generative fixation, Uncategorized  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackingevolution.wordpress.com/1028/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackingevolution.wordpress.com/1028/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackingevolution.wordpress.com/1028/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackingevolution.wordpress.com/1028/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackingevolution.wordpress.com/1028/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackingevolution.wordpress.com/1028/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackingevolution.wordpress.com/1028/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackingevolution.wordpress.com/1028/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackingevolution.wordpress.com/1028/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackingevolution.wordpress.com/1028/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.hackingevolution.net&blog=3215331&post=1028&subd=hackingevolution&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.hackingevolution.net/2009/08/27/google-group-for-the-gfh/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Keki</media:title>
		</media:content>
	</item>
		<item>
		<title>Dissertation Deposition</title>
		<link>http://blog.hackingevolution.net/2009/08/18/dissertation-set-in-stone/</link>
		<comments>http://blog.hackingevolution.net/2009/08/18/dissertation-set-in-stone/#comments</comments>
		<pubDate>Wed, 19 Aug 2009 03:23:56 +0000</pubDate>
		<dc:creator>Keki</dc:creator>
				<category><![CDATA[Bit Frequency Visualization]]></category>
		<category><![CDATA[QTL]]></category>
		<category><![CDATA[active learning]]></category>
		<category><![CDATA[building block hypothesis]]></category>
		<category><![CDATA[combinatorial optimization]]></category>
		<category><![CDATA[data mining]]></category>
		<category><![CDATA[epistasis]]></category>
		<category><![CDATA[evolutionary biology]]></category>
		<category><![CDATA[function of recombination]]></category>
		<category><![CDATA[generative fixation]]></category>
		<category><![CDATA[genetic algorithms]]></category>
		<category><![CDATA[genetics]]></category>
		<category><![CDATA[hyperclimbing]]></category>
		<category><![CDATA[hyperscapes]]></category>
		<category><![CDATA[machine learning]]></category>
		<category><![CDATA[max-sat]]></category>
		<category><![CDATA[occam's razor]]></category>
		<category><![CDATA[philosophy of science]]></category>
		<category><![CDATA[philosopy]]></category>
		<category><![CDATA[population genetics]]></category>
		<category><![CDATA[sublinear computation]]></category>

		<guid isPermaLink="false">http://blog.hackingevolution.net/?p=1021</guid>
		<description><![CDATA[I deposited my dissertation today.
Click here to see the final version (single spaced for easy reading).
Posted in active learning, Bit Frequency Visualization, building block hypothesis, combinatorial optimization, data mining, epistasis, evolutionary biology, function of recombination, generative fixation, genetic algorithms, genetics, hyperclimbing, hyperscapes, machine learning, max-sat, occam's razor, philosophy of science, philosopy, population genetics, QTL, sublinear [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.hackingevolution.net&blog=3215331&post=1021&subd=hackingevolution&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>I deposited my dissertation today.</p>
<p><a href="http://cs.brandeis.edu/~kekib/dissertation.html">Click here</a> to see the final version (single spaced for easy reading).</p>
<br />Posted in active learning, Bit Frequency Visualization, building block hypothesis, combinatorial optimization, data mining, epistasis, evolutionary biology, function of recombination, generative fixation, genetic algorithms, genetics, hyperclimbing, hyperscapes, machine learning, max-sat, occam's razor, philosophy of science, philosopy, population genetics, QTL, sublinear computation  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackingevolution.wordpress.com/1021/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackingevolution.wordpress.com/1021/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackingevolution.wordpress.com/1021/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackingevolution.wordpress.com/1021/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackingevolution.wordpress.com/1021/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackingevolution.wordpress.com/1021/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackingevolution.wordpress.com/1021/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackingevolution.wordpress.com/1021/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackingevolution.wordpress.com/1021/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackingevolution.wordpress.com/1021/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.hackingevolution.net&blog=3215331&post=1021&subd=hackingevolution&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.hackingevolution.net/2009/08/18/dissertation-set-in-stone/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Keki</media:title>
		</media:content>
	</item>
		<item>
		<title>Back to the Future: A Science of Genetic Algorithms</title>
		<link>http://blog.hackingevolution.net/2009/07/22/on-the-science-of-genetic-algorithmics/</link>
		<comments>http://blog.hackingevolution.net/2009/07/22/on-the-science-of-genetic-algorithmics/#comments</comments>
		<pubDate>Thu, 23 Jul 2009 04:07:48 +0000</pubDate>
		<dc:creator>Keki</dc:creator>
				<category><![CDATA[building block hypothesis]]></category>
		<category><![CDATA[generative fixation]]></category>
		<category><![CDATA[genetic algorithms]]></category>
		<category><![CDATA[philosophy of science]]></category>
		<category><![CDATA[non-technical]]></category>
		<category><![CDATA[philosophical]]></category>

		<guid isPermaLink="false">http://blog.hackingevolution.net/?p=980</guid>
		<description><![CDATA[From the preface to my dissertation:
The foundations of most computer engineering disciplines are almost entirely mathematical. There is, for instance, almost no question about the  soundness of the foundations of such engineering disciplines as graphics, machine learning, programming languages, and databases. An exception to this general rule is the field of genetic algorithmics, whose foundation [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.hackingevolution.net&blog=3215331&post=980&subd=hackingevolution&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>From the preface to my <a href="http://www.cs.brandeis.edu/~kekib/dissertation.html">dissertation</a>:</p>
<p>The foundations of most computer engineering disciplines are almost entirely mathematical. There is, for instance, almost no question about the  soundness of the foundations of such engineering disciplines as graphics, machine learning, programming languages, and databases. An exception to this general rule is the field of genetic algorithmics, whose foundation includes a significant scientific component.</p>
<p>The existence of a science at the heart of this computer engineering discipline is  regarded with nervousness. Science traffics in provisional truth; it requires one to adopt a form of skepticism that is more nuanced, and hence more difficult to master than the radical sort of skepticism that suffices in mathematics and theoretical computer science. Many, therefore, would be happy to see science excised from the foundations of genetic algorithmics. Indeed, over the past decade and a half, much effort seems to have been devoted to turning genetic algorithmics into just another field of computer engineering, one with an entirely mathematical foundation.</p>
<p>Broadening one&#8217;s perspective beyond computer engineering, however, one cannot help wondering if much of this effort is not a little misplaced. <span id="more-980"></span>Clearly, as fields of engineering go, genetic algorithmics is not the exception&#8212;the foundations of most engineering fields include large scientific components. What seems to matter is, not the  <em>existence </em>of a science within the foundation of an engineering discipline, but the <em>state</em> of that science. The advanced state of physics and chemistry is, for example, a significant part of the reason for the advanced state of such fields as mechanical, chemical, civil, aeronautical and electrical engineering.</p>
<p>Historically, the blossoming of a field of engineering has typically had to await the maturation of certain underlying field(s) of science. Consider for a moment the improbability of  constructing an <a href="http://en.wikipedia.org/wiki/Internal_combustion_engine">internal combustion engine</a> based on the <a href="http://en.wikipedia.org/wiki/Phlogiston_theory">phlogiston theory of combustion</a>. Even if one somehow succeeds in actually building a prototype, further advances within the rubric of phlogiston theory would probably be limited. Combustion engine engineering would be a black art.</p>
<p>I trust that the scenario just described will give users of genetic algorithms and would-be inventors of new genetic algorithms pause, and reason for hope. Pause because even after decades of research, &#8220;black art&#8221; about sums up the process of applying current genetic algorithms and inventing viable new ones. Hope because it is conceivable that just as Lavoisier&#8217;s oxygen based theory of combustion stimulated rapid advances in the construction of internal combustion engines, fundamental upheavals in the <em>science</em> of genetic algorithmics might stimulate rapid advances in the ways in which genetic algorithms are applied and improved.</p>
<p>Given the above, the following question seems to get at  the heart of the matter: What should a science of genetic algorithmics, one capable of stimulating advances in the construction and application of genetic algorithms, look like? I submit that such a science should be organized around the search for a minimal set of computational efficiencies possessed by the simple genetic algorithm such that when considered together these efficiencies explain the adaptive capacity of the simple genetic algorithm on a very broad range of fitness functions. Roughly, computational efficiencies should play the part played by scientific laws in the physical sciences. The challenge is to identify the minimal set with the widest possible explanatory power.</p>
<p>There are two important reasons for making the simple genetic algorithm the object of attention. The first is precedence. There already exists a well known body of science with this algorithm as its focus. This pre-existing work, specifically the theory that goes by the name of the building block hypothesis, provides a point of reference against which future theories may be compared. The second reason is biological plausibility. Unlike many genetic algorithms currently in use, the simple genetic algorithm contains no biologically implausible mechanisms and is, therefore, a legitimate model of sexually evolving biological populations. Such populations have been the subject of intense scientific scrutiny for well over a century and have generated an enormous amount of scientific work. This body of work can serve as a second point of reference.</p>
<p>The aforementioned outline for a science of genetic algorithmics is hardly novel. Until about the mid 1990s, the study of genetic algorithms was organized roughly along the lines just described, with implicitly parallel building block discovery, and implicitly parallel hierarchical assembly being the core computational efficiencies that the simple genetic algorithm supposedly parlayed into a powerful capacity for general purpose adaptation. Problems arose when researchers were unsuccessful in their attempts to rigorously derive complexity theoretic bounds that showcased these purported core efficiencies. Much more seriously, efforts to demonstrate these efficiencies <em>experimentally</em> also proved unsuccessful. The consequence for the building block hypothesis in theoretical circles was severe&#8212;rightfully so.</p>
<p>Unfortunately, so was the consequence for the overarching scientific program described above. If there is just one thing readers take away from this dissertation, I hope it&#8217;s the sense that this program <em>is</em> viable.</p>
<p><a href="http://cs.brandeis.edu/~kekib/dissertation.html">Dissertation webpage</a></p>
<br />Posted in building block hypothesis, generative fixation, genetic algorithms, philosophy of science Tagged: non-technical, philosophical <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackingevolution.wordpress.com/980/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackingevolution.wordpress.com/980/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackingevolution.wordpress.com/980/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackingevolution.wordpress.com/980/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackingevolution.wordpress.com/980/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackingevolution.wordpress.com/980/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackingevolution.wordpress.com/980/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackingevolution.wordpress.com/980/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackingevolution.wordpress.com/980/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackingevolution.wordpress.com/980/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.hackingevolution.net&blog=3215331&post=980&subd=hackingevolution&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.hackingevolution.net/2009/07/22/on-the-science-of-genetic-algorithmics/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Keki</media:title>
		</media:content>
	</item>
		<item>
		<title>Red Dots, Blue Dots</title>
		<link>http://blog.hackingevolution.net/2009/06/29/red-dots-blue-dots/</link>
		<comments>http://blog.hackingevolution.net/2009/06/29/red-dots-blue-dots/#comments</comments>
		<pubDate>Tue, 30 Jun 2009 00:02:17 +0000</pubDate>
		<dc:creator>Keki</dc:creator>
				<category><![CDATA[Bit Frequency Visualization]]></category>
		<category><![CDATA[epistasis]]></category>
		<category><![CDATA[generative fixation]]></category>
		<category><![CDATA[symmetry-analysis]]></category>

		<guid isPermaLink="false">http://blog.hackingevolution.net/?p=803</guid>
		<description><![CDATA[In this blog entry I&#8217;d like to showcase just one of a number of remarkable findings that comprise the basis for the generative fixation hypothesis&#8212;a new explanation for the adaptive capacity of recombinative genetic algorithms.
Consider the following stochastic function which takes a bitstring of length  as input and returns a real value as output.

fitness(bitstring)
 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.hackingevolution.net&blog=3215331&post=803&subd=hackingevolution&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>In this blog entry I&#8217;d like to showcase just one of a number of remarkable findings that comprise the basis for the <a href="http://www.cs.brandeis.edu/~kekib/dissertation.html">generative fixation hypothesis</a>&#8212;a new explanation for the adaptive capacity of recombinative genetic algorithms.</p>
<p>Consider the following stochastic function which takes a bitstring of length <img src='http://l.wordpress.com/latex.php?latex=%5Cell&#038;bg=eeeae8&#038;fg=000000&#038;s=0' alt='\ell' title='\ell' class='latex' /> as input and returns a real value as output.</p>
<pre class="brush: ruby;">
fitness(bitstring)
  accum = 0
  for i = 1 to 4
     accum = accum + bitstring[pivotalLoci[i]]
  end
  if accum is odd
     return a random value from normal distribution N(+0.25,1)
  else
     return a random value from normal distribution N(-0.25,1)
  end
</pre>
<p>The variable <span style="font-family:courier;">pivotalLoci</span> is an array of four distinct integers between 1and <img src='http://l.wordpress.com/latex.php?latex=%5Cell&#038;bg=eeeae8&#038;fg=000000&#038;s=0' alt='\ell' title='\ell' class='latex' /> which specifies the location of  four loci&#8212;let&#8217;s call them A, B, C, D&#8212;of an input bitstring that matter in the determination the bitstring&#8217;s fitness. These four loci are said to be <em>pivotal</em>. <span id="more-803"></span>The other bits of the input bitstring do not matter in the determination of the bitstring&#8217;s fitness, and are said to be <em>non-pivotal</em>. Given some input bitstring, if the parity of the bits at the pivotal loci is odd, then the fitness of the bitstring is drawn from a normal distribution with mean 0.25, and variance 1 (the magenta distribution; see below). Otherwise the fitness is drawn from a normal distribution with mean -0.25, and variance 1 (the black distribution).</p>
<p style="text-align:center;"><img class="size-full wp-image-857 aligncenter" title="parityDistribs" src="http://hackingevolution.files.wordpress.com/2009/06/paritydistribs2.png?w=350" alt="parityDistribs" width="350" /></p>
<p>The expected fitness of each of the 16  &#8220;genotypes&#8221; of ABCD is shown below.</p>
<p style="text-align:center;"><img class="size-full wp-image-804 aligncenter" title="expectedFitnessVals" src="http://hackingevolution.files.wordpress.com/2009/06/expectedfitnessvals.jpg?w=267&#038;h=349" alt="expectedFitnessVals" width="267" height="349" /></p>
<p>The following figure depicts the result of querying the fitness function with randomly generated bitstrings of length <img src='http://l.wordpress.com/latex.php?latex=%5Cell&#038;bg=eeeae8&#038;fg=000000&#038;s=0' alt='\ell' title='\ell' class='latex' />.</p>
<p style="text-align:center;"><img class="size-full wp-image-805 aligncenter" title="pivotalUnshaded" src="http://hackingevolution.files.wordpress.com/2009/06/pivotalunshaded.jpg?w=410&#038;h=422" alt="pivotalUnshaded" width="410" height="422" /></p>
<p>The next figure shows the locations of the pivotal loci A, B, C, D in this hypothetical scenario.</p>
<p style="text-align:center;"><img class="size-full wp-image-812 aligncenter" title="pivotalShaded" src="http://hackingevolution.files.wordpress.com/2009/06/pivotalshaded1.png?w=396&#038;h=413" alt="pivotalShaded" width="396" height="413" /></p>
<p>Consider the problem of classifying loci as pivotal or non-pivotal given only query access to the fitness function. This problem is closely related to the problem of finding the effective attributes of a parity function studied by Uehara et al.  [1,2]. One big difference is the presence of a stochastic element in the problem currently under consideration. Before reading further, I invite you to think of an algorithm that can solve this problem relatively robustly (with not more than, say, a 0.005 chance of misclassification per locus).</p>
<p>The naive approach would be to adopt a scanning strategy in which all <img src='http://l.wordpress.com/latex.php?latex=%7B%5Cell+%5Cchoose+4%7D&#038;bg=eeeae8&#038;fg=000000&#038;s=0' alt='{\ell \choose 4}' title='{\ell \choose 4}' class='latex' /> combinations of four loci are visited. (Observe that visiting loci in combinations of three or less will not work). Suppose  <img src='http://l.wordpress.com/latex.php?latex=%5Cell&#038;bg=eeeae8&#038;fg=000000&#038;s=0' alt='\ell' title='\ell' class='latex' /> = 500,000; that&#8217;s approximately 6.25&#215;10<sup>22</sup> combinations. Even if it were possible to visit a million combinations  per second, it would still take approximately two billion years to visit all such combinations.</p>
<p>It turns out that a genetic algorithm can be used to tackle this problem far more cheaply.</p>
<p>Suppose <img src='http://l.wordpress.com/latex.php?latex=%5Cell&#038;bg=eeeae8&#038;fg=000000&#038;s=0' alt='\ell' title='\ell' class='latex' /> = 200 and <span style="font-family:courier;">pivotalLoci</span> = [7 90 131 198]. The animation below shows the behavior of a simple genetic algorithm <img src='http://l.wordpress.com/latex.php?latex=W&#038;bg=eeeae8&#038;fg=000000&#038;s=0' alt='W' title='W' class='latex' /> with uniform crossover (described in the materials and methods section of my dissertation) on the fitness function just described. Each frame in this animation shows the one-frequency of each locus (i.e. the frequency of the bit 1 at each locus) in a single generation. By extension, the frequency of the bit 0 at each locus is also on display. The red dots mark the positions of the pivotal loci. The blue dots mark the positions of non-pivotal loci.</p>
<div id="x-video-0" class="video-player">
<embed id="video0" src="http://v.wordpress.com/wp-content/plugins/video/flvplayer.swf?ver=1.18&#038;guid=0hULlVXx&#038;width=450&#038;height=334&#038;locksize=no&#038;qc_publisherId=p-18-mFEk4J448M" type="application/x-shockwave-flash" width="450" height="334" seamlesstabbing="true" allowfullscreen="true" allowscriptaccess="always" overstretch="true"" title=""></embed>
</div>
<p>Observe that the red dots diverge to the top or bottom of the plot, whereas the blue dots remain in the middle. After 500 generations, the location of the pivotal loci A, B, C, and D can simply be &#8220;read off&#8221; by examining the one-frequency of each of the 200 loci in the final population. Note also that the genotype of ABCD that goes to fixation is 1011. This genotype has odd parity, which explains the increase in the average fitness of the population shown in the following figure.</p>
<p style="text-align:center;"><img class="size-full wp-image-853 aligncenter" title="4BitParity200attrs" src="http://hackingevolution.files.wordpress.com/2009/06/4bitparity200attrs.png?w=420" alt="4BitParity200attrs" width="420" /></p>
<p>Now for the two-part punchline. First, there is nothing special about the location of the four pivotal loci. In other words, the expected number of generations required for the four red dots to diverge to the top or bottom of the plot remains the same regardless of the location of these dots. Second, there is nothing special about <img src='http://l.wordpress.com/latex.php?latex=%5Cell&#038;bg=eeeae8&#038;fg=000000&#038;s=0' alt='\ell' title='\ell' class='latex' /> = 200. In other words, the behavior of the red dots will be unaffected by the number of blue dots present, and each blue dot will have the same behavior regardless of the total number of blue dots. Both these conclusions can be arrived at by appreciating the symmetries present when <img src='http://l.wordpress.com/latex.php?latex=W&#038;bg=eeeae8&#038;fg=000000&#038;s=0' alt='W' title='W' class='latex' /> is applied to the fitness function described above (or rather, to the <em>class</em> of fitness functions described). Readers looking for a more rigorous treatment are referred to chapter 3 of my <a href="http://www.cs.brandeis.edu/~kekib/dissertation.html">dissertation</a>.</p>
<p>The animation below shows the result of applying <img src='http://l.wordpress.com/latex.php?latex=W&#038;bg=eeeae8&#038;fg=000000&#038;s=0' alt='W' title='W' class='latex' /> to the fitness function when <img src='http://l.wordpress.com/latex.php?latex=%5Cell&#038;bg=eeeae8&#038;fg=000000&#038;s=0' alt='\ell' title='\ell' class='latex' /> = 1000. The array <span style="font-family:courier;">pivotalLoci</span> remained unchanged at [7 90 131 198].</p>
<div id="x-video-1" class="video-player">
<embed id="video1" src="http://v.wordpress.com/wp-content/plugins/video/flvplayer.swf?ver=1.18&#038;guid=0j1x7wmP&#038;width=450&#038;height=334&#038;locksize=no&#038;qc_publisherId=p-18-mFEk4J448M" type="application/x-shockwave-flash" width="450" height="334" seamlesstabbing="true" allowfullscreen="true" allowscriptaccess="always" overstretch="true"" title=""></embed>
</div>
<p>The average fitness of the population over 500 generations is shown below.</p>
<p style="text-align:center;"><img class="size-full wp-image-870 aligncenter" title="4BitParity1000Attrs" src="http://hackingevolution.files.wordpress.com/2009/06/4bitparity1000attrs2.png?w=420" alt="4BitParity1000Attrs" width="420" /></p>
<p>The final animation shows the result of applying <img src='http://l.wordpress.com/latex.php?latex=W&#038;bg=eeeae8&#038;fg=000000&#038;s=0' alt='W' title='W' class='latex' /> to the fitness function when <img src='http://l.wordpress.com/latex.php?latex=%5Cell&#038;bg=eeeae8&#038;fg=000000&#038;s=0' alt='\ell' title='\ell' class='latex' /> = 10000. In this case, the array <span style="font-family:courier;">pivotalLoci</span> was set to [2000 2681 6892 9520].</p>
<div id="x-video-2" class="video-player">
<embed id="video2" src="http://v.wordpress.com/wp-content/plugins/video/flvplayer.swf?ver=1.18&#038;guid=D7yHFDU6&#038;width=450&#038;height=334&#038;locksize=no&#038;qc_publisherId=p-18-mFEk4J448M" type="application/x-shockwave-flash" width="450" height="334" seamlesstabbing="true" allowfullscreen="true" allowscriptaccess="always" overstretch="true"" title=""></embed>
</div>
<p>The average fitness of the population over 500 generations is shown below.</p>
<p style="text-align:center;"><img class="size-full wp-image-872 aligncenter" title="4BitParity10000Attrs" src="http://hackingevolution.files.wordpress.com/2009/06/4bitparity10000attrs2.png?w=420" alt="4BitParity10000Attrs" width="420" /></p>
<p>Note that in keeping with the assertions made above, the number of generations it takes for the red dots to diverge remains approximately the same despite an increase in <img src='http://l.wordpress.com/latex.php?latex=%5Cell&#038;bg=eeeae8&#038;fg=000000&#038;s=0' alt='\ell' title='\ell' class='latex' /> by two orders of magnitude.</p>
<p>I hope the experience of watching evolutionary computation in action sparks your curiosity about the <a href="http://cs.brandeis.edu/~kekib/dissertation.html">generative fixation hypothesis</a>. Feel free to email me your questions and comments.</p>
<p><a href="http://www.cs.brandeis.edu/~kekib/parityGA.m">Click here</a> to see the Matlab script used to generate the results presented above.</p>
<p>[1] Uehara, Tsuchida, and Wegener. Optimal attribute-efficient learning of disjunction, parity and threshold functions. In EUROCOLT: EUROCOLT, European Conference on Computational Learning Theory, EuroCOLT,. LNCS, 1997.</p>
<p>[2] Uehara, Tsuchida, and Wegener. Identication of partial disjunction, parity, and threshold functions. TCS: Theoretical Computer Science, 230, 2000.</p>
<br />Posted in Bit Frequency Visualization, epistasis, generative fixation, symmetry-analysis  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackingevolution.wordpress.com/803/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackingevolution.wordpress.com/803/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackingevolution.wordpress.com/803/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackingevolution.wordpress.com/803/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackingevolution.wordpress.com/803/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackingevolution.wordpress.com/803/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackingevolution.wordpress.com/803/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackingevolution.wordpress.com/803/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackingevolution.wordpress.com/803/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackingevolution.wordpress.com/803/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.hackingevolution.net&blog=3215331&post=803&subd=hackingevolution&ref=&feed=1" /><div><a href="http://blog.hackingevolution.net/2009/06/29/red-dots-blue-dots/"><img alt="" src="http://cdn.videos.wordpress.com/0hULlVXx/4bitparity200attrsnew.original.jpg" width="160" height="120" /></a></div><div><a href="http://blog.hackingevolution.net/2009/06/29/red-dots-blue-dots/"><img alt="" src="http://cdn.videos.wordpress.com/0j1x7wmP/4bitparity1000attrsnew1.original.jpg" width="160" height="120" /></a></div><div><a href="http://blog.hackingevolution.net/2009/06/29/red-dots-blue-dots/"><img alt="" src="http://cdn.videos.wordpress.com/D7yHFDU6/4bitparity10000attrsnew1.original.jpg" width="160" height="120" /></a></div>]]></content:encoded>
			<wfw:commentRss>http://blog.hackingevolution.net/2009/06/29/red-dots-blue-dots/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	<enclosure url="http://cdn.videos.wordpress.com/0hULlVXx/4bitparity200attrsnew.mp4" length="101888" type="video/mp4" />
<enclosure url="http://cdn.videos.wordpress.com/0j1x7wmP/4bitparity1000attrsnew1.mp4" length="305664" type="video/mp4" />
<enclosure url="http://cdn.videos.wordpress.com/D7yHFDU6/4bitparity10000attrsnew1.mp4" length="305664" type="video/mp4" />

		<media:content url="" medium="image">
			<media:title type="html">Keki</media:title>
		</media:content>

		<media:content url="http://hackingevolution.files.wordpress.com/2009/06/paritydistribs2.png" medium="image">
			<media:title type="html">parityDistribs</media:title>
		</media:content>

		<media:content url="http://hackingevolution.files.wordpress.com/2009/06/expectedfitnessvals.jpg" medium="image">
			<media:title type="html">expectedFitnessVals</media:title>
		</media:content>

		<media:content url="http://hackingevolution.files.wordpress.com/2009/06/pivotalunshaded.jpg" medium="image">
			<media:title type="html">pivotalUnshaded</media:title>
		</media:content>

		<media:content url="http://hackingevolution.files.wordpress.com/2009/06/pivotalshaded1.png" medium="image">
			<media:title type="html">pivotalShaded</media:title>
		</media:content>

		<media:content url="http://hackingevolution.files.wordpress.com/2009/06/4bitparity200attrs.png" medium="image">
			<media:title type="html">4BitParity200attrs</media:title>
		</media:content>

		<media:content url="http://hackingevolution.files.wordpress.com/2009/06/4bitparity1000attrs2.png" medium="image">
			<media:title type="html">4BitParity1000Attrs</media:title>
		</media:content>

		<media:content url="http://hackingevolution.files.wordpress.com/2009/06/4bitparity10000attrs2.png" medium="image">
			<media:title type="html">4BitParity10000Attrs</media:title>
		</media:content>

		<media:group>
			<media:content url="http://cdn.videos.wordpress.com/0hULlVXx/4bitparity200attrsnew.mp4" fileSize="101888" type="video/mp4" medium="video" isDefault="true" duration="1" width="400" height="296" />

			<media:content url="http://cdn.videos.wordpress.com/0hULlVXx/4bitparity200attrsnew_fmt1.ogv" fileSize="101888" type="video/ogg" medium="video" isDefault="false" duration="1" width="400" height="296" />

			<media:rating scheme="urn:mpaa">g</media:rating>
			<media:title type="plain">4bitparity200attrsnew</media:title>
			<media:thumbnail url="http://cdn.videos.wordpress.com/0hULlVXx/4bitparity200attrsnew.original.jpg" width="256" height="190" />
			<media:player url="http://v.wordpress.com/0hULlVXx" width="400" height="300" />
		</media:group>

		<media:group>
			<media:content url="http://cdn.videos.wordpress.com/0j1x7wmP/4bitparity1000attrsnew1.mp4" fileSize="305664" type="video/mp4" medium="video" isDefault="true" duration="3" width="400" height="296" />

			<media:content url="http://cdn.videos.wordpress.com/0j1x7wmP/4bitparity1000attrsnew1_fmt1.ogv" fileSize="305664" type="video/ogg" medium="video" isDefault="false" duration="3" width="400" height="296" />

			<media:rating scheme="urn:mpaa">g</media:rating>
			<media:title type="plain">4bitparity1000attrsnew1</media:title>
			<media:thumbnail url="http://cdn.videos.wordpress.com/0j1x7wmP/4bitparity1000attrsnew1.original.jpg" width="256" height="190" />
			<media:player url="http://v.wordpress.com/0j1x7wmP" width="400" height="300" />
		</media:group>

		<media:group>
			<media:content url="http://cdn.videos.wordpress.com/D7yHFDU6/4bitparity10000attrsnew1.mp4" fileSize="305664" type="video/mp4" medium="video" isDefault="true" duration="3" width="400" height="296" />

			<media:content url="http://cdn.videos.wordpress.com/D7yHFDU6/4bitparity10000attrsnew1_fmt1.ogv" fileSize="305664" type="video/ogg" medium="video" isDefault="false" duration="3" width="400" height="296" />

			<media:rating scheme="urn:mpaa">g</media:rating>
			<media:title type="plain">4bitparity10000attrsnew1</media:title>
			<media:thumbnail url="http://cdn.videos.wordpress.com/D7yHFDU6/4bitparity10000attrsnew1.original.jpg" width="256" height="190" />
			<media:player url="http://v.wordpress.com/D7yHFDU6" width="400" height="300" />
		</media:group>
	</item>
		<item>
		<title>Thanks!</title>
		<link>http://blog.hackingevolution.net/2009/06/23/thanks/</link>
		<comments>http://blog.hackingevolution.net/2009/06/23/thanks/#comments</comments>
		<pubDate>Tue, 23 Jun 2009 23:00:45 +0000</pubDate>
		<dc:creator>Keki</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.hackingevolution.net/?p=798</guid>
		<description><![CDATA[Thanks everyone for your good wishes. My defense went smoothly, and I got some excellent suggestions from my committee. 
Posted in Uncategorized       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.hackingevolution.net&blog=3215331&post=798&subd=hackingevolution&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>Thanks everyone for your good wishes. My defense went smoothly, and I got some excellent suggestions from my committee. </p>
<br />Posted in Uncategorized  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackingevolution.wordpress.com/798/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackingevolution.wordpress.com/798/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackingevolution.wordpress.com/798/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackingevolution.wordpress.com/798/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackingevolution.wordpress.com/798/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackingevolution.wordpress.com/798/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackingevolution.wordpress.com/798/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackingevolution.wordpress.com/798/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackingevolution.wordpress.com/798/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackingevolution.wordpress.com/798/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.hackingevolution.net&blog=3215331&post=798&subd=hackingevolution&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.hackingevolution.net/2009/06/23/thanks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Keki</media:title>
		</media:content>
	</item>
		<item>
		<title>Dissertation Defense</title>
		<link>http://blog.hackingevolution.net/2009/06/04/dissertation-defense/</link>
		<comments>http://blog.hackingevolution.net/2009/06/04/dissertation-defense/#comments</comments>
		<pubDate>Fri, 05 Jun 2009 04:29:09 +0000</pubDate>
		<dc:creator>Keki</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.hackingevolution.net/?p=779</guid>
		<description><![CDATA[My dissertation defense is scheduled for Friday June 19, 2009. I&#8217;m currently working on my presentation. Wish me luck :-)
Posted in Uncategorized       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.hackingevolution.net&blog=3215331&post=779&subd=hackingevolution&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>My dissertation defense is scheduled for Friday June 19, 2009. I&#8217;m currently working on my presentation. Wish me luck :-)</p>
<br />Posted in Uncategorized  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackingevolution.wordpress.com/779/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackingevolution.wordpress.com/779/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackingevolution.wordpress.com/779/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackingevolution.wordpress.com/779/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackingevolution.wordpress.com/779/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackingevolution.wordpress.com/779/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackingevolution.wordpress.com/779/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackingevolution.wordpress.com/779/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackingevolution.wordpress.com/779/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackingevolution.wordpress.com/779/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.hackingevolution.net&blog=3215331&post=779&subd=hackingevolution&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.hackingevolution.net/2009/06/04/dissertation-defense/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Keki</media:title>
		</media:content>
	</item>
		<item>
		<title> SpeedyGA  v1.3</title>
		<link>http://blog.hackingevolution.net/2009/02/04/speedyga-v13/</link>
		<comments>http://blog.hackingevolution.net/2009/02/04/speedyga-v13/#comments</comments>
		<pubDate>Thu, 05 Feb 2009 00:05:10 +0000</pubDate>
		<dc:creator>Keki</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[code release]]></category>

		<guid isPermaLink="false">http://blog.hackingevolution.net/?p=598</guid>
		<description><![CDATA[
Download the latest version of SpeedyGA (version 1.3) from Matlab Central’s File Exchange or from Google Code.
Version 1.3 of speedyGA is faithful to the specification for a simple GA given on page 10 of Melanie Mitchell&#8217;s book &#8220;Introduction to Genetic Algorithms&#8221;; that is if none of the bells and whistles  (mask repositories, stochastic universal [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.hackingevolution.net&blog=3215331&post=598&subd=hackingevolution&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class="snap_preview">
<p>Download the latest version of <em>SpeedyGA</em> (version 1.3) from <a href="http://www.mathworks.com/matlabcentral/fileexchange/15164">Matlab Central’s File Exchange</a><em> </em>or from <a href="http://code.google.com/p/vector-ga/">Google Code</a>.</p>
<p>Version 1.3 of speedyGA is faithful to the specification for a simple GA given on page 10 of Melanie Mitchell&#8217;s book &#8220;Introduction to Genetic Algorithms&#8221;; that is if none of the bells and whistles  (mask repositories, stochastic universal sampling, and sigma scaling) are used. SpeedyGA has also been changed from a function to a script. This makes it easier to inspect variables and plot data after a run has completed.</p></div>
<br />Posted in Uncategorized Tagged: code release <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackingevolution.wordpress.com/598/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackingevolution.wordpress.com/598/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackingevolution.wordpress.com/598/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackingevolution.wordpress.com/598/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackingevolution.wordpress.com/598/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackingevolution.wordpress.com/598/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackingevolution.wordpress.com/598/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackingevolution.wordpress.com/598/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackingevolution.wordpress.com/598/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackingevolution.wordpress.com/598/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.hackingevolution.net&blog=3215331&post=598&subd=hackingevolution&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.hackingevolution.net/2009/02/04/speedyga-v13/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Keki</media:title>
		</media:content>
	</item>
		<item>
		<title>SpeedyGA  v1.2.1</title>
		<link>http://blog.hackingevolution.net/2008/12/31/speedyga-v121/</link>
		<comments>http://blog.hackingevolution.net/2008/12/31/speedyga-v121/#comments</comments>
		<pubDate>Wed, 31 Dec 2008 19:04:19 +0000</pubDate>
		<dc:creator>Keki</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[code release]]></category>

		<guid isPermaLink="false">http://blog.hackingevolution.net/?p=519</guid>
		<description><![CDATA[This version of SpeedyGA can be downloaded from Google Code.
Posted in Uncategorized Tagged: code release      <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.hackingevolution.net&blog=3215331&post=519&subd=hackingevolution&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>This version of <em>SpeedyGA</em> can be downloaded from <a href="http://code.google.com/p/vector-ga/">Google Code</a>.</p>
<br />Posted in Uncategorized Tagged: code release <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackingevolution.wordpress.com/519/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackingevolution.wordpress.com/519/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackingevolution.wordpress.com/519/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackingevolution.wordpress.com/519/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackingevolution.wordpress.com/519/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackingevolution.wordpress.com/519/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackingevolution.wordpress.com/519/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackingevolution.wordpress.com/519/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackingevolution.wordpress.com/519/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackingevolution.wordpress.com/519/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.hackingevolution.net&blog=3215331&post=519&subd=hackingevolution&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.hackingevolution.net/2008/12/31/speedyga-v121/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Keki</media:title>
		</media:content>
	</item>
		<item>
		<title>Bit Dynamics Visualization</title>
		<link>http://blog.hackingevolution.net/2008/12/30/bit-frequency-visualization/</link>
		<comments>http://blog.hackingevolution.net/2008/12/30/bit-frequency-visualization/#comments</comments>
		<pubDate>Tue, 30 Dec 2008 18:07:50 +0000</pubDate>
		<dc:creator>Keki</dc:creator>
				<category><![CDATA[genetic algorithms]]></category>
		<category><![CDATA[visualization]]></category>
		<category><![CDATA[empirical]]></category>

		<guid isPermaLink="false">http://blog.hackingevolution.net/?p=487</guid>
		<description><![CDATA[I&#8217;ve found the bit dynamics visualizer included in speedyGA very useful for understanding the dynamics of SGAs with bitstring genomes. In each generation the visualizer plots/updates the frequency of the bit 1 at each locus (the frequency of the bit 0 is straightforwardly deducible) .
Here&#8217;s a visualization of the bit dynamics of an SGA with [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.hackingevolution.net&blog=3215331&post=487&subd=hackingevolution&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:left;">I&#8217;ve found the <em>bit dynamics visualizer </em>included in speedyGA very useful for understanding the dynamics of SGAs with bitstring genomes. In each generation the visualizer plots/updates the frequency of the bit 1 at each locus (the frequency of the bit 0 is straightforwardly deducible) .</p>
<p style="text-align:left;">Here&#8217;s a visualization of the bit dynamics of an SGA with 1pt crossover when applied to the the Royal Roads fitness function. Going by the building block hypothesis one expects to see the dots marching orderly to the top of the plot in groups of eight or more.</p>
<p style="text-align:left;">That&#8217;s not what happens. Instead, one gets to see <em>hitchhiking </em>in action&#8212;look for a swift downward movement of certain dots in tandem with the swift upward movement of other dots at close by loci.</p>
<div id="x-video-3" class="video-player">
<embed id="video3" src="http://v.wordpress.com/wp-content/plugins/video/flvplayer.swf?ver=1.18&#038;guid=vJ1Zz2yt&#038;width=420&#038;height=354&#038;locksize=no&#038;qc_publisherId=p-18-mFEk4J448M" type="application/x-shockwave-flash" width="420" height="354" seamlesstabbing="true" allowfullscreen="true" allowscriptaccess="always" overstretch="true"" title=""></embed>
</div>
<p style="text-align:left;">The maximum and average fitness in each generation of this run are shown below<img class="size-full wp-image-489 aligncenter" title="avg_max_fitness_crossover1" src="http://hackingevolution.files.wordpress.com/2008/12/avg_max_fitness_crossover1.png?w=393&#038;h=294" alt="avg_max_fitness_crossover1" width="393" height="294" /></p>
<p>The matlab code used to generate these and other figures in this blog post can be found <a href="http://cs.brandeis.edu/~kekib/speedyGAwVideo.m">here</a>.</p>
<p>Let&#8217;s visualize the bit dynamics of a population when an SGA with uniform-crossover is applied to the Royal Roads function.</p>
<div id="x-video-4" class="video-player">
<embed id="video4" src="http://v.wordpress.com/wp-content/plugins/video/flvplayer.swf?ver=1.18&#038;guid=ON8KAnOj&#038;width=420&#038;height=354&#038;locksize=no&#038;qc_publisherId=p-18-mFEk4J448M" type="application/x-shockwave-flash" width="420" height="354" seamlesstabbing="true" allowfullscreen="true" allowscriptaccess="always" overstretch="true"" title=""></embed>
</div>
<p>The maximum and average fitness in each generation of this run are shown below</p>
<p><span id="more-487"></span></p>
<p style="text-align:center;"><img class="size-full wp-image-491 aligncenter" title="avg_max_fitness_crossover2" src="http://hackingevolution.files.wordpress.com/2008/12/avg_max_fitness_crossover2.png?w=401&#038;h=301" alt="avg_max_fitness_crossover2" width="401" height="301" /></p>
<p>Finally, let&#8217;s visualize the bit dynamics of a mutation-only SGA on the Royal Roads function.</p>
<div id="x-video-5" class="video-player">
<embed id="video5" src="http://v.wordpress.com/wp-content/plugins/video/flvplayer.swf?ver=1.18&#038;guid=sTcq0IQR&#038;width=420&#038;height=354&#038;locksize=no&#038;qc_publisherId=p-18-mFEk4J448M" type="application/x-shockwave-flash" width="420" height="354" seamlesstabbing="true" allowfullscreen="true" allowscriptaccess="always" overstretch="true"" title=""></embed>
</div>
<p>The maximum and average fitness in each generation of this run are shown below</p>
<p style="text-align:center;"><img class="size-full wp-image-493 aligncenter" title="avg_max_fitness_crossover0" src="http://hackingevolution.files.wordpress.com/2008/12/avg_max_fitness_crossover0.png?w=401&#038;h=301" alt="avg_max_fitness_crossover0" width="401" height="301" /></p>
<p style="text-align:left;">As an exercise you might examine the bit dynamics of the SGA on the oneMax fitness function included in the <a href="http://cs.brandeis.edu/~kekib/speedyGAwVideo.m">distribution</a>.</p>
<p style="text-align:left;">Comments welcome.</p>
<p style="text-align:left;">Enjoy!</p>
<p style="text-align:center;">
<br />Posted in genetic algorithms, visualization Tagged: empirical <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackingevolution.wordpress.com/487/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackingevolution.wordpress.com/487/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackingevolution.wordpress.com/487/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackingevolution.wordpress.com/487/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackingevolution.wordpress.com/487/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackingevolution.wordpress.com/487/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackingevolution.wordpress.com/487/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackingevolution.wordpress.com/487/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackingevolution.wordpress.com/487/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackingevolution.wordpress.com/487/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.hackingevolution.net&blog=3215331&post=487&subd=hackingevolution&ref=&feed=1" /><div><a href="http://blog.hackingevolution.net/2008/12/30/bit-frequency-visualization/"><img alt="" src="http://cdn.videos.wordpress.com/vJ1Zz2yt/speedygarun_crossovertype12.original.jpg" width="160" height="120" /></a></div><div><a href="http://blog.hackingevolution.net/2008/12/30/bit-frequency-visualization/"><img alt="" src="http://cdn.videos.wordpress.com/ON8KAnOj/speedygarun_crossovertype21.original.jpg" width="160" height="120" /></a></div><div><a href="http://blog.hackingevolution.net/2008/12/30/bit-frequency-visualization/"><img alt="" src="http://cdn.videos.wordpress.com/sTcq0IQR/speedygarun_crossovertype08.original.jpg" width="160" height="120" /></a></div>]]></content:encoded>
			<wfw:commentRss>http://blog.hackingevolution.net/2008/12/30/bit-frequency-visualization/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Keki</media:title>
		</media:content>

		<media:content url="http://hackingevolution.files.wordpress.com/2008/12/avg_max_fitness_crossover1.png" medium="image">
			<media:title type="html">avg_max_fitness_crossover1</media:title>
		</media:content>

		<media:content url="http://hackingevolution.files.wordpress.com/2008/12/avg_max_fitness_crossover2.png" medium="image">
			<media:title type="html">avg_max_fitness_crossover2</media:title>
		</media:content>

		<media:content url="http://hackingevolution.files.wordpress.com/2008/12/avg_max_fitness_crossover0.png" medium="image">
			<media:title type="html">avg_max_fitness_crossover0</media:title>
		</media:content>



	</item>
		<item>
		<title>VectorGA is now SpeedyGA</title>
		<link>http://blog.hackingevolution.net/2008/12/16/vectorga-is-now-speedyga/</link>
		<comments>http://blog.hackingevolution.net/2008/12/16/vectorga-is-now-speedyga/#comments</comments>
		<pubDate>Tue, 16 Dec 2008 05:06:23 +0000</pubDate>
		<dc:creator>Keki</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[code release]]></category>

		<guid isPermaLink="false">http://blog.hackingevolution.org/?p=332</guid>
		<description><![CDATA[With VectorGA being downloaded from Matlab Central over 611 times in the past 30 days, I thought I&#8217;d release some of the tweaks I&#8217;ve been using to speed it up. I&#8217;m calling the result SpeedyGA .
Download SpeedyGA from Matlab Central&#8217;s File Exchange or from Google Code.
Release notes:

SpeedyGA is a vectorized implementation of the Simple Genetic [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.hackingevolution.net&blog=3215331&post=332&subd=hackingevolution&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>With <a href="http://blog.hackingevolution.net/2007/01/25/vector-ga">VectorGA</a> being downloaded from <a href="http://www.mathworks.com/matlabcentral/fileexchange/">Matlab Central</a> over 611 times in the past 30 days, I thought I&#8217;d release some of the tweaks I&#8217;ve been using to speed it up. I&#8217;m calling the result <em>SpeedyGA</em> .</p>
<p style="text-align:left;">Download <em>SpeedyGA</em> from <a href="http://www.mathworks.com/matlabcentral/fileexchange/15164">Matlab Central&#8217;s File Exchange</a><em> </em>or from <a href="http://code.google.com/p/vector-ga/">Google Code</a>.</p>
<p style="text-align:left;"><em>Release notes:</em></p>
<div id="wikicontent" style="padding:0 3em 1.2em 0;">
<p><em>SpeedyGA is a vectorized implementation of the Simple Genetic Algorithm in the Matlab programming language.</em></p>
<p><em>Matlab is optimized for performing operations on arrays. Loops, especially nested loops, tend to run slowly in Matlab. It is possible to significantly improve the performance of Matlab programs by converting loops into array operations. This process is called vectorization. Matlab provides a rich set of functions and many expressive indexing schemes that make it possible to vectorize code. Such code not only runs faster, it is also shorter, and simpler to understand and change (provided that you know a little about Matlab of course).</em></p>
<p><em>Genetic Algorithms that are implemented in C/C++ or Java typically have multiple nested loops. Therefore direct ports of such implementations to Matlab will run very slowly. Many of the nested loops found in a typical GA implementation have been eliminated from SpeedyGA. The resulting code is short, fast and simple. It is indeed a delightful coincidence when the constructs of a programming language match a programming task so well that a program can be written this succinctly.</em></p>
<p><em>SpeedyGA is proof that Matlab is a useful language for the rapid prototyping of Genetic Algorithms. This, in addition to Matlab&#8217;s extensive data visualization capabilities, make Matlab an extremely useful platform for the experimental analysis of GAs.</em></p>
<p><em>SpeedyGA has been created and tested under Matlab 7 (R14). Out of the box it evolves a population against the one-max fitness function. The royal-roads fitness function has also been included but is not currently being called. If you find vectorGA useful or find any bugs please let me know.</em></p>
<p><em>Enjoy!</em></p>
<p>SpeedyGA is a revision of the old VectorGA. SpeedyGA has (not surprisingly) been further optimized for speed.</p>
<p>Changes since VectorGA</p>
<ol>
<li><em>Added mutation  and crossover mask pregeneration</em></li>
<li><em>Added the option to visualize the changing bit frequencies of a population (very handy for understanding GA dynamics)<br />
</em></li>
</ol>
</div>
<br />Posted in Uncategorized Tagged: code release <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackingevolution.wordpress.com/332/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackingevolution.wordpress.com/332/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackingevolution.wordpress.com/332/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackingevolution.wordpress.com/332/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackingevolution.wordpress.com/332/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackingevolution.wordpress.com/332/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackingevolution.wordpress.com/332/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackingevolution.wordpress.com/332/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackingevolution.wordpress.com/332/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackingevolution.wordpress.com/332/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.hackingevolution.net&blog=3215331&post=332&subd=hackingevolution&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.hackingevolution.net/2008/12/16/vectorga-is-now-speedyga/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Keki</media:title>
		</media:content>
	</item>
		<item>
		<title>The Fundamental Problem with the Building Block Hypothesis (new manuscript)</title>
		<link>http://blog.hackingevolution.net/2008/10/18/new-manuscript-the-fundamental-problem-with-the-building-block-hypothesis/</link>
		<comments>http://blog.hackingevolution.net/2008/10/18/new-manuscript-the-fundamental-problem-with-the-building-block-hypothesis/#comments</comments>
		<pubDate>Sun, 19 Oct 2008 01:30:35 +0000</pubDate>
		<dc:creator>Keki</dc:creator>
				<category><![CDATA[building block hypothesis]]></category>
		<category><![CDATA[epistasis]]></category>
		<category><![CDATA[genetic algorithms]]></category>
		<category><![CDATA[occam's razor]]></category>
		<category><![CDATA[philosophy of science]]></category>
		<category><![CDATA[philosopy]]></category>
		<category><![CDATA[population genetics]]></category>
		<category><![CDATA[new manuscript]]></category>
		<category><![CDATA[overview]]></category>
		<category><![CDATA[philosophical]]></category>

		<guid isPermaLink="false">http://evoadaptation.wordpress.com/?p=23</guid>
		<description><![CDATA[Abstract: Skepticism of the building block hypothesis  has previously been expressed on account of the weak theoretical foundations of this hypothesis and anomalies in the empirical record of the simple genetic algorithm. In this paper we focus on a more fundamental cause for skepticism&#8212;the extraordinary strength of some of the assumptions undergirding the building block [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.hackingevolution.net&blog=3215331&post=23&subd=hackingevolution&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p><strong>Abstract: </strong>Skepticism of the building block hypothesis  has previously been expressed on account of the weak theoretical foundations of this hypothesis and anomalies in the empirical record of the simple genetic algorithm. In this paper we focus on a more fundamental cause for skepticism&#8212;the extraordinary strength of some of the assumptions undergirding the building block hypothesis. As many of these assumptions have been embraced by the designers of so called &#8220;competent&#8221; genetic algorithms, our critique is relevant to an appraisal of such algorithms. We argue that these assumptions are too strong to be acceptable without additional evidence. We then point out weaknesses in the arguments that have been provided in lieu of such evidence.</p>
<p><a href="http://cs.brandeis.edu/~kekib/presumptions.pdf">Download manuscript</a></p>
<br />Posted in building block hypothesis, epistasis, genetic algorithms, occam's razor, philosophy of science, philosopy, population genetics Tagged: new manuscript, overview, philosophical <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackingevolution.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackingevolution.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackingevolution.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackingevolution.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackingevolution.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackingevolution.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackingevolution.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackingevolution.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackingevolution.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackingevolution.wordpress.com/23/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.hackingevolution.net&blog=3215331&post=23&subd=hackingevolution&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.hackingevolution.net/2008/10/18/new-manuscript-the-fundamental-problem-with-the-building-block-hypothesis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Keki</media:title>
		</media:content>
	</item>
		<item>
		<title>What Are GAs Good For?</title>
		<link>http://blog.hackingevolution.net/2008/05/23/what-are-gas-good-for/</link>
		<comments>http://blog.hackingevolution.net/2008/05/23/what-are-gas-good-for/#comments</comments>
		<pubDate>Sat, 24 May 2008 00:50:48 +0000</pubDate>
		<dc:creator>Keki</dc:creator>
				<category><![CDATA[QTL]]></category>
		<category><![CDATA[combinatorial optimization]]></category>
		<category><![CDATA[epistasis]]></category>
		<category><![CDATA[genetic algorithms]]></category>
		<category><![CDATA[genetics]]></category>
		<category><![CDATA[symmetry-analysis]]></category>
		<category><![CDATA[empirical]]></category>
		<category><![CDATA[rough-draft]]></category>
		<category><![CDATA[technical]]></category>

		<guid isPermaLink="false">http://evoadaptation.wordpress.com/?p=17</guid>
		<description><![CDATA[Researchers studying the foundations of genetic algorithms have not, to the best of my knowledge, identified a non-trivial computational problem that a simple GA can solve robustly and scaleably (I&#8217;ve previously raised this issue here) .  In my opinion, this singular fact is the most clear evidence for the inadequacy of current paradigm within [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.hackingevolution.net&blog=3215331&post=20&subd=hackingevolution&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>Researchers studying the foundations of genetic algorithms have not, to the best of my knowledge, identified a <em>non-trivial </em>computational problem that a simple GA can solve robustly and scaleably (I&#8217;ve previously raised this issue <a href="http://hackingevolution.wordpress.com/2007/09/04/optimization-adaptation-machine-learning-and-evolutionary-computation-2/" target="_self">here</a>) .  In my opinion, this singular fact is the most clear evidence for the inadequacy of current paradigm within which we understand/study the adaptive capacity of GAs&#8212;the question of what GAs are good for is, after all, intimately related to the question of how GAs work.</p>
<p>In a <a href="http://evoadaptation.files.wordpress.com/2008/06/whataregasgoodfor.pdf">draft</a> of one of my dissertation chapters I identify a hard computational problem and show that a GA can solve it robustly and scalably. Remarkably, this problem is closely related to a hairy statistical problem in computational biology. How might a GA leverage this kind of computational ability to perform adaptation? I&#8217;ll be presenting my theory about this in future chapters. The idea behind this theory is delightfully simple. Presenting it formally, however, is a another story. Stay tuned.</p>
<p><a href="http://evoadaptation.files.wordpress.com/2008/05/dissertation1.pdf"><br />
</a></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hackingevolution.wordpress.com/20/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hackingevolution.wordpress.com/20/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackingevolution.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackingevolution.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackingevolution.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackingevolution.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackingevolution.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackingevolution.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackingevolution.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackingevolution.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackingevolution.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackingevolution.wordpress.com/20/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.hackingevolution.net&blog=3215331&post=20&subd=hackingevolution&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.hackingevolution.net/2008/05/23/what-are-gas-good-for/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Keki</media:title>
		</media:content>
	</item>
		<item>
		<title>vectorGA Now an Open-Source Project at Google Code</title>
		<link>http://blog.hackingevolution.net/2007/11/22/vectorga-now-an-open-source-project-on-google-code/</link>
		<comments>http://blog.hackingevolution.net/2007/11/22/vectorga-now-an-open-source-project-on-google-code/#comments</comments>
		<pubDate>Thu, 22 Nov 2007 18:54:15 +0000</pubDate>
		<dc:creator>Keki</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[code release]]></category>

		<guid isPermaLink="false">http://evoadaptation.wordpress.com/2007/11/22/vectorga-now-an-open-source-project-on-google-code/</guid>
		<description><![CDATA[At the request of some users I&#8217;ve released the vectorGA code under the GNU Public License (GPL).
See  http://code.google.com/p/vector-ga/
vectorGA is written in Matlab, which is a proprietary platform. The first order of business is to port vectorGA to the open-source platform Octave so that everyone can use it.
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.hackingevolution.net&blog=3215331&post=15&subd=hackingevolution&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>At the request of some users I&#8217;ve released the <a href="http://hackingevolution.wordpress.com/2007/01/25/january-23-2007-untitled/">vectorGA</a> code under the GNU Public License (GPL).</p>
<p>See  <a href="http://code.google.com/p/vector-ga/">http://code.google.com/p/vector-ga/</a></p>
<p>vectorGA is written in Matlab, which is a proprietary platform. The first order of business is to port vectorGA to the open-source platform Octave so that everyone can use it.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hackingevolution.wordpress.com/15/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hackingevolution.wordpress.com/15/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackingevolution.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackingevolution.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackingevolution.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackingevolution.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackingevolution.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackingevolution.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackingevolution.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackingevolution.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackingevolution.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackingevolution.wordpress.com/15/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.hackingevolution.net&blog=3215331&post=15&subd=hackingevolution&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.hackingevolution.net/2007/11/22/vectorga-now-an-open-source-project-on-google-code/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Keki</media:title>
		</media:content>
	</item>
		<item>
		<title>New manuscript now at arXiv</title>
		<link>http://blog.hackingevolution.net/2007/11/13/latest-manuscript-now-on-arxiv/</link>
		<comments>http://blog.hackingevolution.net/2007/11/13/latest-manuscript-now-on-arxiv/#comments</comments>
		<pubDate>Tue, 13 Nov 2007 05:45:46 +0000</pubDate>
		<dc:creator>Keki</dc:creator>
				<category><![CDATA[building block hypothesis]]></category>
		<category><![CDATA[coarse-graining]]></category>
		<category><![CDATA[genetic algorithms]]></category>
		<category><![CDATA[machine learning]]></category>
		<category><![CDATA[manuscript]]></category>
		<category><![CDATA[mathematical]]></category>
		<category><![CDATA[technical]]></category>
		<category><![CDATA[wee-bit-ranty]]></category>

		<guid isPermaLink="false">http://evoadaptation.wordpress.com/2007/11/13/latest-manuscript-now-on-arxiv/</guid>
		<description><![CDATA[My latest manuscript is now posted at arXiv.
http://arxiv.org/abs/0711.1401
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.hackingevolution.net&blog=3215331&post=14&subd=hackingevolution&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>My latest manuscript is now posted at arXiv.</p>
<p><a href="http://arxiv.org/abs/0711.1401">http://arxiv.org/abs/0711.1401</a></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hackingevolution.wordpress.com/14/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hackingevolution.wordpress.com/14/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackingevolution.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackingevolution.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackingevolution.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackingevolution.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackingevolution.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackingevolution.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackingevolution.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackingevolution.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackingevolution.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackingevolution.wordpress.com/14/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.hackingevolution.net&blog=3215331&post=14&subd=hackingevolution&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.hackingevolution.net/2007/11/13/latest-manuscript-now-on-arxiv/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Keki</media:title>
		</media:content>
	</item>
		<item>
		<title>The Need for a Sound Theory of Adaptation for the Simple Genetic Algorithm</title>
		<link>http://blog.hackingevolution.net/2007/09/04/the-conclusion-of-my-latest-manuscript-towards-a-sound-theory-of-adaptation-for-the-simple-genetic-algorithm/</link>
		<comments>http://blog.hackingevolution.net/2007/09/04/the-conclusion-of-my-latest-manuscript-towards-a-sound-theory-of-adaptation-for-the-simple-genetic-algorithm/#comments</comments>
		<pubDate>Tue, 04 Sep 2007 15:28:06 +0000</pubDate>
		<dc:creator>Keki</dc:creator>
				<category><![CDATA[genetic algorithms]]></category>
		<category><![CDATA[population genetics]]></category>
		<category><![CDATA[non-technical]]></category>
		<category><![CDATA[philosophical]]></category>

		<guid isPermaLink="false">http://evoadaptation.wordpress.com/2007/09/04/the-conclusion-of-my-latest-manuscript-towards-a-sound-theory-of-adaptation-for-the-simple-genetic-algorithm/</guid>
		<description><![CDATA[The conclusion of a manuscript that I recently submitted for review
The biosphere is replete with organisms that are exquisitely well adapted to the environmental niches they inhabit. Natural sexual evolution has been crucial to the generation of what are arguably the most highly adapted of these organisms — cheetahs, owls, humans etc. A deeply intriguing [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.hackingevolution.net&blog=3215331&post=13&subd=hackingevolution&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>The conclusion of a <a title="Towards a Sound Theory of Adaptation for the Simple Genetic Algorithm" href="http://arxiv.org/abs/0711.1401v2">manuscript</a> that I recently submitted for review</p>
<p>The biosphere is replete with organisms that are exquisitely well adapted to the environmental niches they inhabit. Natural sexual evolution has been crucial to the generation of what are arguably the most highly adapted of these organisms — cheetahs, owls, humans etc. A deeply intriguing idea is that we can build adaptation algorithms which, at an abstract level, mimic the behavior of natural sexual evolution, and in doing so, “harness” something of the adaptive power of this incredibly effective process. But what is the abstract level at which natural sexual evolution should be mimicked? In other words <span id="more-13"></span>given everything we know about natural sexual evolutionary systems, how do we distinguish between aspects of these systems which are essential to their adaptive power, and those which can be viewed as “mere biological detail” and need not be simulated, especially when taking a first swipe at building an artificial evolutionary systems which harnesses the power of natural sexual evolution? For instance is it necessary for such “firstorder” artificial evolutionary systems to simulate hydrogen bonding between the bases of DNA strands? What about diploidy, or the way genomes of organisms are comprised of multiple chromosomes? And how crucial is the fact that crossover takes place between homologous chromosomes during meiosis?</p>
<p>Engineers of yesteryear faced a similar quandary when trying to ascertain just what it is about birds that gives them their capacity for flight? Stories of inventors in feathered suits jumping to their deaths off cliffs and buildings bear testament to the fact that that our initial answers to such questions are often incorrect. It was only after the realization that birds were “using” Bernoulli’s principle to stay aloft that researchers began to make any real progress towards building machines that successfully harnessed the principle underlying birds’ capacity for soaring. One can infer the following general rule from this example: without a good understanding of exactly why a natural system exhibits a certain useful phenomenon, efforts to build artificial systems that exhibit the same phenomenon by mimicking the natural system will be misguided and are unlikely to be successful.</p>
<p>The field of Population Genetics stems from the efforts of its founders — Fisher, Wright and Haldane — to reconcile Darwin’s theory of adaptation by natural selection with Mendel’s theory of genetics (odd as it may now seem, these two theories were once thought to contradict each other. See Okasha, 2006). The literature of this field seems like the most reasonable place to look for answers to questions about how and why adaptation occurs in natural sexually reproducing populations. Unfortunately Population Genetics does not hold ready answers to these questions. Indeed the differing theories of Fisher and Wright regarding exactly this issue has been the subject of a longstanding and ongoing debate (Wade and Goodnight, 1998; Brodie III, 2000). Significant empirical evidence has been gathered by both sides in support of their respective positions yet a definitive answer has not emerged. The absence of a definitive answer makes it difficult to make principled decisions about the level of detail which must be present in an artificial system which seeks, through mimicry, to harness something of the adaptive power of natural sexual evolution.</p>
<p>Let us return to the analogy with the field of aviation that we introduced above. For the sake of argument let us suppose that in the age before the discovery of Bernoulli’s principle someone had, for some reason or the other, succeeded in inventing a simple winged machine which a) mimicked birds at some relatively abstract level, and b) was capable of soaring long distances (even if slowly, or inefficiently). Such a machine would immediately be incredibly interesting because when compared to the complex body of a bird, such a machine would be much more amenable to analysis. The principle underlying this machine’s ability to soar, once derived, could then be used to build “better” soaring machines. This underlying principle would also play a very important part in the development of an accurate theory of why birds can soar (If the inventor of the winged machine gives an incorrect reason for why his machine can soar, that would probably slow down the progression described above, but it would take away nothing from the importance of the winged machine itself.). The implications of this vignette for the importance of the SGA to the fields of Evolutionary Computation and Evolutionary Biology should be evident. The SGA should thus be viewed as a ‘lucky break’, one that can and should be exploited for its potential to advance theories and applications of the adaptive capacity of sexual evolution.</p>
<p>Let us spell out the importance of studying the SGA’s capacity for adaptation. As models of sexual evolutionary systems go, the SGA is arguably the simplest one which has regularly been observed to adapt high-quality solutions despite the almost certain presence of non-trivial epistasis between genomic loci, in other words, despite its application to problems whose representations are in all likelihood riddled with local optima. Because of its effectiveness in spite of its simplicity, the SGA is a model of sexual evolution that is highly likely to a) yield an explanation for the incredible adaptive capacity of sexual evolution and b) precipitate the identification of classes of non-trivial epistasis which do not pose much of a problem for sexual evolution. The SGA is of course not the last word in evolution inspired adaptive systems. Efforts to extend this algorithm in ways that “increase its adaptive power” should and have been made. However if, while attempting to extend the SGA, one works within a flawed paradigm, one is unlikely to capitalize on, and may even compromise, whatever “power” the SGA derives, by virtue of imitation, from natural sexual evolution. A non-dogmatic study of how SGAs perform adaptation has the potential to yield a theory which accurately explains the reasons behind the SGA’s frequent success. Such a theory will probably usher in a new paradigm within which fruitful research into the construction of more “powerful” evolutionary algorithms can proceed. If such a theory differs significantly from those of Fisher and Wright it is likely to have deep implications for the field of Population Genetics and the larger field of Evolutionary Biology (within which several basic questions — why sex? Why punctuated equilibrium? Why diploidy and polyploidy? Why speciation? What is the unit of selection? — have yet to receive satisfactory answers). Finally, a study that reveals the SGA’s capacity for adaptation will also undoubtedly reveal classes of problems that SGAs can efficiently solve. These classes of problems may prove useful to machine learning researchers in their efforts to find semiprincipled reductions of difficult learning problems to problems for which robust and efficient solvers exist.</p>
<p>This paper makes two concrete contributions. Firstly, in sections 2–10 we have derived results which we believe are relevant to the riddle of the SGA’s capacity for adaptation. Secondly in section 11 we have presented results which show that an oft perceived shortcoming of the SGA is misplaced. The following two paragraphs expand upon these contributions.</p>
<p>As we discussed in section 1.2, a promising way to understand the effect of selection and variation on the composition of the evolving population of an SGA is by understanding the multi-generational effect of these operations on the search distribution of the SGA. One way to study an evolving high-dimensional distribution is to study its evolving multivariate marginals. In this paper we derive conditions under which a multivariate marginal of the search distribution of an SGA, with an infinite population of long genomes, can be approximated over multiple generations. In other words we derive conditions under which the frequency dynamics of some family of schemata under the action of an SGA, with an infinite population of long genomes, can be approximated over multiple generations. The conditions we derived in this paper are much weaker than those derived by Wright et al. (2003). This makes our result more useful. The conclusions reached in section 9 are reached by making small leaps of intuition. In section 10 we experimentally validated these conclusions. Our validation, though indirect, is based on assumptions and modeling decisions which are, in our opinion, uncontroversial.</p>
<p>Besides being incorrectly used to support an outlandish hypothesis about what the SGA can do (hierarchical building block assembly), Holland’s Schema Theorem has also heavily shaped opinion about what the SGA cannot do. Following the experiments by Mitchell et al. (1992), and Forrest and Mitchell (1993), the perceived abilities of the SGA stand compromised, yet the perceived limitations of the SGA have remained unchanged. The SGA is currently thought to be incapable of increasing the frequency of a low-order schema with higher than average fitness when the defining length of that schema is large (Goldberg et al., 1989; Goldberg, 2002). In section 11 we argued that this perception is just plain wrong — an SGA can increase the frequency of a low-order schema with higher than average fitness even when the defining length of that schema is large.</p>
<p>In closing we briefly mention that we have recently obtained a new, simple, and (in our opinion) satisfying theory which explains the SGA’s remarkable capacity for adaptation. We have also identified a class of hard statistical problems such that a) the problems in this class can be solved efficiently and robustly by an SGA, and b) this class is likely to be a useful target of machine learning reductions. All of this will soon appear in our forthcoming dissertation. Our theory relies crucially on the SGA’s ability to increase the frequency of schemata of low order and above average fitness, even when the defining bits of those schemata are widely dispersed.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hackingevolution.wordpress.com/13/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hackingevolution.wordpress.com/13/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackingevolution.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackingevolution.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackingevolution.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackingevolution.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackingevolution.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackingevolution.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackingevolution.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackingevolution.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackingevolution.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackingevolution.wordpress.com/13/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.hackingevolution.net&blog=3215331&post=13&subd=hackingevolution&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.hackingevolution.net/2007/09/04/the-conclusion-of-my-latest-manuscript-towards-a-sound-theory-of-adaptation-for-the-simple-genetic-algorithm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Keki</media:title>
		</media:content>
	</item>
		<item>
		<title>The Dubious History of the Building Block Hypothesis</title>
		<link>http://blog.hackingevolution.net/2007/09/04/the-dubious-history-of-the-building-block-hypothesis/</link>
		<comments>http://blog.hackingevolution.net/2007/09/04/the-dubious-history-of-the-building-block-hypothesis/#comments</comments>
		<pubDate>Tue, 04 Sep 2007 15:18:31 +0000</pubDate>
		<dc:creator>Keki</dc:creator>
				<category><![CDATA[building block hypothesis]]></category>
		<category><![CDATA[genetic algorithms]]></category>
		<category><![CDATA[non-technical]]></category>

		<guid isPermaLink="false">http://evoadaptation.wordpress.com/2007/09/04/the-dubious-history-of-the-building-block-hypothesis/</guid>
		<description><![CDATA[From the introduction of a manuscript that I recently submitted for review
Perceptions of the abilities and limitations of the SGA (and hence the kinds of problems that it can and cannot solve) have been heavily influenced by a theory of adaptation called the building block hypothesis (Goldberg, 1989; Mitchell, 1996; Holland, 1975, 2000). This theory [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.hackingevolution.net&blog=3215331&post=12&subd=hackingevolution&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>From the introduction of a <a title="Towards a Sound Theory of Adaptation for the Simple Genetic Algorithm" href="http://arxiv.org/PS_cache/arxiv/pdf/0711/0711.1401v1.pdf">manuscript</a> that I recently submitted for review</p>
<p>Perceptions of the abilities and limitations of the SGA (and hence the kinds of problems that it can and cannot solve) have been heavily influenced by a theory of adaptation called the building block hypothesis (Goldberg, 1989; Mitchell, 1996; Holland, 1975, 2000). This theory of adaptation has its genesis in the following idea: maybe small groups of closely located co-adaptive alleles propagate within an evolving population of genomes in much the same way that single adaptive alleles do in Fisher’s theories of sexual evolution (Fisher, 1958). Holland called such groups of alleles building blocks. This idea can be taken one step further: maybe small groups of co-adaptive building blocks propagate within an evolving population of genomes in much the same way that single building blocks do. Such groups can be thought of as higher-level building blocks. Pursuing this idea to the fullest extent, maybe<span id="more-12"></span> co-adaptive groups of higher-level building blocks propagate in much the same way as ordinary building blocks do to yield building blocks of an even higher level, and so on and so forth in hierarchical fashion with the building-blocks of higher levels being comprised of co-adaptive groups of lower-level building blocks. Let us call this this idea hierarchical building block assembly.</p>
<p>Holland (1975) saw in hierarchical building block assembly a way out from the problem that epistasis (Wolf et al., 2000) poses for Fisher’s theory of sexual evolution. He also believed that hierarchical building block assembly, if implemented efficiently, could serve as a useful problem solving technique. He argued that a genetic algorithm that he called a genetic plan can implement hierarchical building block assembly, and moreover does so efficiently. He offered the genetic plan as a model of natural sexual evolution and also as a useful technique for finding solutions to adaptation problems with non-convex objective functions. The main theoretical tool that he used in his argument has come to be called the schema theorem (Goldberg, 1989; Mitchell, 1996). However neither the schema theorem, nor any of Holland’s other theoretical analyses fully support his claim that simple genetic algorithms are capable of efficiently implementing hierarchical building block assembly. Given the boldness of his claim and the large leaps of intuition that Holland makes in order to support it, the absence of experimental support in (Holland, 1975) is rather conspicuous (even more so given that simple, computationally unintensive, proof-of-concept experiments are not difficult to conceive of. See, Mitchell et al., 1992, and Forrest and Mitchell, 1993) . It would not have been surprising therefore if the genetic plan had been relegated to the history books as an algorithm that did not fulfill its raison d’etre — to support its inventor’s hunch about the utility of hierarchical building block assembly as a theory of adaptation for natural sexual evolutionary systems, and to support its inventor’s hunch that hierarchical building block assembly can be efficiently implemented. What seems to have saved the SGA from this fate is the curious matter of its utility.</p>
<p>In the years following the publication of Holland’s seminal work (Holland, 1975), the SGA was successfully used to adapt high-quality solutions to different sorts of real world and toy problems with non-convex objective functions. In an unfortunate twist of reasoning hierarchical building block assembly became the de-facto explanation for the success of the SGA. This explanation came to be called the building block hypothesis. Despite its name, the building block hypothesis was treated more as an assumption than as a hypothesis. Hierarchical building block assembly had aesthetic appeal, and the building block hypothesis had Holland’s unqualified endorsement (Holland, 1992). Therefore the building block hypothesis was readily accepted by most within the GA community. Some even went so far as to tout the success of SGAs as evidence of the veracity of the building block hypothesis or as evidence that hierarchical building block assembly is a useful search technique for a wide variety of search problems. Consider the following confused passage from one of the first text books on genetic algorithms:</p>
<p>“&#8230;the building block hypothesis has held up in many different problem domains. Smooth, unimodal problems, noisy multimodal problems, and combinatorial optimization problems have all been attacked successfully using virtually the same reproduction-crossover-mutation [S]GA.”(Goldberg, 1989)</p>
<p>The early support that the building block hypothesis enjoyed accounts for the deep impact it has had and continues to have on the course of research in genetic algorithms as well as other fields of evolutionary computation such as genetic programming. Recently the building block hypothesis has been sharply criticized for lacking adequate theoretical support. The most forceful criticism that we are aware of has been levied by Wright et al. (2003): “The various claims about [S]GAs that are traditionally made under the name of the building block hypothesis have, to date, no basis in theory, and, in some cases,are simply incoherent”. On the empirical side experimental results have been obtained which straightforwardly cast doubt upon the ability of a simple genetic algorithm to efficiently implement hierarchical building block assembly (Mitchell et al., 1992; Forrest and Mitchell, 1993). In response to these experimental results a silent transition has occurred within the field of genetic algorithms: hierarchical building block assembly has gone from being thought of as the abstract process that SGAs implement to being thought of as a normative process that SGAs mis-implement. Even though this transition between intellectual positions is completely specious it is now widely assumed that SGAs work because they manage to “fudge” hierarchical building block assembly. Many new genetic algorithms have been constructed to compensate for the perceived short-comings of the GA —e.g. messy GA, (Goldberg et al., 1989; Goldberg, 1989, 2002), LLGA (Harik and Goldberg, 1997; Goldberg, 2002), CGA (Harik et al., 1999), ECGA (Harik, 1999), cohort GA (Holland, 2000), FDA (M¨uhlenbein and Mahnig, 1999), LFDA (M¨uhlenbein and Mahnig, 2001), BOA (Pelikan et al., 1999; Goldberg, 2002), hBOA (Pelikan and Goldberg, 2001), SEAM (Watson, 2002, 2006),etc. The inventors of these algorithms claim, or at least imply, that their algorithms are better than the SGA at its own game — hierarchical building block assembly. In many circles within the GA community the curious matter of frequent utility of SGAs is now considered closed.</p>
<p>For a case in point of the kind of sleight of hand that we are discussing consider the following: conceding that there is little evidence that SGAs can efficiently and robustly implement hierarchical building block assembly, Holland (2000) remarks, “Are [S]GA’s, then, a robust approach to all problems in which building blocks play a key role? By no means! After years of investigation we still have only limited information about the [S]GA’s capabilities for exploiting building blocks”. Later he asserts that “the very essence of good GA design is retention of diversity, furthering exploration, while exploiting building blocks already discovered”, and presents a new genetic algorithm, the Cohort Genetic Algorithm, and argues that it implements this essence (see (Pei and Goodman, 2001) for evidence that it does not).</p>
<p>The field of genetic algorithms is both a scientific field as well as an engineering domain. Heedful science and meticulous engineering can often work synergistically. However when the boundary between science and engineering begins to blur, dogma and misplaced faith can beleaguer the practice of both, to wit, a system that is useful in practice, but does not implement a hypothetical mechanism may receive reduced attention, whereas the mechanism, far from being dismissed according to the basic norms of science may become the holy grail of the engineering goals of the field.</p>
<p>A theory that explains why a system exhibits a particular behavior can influence perceptions of how the system can behave, and also of how it cannot. Of the two kinds of perceptions, the latter kind is often judged in retrospect to be the greater impediment to the discovery of a new theory that can explain and predict the behavior of the system with greater accuracy. This is because by influencing perceptions of how the system cannot behave a theory implicitly determines the “domain of the impossible” and in doing so it steers researchers away from considering certain possibilities. Yet it is precisely amongst these ”impossibilities” that the seeds of a new more accurate theory often lie.</p>
<p>One of the two goals of this paper is to challenge the widespread belief that the SGA cannot increase the frequency of a low order schema with above-average fitness when the defining length of that schema is high (i.e. when the defining bits of that schema are widely dispersed). This belief can be traced back to Holland’s original treatise on genetic algorithms (Holland, 1975) and goes hand in hand with belief in the building block hypothesis (and variations thereof). In section 11 we provide an argument based on experimental evidence that this belief is misplaced. We believe that this errant belief will be judged in retrospect to have been a significant impediment to the discovery of a sound theory of adaptation for the SGA.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hackingevolution.wordpress.com/12/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hackingevolution.wordpress.com/12/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackingevolution.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackingevolution.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackingevolution.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackingevolution.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackingevolution.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackingevolution.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackingevolution.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackingevolution.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackingevolution.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackingevolution.wordpress.com/12/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.hackingevolution.net&blog=3215331&post=12&subd=hackingevolution&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.hackingevolution.net/2007/09/04/the-dubious-history-of-the-building-block-hypothesis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Keki</media:title>
		</media:content>
	</item>
		<item>
		<title>Optimization, Adaptation, Machine Learning and Evolutionary Computation</title>
		<link>http://blog.hackingevolution.net/2007/09/04/optimization-adaptation-machine-learning-and-evolutionary-computation-2/</link>
		<comments>http://blog.hackingevolution.net/2007/09/04/optimization-adaptation-machine-learning-and-evolutionary-computation-2/#comments</comments>
		<pubDate>Tue, 04 Sep 2007 14:53:05 +0000</pubDate>
		<dc:creator>Keki</dc:creator>
				<category><![CDATA[genetic algorithms]]></category>
		<category><![CDATA[machine learning]]></category>
		<category><![CDATA[overview]]></category>

		<guid isPermaLink="false">http://evoadaptation.wordpress.com/2007/09/04/optimization-adaptation-machine-learning-and-evolutionary-computation-2/</guid>
		<description><![CDATA[From the introduction of a manuscript that I recently submitted for review
The practice of Machine Learning research can be characterized as the effective semiprincipled reduction of learning problems to problems for which robust and efficient solution techniques exist &#8211; ideally ones with provable bounds on their use of time and space. In a recent paper [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.hackingevolution.net&blog=3215331&post=11&subd=hackingevolution&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>From the introduction of a <a title="Towards a Sound Theory of Adaptation for the Simple Genetic Algorithm" href="http://arxiv.org/PS_cache/arxiv/pdf/0711/0711.1401v1.pdf">manuscript</a> that I recently submitted for review</p>
<p>The practice of Machine Learning research can be characterized as the effective semiprincipled reduction of learning problems to problems for which robust and efficient solution techniques exist &#8211; ideally ones with provable bounds on their use of time and space. In a recent paper Bennett and Parrado-Hern´andez (2006) describe the synergistic relationship between the fields of machine learning (ML) and mathematical programming (MP). They remark:</p>
<p>&#8220;Optimization lies at the heart of machine learning. Most machine learning problems reduce to optimization problems. Consider the machine learning analyst in action solving a problem for some set of data. The modeler formulates the problem by selecting an appropriate family of models and massages the data into a format amenable to modeling. Then the model is typically trained by solving a core optimization problem that <span id="more-11"></span>optimizes the variables or parameters of the model with respect to the selected loss function and possibly some regularization function. In the process of model selection and validation, the core optimization problem may be solved many times. The research area of mathematical programming theory intersects with machine learning through these<br />
core optimization problems&#8221; (Bennett and Parrado-Hern´andez, 2006).</p>
<p>Later Bennett and Parrado-Hern´andez imply that when the targets of ML reductions have been optimization problems, they have for the most part been the convex optimization problems within the MP pantheon.</p>
<p>&#8220;Convexity plays a key role in mathematical programming. Convex programs minimize convex optimization functions subject to convex constraints ensuring that every local minimum is always a global minimum. In general, convex problems are much more tractable algorithmically and theoretically. The complexity of nonconvex problems can grow enormously. General nonconvex programs are NP-hard.&#8221; (Bennett and Parrado-Hern´andez, 2006).</p>
<p>The close relationship between ML and MP arguably exists because MP provides ML with a set of crisp, well-defined problems along with algorithmic solvers that come with guarantees on their use of time and space. To state this using metaphors from software engineering, the well-defined convex optimization problems are interfaces that MP publishes, and the provably efficient and robust algorithmic solvers of MP implement these interfaces.</p>
<p>Let us differentiate, in this paper, between optimization and adaptation. We define optimization as the procurement of one or more points of optimal or close-to-optimal value, and adaptation as the generation of points of increasing value over time. Given this definition, to say that the target problems of Machine Learning reductions are optimization problems is to fudge the truth somewhat. While the Mathematical Programming community indeed seems to be almost completely concerned with the procurement of optimal or close to optimal points, ML researchers aren&#8217;t interested in optimization per se but in the means by which it is achieved in most MP algorithms, i.e. adaptation. In fact optimization is often prevented in machine learning algorithms &#8211; using a &#8220;technique&#8221; named early-stopping &#8211; to prevent overfitting. In other words, robust, efficient adaptation is the modus operandi of most convex optimization algorithms, and for the most part, it is this modus operandi that makes these algorithms interesting to Machine Learning researchers.</p>
<p>The interface-problems published by the MP community give ML researchers useful targets to hit; if a ML researcher works out a semi-principled reduction of a class of learning problems to one of MP&#8217;s interface-problems, there are off-the-shelf algorithms within MP which allow her to quickly test whether her reduction is effective. Because of the emphasis that the ML community place on guarantees of robustness and efficiency. when the targets of ML reductions have been optimization problems, they have for the most part, been restricted to being convex optimization problems within MP. These problems are rather simple as adaptation problems go &#8211; every local optimum is also a global optimum, or stated differently, there are no local optima. Rather heroic feats of ingenuity are therefore necessary in order to obtain effective semi-principled reductions<br />
of hard problems to these simple optimization problems. The difficulty of obtaining such<br />
reductions is currently a fundamental limitation on the pace of progress within ML.</p>
<p>The SGA (Mitchell, 1996) is an adaptation algorithm which mimics natural sexual evolution. It has been directly applied to a large number of hard real-world problems and has often succeeded in generating solutions of remarkably high-quality. To be sure, some amount of thought is required to &#8220;massage&#8221; these problems into a form which allows the SGA to operate successfully on them (e.g. choices must be made about the fitness function used and the way solutions are encoded as bitstrings), but unlike the case in machine learning this massaging is largely ad-hoc, an outcome more of trial and error than principled reasoning. The resulting problems are almost certainly hard ones (non-convex), with objective functions that are riddled with local optima. It is a testament to the adaptive power of the SGA that it nevertheless often produces solutions of remarkably high quality. Given these successes one might expect a great deal of interest in SGAs from the machine learning community. That this is not the case speaks to an unfortunate shortcoming of GA research. There is no dearth of one-off problems that SGAs have adequately solved. However GA researchers have yet to publish a single class of problems such that a) SGAs are likely to perform robust, efficient adaptation when applied to problems in this class, and b) the class is likely to be useful as the target of ML reductions. For the sake of brevity we will loosely define such a class of problems as an SGA-Easy/ML-Useful class. We believe that when such problem classes are found the ML community will begin to take a greater interest in GA research. The future relationship between the GA and ML communities might then be similar to the one that currently exists between MP and ML. As mentioned above SGAs commonly adapt high-quality solutions to problems which are almost certainly contain large numbers of local optima. It is reasonable therefore to suspect that there exists an SGA-Easy/ML-Useful class of hard non-convex problems and that the identification of this class will significantly ease the burden of obtaining novel ML reductions. We believe that the identification of such a problem class will go hand in hand with the discovery of a theory which can give a satisfying explanation of the adaptive capacity of the SGA. Such a theory does not currently exist.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hackingevolution.wordpress.com/11/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hackingevolution.wordpress.com/11/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackingevolution.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackingevolution.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackingevolution.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackingevolution.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackingevolution.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackingevolution.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackingevolution.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackingevolution.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackingevolution.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackingevolution.wordpress.com/11/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.hackingevolution.net&blog=3215331&post=11&subd=hackingevolution&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.hackingevolution.net/2007/09/04/optimization-adaptation-machine-learning-and-evolutionary-computation-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Keki</media:title>
		</media:content>
	</item>
		<item>
		<title>Critique of the Compositional Paradigm</title>
		<link>http://blog.hackingevolution.net/2007/09/04/critique-of-the-compositional-paradigm/</link>
		<comments>http://blog.hackingevolution.net/2007/09/04/critique-of-the-compositional-paradigm/#comments</comments>
		<pubDate>Tue, 04 Sep 2007 14:49:44 +0000</pubDate>
		<dc:creator>Keki</dc:creator>
				<category><![CDATA[building block hypothesis]]></category>
		<category><![CDATA[genetic algorithms]]></category>
		<category><![CDATA[non-technical]]></category>

		<guid isPermaLink="false">http://evoadaptation.wordpress.com/2007/09/04/critique-of-the-compositional-paradigm/</guid>
		<description><![CDATA[Adaptation in selecto-recombinative genetic systems is widely believed to occur by the recombination of pre-adapted genetic material. This belief is at the core of the paradigm under which most GA and all EDA research currently occurs. It underlies the construction of several new varieties of genetic algorithms that purportedly work by combining pre-adapted genetic material [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.hackingevolution.net&blog=3215331&post=6&subd=hackingevolution&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>Adaptation in selecto-recombinative genetic systems is widely believed to occur by the recombination of pre-adapted genetic material. This belief is at the core of the paradigm under which most GA and all EDA research currently occurs. It underlies the construction of several new varieties of genetic algorithms that purportedly work by combining pre-adapted genetic material in some sophisticated way (e.g. cohort GAs, messy GAs, LLGA, ECGA, BOA, hBOA, etc.).</p>
<p>In this paradigm, each post-selection population is thought to harbor &#8220;good&#8221; genetic material. Recombination operators, and estimation of distribution procedures, are thought drive adaptation by composing this material to produce good or better individuals in the next generation.When adaptation stalls it is thought to be because “good&#8221; genetic material is unavailable, or because recombination of this material was not performed effectively.</p>
<p>Let us call this general set of beliefs the Compositional Paradigm. This paradigm draws its support from Holland&#8217;s Building Block Hypothesis. Its widespread acceptance in the GA community signals <span id="more-6"></span>the implicit acceptance of the BBH as an accurate description of how the simple GA performs adaptation. It also signals the acceptance of a generalization of the BBH, namely that all varieties of recombinative GAs perform adaptation by recombining pe-adapted genetic material.</p>
<p>The Building Block Hypothesis however has never been conclusively validated. It has in fact been sharply criticized by a few (e.g. see section 5 of Wright et. al. Implicit Parallelism, GECCO 2003), and many have suggested that it be treated with more skepticism.  Nevertheless, it and its generalization &#8211; what I call the Compositional  Hypothesis &#8211; remain widely accepted. I believe that this is so because of two reasons:</p>
<p>1. The Compositional Hypothesis seems right. Recombination of genetic material occurs at the individual level, so the recombination of  &#8220;good&#8221; genetic material must be the mechanism by which adaptation occurs at the system level. Right?<br />
2. Real paradigmatic scrutiny only occurs when an alternate hypothesis is submitted for consideration. Despite the publication of a large number of studies of the foundations of genetic algorithms no alternate hypothesis that explains adaptation has been proposed so far.</p>
<p>In my own studies I&#8217;ve been fortunate to obtain theoretical and empirical results that suggest an alternate non-compositional hypothesis for adaptation in selecto-recombinative genetic systems. Right now I&#8217;m in the process of finding the best way to present it.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hackingevolution.wordpress.com/6/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hackingevolution.wordpress.com/6/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackingevolution.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackingevolution.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackingevolution.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackingevolution.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackingevolution.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackingevolution.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackingevolution.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackingevolution.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackingevolution.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackingevolution.wordpress.com/6/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.hackingevolution.net&blog=3215331&post=6&subd=hackingevolution&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.hackingevolution.net/2007/09/04/critique-of-the-compositional-paradigm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Keki</media:title>
		</media:content>
	</item>
		<item>
		<title>Optimization, Adaptation, Machine Learning and Evolutionary Computation (unpolished)</title>
		<link>http://blog.hackingevolution.net/2007/02/02/optimization-adaptation-machine-learning-and-evolutionary-computation/</link>
		<comments>http://blog.hackingevolution.net/2007/02/02/optimization-adaptation-machine-learning-and-evolutionary-computation/#comments</comments>
		<pubDate>Fri, 02 Feb 2007 23:41:38 +0000</pubDate>
		<dc:creator>Keki</dc:creator>
				<category><![CDATA[machine learning]]></category>

		<guid isPermaLink="false">http://evoadaptation.wordpress.com/2007/02/02/optimization-adaptation-machine-learning-and-evolutionary-computation/</guid>
		<description><![CDATA[I recently came across a wonderful bird&#8217;s eye-view paper in JMLR [1]. It is helping me to clarify my views about the relationship between Machine Learning and Evolutionary Computation.
Bennett and Parrado-Hernandez remark:
“Optimization lies at the heart of machine learning. Most machine learning problems reduce to optimization problems. Consider the machine learning analyst in action solving [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.hackingevolution.net&blog=3215331&post=10&subd=hackingevolution&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>I recently came across a wonderful bird&#8217;s eye-view paper in JMLR [1]. It is helping me to clarify my views about the relationship between Machine Learning and Evolutionary Computation.</p>
<p>Bennett and Parrado-Hernandez remark:</p>
<p>“Optimization lies at the heart of machine learning. Most machine learning problems reduce to optimization problems. Consider the machine learning analyst in action solving a problem for some set of data. The modeler formulates the problem by selecting an appropriate family of models and massages the data into<span id="more-10"></span> a format amenable to modeling. Then the model is typically trained by solving a core optimization problem that optimizes the variables or parameters of the model with respect to the selected loss function and possibly some regularization function. In the process of model selection and validation, the core optimization problem may be solved many times. The research area of mathematical programming theory intersects with machine learning through these core optimization problems”</p>
<p>and later,</p>
<p>“Convexity plays a key role in mathematical programming [MP]. Convex programs minimize convex optimization functions subject to convex constraints ensuring that every local [optimum] is always a global [optimum]. In general, convex problems are much more tractable algorithmically and theoretically. &#8230; General nonconvex programs are NP-hard”</p>
<p>This paper lends support to my sense that the optimization techniques used in machine learning are largely limited to convex optimization algorithms. Successes in machine learning have so far been a result of the application of human ingenuity to carry out  <em>effective semi-principled </em>reductions of certain classes of problems to convex optimization problems. I use the qualifier <em>semi-principled</em> because there is usually some solid rationale behind an ML reduction that leads one to expect that the reduction makes the original problem amenable to solution by convex optimization techniques. This however is never formally proven. i.e. the reduction is not formal in the sense that the traveling salesman problem formally reduces to SAT. In all likelihood the optimization problems that the redutions yield are <em>non-convex</em>. However in practice, the application of convex optimiaztion techniques to these optimization problems often gives satisfactory solutions to the original problems. Hence the qualifer <em>effective.</em></p>
<p>For example researchers in the support vector machine community use the kernel trick in an effective semi-principle reduction of classification and regression problems to a class of convex optimization problems called quadratic programming problems. These problems are then solved using quadratic programing algorithms such as Platt&#8217;s SMO algorthm.</p>
<p>To summarize the discussion so far: convex optimization problems are a class of optimization problems in which every local optimum is also a global optimum. Many useful algorithms for efficiently solving convex optimization problems have been constructed by the mathematical programming community. One of the reasons for the success of Machine Learning techniques is the use of human ingenuity to achieve effective semi-principled reductions of certain classes of problems to convex optimization problems for which there exist efficient solvers within MP.</p>
<p>Another reason, as authors mention, is that machine learning researchers have been tweaking the convex optimization algorithms of mathematical programming to create new  algorithms which are better suited for their purposes. “Mathematical Programming puts a premium on accuracy, speed, and robustness. Since generalization is the bottom line in machine learning and training is normally done off-line, accuracy and small speed improvements are of little concern in machine learning. Machine learning prefers simpler algorithms that work in reasonable computational time for specific classes of problems” [1]. The paper later mentions that optimization is often cut short (!) in Machine Learning to prevent overfitting This “technique” is called <em>early-stopping</em>.  And later &#8216;Thus not only is “good” optimization not necessary, but “bad” optimization algorithms can lead to better machine learning models&#8217;.</p>
<p>Here are some reformulations of this paper and some of my thoughts.</p>
<p>Let me differentiate between optimization and adaptation. I&#8217;ll define <em>optimization</em> as the procurement of one or more points of optimal or close-to-optimal value, and <em>adaptation</em> as the generation of points of increasing value over time. Things become quite clear in light of this distinction. Mathematical Programming seems to be almost completely concerned with optimization whereas machine learning seems to require relatively quick <em>adaptation</em>.</p>
<p>The love affair between mathematical programming and Machine learning exists because MP provides the world with a set of crisp, well-defined problems &#8212; e.g. a linear programming problem, a quadratic programming problem, a second-order cone programming problem, a semdefinite programming problem, a semi-infinite programming problem (see the appendix in [1] for a description of each of these convex optimization problems) &#8212;  and then provides programmatic techniques for solving those problems. To state this using metaphors from software engineering (particularly object oriented programming), these well-defined problems are the <em>interfaces</em> that MP publishes, and the efficient algorithmic solvers within that field <em>implement</em> these interfaces.</p>
<p>The interface-problems  published by the MP community give ML researchers a rough target to hit in their efforts to carry out effective semi-principled reductions of difficult problems to ones for which efficient solvers exist. The interface-problems of MP are similar to the optimization problems that ML researchers ultimately end up with, but there are important differences: for example, MPers seek fast optimization whereas MLers merely want a high degree of adaptation, and have additional requirements such as scalability. Nevertheless, if a ML researcher works out a semi-principled reduction of a class problems to one of MP&#8217;s interface-problems, there are off-the-shelf algorithms within MP which allow her to quickly test whether her reduction is effective. MLers put great stock in the fact that each convex optimization algorithm in the MP pantheon has robust performance over its problem class and is theoretically proven to converge to the optimum.</p>
<p>Machine learning researchers spend their time trying to achieve effective reductions of difficult problems to problem classes for which efficient and robust solvers exist. An effective reduction may be a multistep affair (effectively reduce problem A to problem B, effectively reduce problem B to problem C, &#8230;.) but it most often bottoms out in an effective reduction to an optimization problem, most often a convex optimization problem. Different techniques and tricks may be used at each step of an effective reduction (e.g. probabilistic models, the kernel trick, etc.).</p>
<p>Convex optimization problems are rather easy as optimization problems go. Therefore a large amount of human ingenuity is required to carry out effective semi-principled reductions of classes of real world problems to convex optimization problems. These reductions often involves the use of “heavy machinary” from computer science, mathematics and statistics.</p>
<p>It seems to me that fundamental advances by the machine learning community are currently being limited by two factors (besides computational speed). The first is the sheer level of human ingenuity that is required to realize novel reductions of real world problems to convex optimization problems. The second is that the targets of these reductions have so far been limited to convex-optimization problems. The first factor cannot be changed. With regard to the second, I believe that the field of evolutionary computation may have a lot to contribute . Selecto-recombinative evolutionary algorithms are widely believed to perform efficient adaptation even on non-convex problems. Unfortunately there are currently no crisp descriptions of the classes problems that such algorithms can efficiently &#8217;solve&#8217;. I believe that if and when such interface-problems are determined the ML community will take much greater interest in Evolutionary Computation. EC might then play the same role w.r.t. ML that MP currently plays, i.e. ML researchers might then seek effective semi-principled reductions of real-world problems to interface-problems in the EC pantheon.</p>
<p>References:<br />
[1] Bennett, K.P., Parrado-Hernandez, E. The interplay of optimization and machine learning research, <em>Journal of Machine Learning Research </em>7 (2006) 1265-1281</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hackingevolution.wordpress.com/10/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hackingevolution.wordpress.com/10/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackingevolution.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackingevolution.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackingevolution.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackingevolution.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackingevolution.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackingevolution.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackingevolution.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackingevolution.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackingevolution.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackingevolution.wordpress.com/10/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.hackingevolution.net&blog=3215331&post=10&subd=hackingevolution&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.hackingevolution.net/2007/02/02/optimization-adaptation-machine-learning-and-evolutionary-computation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Keki</media:title>
		</media:content>
	</item>
		<item>
		<title>VectorGA: A Vectorized Implementation of a Genetic Algorithm in Matlab</title>
		<link>http://blog.hackingevolution.net/2007/01/25/vector-ga/</link>
		<comments>http://blog.hackingevolution.net/2007/01/25/vector-ga/#comments</comments>
		<pubDate>Thu, 25 Jan 2007 11:36:28 +0000</pubDate>
		<dc:creator>Keki</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[code release]]></category>

		<guid isPermaLink="false">http://evoadaptation.wordpress.com/2007/01/25/january-23-2007-untitled/</guid>
		<description><![CDATA[VectorGA is a vectorized implementation of a genetic algorithm in the Matlab programming language.
Matlab is optimized for performing operations on arrays. Loops, especially nested loops, tend to run slowly in Matlab. It is possible to significantly improve the performance of Matlab programs by converting loops into array operations. This process is called vectorization. Matlab provides [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.hackingevolution.net&blog=3215331&post=4&subd=hackingevolution&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>VectorGA is a vectorized implementation of a genetic algorithm in the Matlab programming language.</p>
<p>Matlab is optimized for performing operations on arrays. Loops, especially nested loops, tend to run slowly in Matlab. It is possible to significantly improve the performance of Matlab programs by converting loops into array operations. This process is called vectorization. Matlab provides a rich set of functions and many expressive indexing schemes that make it possible to vectorize code. Such code not only runs faster, it is also shorter, and simpler to understand and change (provided that you know a little about Matlab of course).</p>
<p>Genetic Algorithms that are implemented in C/C++ or Java typically have multiple nested loops. Therefore direct ports of such implementations to Matlab will run very slowly. Many of the nested loops found in a typical GA implementation have been eliminated from VectorGA. The resulting code is short, fast and simple. It is a neat coincidence when the constructs of a programming language match a programming task so well that a program can be written this succintly.</p>
<p>VectorGA is proof that Matlab is a useful language for the rapid prototyping of Genetic Algorithms. This, in addition to Matlab’s extensive data visualization capabilities, make Matlab an extremely useful platform for the experimental analysis of GAs.</p>
<p>VectorGA has been created and tested under Matlab 7 (R14). Out of the box it evolves a population against the one-max fitness function. The royal-roads fitness function has also been included but is not currently being called. If you find vectorGA useful or find any bugs please let me know.</p>
<p>Enjoy!</p>
<p><a href="http://www.cs.brandeis.edu/~kekib/vectorGA.html">Original vectorGA release site</a></p>
<p>The latst version of VectorGA is <a href="http://blog.hackingevolution.org/2008/12/16/vectorga-is-now-speedyga/"><em>SpeedyGA</em></a></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hackingevolution.wordpress.com/4/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hackingevolution.wordpress.com/4/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackingevolution.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackingevolution.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackingevolution.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackingevolution.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackingevolution.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackingevolution.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackingevolution.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackingevolution.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackingevolution.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackingevolution.wordpress.com/4/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.hackingevolution.net&blog=3215331&post=4&subd=hackingevolution&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.hackingevolution.net/2007/01/25/vector-ga/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Keki</media:title>
		</media:content>
	</item>
		<item>
		<title>GA Research and Reverse Engineering</title>
		<link>http://blog.hackingevolution.net/2007/01/24/on-the-importance-of-experimental-analysis-for-the-formulation-of-accurate-theories-of-adaptation/</link>
		<comments>http://blog.hackingevolution.net/2007/01/24/on-the-importance-of-experimental-analysis-for-the-formulation-of-accurate-theories-of-adaptation/#comments</comments>
		<pubDate>Wed, 24 Jan 2007 06:40:03 +0000</pubDate>
		<dc:creator>Keki</dc:creator>
				<category><![CDATA[genetic algorithms]]></category>
		<category><![CDATA[philosophical]]></category>

		<guid isPermaLink="false">http://evoadaptation.wordpress.com/2007/01/24/on-the-importance-of-experimental-analysis-for-the-formulation-of-accurate-theories-of-adaptation/</guid>
		<description><![CDATA[Genetic Algorithms are widely used in industry to adapt high quality solutions to difficult non-convex optimization problems. Yet the means by which GAs generate better solutions over time is poorly understood. Despite the existence of many publications which purportedly explain how GAs “work”, no theory of adaptation for GAs has achieved widespread acceptance within the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.hackingevolution.net&blog=3215331&post=18&subd=hackingevolution&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>Genetic Algorithms are widely used in industry to adapt high quality solutions to difficult non-convex optimization problems. Yet the means by which GAs generate better solutions over time is poorly understood. Despite the existence of many publications which purportedly explain how GAs “work”, no theory of adaptation for GAs has achieved widespread acceptance within the theoretical EC community.</p>
<p>In a sense, we know exactly what GAs &#8216;do&#8217; (the algorithm after all is open for inspection). This is the same sense in which it can be said that we know what the set of assembly language instructions of a large executable application (e.g. Firefox), will &#8216;do&#8217;. In order to <em>understand</em> why the application exhibits some particular behavior, it is typically necessary to have a description of the behavior of the application in terms of concepts that <span id="more-18"></span>are more abstract than those associated with assembly language. Similarly, in order to understand how genetic algorithms perform adaptation (i.e. to obtain a theory of adaptation for GAs) I believe that it will be necessary to express the behavior of a GA at a higher level of abstraction than the one at which the algorithm is specified. Chikofsky and Cross write that “<a href="http://en.wikipedia.org/wiki/Reverse_engineering">reverse engineering</a> is the process of analyzing a subject system to create representations of the system at a higher level of abstraction” [1]. Given this definition, another way of expressing the above is to say that in order to obtain a viable theory of adaptation for GAs it is necessary to <em>reverse-engineer </em>this class of algorithms.</p>
<p>Experimentation is very important to the reverse-engineering process. Information about the high-level description of some system can be gleaned by performing well-conceived experiments and by making inferences based on the results. Well-chosen experiments can also be used to resolve disputes between competing hypothetical high-level descriptions of the system.</p>
<p>It is also very useful to know the abstract constructs that may have been used at each level of abstraction involved in the the <em>forward</em> engineering of the system. In the software domain, reverse engineering is oftentimes an iterative process that produces descriptions of a system at higher and higher levels of abstraction. For instance when reverse engineering the bytecode of some Java application, a first step is to reverse engineer the application to the level of Java code. A subsequent step is to reverse engineer the application to the level of <a href="http://en.wikipedia.org/wiki/Design_pattern_(computer_science)">design patterns</a> (e.g. factory, flyweight, façade etc.)</p>
<p>Genetic Algorithms however are not the end-products of human engineering, so unfortunately we have no apriori knowledge about what abstract concepts may be invoked in adaptation-relevant higher-level descriptions of their behavior. Adaptation focused mathematical analyses of genetic algorithms are based on the implicit assumption that concepts within mathematics will prove useful in an adaptation-relevant high-level description of GA behavior. This assumption is reasonable. Mathematics has proven to be an extremely useful framework within which to derive and express useful descriptions of natural systems. Yet, when it comes to the analysis of complex systems like GAs, mathematical approaches may be  limited. It is not just that current mathematical techniques might not allow for the derivation of adaptation-relevant high-level mathematical descriptions of GA behavior, but that such descriptions might be best expressed <em>algorithmically </em>(i.e. programmatically) rather than mathematically (i.e. declaratively)</p>
<p>References:<br />
[1] Chikofsky, E.J.; J.H. Cross II (January 1990). “Reverse Engineering and Design Recovery: A Taxonomy in IEEE Software“. IEEE Computer Society: 13–17</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hackingevolution.wordpress.com/18/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hackingevolution.wordpress.com/18/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackingevolution.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackingevolution.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackingevolution.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackingevolution.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackingevolution.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackingevolution.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackingevolution.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackingevolution.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackingevolution.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackingevolution.wordpress.com/18/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.hackingevolution.net&blog=3215331&post=18&subd=hackingevolution&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.hackingevolution.net/2007/01/24/on-the-importance-of-experimental-analysis-for-the-formulation-of-accurate-theories-of-adaptation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Keki</media:title>
		</media:content>
	</item>
	</channel>
</rss>