<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Front-Loading: I Do Not Think It Means What You Think</title>
	<atom:link href="http://www.ooblick.com/weblog/2008/09/22/front-loading-i-do-not-think-it-means-what-you-think/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ooblick.com/weblog/2008/09/22/front-loading-i-do-not-think-it-means-what-you-think/</link>
	<description>All the etcetera that&#039;s fit to read.</description>
	<lastBuildDate>Tue, 31 Jan 2012 13:31:01 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.1</generator>
	<item>
		<title>By: arensb</title>
		<link>http://www.ooblick.com/weblog/2008/09/22/front-loading-i-do-not-think-it-means-what-you-think/comment-page-1/#comment-156656</link>
		<dc:creator>arensb</dc:creator>
		<pubDate>Sat, 27 Sep 2008 17:02:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.ooblick.com/weblog/2008/09/22/front-loading-i-do-not-think-it-means-what-you-think/#comment-156656</guid>
		<description>&lt;p&gt;Troublesome Frog:&lt;/p&gt;

&lt;blockquote&gt;What did you do for him?&lt;/blockquote&gt;

&lt;p&gt;I used to be the head sysadmin at the &lt;a href=&quot;http://www.cfar.umd.edu/&quot; rel=&quot;nofollow&quot;&gt;Center for Automation Research&lt;/a&gt;, which he headed, and which contained the Computer Vision Lab.&lt;/p&gt;

&lt;p&gt;I also co-wrote &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=203330.203350&quot; rel=&quot;nofollow&quot;&gt;a paper&lt;/a&gt; with him. Please don&#039;t judge it too harshly. It was principally a matter of &quot;Azriel, your draft is &lt;strike&gt;crap&lt;/strike&gt; trivial. Let me rewrite it so you don&#039;t embarrass yourself in print.&quot;&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Troublesome Frog:</p>
<blockquote><p>What did you do for him?</p></blockquote>
<p>I used to be the head sysadmin at the <a href="http://www.cfar.umd.edu/" rel="nofollow">Center for Automation Research</a>, which he headed, and which contained the Computer Vision Lab.</p>
<p>I also co-wrote <a href="http://portal.acm.org/citation.cfm?id=203330.203350" rel="nofollow">a paper</a> with him. Please don&#8217;t judge it too harshly. It was principally a matter of &#8220;Azriel, your draft is <strike>crap</strike> trivial. Let me rewrite it so you don&#8217;t embarrass yourself in print.&#8221;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Troublesome Frog</title>
		<link>http://www.ooblick.com/weblog/2008/09/22/front-loading-i-do-not-think-it-means-what-you-think/comment-page-1/#comment-156655</link>
		<dc:creator>Troublesome Frog</dc:creator>
		<pubDate>Sat, 27 Sep 2008 16:54:34 +0000</pubDate>
		<guid isPermaLink="false">http://www.ooblick.com/weblog/2008/09/22/front-loading-i-do-not-think-it-means-what-you-think/#comment-156655</guid>
		<description>&lt;p&gt;arensb:&lt;/p&gt;

&lt;blockquote&gt;Would it mean anything to you if I said I used to work for Azriel Rosenfeld?&lt;/blockquote&gt;

&lt;p&gt;One of his books got me through my senior project in college.  What did you do for him?&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>arensb:</p>
<blockquote><p>Would it mean anything to you if I said I used to work for Azriel Rosenfeld?</p></blockquote>
<p>One of his books got me through my senior project in college.  What did you do for him?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: arensb</title>
		<link>http://www.ooblick.com/weblog/2008/09/22/front-loading-i-do-not-think-it-means-what-you-think/comment-page-1/#comment-156589</link>
		<dc:creator>arensb</dc:creator>
		<pubDate>Thu, 25 Sep 2008 22:19:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.ooblick.com/weblog/2008/09/22/front-loading-i-do-not-think-it-means-what-you-think/#comment-156589</guid>
		<description>&lt;p&gt;Mark:&lt;/p&gt;

&lt;blockquote&gt;So, how can the EA be “front-loaded” if some runs produce inferior results?&lt;/blockquote&gt;

&lt;p&gt;Poor coding. Please submit a bug report.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Mark:</p>
<blockquote><p>So, how can the EA be “front-loaded” if some runs produce inferior results?</p></blockquote>
<p>Poor coding. Please submit a bug report.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark</title>
		<link>http://www.ooblick.com/weblog/2008/09/22/front-loading-i-do-not-think-it-means-what-you-think/comment-page-1/#comment-156588</link>
		<dc:creator>Mark</dc:creator>
		<pubDate>Thu, 25 Sep 2008 22:08:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.ooblick.com/weblog/2008/09/22/front-loading-i-do-not-think-it-means-what-you-think/#comment-156588</guid>
		<description>&lt;p&gt;Another thing to consider is an EA that has sum(x^2) as a fitness function with the number of genes dictating the dimensions.  (I.e., one gene would be a simple parabola, two genes a 3D bowl centered around the origin, etc.)  Constrain the fitness landscape such that genes are within the range, say, [-1,3] such that one &quot;peak&quot; is clearly higher than the others.  If you run the EA many times the population won&#039;t necessarily run up the best peak every time; sometimes by happenstance the better individuals will be nearer one of the inferior peaks thus pulling the rest of the population along with them.  (Obviously depends on implementation parameters such as population size, mutation rate and scale, etc.)&lt;/p&gt;

&lt;p&gt;So, how can the EA be &quot;front-loaded&quot; if some runs produce inferior results?&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Another thing to consider is an EA that has sum(x^2) as a fitness function with the number of genes dictating the dimensions.  (I.e., one gene would be a simple parabola, two genes a 3D bowl centered around the origin, etc.)  Constrain the fitness landscape such that genes are within the range, say, [-1,3] such that one &#8220;peak&#8221; is clearly higher than the others.  If you run the EA many times the population won&#8217;t necessarily run up the best peak every time; sometimes by happenstance the better individuals will be nearer one of the inferior peaks thus pulling the rest of the population along with them.  (Obviously depends on implementation parameters such as population size, mutation rate and scale, etc.)</p>
<p>So, how can the EA be &#8220;front-loaded&#8221; if some runs produce inferior results?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: arensb</title>
		<link>http://www.ooblick.com/weblog/2008/09/22/front-loading-i-do-not-think-it-means-what-you-think/comment-page-1/#comment-156586</link>
		<dc:creator>arensb</dc:creator>
		<pubDate>Thu, 25 Sep 2008 21:51:37 +0000</pubDate>
		<guid isPermaLink="false">http://www.ooblick.com/weblog/2008/09/22/front-loading-i-do-not-think-it-means-what-you-think/#comment-156586</guid>
		<description>&lt;p&gt;Eamon Knight:
It might be instructive to look at the network-solving program that Sal Cordova wrote, the one that &quot;evolves&quot; the sum of integers from 1 to 500.&lt;/p&gt;

&lt;p&gt;By Cordova&#039;s own admission, the program is a very roundabout way of calculating the problem. Basically, it picks a random number, then adjusts it to minimize a function that happens to be equal to the desired solution.&lt;/p&gt;

&lt;p&gt;However, his program does have &lt;tt&gt;#define N 500&lt;/tt&gt;, so it&#039;s not limited to just calculating the sum of integers from 1 to 500, but can solve the general class of problems of the form &quot;sum of 1..&lt;i&gt;N&lt;/i&gt;&quot;.&lt;/p&gt;

&lt;p&gt;In that sense, it&#039;s been &quot;front-loaded&quot; with the solutions to all problems in that class. And by extension, a general conventional (non-genetic) TSP solver has been &quot;front-loaded&quot; with the solution to each specific TSP problem.&lt;/p&gt;

&lt;p&gt;One big difference that struck me as I was reading this was, what if you were to change the problem somewhat? For instance, if you had a GA to solve TSP, and wanted to change it to find the &lt;em&gt;longest&lt;/em&gt; path that goes through each city exactly once (so you could get more frequent-flyer miles, perhaps), in a sensibly-written program you&#039;d only have to change a &quot;&lt;&quot; to a &quot;&gt;&quot;.&lt;/p&gt;

&lt;p&gt;If you wanted to change Cordova&#039;s program to &quot;evolve&quot; the &lt;em&gt;product&lt;/em&gt; of 1..500, instead of the sum, you&#039;d have to rip out major chunks of code and start from scratch.&lt;/p&gt;

&lt;blockquote&gt;I’m an engineer, not a CS geek. Have I missed something?&lt;/blockquote&gt;

&lt;p&gt;The fact that theoretical CS is closer to math than to engineering, so that a proof for the existence of a solution for problem P is almost as good as an actual numeric solution? A computer scientist will happily produce an O(A(N,N)) algorithm for problem P and call P solvable.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Eamon Knight:<br />
It might be instructive to look at the network-solving program that Sal Cordova wrote, the one that &#8220;evolves&#8221; the sum of integers from 1 to 500.</p>
<p>By Cordova&#8217;s own admission, the program is a very roundabout way of calculating the problem. Basically, it picks a random number, then adjusts it to minimize a function that happens to be equal to the desired solution.</p>
<p>However, his program does have <tt>#define N 500</tt>, so it&#8217;s not limited to just calculating the sum of integers from 1 to 500, but can solve the general class of problems of the form &#8220;sum of 1..<i>N</i>&#8220;.</p>
<p>In that sense, it&#8217;s been &#8220;front-loaded&#8221; with the solutions to all problems in that class. And by extension, a general conventional (non-genetic) TSP solver has been &#8220;front-loaded&#8221; with the solution to each specific TSP problem.</p>
<p>One big difference that struck me as I was reading this was, what if you were to change the problem somewhat? For instance, if you had a GA to solve TSP, and wanted to change it to find the <em>longest</em> path that goes through each city exactly once (so you could get more frequent-flyer miles, perhaps), in a sensibly-written program you&#8217;d only have to change a &#8220;&lt;&#8221; to a &#8220;&gt;&#8221;.</p>
<p>If you wanted to change Cordova&#8217;s program to &#8220;evolve&#8221; the <em>product</em> of 1..500, instead of the sum, you&#8217;d have to rip out major chunks of code and start from scratch.</p>
<blockquote><p>I’m an engineer, not a CS geek. Have I missed something?</p></blockquote>
<p>The fact that theoretical CS is closer to math than to engineering, so that a proof for the existence of a solution for problem P is almost as good as an actual numeric solution? A computer scientist will happily produce an O(A(N,N)) algorithm for problem P and call P solvable.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Fez</title>
		<link>http://www.ooblick.com/weblog/2008/09/22/front-loading-i-do-not-think-it-means-what-you-think/comment-page-1/#comment-156581</link>
		<dc:creator>Fez</dc:creator>
		<pubDate>Thu, 25 Sep 2008 20:48:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.ooblick.com/weblog/2008/09/22/front-loading-i-do-not-think-it-means-what-you-think/#comment-156581</guid>
		<description>&lt;p&gt;Eamon Knight ,&lt;/p&gt;

&lt;blockquote&gt;I’m an engineer, not a CS geek. Have I missed something?&lt;/blockquote&gt;

&lt;p&gt;The demonstrated-on-this-site insurmountable willful ignorance of the IDiot?&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Eamon Knight ,</p>
<blockquote><p>I’m an engineer, not a CS geek. Have I missed something?</p></blockquote>
<p>The demonstrated-on-this-site insurmountable willful ignorance of the IDiot?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Eamon Knight</title>
		<link>http://www.ooblick.com/weblog/2008/09/22/front-loading-i-do-not-think-it-means-what-you-think/comment-page-1/#comment-156575</link>
		<dc:creator>Eamon Knight</dc:creator>
		<pubDate>Thu, 25 Sep 2008 18:13:52 +0000</pubDate>
		<guid isPermaLink="false">http://www.ooblick.com/weblog/2008/09/22/front-loading-i-do-not-think-it-means-what-you-think/#comment-156575</guid>
		<description>&lt;p&gt;I was idly thinking about this some more.&lt;/p&gt;

&lt;p&gt;Suppose you write a program to solve Travelling Salesman Problem by brute force exhaustive search (assume we have a fast machine and are very patient). The program is general purpose, with the node locations being a run-time input. I assume we all agree that such a program can solve any TSP of any size, limited only by memory and time?&lt;/p&gt;

&lt;p&gt;Q1: Would any IDist want to claim the exact solutions to all possible TSPs were front-loaded into it? (For the sake of discussion, let&#039;s assume the answer is &quot;no&quot;).&lt;/p&gt;

&lt;p&gt;Now we write a GA program to &quot;solve&quot; (ie. produce good-enough, but not provably best, solutions) TSP, which takes the same input. Again, do we all agree it can handle any possible TSP, just as the previous one did? Do we agree that it will usually produce a good-enough solution faster than the exhaustive-search version? (Could you even tell which one was which, without being allowed to compare the solutions given by both to the same input?)&lt;/p&gt;

&lt;p&gt;Q2: Would any IDists want to claim the good-enough solutions to all possible TSPs were front-loaded into it? What is the difference, if any, between the two cases?&lt;/p&gt;

&lt;p&gt;I&#039;m an engineer, not a CS geek. Have I missed something?&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>I was idly thinking about this some more.</p>
<p>Suppose you write a program to solve Travelling Salesman Problem by brute force exhaustive search (assume we have a fast machine and are very patient). The program is general purpose, with the node locations being a run-time input. I assume we all agree that such a program can solve any TSP of any size, limited only by memory and time?</p>
<p>Q1: Would any IDist want to claim the exact solutions to all possible TSPs were front-loaded into it? (For the sake of discussion, let&#8217;s assume the answer is &#8220;no&#8221;).</p>
<p>Now we write a GA program to &#8220;solve&#8221; (ie. produce good-enough, but not provably best, solutions) TSP, which takes the same input. Again, do we all agree it can handle any possible TSP, just as the previous one did? Do we agree that it will usually produce a good-enough solution faster than the exhaustive-search version? (Could you even tell which one was which, without being allowed to compare the solutions given by both to the same input?)</p>
<p>Q2: Would any IDists want to claim the good-enough solutions to all possible TSPs were front-loaded into it? What is the difference, if any, between the two cases?</p>
<p>I&#8217;m an engineer, not a CS geek. Have I missed something?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: arensb</title>
		<link>http://www.ooblick.com/weblog/2008/09/22/front-loading-i-do-not-think-it-means-what-you-think/comment-page-1/#comment-156559</link>
		<dc:creator>arensb</dc:creator>
		<pubDate>Thu, 25 Sep 2008 04:19:52 +0000</pubDate>
		<guid isPermaLink="false">http://www.ooblick.com/weblog/2008/09/22/front-loading-i-do-not-think-it-means-what-you-think/#comment-156559</guid>
		<description>&lt;p&gt;Eamon Knight:&lt;/p&gt;

&lt;p&gt;Thanks for the Panda&#039;s Thumb reference. Looks like I was right about the IDists&#039; mischaracterization of evolutionary algorithms.&lt;/p&gt;

&lt;p&gt;I was particularly amused by Sal Cordova&#039;s comment that if you were to replace a random line from the fitness function with a string of characters, or even a random snippet of Fortran, then the code wouldn&#039;t work anymore, even if it compiled. And Dave Thomas&#039;s reply that yes, if every oxygen atom were suddenly replaced with a sulfur atom, living beings would stop working.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Eamon Knight:</p>
<p>Thanks for the Panda&#8217;s Thumb reference. Looks like I was right about the IDists&#8217; mischaracterization of evolutionary algorithms.</p>
<p>I was particularly amused by Sal Cordova&#8217;s comment that if you were to replace a random line from the fitness function with a string of characters, or even a random snippet of Fortran, then the code wouldn&#8217;t work anymore, even if it compiled. And Dave Thomas&#8217;s reply that yes, if every oxygen atom were suddenly replaced with a sulfur atom, living beings would stop working.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: arensb</title>
		<link>http://www.ooblick.com/weblog/2008/09/22/front-loading-i-do-not-think-it-means-what-you-think/comment-page-1/#comment-156558</link>
		<dc:creator>arensb</dc:creator>
		<pubDate>Thu, 25 Sep 2008 04:16:50 +0000</pubDate>
		<guid isPermaLink="false">http://www.ooblick.com/weblog/2008/09/22/front-loading-i-do-not-think-it-means-what-you-think/#comment-156558</guid>
		<description>&lt;p&gt;Troublesome Frog:&lt;/p&gt;

&lt;blockquote&gt;I do a lot of computer vision in my work&lt;/blockquote&gt;

&lt;p&gt;Would it mean anything to you if I said I used to work for Azriel Rosenfeld?&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Troublesome Frog:</p>
<blockquote><p>I do a lot of computer vision in my work</p></blockquote>
<p>Would it mean anything to you if I said I used to work for Azriel Rosenfeld?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Troublesome Frog</title>
		<link>http://www.ooblick.com/weblog/2008/09/22/front-loading-i-do-not-think-it-means-what-you-think/comment-page-1/#comment-156539</link>
		<dc:creator>Troublesome Frog</dc:creator>
		<pubDate>Wed, 24 Sep 2008 17:25:05 +0000</pubDate>
		<guid isPermaLink="false">http://www.ooblick.com/weblog/2008/09/22/front-loading-i-do-not-think-it-means-what-you-think/#comment-156539</guid>
		<description>&lt;blockquote&gt;Yeah, and that’s what makes evolutionary computing both exciting and dangerous: exciting because it tends to discover solutions that you never would have thought of in a million years, and dangerous because if there’s a way to cheat or game the system, it’ll find that as well.&lt;/blockquote&gt;

&lt;p&gt;This sort of thing always freaks me out.  I do a lot of computer vision in my work, so I&#039;m necessarily exposed to neural networks and other weird things.  The first time I was introduced to NN computer vision, my jaw hit the floor when the paper essentially said, &quot;Just pass in the buffer.  Note that there are no arguments about the X or Y dimensions.  All the neural network needs is the raw buffer.  It will figure out the spatial relationships as it learns.&quot;  &lt;/p&gt;

&lt;p&gt;WTF?  We trust these things?  How many computer programs are there out that produce correct output whose programmers can&#039;t explain why?  Head for the hills, kids.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<blockquote><p>Yeah, and that’s what makes evolutionary computing both exciting and dangerous: exciting because it tends to discover solutions that you never would have thought of in a million years, and dangerous because if there’s a way to cheat or game the system, it’ll find that as well.</p></blockquote>
<p>This sort of thing always freaks me out.  I do a lot of computer vision in my work, so I&#8217;m necessarily exposed to neural networks and other weird things.  The first time I was introduced to NN computer vision, my jaw hit the floor when the paper essentially said, &#8220;Just pass in the buffer.  Note that there are no arguments about the X or Y dimensions.  All the neural network needs is the raw buffer.  It will figure out the spatial relationships as it learns.&#8221;  </p>
<p>WTF?  We trust these things?  How many computer programs are there out that produce correct output whose programmers can&#8217;t explain why?  Head for the hills, kids.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

