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