swarm-support
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: swarm agents with genetic algorithms


From: Paul Johnson
Subject: Re: swarm agents with genetic algorithms
Date: Fri, 12 May 2000 11:40:26 -0500

Sid Bhattacharyya wrote:
> 
> i'd like to use a genetic algorithm to evolve parameters/strategies for
> individual agents in swarm (each agent carries a population)...the ga would
> ideally work on real number representations...has anyone tried such
> approaches with swarm, and is there any ga-swarm code available to
> facilitate this?
> 
> thanks,
> -sid

I'm delighted to hear interest in this. I too have been meaning to learn
more about how this is done. To pressure myself into it, I've started a
project to revise/update the artificial stock market code, which does
have a GA in it.  See http://ArtStkMkt.sourceforge.net.  One idea is to
replace all the "homemade" GA stuff in the BFAgent class with one of the
plugin GA libraries for swarm.

I have been asking around about which Swarm approach is the best for
GA.  Perhaps I can air out my conclusions and start a big flame war in
here that will get everything all confused! ;>  You can find the links
to these things at the swarm archive,
http://www.swarm.org/community-contrib.html

THere is an older package called "Breeder" which, the last time I
checked, can be compiled and used with swarm apps. It has an application
example called IPD (iterated prisoner's dilemma).  Breeder was writtten
by JJ Merelo during a time at the SFI in 1995 or 1996.  This package has
the distinction of being listed in the "Evaluated" section of the Swarm
ftp site, which means that the SDG team believes it is mostly good. It
has quite a nice document about it, makes it look easy to apply
Breeder.  My main questions about/objection to this package are

1. The IPD example has lots of bit calculation in it. I hate that kind
of code, I don't understand it well,  and wish the GA library took care
of all of it. Why does IPD do it that way? I've not figured it out.

2. It is not crystal clear than anybody is responsible for development
of the Breeder library. The Swarm Development Group has been updating
and bug-fixing it, to go with swarm changes, but as far as I know nobody
has stepped forward to be the "orchestrator" of the package's
development.  In fact, a few weeks ago I trolled in here to find if
anybody had used it and didn't get many answers. In this email list,
Norberto Eiji Nawa <address@hidden> recently posted a message about
a bug in Breeder, so I think we should count him as an active user of
Breeder, but I don't know who else.  There was a scholar in China
working with Breeder, but I don't know what became of it. If you search
swarm-support, I bet you will find his questions.

There is another package for GAs called "GM" by Gianluigi Ferraris
<address@hidden>. I asked about this one in the
list and got a thorough answer in the list from Pietro Terna.  GM is a
substitute for breeder and it is intended to work in a way that is
similar to a suite of tools being developed by Terna and his students. 
THere is also a classifier and neural network library.  I heard from
Kevin S. Lim <address@hidden> who said he was using the package
and liked it.

It appears to me that this package has some upside because it is still
under active development, but the downside is that it is still under
active development :)

Sometimes I wish there were a special interest group for Swarm models
with agents that learn (with GAs or NNs or whatever) where we could have
more specific discussions on this topic.  I have more to learn than to
teach, however.  

-- 
Paul E. Johnson                       email: address@hidden
Dept. of Political Science            http://lark.cc.ukans.edu/~pauljohn
University of Kansas                  Office: (785) 864-9086
Lawrence, Kansas 66045                FAX: (785) 864-5700

                  ==================================
   Swarm-Support is for discussion of the technical details of the day
   to day usage of Swarm.  For list administration needs (esp.
   [un]subscribing), please send a message to <address@hidden>
   with "help" in the body of the message.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]