swarm-modeling
[Top][All Lists]
Advanced

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

Re: Input on choice of programing language


From: gepr
Subject: Re: Input on choice of programing language
Date: Thu, 17 Oct 2002 08:02:06 -0700

address@hidden writes:
 > 1) Has anyone of you done genetic programming in SWARM? Is it apt for that
 > task?

For the first question, in addition to what Riccardo, Marcus, and Nick
suggested, you might also take a look at what Rob Kewley did with
Swarm:

The paper "Fuzzy-Genetic decision Optimization for Positioning of
Military Combat Units" available from Professor Embrechts' site.

http://www.rpi.edu/locker/82/001182/


But, I'd like to throw some words at the second part of that question.
Swarm is only good as a GP platform in itself, under certain conditions:

  1) You expect your individuals to be "agents" or, at least, "objects"
     in some sense.

  2) You have a multi-modal, multi-scale, or some other kind of complex
     environment in which your individuals will "live" or be evaluated.

  3) You want to implement some kind of multi-level evolution, e.g. 
     a genetically specified population evolving at one level composes
     a higher-level, genetically specified population evolving at that
     higher level.

There might be other cases; but I think these cover it well enough.
If any ONE of those holds, then it's a good idea to use a multi-scale,
multi-modal system like Swarm.

For example, you might think you're in a (2) situation where the
individuals you're evolving are not objects or agents at all, but
compose an inference process inside some agent (like a tech trader in
a market).

If it's just a simple composition like that, the best bet would not
be to use Swarm as the GP system; but, to use a more natural GP
platform and feed the individual algorithms into a running Swarm
for evaluation in a complex simulation.

However, if your situation (2) is such that the individuals you're
composing have to be selected for/against in a *concurrent* way
(as opposed to the lock-step synchronized way of most GAs), then 
you are sitting on the border between the above approach (where both
the GP system and the simulation-as-objective-function are concurrent
processes and they communicate with each other in a live way) and 
a more tightly integrated approach where the evolutionary operators
get called on a more ad-hoc or dynamically-defined schedule or timeline.

For example, in a more realistic market scenario, some trading agents 
inherit traits very quickly (based on high frequency indicators) and
some very slowly.  And both are haphazard... for the big company, it
might be because they hired a new CFO and for the individual it might
be because they just started using some new trading dashboard instead
of the wall street journal.  The complexity of the schedules for
the various mutation and cross-over operators could get interesting.
At which point, you might actually want to manage this with a system
like Swarm.  (And this is all assuming that the agents are at the
same level... e.g. companies aren't composed of individuals... that's
situation (3) above and is a different order of complexity altogether.)

There are similar spectra for modeling problems of type (1) or (3).

Bottom line is that Swarm can be used in any and all of these ways;
but, you should look deeply at what you're actually trying to achieve
via evolution.  It could simplify the system significantly.

glen
-- 
glen e. p. ropella              =><=                           Hail Eris!
H: 831.335.4950                              http://www.ropella.net/~gepr
M: 831.247.7901                               http://www.tempusdictum.com



                  ==================================
   Swarm-Modelling is for discussion of Simulation and Modelling techniques
   esp. using 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]