Similarly, if a cell is now dead, it will either stay dead or spring to life in the next generation. If a cell is currently alive, it will either remain alive or die in the next generation. We start with our seed generation, which we can think of as “Generation 0.” We then consider each cell in the context of its neighbors. Consider the following illustration, for example:Ī small group of cells in a GOL universe. Thus, although these rules may appear simple when you read them, it can take some mental gymnastics to apply them. Any dead cell with exactly three live neighbors becomes a live cell, as if by reproduction.īirths and deaths occur simultaneously, and each new generation is a pure function of the preceding generation.Any live cell with more than three live neighbors dies, as if by overpopulation.Any live cell with two or three live neighbors lives on to the next generation.Any live cell with fewer than two live neighbors dies, as if by underpopulation.We then let the simulation evolve from one generation to the next using the following set of rules: Thus, we start by seeding the universe with some pattern, which might involve some specific combination(s) of cells, or it could be randomly generated. Still, things didn’t take off until 1970 when the British mathematician John Horton Conway invented his CA called the Game of Life (GOL).Ĭonway was something of a “character” described as being like “Archimedes, Mick Jagger, Salvador Dali, and Richard Feynman all rolled into one.” In its original two-dimensional (2D) incarnation, the universe in which the GOL takes place is an infinite grid of square cells (more recently, some people have experimented with three-dimensional (3D) universes formed from an endless array of cubic cells).Įach cell in the GOL can be in one of two possible states: “alive” or “dead.” Also, each cell interacts with its eight “neighbors,” which are those cells that are horizontally, vertically, or diagonally adjacent. At the same time, they were contemporaries at Los Alamos National Laboratory. The CA concept was initially discovered in the 1940s by Stanislaw Ulam and John von Neumann. At the beginning of the simulation, an initial “seed” state is applied to the cells, after which a small number of rules are employed to proceed from one generation to the next. The state of each cell is affected by the conditions of other cells in its local neighborhood. A CA involves a “universe” formed from a grid of cells, each of which can be in one of a finite number of states. More complex rules can be added, such as obstacle avoidance and goal-seeking.”Īnother form of artificial life is that of cellular automaton (plural cellular automata, abbreviation CA).
The rules applied in the simplest Boids worlds are as follows: separation (steer to avoid crowding local flockmates), alignment (steer towards the average heading of local flockmates), and cohesion (steer to move towards the average position (center of mass) of local flockmates). By some strange quirk of fate, “boid” is also the way folks pronounce “bird” in the metropolis of New York.Ī good summary of this concept is provided by Wikipedia, which tells us that: “As with most artificial life simulations, Boids is an example of emergent behavior that is, the complexity of Boids arises from the interaction of individual agents (the boids, in this case) adhering to a set of simple rules. The “Boid” moniker originated as a shortened version of “bird-oid object” (i.e., “bird-like object”). The first example I saw of this sort of thing was an artificial life simulation program called Boids, developed by computer graphics guru Craig Reynolds in 1986. Related: Ping Pong Ball Array Shines with LEDs, Switches and MCU