Complex Adaptive Systems
These computer simulations (Java Applets) of complex adpaptive systems were originally written by Dr. Robert L. Goldstone at Indiana University at Bloomington. If you use these simulations, please let him know (email) so he can document that these simulations are being used and possibly get a grant to make more simulations in the future. Click here for more information about these simulations.


Ball Dropper
This is a computer simulation of balls falling on a windy day. It was designed to teach students about local and global minima, and the effectiveness of a "simulated annealing" schedule for finding global minima. In this simulation, simulated annealing involves gradually reducing the amount of randomness in the balls' motions.
Path Finder
This is a computer simulation of balls influencing each other, and as a group, finding pathways around obstacles. It also demonstrates notions related to local and global minima and simulated annealing. In fact, the reason for including both "ball dropper" and "path finder" is to demonstrate how the same abstract principle may apply in different domains and to train students in skills related to extracting underlying abstract similarities.
Resource Cover
This is a computer simulation of ants covering food that is placed down, or more generally, any set of agents trying to optimally cover a set of resources (e.g. oil drills covering an oil field, or scientists covering a domain of inquiry).
Pine Cone
This is a computer simulation of how some elegant mathematical relationships commonly found in plants emerge. Many of the relationships are based on the Fibonacci sequence: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ..., where each number is obtained by adding together the two previous numbers. Seeds are often arranged in spirals on flower heads. Often times there are both noticeable counterclockwise and clockwise spirals. The number of spirals going in one direction is usually one of the numbers from the Fibonacci sequence. The numbers of clockwise and counterclockwise spirals are usually SUCCESSIVE NUMBERS in the Fibonacci sequence. For example, a sunflower may have 21 clockwise spirals and 34 counter clockwise spirals.
Pattern Formation
I haven't finished this one yet.


Goldstone, R. L., & Sakamoto, Y. (2003). The transfer of abstract principles governing complex adaptive systems. Cognitive Psychology, 46, 414-466. pdf