swarm-support
[Top][All Lists]
Advanced

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

Re: Nested Swarms and Schedules


From: Benedikt Stefansson
Subject: Re: Nested Swarms and Schedules
Date: Wed, 09 Dec 1998 15:37:07 -0800

Hi Marcus,


> B> Each of these in turn creates a schedule and action group
> B> which schedule internal events (the four PD stage games between the
> B> two players).
>
> Logically, is it necessary or useful to have a time ordering to the
> four games?  Futher, is it necessary or useful to have a time ordering
> to the tournaments across all the agents?  I almost get the impression
> that, conceptually, *everything* could be done in parallel (ignoring
> that this would violate the intuition of an agent as a person with
> finite attention resources).

The four games (stage games) are ordered. Apart from this time is a bit fuzzy
in these types of models. The literature usually assumes that agents are
interacting with their nearest neighbours, but assumes that these interactions
are somehow happening in paralell. The violation you mention is certainly there
- a real agent would for example be able to learn as he goes from one
interaction to another, but he is not allowed to do this in the standard
framework.

> If it is the case that there are not ordering constraints to the games,
> then everything could and should be scheduled for the same time
> step.  This way, the ModelSwarm/ObserverSwarm time inconsistency
> wouldn't come up.

...so technically one would have to create a humongous action group with all
the events that have to take place and schedule it dynamically. I guess that's
one way to do it.

> What other notion of time is there in this simulation other than
> the generation number?

None, really.

> If there were multiple time scales in Swarm (there aren't now), you'd
> still have to specify the scaling or pairwise relative boundary
> conditions.  So let's say we were modeling a person and her pets, and
> the pets all had different perceptions of time, you'd at least need
> some way to say in the {Human0 {Dog0 Cat0}} embedding, "ok, that was
> one human time step".

True. The canoncial example from one of the early mission statements would be
that each agent is running internal models to make decisions. Sometimes the
model would assume that these models run in paralell in zero time. It's a bit
messy right now to do this. The ActionGroup "trick" for example: ActionGroups
are by definition unordered sets, but the mental models typically would involve
an ordered set of events etc. The schedule would be run in a super-Swarm, and
since one would have to worry about the virtual paralellism (no dependency
between agents or possible externalities) it probably would be just as easy to
do this in methods within the agents themselves....

> I think that at some point you have to draw a line in the sand and
> distinguish subjective and objective.  If you are interested in the
> relation between two identifiable things happening in the world at the
> same time (of whatever scale), use schedules, if you don't care write
> a method to do it and give the poor agent some privacy.

This is what the programmer ended up doing.

But the natural question then is: If schedules are really only used for the
"outer simulation loop" in practice, why bother with the activity library in
the first place? Wasn't the activity library supposed to provide a more natural
language to express simulation time, virtual time, multiple clocks etc? I don't
have a very good answer to this question.

Regards,
-Benedikt

--
----------------
Benedikt Stefansson                 address@hidden
Department of Economics, UCLA       Fax. (310) 825-9528
Los Angeles, CA 90095-1477          Tel. (310) 825-1777



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