Newsgroups: comp.ai.alife
Path: cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!news2.near.net!howland.reston.ans.net!Germany.EU.net!EU.net!uknet!cix.compulink.co.uk!usenet
From: mark_a@cix.compulink.co.uk ("Mark Atkinson")
Subject: Re: Evolving code?
Message-ID: <D625Dw.52L@cix.compulink.co.uk>
Organization: Compulink Information eXchange
References: <3ks9sj$23s@obelix.cica.es>
Date: Sun, 26 Mar 1995 17:17:56 GMT
Approved: mitnik@fbi.gov
X-News-Software: Ameol/NT
Lines: 72

jmerelo@kal-el.ugr.es (J.J. Merelo Guervos) writes:

> >     Since it is possible to evolve code like in Bugworld (Which I 
hope 
> > comes out soon!!), why can't real code be evolved? Like a sorting 
> > algorythm for example. It might take a long time to evolve one, but 
> > why not try it? I think a new language qould have to be developed 
> > that is evolvable though.
> 
> 
> It's been done, by Danny Hillis in his famous Red Queen experiments; 
> code for
> sorting was evolved along with sorting problems. I don't know if actual 
> code was
> evolved, though. Besides, Koza evolved code for generating random 
> numbers; it's
> in his TechRep and probably in his book.

I think you're getting a little confused....

Hillis' experiments where primarily to do with co-evolution, ie pitting 
sorters against problems to generate an "arms race".  However, it was 
based around "sorting networks", which are basically graphs which swap 
elements depending on their topology.  While these may be used as a model 
for sorting on parallel machines, I think it's stretching things to say 
this constitutes evolving code.

GP is closer to what was wanted, but seems to have been less successful 
to date where "real world" problems are concerned (as compared to 
parametric optimisation with evolutionary algorithms).

However, see Kinnear's work, below, as an example of getting somewhere.  
There are many other examples to be had if you ask your favourite search 
engine for "Genetic Programming".

Tierra and Venus take a CoreWars style environment, and evolve creatures. 
 Tom Ray in particular, as the original suggests, tried to define a 
virtual machine and instruction set which were more amenable to mutation 
(the real thing is far to fragile), by using things like "jump to 
template match", which are more like how real DNA works.


-=Mark=-

Refs.:
Hillis, W. D., Co-Evolving Parasites Improve Simulated Evolution as an
               Optimization Procedure

Kinnear, K. E. Jr. (1993) "Evolving a Sort: Lessons in Genetic
Programming," in Proceedings of the 1993 International Conference on
Neural Networks, New York, NY: IEEE Press.

Kinnear, K. E. Jr. (1993) "Generality and Difficulty in Genetic
Programming: Evolving a Sort." in Proceedings of the Fifth
International Conference of Genetic Algorithms, S. Forrest, Ed.  San
Mateo, CA: Morgan Kaufmann.

Ray,   T.  S.  (1991)   "An  approach  to  the  synthesis  of  life."
Artificial Life II, Santa Fe Institute Studies  in  the  Sciences  of
Complexity,  vol.  XI, Eds. C. Langton, C. Taylor, J. D. Farmer, & S.
Rasmussen, Redwood City, CA: Addison-Wesley, 371--408.

Rasmussen,   et   al.   (1992)  "Dynamics  of  Programmable  Matter",
[ALIFEII], 211-254.



==========================================================================
mark_a@cix.compulink.co.uk (Mark Atkinson)
"Today's Competition: Define 'Life' and 'Intelligence' using only Boolean
logic, in a thread of 20,000 posts or less."
==========================================================================
