<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="MS Exchange Server version 6.0.4630.0">
<TITLE>Success - but not ODD</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/rtf format -->
<P><FONT COLOR="#000080" SIZE=2 FACE="Comic Sans MS">I tweaked and played with my code over the weekend trying to get ODD evolved, without success.</FONT>
</P>
<P><FONT COLOR="#000080" SIZE=2 FACE="Comic Sans MS">Tonight I decided to try something else that was nice and simple just to see if I could evolve anything. I tried getting 1 2 3 on the integer stack. </FONT></P>
<P><FONT COLOR="#000080" SIZE=2 FACE="Comic Sans MS">I quickly got the program: (</FONT><FONT COLOR="#A31515" SIZE=2 FACE="Consolas">CODE.FROMFLOAT INTEGER.= EXEC.STACKDEPTH 2 N0) NAME.STACKDEPTH</FONT>
</P>
<P><FONT COLOR="#000080" SIZE=2 FACE="Comic Sans MS">I had no clue how it was getting the correct result so stepped through its execution and laughed aloud when I finally saw it. </FONT></P>
<P><FONT COLOR="#000080" SIZE=2 FACE="Comic Sans MS">The first two ops are NOOPs. EXEC.STACKDEPTH pushes 3, the 2 pushes 2, and with N0 on the NAME stack NAME.STACKDEPTH pushes 1. </FONT></P>
<P><FONT COLOR="#000080" SIZE=2 FACE="Comic Sans MS">Just to check I changed parameters and after 7 generations got:</FONT>
</P>
<P><FONT COLOR="#000080" SIZE=2 FACE="Comic Sans MS">(FLOAT.* EXEC.STACKDEPTH) EXEC.STACKDEPTH EXEC.STACKDEPTH FLOAT.<</FONT>
</P>
<P><FONT COLOR="#000080" SIZE=2 FACE="Comic Sans MS">which is another cute solution done by counting the reaming operations on the Exec stack. </FONT>
</P>
<P><FONT COLOR="#000080" SIZE=2 FACE="Comic Sans MS">In a number of different runs using STACKDEPTH from stacks was a typical solution. </FONT>
</P>
<P><FONT COLOR="#000080" SIZE=2 FACE="Comic Sans MS">I wondered how these solutions were generated so added the ability to track which method created the program: mutation, crossover, random,…</FONT></P>
<P><FONT COLOR="#000080" SIZE=2 FACE="Comic Sans MS">Most were the results of crossover. A couple were directly from mutation. </FONT>
</P>
<P><FONT COLOR="#000080" SIZE=2 FACE="Comic Sans MS">It would appear that my implementation is working, in general. Still frustrating that I can't get ODD to work. Has anyone else besides Lee gotten it to work? It seems to me that ODD is a random search not really subject to evolution since it requires a breakthrough to generate a program that isn't somehow generating constant values. </FONT></P>
<P><FONT COLOR="#000080" SIZE=2 FACE="Comic Sans MS">---</FONT>
<BR><FONT COLOR="#000080" SIZE=2 FACE="Comic Sans MS">I wondered why Lee uses zero as his best fitness value. After changing the fitness tests a few times and having to, again, determine what the success value should be I realized why zero is best. </FONT></P>
<P><FONT COLOR="#000080" SIZE=2 FACE="Comic Sans MS">---</FONT>
<BR><FONT COLOR="#000080" SIZE=2 FACE="Comic Sans MS">And in case you didn't see it: </FONT><A HREF="http://www.xkcd.com/720/"><U></U><U><FONT COLOR="#0000FF" SIZE=2 FACE="Comic Sans MS">http://www.xkcd.com/720/</FONT></U></A><FONT COLOR="#000080" SIZE=2 FACE="Comic Sans MS"> which a friend just posted to me.</FONT>
<BR><FONT FACE="Times New Roman"> </FONT>
<BR><FONT COLOR="#000080" FACE="Comic Sans MS"> - 73 - </FONT>
<BR><B><FONT COLOR="#000080" FACE="Comic Sans MS">Rud Merriam K5RUD</FONT><FONT FACE="Times New Roman"></FONT></B><BR>
<I></I><I></I><A HREF="http://mysticlakesoftware.com/"><I><U></U></I><I><U><FONT COLOR="#0000FF" FACE="Comic Sans MS">http://mysticlakesoftware.com/</FONT></U></I><I></I></A><I></I>
</P>
</BODY>
</HTML>