[Icfp04-discuss] Evolutionary Ants

Joseph Gentle josephg at cse.unsw.edu.au
Sat Jun 12 11:45:48 EDT 2004


I got some reasonably good results:

1. STarting off with an extremely simple ant (~10 lines)
2. Randomly either:
 - Changing states
 - Deleting states
 - Adding states
 - Merge states
3. Change/delete/add would affect a random number of states from 1 to 4
4. Merge operations would merge random chunks from two ants. This needed 
a lot of work and is where a higher level language would be far more 
effective.
5 Only 12 ants competed in each generation.  3 survived. For some reason 
this seemed to produce smart ants *MUCH* faster than generation sizes 
~100 (which is what I used at first).

Unfortunally I didn't fix all the bugs in my simulator until near the 
end and when i fixed that up my ants were no longer fit in the environment.

Fun to play with all the same.

-Joseph


Carlos Scheidegger wrote:

>I think there's probably some good compromise between the compiler
>approach and the evolutionary approach: I can envision more
>interesting mutation operators applied to high-level code. This has
>the added approach of low-level ant code being independent of the
>high-level code in which the mutations are being operated. I think I
>recall reading about some advantages of having distinct 'genotypes'
>and 'fenotypes'. Also, genetic programming deals explicitly with
>evolving programs, so you could probably borrow a lot of techniques.
>
>-carlos
>
>On Fri, 11 Jun 2004 10:25:26 +0200, detlef at dpleiss.de <detlef at dpleiss.de> wrote:
>  
>
>>On 9 Jun 2004 at 11:52, Jens Hauke wrote:
>>
>>    
>>
>>>Maybe try the same with less than 300 lines? I got much better results
>>>with very short ant programs (the search space is much smaller and
>>>good strategys dont need much code). The next improvement (i think):
>>>leave the goto's in each line nearly untouched to safe the program
>>>flow.
>>>      
>>>
>>I guess 10000 random lines contain a lot of "dead strands", code that is never reached.
>>I assume if running different 10000 lines random code programs through the optimizers
>>as discussed lately you'll effectively get random size programs.
>>
>>I used to change just one line of code per generation. If such a change happens in dead
>>code it effectively changes nothing. Then again in the other case it might activate a until-
>>then dead strand, so one line could make a big difference.
>>
>>Anyway, I'm going to try what happens if I change more than one line of code per
>>generation.
>>
>>
>>
>>ciao - Det.
>>
>>_______________________________________________
>>Icfp04-discuss mailing list
>>Icfp04-discuss at lists.seas.upenn.edu
>>http://lists.seas.upenn.edu/mailman/listinfo/icfp04-discuss
>>
>>    
>>
>_______________________________________________
>Icfp04-discuss mailing list
>Icfp04-discuss at lists.seas.upenn.edu
>http://lists.seas.upenn.edu/mailman/listinfo/icfp04-discuss
>
>  
>


More information about the Icfp04-discuss mailing list