In the cellular automaton method, a grid is set up, where each cell of the grid can have a value of either zero or one. Alternatively, each cell can be thought of as either containing or not containing a live bacterium. This grid is then run through a number of iterations, or generations, during which a set of rules is applied to each grid cell. For example, if a certain cell x contains a live bacterium on a given generation y, and there are less than four live bacteria in the eight adjacent cells, then the bacterium in cell x will produce offspring, and so there will also be a live bacterium in cell x on generation y+1. But if, on generation y, there are four or more live bacteria in the cells adjacent to cell x, then there will not be enough food left for offspring to survive in cell x, and so that cell will be empty on generation y+1. In this way, a new grid is produced on each successive iteration which depends upon, but is different from, the previous grid.
The landscape modeler uses this type of an algorithm. Specifically, it looks at the eight adjacent cells plus the cell itself. If less than four or exactly five of the nine cells have bacteria, then the cell will have a bacterium on the next iteration, otherwise it will not. It begins with the grid initialized randomly, runs the algorithm for a set number of iterations, and then computes, for each cell, the number of iterations on which there was a live bacterium in that cell. This sum is then the height at that point on the grid. Although the grid begins with a completely random setup, the nature of the algorithm tends to group live bacteria, thus creating mountains.