Nick Turner's
artificial life experiments

Can software grow through evolution?
Around 1984, I became fascinated by the idea of creating software without actually writing it. What would happen if software were allowed to evolve and mutate, being selected for further evolution based on empirical performance?

The first obvious problem was the matter of language. As any software designer will tell you, if you start making random changes (mutations) to a working software program, you will break it almost every time. You can't evolve it if it breaks every time you change it. So a new language was needed, one that could be changed in small but important ways, randomly, without breaking the functionality of the program.

This was a huge challenge. After four years and dozens of trials, a new language finally evolved, which I call Brain Design Language, or BDL. BDL is not like most traditional programming languages. It's more like a computational network description than a language. It defines tangled webs of math and logic functions, using a wide variety of primitive operators, and it can be modified in subtle ways without destroying its overall function.

Today, I design actual applications of BDL. These include the beautiful Cyberchromes, which draw fabulous artworks in 24-bit color, the fascinating Critters, which live and die in a simulated cartoon world, and more applications still in the design queue.

I would be quite interested in opportunities to apply BDL to practical projects. What kind of projects would be practical? How about autonomous mars rovers? How about weather prediction engines? How about speech recognition devices? There are hundreds of fascinating possibilities.

It's alive!


consulting respond junction