display | more...
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.