Agent Modeling

Shodor > Interactivate > Discussions > Agent Modeling

Mentor: What comes to your mind when I talk about an Agent Model?

Student: I don't know. I guess an agent could be a spy, and so the model would be like action figures of the agent.

Mentor: Actually, that's very close to the definition. Rather than a "special agent", though, we say that an agent is just any individual - a person, an animal, or even something else like a planet.

Student: Then what does it mean to have a model of that individual?

Mentor: Well, action figures help you to visualize individuals doing various things and interacting with each other, so...

Student: So then the model of the agent would just be something that represents the agent and shows how it moves around and does stuff.

Mentor: Right! An agent model is just a way for us to represent the interactions of various individuals, or "agents".

Student: But how do we know what each agent does or what happens when they meet?

Mentor: Well, think about what happens when it rains. Can you actually predict where each individual raindrop will land? What do you really know about raindrops as individuals?

Student: I can't predict where each raindrop will land, but I do know that they are all going down and there are a lot of them, so anywhere that is being rained on will get wet.

Mentor: Very good! That is the essence of an agent model. Each individual is moving according to certain rules. Suppose in this example that each raindrop falls from a randomly assigned location within a cloud. Each raindrop continues falling until it reaches a surface, where it breaks and splashes. It's hard to see an overall pattern from each individual, but if we look at a lot of individuals together, we can predict what they will do.

Student: So is that how weathermen predict rain? Surely they don't try to figure out how each raindrop will fall, and then count up the drops that land in a certain area.

Mentor: I'd imagine that would get a little tedious, for sure. Can you think of any other way that a weatherman could predict how much rain will fall?

Student: Maybe he/she could look at the clouds and figure out how much water would fall from each cloud. Then the weatherman could just look at each cloud instead of counting millions of raindrops.

Mentor: Right you are! In fact, you've just described another type of model: a Systems Model. Do you think you can tell me what a systems model is from the name and from your description?

Student: Well, I guess the model involves the interaction of systems instead of agents, so instead of looking at each individual, we look at whole groups of individuals.

Mentor: Precisely! A systems model deals with large groups of objects that interact with each other in certain patterns. In a lot of situations you can save yourself tons of time and energy by grouping objects rather than trying to predict the behavior of each and every one of them.

Student: If a systems model is so easy to use, then why do we talk about agent models at all? Wouldn't it be simpler to just use systems models?

Mentor: Systems models may be easier, but the problem is figuring out the rules for a systems model in the first place. For instance, can you create a systems model for me of rabbits, wolves, and grass living in a forest somewhere?

Student: Umm...No. I know that wolves eat rabbits, and rabbits eat grass, but that's it. I have no idea how to actually create a model of that situation.

Mentor: That's quite understandable; I probably couldn't create a systems model off the top of my head either. But I bet you can create an agent model of the same situation dealing with individuals only.

Student: Sure, the wolves would chase rabbits, the rabbits run away and eat grass, that's easy enough. I guess an agent model would be easier in this case since I don't know how to get started with a systems model.

Mentor: Indeed. Although systems models are easier to use, most of the time we can't come up with a systems model without first trying out a few agent models, just to get a concept of the way things work.

a resource from CSERD, a pathway portal of NSDL NSDL CSERD