[Push] Success - but not ODD

Rud Merriam k5rud at arrl.net
Mon May 10 22:58:32 EDT 2010


I tweaked and played with my code over the weekend trying to get ODD
evolved, without success.

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. 

I quickly got the program: (CODE.FROMFLOAT INTEGER.= EXEC.STACKDEPTH 2 N0)
NAME.STACKDEPTH

I had no clue how it was getting the correct result so stepped through its
execution and laughed aloud when I finally saw it. 

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. 

Just to check I changed parameters and after 7 generations got:

(FLOAT.* EXEC.STACKDEPTH) EXEC.STACKDEPTH EXEC.STACKDEPTH FLOAT.<

which is another cute solution done by counting the reaming operations on
the Exec stack. 

In a number of different runs using STACKDEPTH from stacks was a typical
solution. 

I wondered how these solutions were generated so added the ability to track
which method created the program: mutation, crossover, random,


Most were the results of crossover. A couple were directly from mutation. 

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. 

---
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. 

---
And in case you didn't see it: http://www.xkcd.com/720/ which a friend just
posted to me.
 
 - 73 - 
Rud Merriam K5RUD 
http://mysticlakesoftware.com/

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.hampshire.edu/pipermail/push/attachments/20100510/de6d0b02/attachment.htm>


More information about the Push mailing list