Student ProjectsUAT student Andre Zeitler describes several A-Life programming class projects:Flocking This Agent-based model illustrates simple movement rules that result in behavior that resembles the flocking of birds, swarms of insects, or herding of sheep. The members of the flock try to head towards their target, keep near to each other, keep a certain amount of space away from each other, and face the direction their flockmates are heading and the direction of their target.
Agent-Based Model Agent-based models have a wider range of implementation than
the other programs discussed in the A-life class because each program can
represent a different agent or life form. The idea is to create the agent with
some basic properties in order to replicate the real thing. So this type of
program could model the flocking of birds, the predator/prey relationship of
creatures, or ant colony optimization, as my project demonstrates. Download the program. L-System This was the first project I had to do for the Artificial Life Programming class. The Lindenmayer system, or L-system, is a set of simple rules or symbols that is usually used to model the growth of plants. This program could be considered a simple string manipulation program, but it demonstrates the concept of emergent behavior, which is an important concept throughout A-life. Given a starting point and applying some simple rules, you can obtain complex results such as the Fibonacci number sequence. Download the program. Cellular Automata A cellular automaton is a grid of cells, each cell having
multiple states of being, with the cells being in a certain state at a certain
point in time. The cell state is determined by its neighboring cells, and once the
entire grid has checked for change, a new generation is created. This allows
for a more complex and visual demonstration of emergent behavior. Download the program. Genetic Algorithm Genetic algorithms are search techniques inspired by evolutionary biology to find approximate solutions to a problem or to find the best solution. As an example, let's say we have a population of penguins, some good at swimming and others good at walking. We want to create the ultimate penguin, one that can swim and walk better than any other. So, in each generation of penguins, the most talented penguins and a few not-so-talented penguins get to breed. When they breed, some mutation occurs, thus evolving the next generation of penguins. This mutation gradually moves us closer to the ultimate penguin, though with this mutation we could be getting disfigured penguins instead. This is what my program demonstrates-using coins instead of animals-and can be changed to find optimal solutions to multiple problems. Download the program. |
||||||||||||
|
|
||||||||||||