Agent
based simulations, are
computationally intense (but don't worry computers do that part) forms of
simulation.
In traditional simulation methods, complex
equations are
formulated to describe the
system being
modelled, and these equations (like
Einstein's equation or the
Maxwell equations) are analyzed and related mathematically to provide insights. Agent based approaches, however, are not formula based. They involve declaring simple rules and attributes of the things being observed (agents) and their environment. These agents are then allowed to respond to eachother and their environment based on how they are coded (described in programming language). By establishing very simple rules and attributes this sort of modelling is not only easily extensible, but able to illustrate incredibly complex, multi-variable behaviors in a much more intuitive, easier to design manner than earlier mathematical approaches.
The
swarm package which can be found at www.swarm.org, is a
free,
open source modelling package that allows you to extend and implement your own agent based simulations relatively easily. You can write code for this package in
objective c or in
java, but the objective c implementation is significantly faster. The site also provides several example programs and code for you to play with.
Dr. Dwight Wilson teaches a particularly interesting
agent based simulation course at
Johns Hopkins University. The course is completely programming based (there are no
exams), but covers a vast range of material including everything from advanced behavioral theory to the game of
Life.