swarm-modeling
[Top][All Lists]
Advanced

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

Re: [Swarm-Modelling] True concurrency?


From: Valmir Meneses
Subject: Re: [Swarm-Modelling] True concurrency?
Date: Tue, 30 Aug 2005 23:44:58 +0100

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

reply via email to

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