© Lynn S. Fichter
Mailing Address:
Geology &
Environmental Science
MSC 7703
Harrisonburg, VA 22807
Phone Contact:
540.568.6130
|
|
Experimental Programs
Complexity theory is premised on the computational viewpoint, the idea that to know a mathematical truth you must be able to compute it. The reason is, although all chaos/complexity algorithms (equations) are deterministic, the outcome of their behavior is sensitive dependent and unpredictable. To explore their behavior the algorithm must be calculated thousands, or even millions of times, under a variety of conditions, so we can watch their behavior in real time. It is the massiveness of the necessary computation that prevented chaos from being explored before the ready availability of computers.
There now exists a large variety of computer programs that simulate chaos theory and complex evolutionary systems. Many can be downloaded from the www, but others have to be specially written. We use a mixture of computer models, some derived from books such as Steven Prata's Artificial Life Playhouse, some written here at JMU, some downloaded. All the programs used in Evolutionary Systems are available in the Geology Computer Lab, Miller 229, where we do the laboratory experiments. However, where possible, without violating copyright, we make available all the programs we can for use on your own computer.
Below is listed either a class of programs (C), or a specific program (S) we use. For a class of programs we are looking at a type of complex model for which there are usually many specific programs available. As the semester progresses we will update this page to include more detailed descriptions of each program, and, where possible, a link to a site where you can download a copy for yourself.
- X-next (S)- the behavior of this algorithm is one of the two definitions of chaos we use
- X-next bifurcation (S)- a program that allows global exploration of the X-next equation
- Galaxy (S) - simulates stars in a star field - password protected
- Lorenz (S) - the first strange attractor, whose behavior gave rise to the term butterfly effect
- Mandelbrot (S) - explores the Mandelbrot set, the fundamental fractal world
- The Game of Life (C) - cellular automata, one of the simplest and earliest artificial life systems. Dozens of programs available.
- Boids (C) - a flocking simulation; many versions available, some can be converted into screen savers
- Wordevolv (S) - illustrates the power of natural selection
Genetic Algorithms - programs that create electronic organisms that evolve in an electronic ecosystem. Dozens, if not hundreds, of versions of this Alife system exist, from exceedingly simple, to very elaborate systems that run for years. We study a few simple ones to gain the principles, and talk about the more elaborate ones. Examples include:
- The John Muir Trail (S) - one of the earlier versions in which agents learn to solve a problem - negotiate the John Muir trail. Link is to Patrick Brennan's DOS program.
- Microants (S) - password protected
- Primordial Life (S) - link is to Jason Spofford's site where program can be downloaded
- Tierra (S) - evolving agents based on sequences of machine instructions that live and evolve in the CPU. Once the initial replicator (the ancestor) is created it is capable of self-evolving its own code to enhance its own survival. In other words, what is evolving here is the computer's code, the instructions usually written by the programmer
And finally a variety of evolutionary systems that do not easily fall into a category, but are all the more fascinating because of it.
- Prisoner's Dilemma (S) - the basic nonzerosum game theory, the study of conflict between thoughtful and potentially deceitful opponents. Don't be fooled by the name game. What game theory is really about is strategy. Today game theory is so pervasive and so important it is hard to exaggerate its importance. We all participate in games theory games all day long.
- Sugarscape (S) - sociological modeling
- Bak-Sneppen (s) - model of evolving ecosystems
These are the main programs. In addition are many other programs we have that we may or may not use, depending on what we are trying to explore. But, we are always looking for new programs, or trying to write programs that model things we want to study, so you never know what is going to turn up :-)
|
|
|
|