Drawing Life with Programming

Type: News

The word artificial intelligence often prompts images of robots, self driving cars, or maybe even IBM’s Watson computer. These are all great instances of really complex AI but, there is also a version of AI referred to as “dumb” or simple AI that often goes unnoticed.

Cellular automaton simulation programmed using John Conway’s Game of Life rules. (Wikipedia)

In our Creative Coding class, a group of students are investigating cellular automata (CA), one example of a model that uses simple AI. Natural cellular automata create the patterns seen on some seashells; a pattern that can be resembled using a CA with a simple set of rules. Upon hearing this information, one student exclaimed, “YOU CAN DO THIS WITH PROGRAMMING?!?!” The class continued talking aloud about how cool programming is because it can connect to so many of the topics they learn about in other classes. But hold on, what exactly is a cellular automaton?

A cellular automaton is a model of “cells”. Each of the cells lives on a grid, has a state, and has neighboring cells around them. The easiest way to visualize this is by imagining graph paper. The squares represent a cell, whether the square is filled with pencil or not represents its state, and its surrounding squares are neighbors. A rule or set of rules is then applied to each cell and its’ neighbors to produce a new set of cells with states derived from those rules. The result often times is a program that “lives”. The most famous example, comes from mathematician John Conway’s Game of Life, which he explains in the video below.

You can learn more about about the applications of cellular automata to Science from Stephen Wolfram’s A New Kind of Science and creating cellular automata in Processing from The Nature of Code.