Teaching Old Turtles New Tricks : Artificial Life Simulation Using Lingo

The new and expanding interdisciplinary field of artificial life (Alife) is not yet well defined and will mean various things to different people. Alife.org [2000] states broadly “The term Artificial Life is used to describe research into human-made systems that possess some of the essential properties of life. “ This article details the simulation of one such life-like system implemented using Macromedia Director. Though many of the ideas and techniques relating to alife that are explored in this project have been studied for many years, this project breaks new ground as it uses Director to allow the user to easily visualize the life-like processes occuring within the simulation. Speciffically, this project aims to explore the visiualisation of two components of complex, life-like systems: decision making and evolution. This article contains four main sections, the first describing the simulation interface and it’s components, the second detailing the underlying representation of individual life forms and their environment, the third exploring the mechanism for decison making along with other life like features and the last concerned with the use of a genetic algorithim for the evolution of artificial life. Additionally, possible future explorations for the project are proposed. 1 THE SIMULATION ENVIRONMENT 1.1 TUTORIAL FILE SETUP This project was developed through a seminar in artifical life involving faculty and students of the Department of Information Technology at the Rochester Institute of Technology. It’s main goal is an intorduction to the simulation of life-like functions in an artificial environment. To get started, open the demo (alife.dir) that accompanies this article. Starting the movie will create a number of artificial life forms and start the simulation. This group of life forms is the first generation. They will begin performing actions based on their genetic code. These actions may involve changing their movement speed and direction based on a number of percieved environmental conditions and consuming food to survive. Figure 1: View of simulation, running with default parameters and variable setup. 1.2 VISUALIZATION OF LIFE The moving, blue forms represent the living individuals. They are sometimes refered to as “Turtles“ because of their Logo based heritage. The plane of green and black squares represents the land that the individuals move on. These squares are termed “patches“. This term come from StarLOGO [MIT, 2001], the simulation tool on which this project’s environment is based. The more green a patch has the more food it contains. A turtle will eat when it is on a patch that contains food. Eating is the only way a turtle can increase it’s energy level. A turtle is constantly using energy to maintain the functions of life and will spend energy faster when it moves more quickly. So, a turtle must spend energy to move to find food to get more energy, just like real life. If a turtle is unable to find enough food it’s energy level will reach zero and it will die. When a turtle dies it becomes red and is placed in the “graveyard“ at the back of the environment. After a certain amount of time the simulation halts and reproduction takes place. The population replenishes itself with a new generation of turtles and the simulation restarts. The generation number and the time left until the next generation will be generated are displayed in the upper left along with statiscs detailing how well the last generation fared, including the number of individuals that survived the last generation (out of 72) and the average age of all of the individuals at the end of the last generation (a maximum of 350 if all individuals survive to the end). This simulation is set to start with no auto-matic rebounding behaviour to keep the turtles on the board. In fact, you may notice a substantial number of them flying off in all directions in the first few stages of exolution. Over time however (10-20 generations) you should notice that many of the turtles develop their own rebounding behaviour (as well as a number of other behaviours which this paper will describe). Such was our intent – to allow an object to develop behaviour without explicitly programming than model into the object. Turtles rebound because by doing so they can continue to get food, and live longer, both of which are goals of the overall ecology. The controls in the upper right change the users view of the world. Allowing them to move and zoom their view relative to the scene. Experiment by watching turtles close up to note their individual difference, and by zooming out to note the trends in the entire population.