Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!wuarchive!uwm.edu!ogicse!unicorn!n8443916 From: n8443916@unicorn.cc.wwu.edu (John Gossman) Newsgroups: comp.theory.cell-automata Subject: CA extensions Message-ID: <1991Feb7.015620.17304@unicorn.cc.wwu.edu> Date: 7 Feb 91 01:56:20 GMT Organization: Western Washington University, Bellingham Lines: 57 Chris Langton requested other CA-like ideas people are experimenting with, so here goes: I've been playing with a very simple A-life, mainly to study Genetic algorithms for learning. Basically the board is a square, wrap-around lattice upon which random quantities of food are scattered in chunks. One square may have 10 units, another 3, another 0 with only about 1 in 3 having any food. The creatures consist of a stomach that is initially filled with 8 (or so) units of food, a hunger that causes them to consume one unit of food each turn, and a large gene. Basically, each creature each turn makes a binary number based on how many cells in its 9-cell (including the one it is on) have any food in them. Thus there are 512 combinations (2^9) of how food lies in its neighborhood. The creature indexes its gene with this number and finds a number telling it to move to one of the 9 cells in its neighborhood. If it lands on a cell with food, it consumes one. If it doesn't it consumes one from its stomach until its stomach is empty, then it dies. The simulation drops 20 creatures onto the board randomly, and keeps track of their average survival time, then breeds together the 5 or 10 most successful ones in multiple ways. Note that these genes are initially COMPLETELY random, and new random creatures are added in every generation. Initially, with their random gene strategies, most die very quickly (9-10 turns). Within only 5 or 10 generations this improves to 14-15 turns, and then continues slowly upwards. I have noted that the life-time seems to reach plateaus for 100s of generations, then jump up suddenly, usually at the same key points (24 -> 30, 34 -> 42), offering support for Gould's puncuated equilibrium theory of evolution. Finally, the creatures turned out to be smarter than I. Given 20 creatures and the amount of food initially in their environment, I estimated a maximum average survival time ~50 turns. However, while watching my experiments I found them surviving 60-65 turns after awhile. After investigating my code, I discovered the creatures were exploiting a "bug" in their universe. If they moved off food, onto a blank square, they neither consumed a unit on that square, nor in their stomachs. Thus by bouncing back and forth onto and off of a square with food, they can survive 2 turns on one food unit!! Anyway, another very simple variation on A-life, using merely an array of initially random numbers for "brains". I was surprised by the rapid pace of evolution. My next try is for more interaction beteen the creatures. // *************************************************************** // John Gossman SoftSource (206)676-0999 Phone WWU Math Dept. My employer stands behind all my opinions, except in public. // ************************************************************** //