swarm-modeling
[Top][All Lists]
Advanced

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

[Swarm-Modelling] Re: [Swarm-Support] Re: Agent communication and grid m


From: Darren Schreiber
Subject: [Swarm-Modelling] Re: [Swarm-Support] Re: Agent communication and grid models
Date: Mon, 26 May 2003 00:57:15 -0700

(I am cross posting this to the modeling list, since my discussion is more on the theory than code related. If your thoughts are on the modeling side, you'd get more interesting replies by following it up there.)

There are a lot of possible topologies that you can use, not just grids. If I were you, I would think more about the substantive problem and what kind of model topology you think would best describe the real world problems you are interested in studying.

Grids are nice because they are easy to visualize and it is pretty easy to manage proximity and distance. Plus, there are pre-existing examples you can work from. But, you might also specify a hex (six sided) grid since you don't have the "corner" problem of square grids.

In some of my work, I have used both square grids and continuous spaces. My political party model envisions agents with positions on diverse number of political issues. Each issue dimension runs from 0 to 100, and since I use floating points to represent the position, agents can be anywhere along that continuum (i.e. they are not constrained to position 1, 5, or 10, but could be 1.20348 or 5.294842).

But, because of the nature of the political world I am interested in modeling, I did not want to constrain my agents to a single issue dimension. So, I set the model up to handle an arbitrary number of issues. In later versions of this model (coming soon (like 6 months or so)), this model will be used to illustrate how we have one ideological dimension (left to right) emerge out of a space containing many issue dimensions. Thus, the space that my agents traverse is a multidimensional one.

Furthermore, because not all political issues are equally important, I have altered the geometry of the space so that distance is not the typical Euclidean measure, but is instead a weighted Euclidean distance where some dimensions are viewed as more important than others. Similarly, since a bundle of political issues might be related to each other (not independent) I allow the separability of the dimensions to be changed. Both of these tricks are accomplished by sticking a little matrix of weights into the standard Euclidean distance measure. And, since not everyone agrees about the salience or separability of issues, I allow every agent in my model to have its own perceptions of the topology of the political universe. I may thus view our political positions as very similar, but you might view them as very different. This creates a relativistic geometry quite different than the Cartesian grids that we learn in high school.

Rather than starting with coding constraints, I started with the substantive problem, worked towards a plausible model, sketched some concepts, and then got into the coding. Because my design is heavily parameterized, I can represent a simple two dimensional space with integer values like a grid or a high dimensional relativistic geometry using the same code.

To manage communication and agent interaction, I put all of the agents onto a list as they were created. All agents have the ability to send and get messages. To find nearby agents, they look through the list of all agents and calculate the distance to each agent. My agents also have the ability to form hierarchical networks, so they have a list of agents below them and above them in the hierarchy.

Now, the method of searching a list of all agents is not optimized in terms of coding, but I am willing to sacrifice that for the flexibility that my model has in representing my substantive beliefs. Furthermore, it isn't hard to think of some ways of creating subdivided the agent lists to make it faster to find adjacent agents.

So, what I would do is think about the substantive problem you are representing. When your buyer sends out his representatives, is he asking them to walk down the street to talk to other traders? Are they getting in planes and flying to another city or country? Or, are they staying behind the desk and working the phone lines cold calling perspective traders? Or, perhaps the representatives exist in a social network of other agents who know other agents?

In my view, the programming issues here are much simpler than than modeling issues. And, you are more likely to useful help on the programming once you know what you want. As far as Swarm is concerned, it is incredibly flexible (good enough to handle my relativistic hyper-dimensional hierarchically networked topology).

        Darren


On Sunday, May 25, 2003, at 10:57  PM, Kanagaraj Krishna wrote:

Hi,

-Are there any SWARM examples that involves interaction between agents (commuication) that can help me in designing my model (java ones). Example: one buyer agent release few slave agents to interact with few trader agents to do business and then come back to report.

-Most of the examples used the grid/lattice way of designing models......are this the only way?

-Are there any specific functions for an agent to look for another specific agent in a world? how can this be done?

I was looking into the CharlesJavaTutorial examples on bugs looking for food. It is more straight forward and there is no interaction between agents.Thanks.

Regards,
Kana


____________________________________________________________
Get advanced SPAM filtering on Webmail or POP Mail ... Get Lycos Mail!
http://login.mail.lycos.com/r/referral?aid=27005
_______________________________________________
Support mailing list
address@hidden
http://www.swarm.org/mailman/listinfo/support




reply via email to

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