Documentation
COBWEB Introduction
COBWEB (Complexity and Organized Behaviour Within Environmental Bounds) represents a different approach to studying adaptation. The COBWEB project aims to computationally simulate the adaptation of autonomous agents in a changing environment. Version 2 of the software is general simulation platform that simulates how individual agents decisions affect the capacity for a population to adapt to variability and changes in the environment. COBWEB is very interactive, allowing the user to set many parameters that either affect the agents or the resource production. Parameters such as energy expenditure, resource growth rate, energy requirements for different actions and the energy derived from different resources are all accessed through a user interface that is very easy to use. Once the parameters have been set, the environment is displayed graphically. The “world” created by the program consists of a two-dimensional grid populated by colored isosceles triangles, black squares and coloured squares. The triangles are agents, whose tallest apex indicates the direction they are facing; the black squares are rocks, which are impassable by the agents, and the coloured squares are food or energy resources that grow at a user-defined rate.
COBWEB was developed to explore how components of systems (people, animals, bacteria, etc) adapt to environmental change and environmental variability. The software contains two major components: (1) a population of agents that move, eat and reproduce and (2) the resources that the agents consume, which are also variable in location. The agents make decisions on when to move, where to move and when to eat. In combination with optional communication between agents and memory, the population is able to adapt to some environments and fail to adapt in others. This process can result in the occurrence of surprising events, whether it is a sudden extinction after a long period of stability, a recovery from what appears to be certain extinction or a sudden change in population for no apparent reason. These surprising events can be expected in any complex system, and their occurrence in this simple abstraction of complexity is a very important aspect of COBWEB software.
The COBWEB agents are powered by an artificial intelligence tool called a genetic algorithm, which is a behavioural strategy. The resources, are simulated with another common AI, a cellular automaton. A genetic algorithm is a computer algorithm that through a process of continual selection, random mutation and recombination, evolves a collection of strings of data in a direction determined by the nature of the selection. Agents are not given goals, fears, navigation algorithms, or plans for survival. Rather, their GA's are initialized to random values, and by natural selection (since there are limited resources), agents that are not well-adapted to survival are eliminated. COBWEB's agents slide around their two-dimensional world in a non-deterministic way, doing whatever their GA's dictate.
The population evolves in a Darwinian sense, as those agents that are best adapted to the environment tend to reproduce most often, and through mutation during reproduction (the rate of which can be controlled by the user), the system can experiment with new strategies. The agents that are not well adapted to survival are eliminated during the simulation. The user has the option to change the environment in small or large increments at any time during the simulation in order to test the adaptability of the population to change.
COBWEB is a great educational tool for students from ages 9 and up. Students can learn how environmental changes affect social and biological systems by adjusting the initial parameters to explore themes such as survivorship, population growth, resource variability and drought, the costs of energy and cheating. Unique workshops can be developed to explore specific issues such as landscape dynamics (how different populations affect the growth of different plants), invasive species, fertilization, social isolation and the emergence of group behaviour. Ultimately, COBWEB's purpose is to create an evolutionary system complex enough to generate emergent and unexpected results – to reveal information and trends that would be otherwise unattainable.
COBWEB Installation:
COBWEB requires the Java Runtime Environment (JRE) to operate. If you do not already have this installed on your computer, it is available to download for free at http://www.java.com/getjava/.
Installing COBWEB is as simple as saving the file to your desk top. Once this is done, to launch COBWEB, just double-click on the COBWEB.jar icon. It should launch two windows, the one in the background has a grid on it, and the other has a series of tabs labeled: Environment, Resources, Agents and Food Web from left to right.
COBWEB Operation:
1 The Basics:
When COBWEB is launched, it comes up with two windows, one containing the environment display and the other is an interface that allows the user to manipulate the parameters of the program. The Environment tab allows the user to manipulate the physical appearance of the grid. The Resources tab allows the user to manipulate the growth rate, depletion rate and other characteristics of the food resources the program provides for the agents. The Agents tab allows manipulation of parameters that affect each individual agent such as the amount of energy it expends to move and how it may reproduce. Finally, the Food Web tab controls which agents can eat what resources. Additional explanation of the parameters is provided in later sections. The user may manipulate these parameters any way they wish. The four baselines on the website provide some guidance for starting values. If a parameter value is set too high, the program will not run properly.
Once the parameter values are selected, click ‘Save’ if you want to save the parameter file, for future reference or so that the same combination of parameters can be used again without having to re-input all the values. If you do not wish to save a copy of the parameters, simply click ‘OK’. In both cases, the parameters window will close, leaving you with the environment window.
The environment visible in the environment window is dictated by your choice of parameters, however the food resources, stones and agents are randomly placed in the environment grid. Food resources are represented by coloured squares, stones are represented by black squares and agents are represented by triangles with coloured dots in the centre. The colour of the dot on the agent corresponds to its ‘favourite food’, and the colours correspond to the agent and food types in the parameters window as follows: Type 1 = yellow, Type 2 = blue, Type 3 = green and Type 4 = red.
COBWEB will run its simulation indefinitely, but if you would like to control the time step at which the simulation ceases, simply type the number of the time step you would like it to stop into the box left of the ‘Resume’ button. To begin the simulation, click on the ‘Resume’ button. The simulation will begin and you will be able to observe your agents moving about in the environment and the food resources grow and disappear. The ‘Speed’ toggle allows you to control the speed of the simulation runs. The simulation proceeds slower as the toggle is moved farther to the right.
- For more information please refer to the full documentation (downloadable in PDF or DOC)
|