swarm-modeling
[Top][All Lists]
Advanced

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

Re: Does an agent have "live" on a world???


From: bleydorf
Subject: Re: Does an agent have "live" on a world???
Date: Fri, 10 Oct 1997 08:48:36 -0400

Sven N. Thommesen wrote:
> 
> At 12:48 AM 10/8/97 -0400, you wrote:
> >glen e. p. ropella wrote:
> >>
> >> address@hidden writes:
> >>  > Does an agent have to "physically" exist on a give world?  That is if a
> >>  > simulation create 1000 agents in a population, but only had room for 200
> >>  > at a time, could they exist in limbo, until they were called into
> >>  > existence by another agent/or schedule?
> >>  > Using my problem/solution simulation as an example, lets say a given
> >>  > problem agent needed to carry 25 solutions, but only had space on the
> >>  > display to display 8 of them, could the rest "exist" in limbo, until it
> >>  > decided to drop them, display them, or whatever?
> >>
> >> Not only *can* they exist; but, they will exist unless you explicitly
> >> drop them.  In fact, we recommend doing something akin to this in
> >> a simulation where the agent population is not constant, i.e. where
> >> death occurs.  We recommend that the agents are moved from physical
> >> reality to "purgatory" to await death.
> >>
> >> The important distinction is whether or not your agents will be
> >> static and *not* a part of the coevolutionary, larger, "world"
> >> that is the process space.  In the reaperQueue example, the agents
> >> are static and are no longer participating in the integration of
> >> the world forward in time.  Another example of this would be an
> >> Agent Cache, where when an agent either wasn't very active or was
> >> scheduled for removal, is put on a list of inactive agents that
> >> are available for reinstatement at a later time.  They're still
> >> not participating in the world, but, could at a later date.
> >>
> >> Now, the other kind would be the kind that aren't participating
> >> in the "space" or the set of spaces upon which some aspect of
> >> the process is shown, but are still participating in the coevolution
> >> of the process as a whole.  Say you have 8 solutions actively modifying
> >> the "space" while the rest aren't.  That doesn't really stop those 17
> >> from talking to each other and talking to the agents who are modifying
> >> the space.  They would be like a bunch of angels inspiring some
> >> bible writers there on earth.  The bible writers are modifying the
> >> world, but the angels are modifying the bible writers. [grin -- sorry]
> >
> >Well, the way I saw it was that the 8 agents are visible one the map,
> >being held by the problem agent, like this:
> >SSS   But, If the Problem agent wanted to hold more, and there was
> >SPS   no more room to hold them, I was wondering if they could exist
> >SSS   without being visible.  the Problem would still sort them with
> >the visible ones, pick up more, drop some back to the solution space
> >(either the visible or the invisible) etc.
> >
> >Its like this, say your on camera, and your carrying cardboard boxes.
> >Now only the first 8 boxes show, since they are within the camera frame,
> >but, there are 17 more boxes stacked on top of those eight.  The 17
> >still exist and can be acted upon, but just aren't visible.
> >
> >Thanks,
> >Brad.
> 
> The question of agent "existence" is a multi-faceted one! There are several
> 'levels' of existence in a Swarm simulation:
> 
> 0) An agent "exists" after it has been created (and before it has been told
> to 'drop' itself) in that the object occupies space in memory;
> 
> 1) An agent "exists" if it is ACCESSIBLE -- that is, if a pointer to it is
> located in a place where other agents or swarms may access it. In
> heatbug-based simulations, for example, the model Swarm owns Lists which
> contain pointers to the bugs. In my own sim, I have several different types
> of agents and I have chosen to have one agent Swarm for each agent type.
> 
> 2) An agent "exists" in the simulation IF either
> 
> a) it has previously posted actions against it still pending in the Action
> machinery;
> 
> b) it is part of a list for which a 'forEach' message is executed every
> period;
> 
> c) it is accessible to, and may be accessed by, other agents or swarms in
> the course of their execution of periodic code.
> 
> 3) The question of VISUALIZATION of the "existing" objects/agents is a
> totally separate question. As you have discovered, a simulation does not
> have to get very much more complicated than Heatbugs before it becomes near
> impossible to show all agents in a useful manner. I'm still looking for
> solutions myself to this problem...
> 
> 4) If existence on a space is part of the constraints on agent action
> (movement), this is also a separate question from either visualization or
> existence in the manners detailed above. It is easy to imagine a Grid2d
> that is capable of holding up to 12 agents per cell (just look in the 'user
> contribution' area on the web site ;-). While current Raster objects may
> not be able to display more than 1 of those 12 (and so we have to figure
> out how to choose what to display), there is no reason in the Swarm
> machinery why the other 11 agents may not participate fully in all activity.
> 
> 5) Which agents "exist" in sense (2) above depends of course on how you
> choose to access them [which index you use to access your database, if you
> want.] In Heatbugs, there is a list of agents in the model swarm and there
> are also pointers to agents in the World grid. So in principle you could
> execute a 'forEach' method against the List in the model swarm (as is done
> now), *or* you could sweep the World and tell each agent found to 'step'
> every time period. As long as no agents are 'lost', these access methods
> are equivalent (except for the order in which agents would be told to act).
> 
> Unfortunately, in heatbugs some agents *are* lost -- if two agents end up
> on the same square, one of them is lost to the World (but not to the
> modelSwarm list). So there the two access methods are not equivalent.
> 
> In your case, the Problem agent may keep a list of 25 solutions and act on
> (access) all of them through that list, even if only some of them can be
> displayed at any one time. [By the way, how *do* you display 8 agents per
> cell?]

Actually, they aren't in the same cell, their in the ajoining eight
cells:

SSS
SPS
SSS
 
> In the case of a sim holding lists of 'pre-birth' and 'post-death' agents,
> these agents will exist in the senses (0) and (1), but they will only
> "exist" in sense (2) when they are part of some list which is 'visible' to
> other agents and the Action machinery.
> 
> Hope this was of help!
> 
> And forgive me if this got too didactic -- I get this urge sometimes to
> cross the t's and dot the i's ...

Not a problem, I appreciate your input.

Brad.


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