Print

Print


Sorry for the late response, but the last days before the final  
defense have really gotten to me.

There was indeed not much in ECJ that resembled what you wanted to  
do, but the entire design of the system was such that you could  
easily build it yourself.

One advice I have for you is to pay extra attention to what you're  
experimenting with.  One problem I see with coevolution is that it's  
very easy to write a bit of code, then debug it for weeks/months to  
figure out why it is not working.  The problem is not that there are  
bugs in the code, but rather that what you end up coding may not  
search for the kinds of solutions you thought it is searching.   
Coevolution is a different beast from evolution, and algorithmic  
decisions that might make sense for someone might actually have a  
huge impact (positive or negative) on the behavior of the algorithm.   
For further reading on such topics, I'd suggest Paul Wiegand's PhD  
thesis from 2004, or, more recently, mine, which I could send to you  
directly if you're interested.  My entire thesis is about why certain  
algorithmic decisions might make your cooperative coevolutionary  
algorithms (as well as other concurrent multiagent learning  
algorithms) go berserk, as well as about how to design new algorithms  
that search for better solutions.  Given your interest in competitive  
coevolution, I'd also suggest you check out (if you have not already  
done so) the work of Bucci, de Jong, and Ficici from the past years.

Best,

Liviu.

On Aug 23, 2006, at 4:27 PM, Robert Baruch wrote:

>
> On Aug 22, 2006, at 8:06 PM, Sean Luke wrote:
>
>> Hi Robert, we're not actively avoiding you!  :-)  I'm in Kyoto on  
>> very limited bandwidth, and Liviu's working on his dissertation  
>> (which he's defending in a few days).  Liviu's the man you want to  
>> have look into this anyway -- he wrote the coevolution code and  
>> knows it better than I do.  Give him a little while though!  :-)
>
> That's ok :) I finally realized that what I wanted was something  
> like CompetitiveEvaluator, but not quite, and something like  
> MultiPopCoevolutionaryEvaluator, but not quite. So I wrote my own  
> evaluator, just enough to get it working.
>
> Here it is, for your amusement. Someone could probably take it and  
> turn it into something worthy of inclusion in ec.coevolve.
>
> --Rob
> <RandomOpponentEvaluator.java>