[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