Category: digital organisms

Ep 101: Darwin, the game

Ep 101: Darwin, the game

Darwin, the game

In the summer of 1961, a game was created. It was a programming game. Players would write programs that would compete against one another to try and copy themselves as often as possible, and attempt to deactivate the other programs.

Here are a couple of links with more information on the game.

Darwin, a Game of Survival of the Fittest among Programs

Darwin

Ep 98: Conway’s game of life

Ep 98: Conway’s game of life

Conway’s game of life

In the previous episode we talked about cellular automata, and John von Neumann’s self-replicating system. While he used cellular automata with 29 different states for each cell, a much simpler game is capable of creating self-replicating systems. A British mathematician created his game of life in the 1950/s. In 1970, an article in “Scientific American” popularized his game. Since then self-replicating patterns, and universal computers have been created within his game.

As I mentioned it in today’s episode, here’s a link to my blog series on how computers compute.

Water or steam? to build my computing machine?

Here’s a page that provides a nice overview of the game of life, and how a Turing complete system can be constructed within it.

The Wild World of Cellular Automata

Here are a couple of catalogs of different interesting patterns within the game.

Life Lexicon

Catagolue

Here are a few universal computer patterns that have been created.

A Turing Machine in Conway’s Game of Life, extendable to a Universal Turing Machine

Igblan – Life Universal Computer

Sliding block memory

Ep 97: Von Neumann’s cellular automata

Ep 97: Von Neumann’s cellular automata

Von Neumann’s cellular automata

John Von Neumann began considering the idea of self-replicating systems and machines in the 1940/s. Originally, he considered actual robots, who could build other robots that could build other robots. He quickly became bogged down by the complexity of real world machinery, and the expense of providing enough parts for a robot to build a robot. Instead of using real world machinery, he created cellular automata, which was a grid that changed according to a set of rules—each cell changing according to the state of its neighboring cells. Using this abstract model, he was able to construct self-replicating systems, machines that could build copies of themselves.

Here’s a copy of a report put out by NASA in 1980, considering the advantages of using self-replicating machinery to automate the extraction of materials, and the production of useful products. It was my introduction to self-replication and cellular automata.

NASA’s Advanced Automation for Space Missions

Ep 96: Barricelli’s numeric organisms

Ep 96: Barricelli’s numeric organisms

Barricelli’s numeric organisms

Before Core Wars, or the computer game Darwin, just about as soon as a computer was built that could run the program, a rather obscure Italian scientist named Barricelli, did pioneering experiments in digital life. While his work remains largely unknown, it does demonstrate how people have been working on evolving computer code from the very earliest days of computers.

Here’s a link to the talk where I first heard of Barricelli.

George Dyson: The birth of the computer

Here’s a page that includes an implementation of his work, including source code.

Barricelli : Built with Processing and Processing.js

And here’s an article about Barricelli and his work.

Meet the Father of Digital Life