Hi Steve,
Thanks for your prompt return. I conclude that
Swarm does not implement true concurrency, is that correct?
It implements the "simulated concurrency" that
Repast inherited.
Please forgive my YES/NO approach. The reason is
that I am writing a paper on concurrent multiagent simulation toolkits and need
to check/uncheck the concurrency item for Swarm.
Thanks,
----- Original Message -----
Sent: Tuesday, August 30, 2005 11:16
PM
Subject: Re: [Swarm-Modelling] True
concurrency?
Valmir Meneses wrote: > > Hi, > Is
Swarm concurrent (agents run concurrently) or implements threaded >
schedules like "swarm-alike" Repast? > A bit more detailed. Repast runs
the agent action within a schedule. At > some tick, the agent list is
scanned and each agent is given attention. > But, as far as I know, the
agents do not run concurrently. Within each > tick, the agents are
chosen randomly to determine who will have > attention. Repast
implements "simulated concurrency". > Since Repast claims to be based in
Swarm, I wonder what is the Swarm >
behaviour?
Hello,
Swarm, like Repast, lets you control the exact
order in which you choose events to occur--including choosing to have
actions executed in random order, or to have one action executed by a list
of agents in randomly shuffled order. So you get to decide how you want to
approximate concurrency. Best of all, it's easy to try alternative ways of
representing concurrency and seeing what the consequences are, if you
code your schedule tidily. (Look in the activity library at classes like
ActionGroup and Schedule.)
My limited experience is that "real"
concurrency, where the computer tells many agents to execute at once, can
make it very difficult to figure out exactly what's going on and to know
whether your model is really doing what you want. We just ran a test
model in NetLogo (which does claim "real" concurrency) and in Repast,
using exactly the same algorithm. We got somewhat different results that
appear to be an artifact of the "real" concurrency. Especially, I
would be cautious if different agents need to do different amounts of
computation- the agents that do more thinking might get executed less
often, or always tend to finish last. That could seriously bias
results.
Steve Railsback
-- Lang Railsback &
Assoc. 250 California Ave. Arcata, California 95521 (707)
822-0453 _______________________________________________ Modelling
mailing list address@hidden http://www.swarm.org/mailman/listinfo/modelling
|