Hello, now that we start to explore agent-based modeling a little bit more.
We have gone over what the class is going to be about.
Let us take a step back and let us go back to discuss what an agent-based model is in the first place.
But before we discuss what an agent-based model is, I think it is important to discuss what a model is.
And I find this important because in many ways understanding an agent-based model involves understanding what the point of modeling is to begin with.
And this is something that many of you may have learned at some point in your careers.
But it is important to kind of take a refresher and take a step back and discuss this.
So, I define an agent-based model as an abstracted description of a process, object, or event.
The important point here is that it is abstracted, it is not a perfect representation, it does not exactly match up with the real world and the important thing is that it exaggerates certain aspects at the expense of others.
So, for instance in this particular slide, I have a picture of the earth and imagine this is actually the real earth that you are trying to model.
On one side we have a particular projection on to a 2-dimensional map of the earth and what that allows you to see very easily is kind of the delineation between where the earth is land and where it is water, though, of course, they have been changing in time as you may not expect.
But it does not allow certain other aspects, for instance it does not really talk about what is inside the earth. And on the right hand side I have an image you might see from a traditional intro into earth science textbook or something along those lines.
Where we show a cutaway of the earth and we can, kind of, see, what the crust is and what the others aspects are.
Now, neither of these models is a perfect model. Right? Both of these models are wrong to some extent.
And, in fact, George Box, a famous statistician had a quote to that interpretation that essentially all models are wrong but some are useful.
The perfect model is not the model that best represents the world around us, but, instead, is a model that in some ways exaggerates the aspects of the world we are most interested in and can help us solve the problems we are looking at.
In fact, my advisor, John Holland used to say that models are in some ways like political cartoons. Right?
They exaggerate and blow up certain aspects while backgrounding and hiding other aspects, so you can concentrate on the aspects they are trying to make a point about.
So, given that description of a model, then what is an agent-based model?
Well, an agent-based model in our context is a model that is composed of agents as you might expend[?].
An agent is an autonomous, individual element with properties and actions in a computer simulation.
In most of the contexts we going to talk at least it is in a computer simulation.
And agent-based modeling is the idea that the world itself can best be modeled by using agents and environments and descriptions of agent-agent and agent-environment interactions.
And the conceptual[?] seeds[?] of agent-based modeling, right, is that this is one of the best ways to describe the complex systems that we see around us.
Now, over here I have some descriptions of some different types of things that we may think of agents.
Now, generally when people think of agents they often think of humans, right? Of individual humans in this context. But an agent does not have to be an individual human, it could be a company for instance in which case the agent-based model might be a model of the interactions between the different companies.
It could, in fact, be a human. So in this graph right here I actually have a screen capture of the NetLogo HIV transmission model, in which case the model is in fact of agents who are representing humans who might spread HIV from one to the other.
Now, there is no reason why the model had to be built at the level of humans. It was probably appropriate for the particular purposes for which the model was being constructed, but it could have been built at the level of , say for instance, viruses. Right?
In which case it would be a very different model and at a different level of resolution and probably help you to answer different questions.
A model could also be a government. So here I have a representation of the capital dome in Washington, DC. And we could instead be modeling the interactions between governmental agents.
Now, over here I have a representation of Kim Jong Il, right? And I put Kim Jong Il up there, not as an indication of what you might representation with an agent-based model, but as a representation of what is often not useful to represent as an agent-based model.
So, many agent-based models try to characterize overall patterns of behavior.
And when you have one individual who in many ways is erratic, is different from the overall behavior, it is very hard to, kind of, predict or understand what that individual is going to do.
Now, in those cases there are other modeling approaches such as ethnographic modeling or in-depth psychological studies that might give you better understanding.
But in many cases I suggest not using agent-based models for these.
On the other hand, if you wanted to build a set of agent-based models in which you tried to understand the role of dictators and despots and something going on along those lines on a more generalized basis rather than for one particular individual then agent-based modeling might very well be useful for that context.