Hi Russel,
Thanks for you answer.
Maybe my question is lame, but how do I refer to an agent directly? My
agents already contain something similar to *getAndRemoveBag()*, and it
works, but the problem is method I use to get neighboring agents *
sim.field.continuous.Continuous2.**getNeighborsWithinDistance<http://cs.gmu.edu/~eclab/projects/mason/docs/classdocs/sim/field/continuous/Continuous2D.html#getNeighborsWithinDistance(sim.util.Double2D,
double)>* provides copy of a neighbor agent, not reference to it.
Also I really like the idea of stack. If I'd try to implement it, should I
create a separate stack class and schedule it from the "controller class"?
On Mon, Aug 12, 2013 at 2:34 PM, Russell Thomas <
[log in to unmask]> wrote:
> Also, if these IntBags are really “artifacts” owned or possessed by
> “agents”, they why not create separate objects called Artifacts or
> equivalent?
>
> Each artifact would have variable of type Agent to identify it’s owner --
> a single agent. Each agent would have a bag of “myArtifacts”. Upon
> request from another agent, the owner agent could transferOwnership() of
> the requested artifact, removing it from its own myArtifacts bag, and by
> calling a method in the artifact object: changeOwner(newAgentID). The
> artifact object could then signal completion of the transaction by calling
> addNewArtifact() method in the requesting agent, which would add it to
> myArtifacts.
>
>
> On 8/11/13 6:18 PM, "Aуdar Aliev" <[log in to unmask]> wrote:
>
> Hello everyone,
>
> I'm relatively new to mason as well as agent based modelling in general,
> and have been stuck with this problem for 2 days.
>
> I need my agents to exchange IntBags with each other.
>
> Within each agent I have a Bag called *population* which contains a *set
> of IntBags*. Each N steps I want my agents to find their closest
> neighbours and get certain number of IntBags from them.
>
> My problem is that, while my agents are able to get IntBags obtaining
> copies of neighbouring ilk agents using
> map.getNeighboursExactlyWithinDistance(), I couldn't find a way to *remove
> * IntBags agent* obtained *from the source agent population.
>
> Can anyone advice on how to do it?
>
> Thank you in advance.
>
> Best
>
>
|