Genetic Algorithm AI Writes Self-Modifying/ Improving Programs

— by

Kory Becker from Primary Objects has been experimenting with AIs capable of writing their own computer programs. The AIs Kory is using are called genetic algorithms.  They function much the same as biological evolution, in that the programs they write get better and better with each generation.  In other words, genetic algorithms are programmatic implementations of survival of the fittest.  They can also be classified as artificially intelligent search algorithms, with regard to how they search an immense problem space for a specific solution.

Okay, so we’ve got an AI that can write programs, but what programming language is best suited to the task?  Kory decided on a language known as brainf**k due to the fact that it is Turing complete (it’s theoretically capable of solving any computational problem in the universe), as well as for its sheer simplicity.  Brainf**k uses a set of only eight instructions; each instruction is one byte.  It looks like this:

+-+-+>-+++++<+<>++]>[-[—.–[[-.++++[+++..].]]]]

“hello”

Jack tells me that someone in the Gadget Factory community is working on making brainf**k work on the Papilio as we speak.  We’re thinking of giving it access to the hardware so we can see what happens.  We will keep you updated with the progress on this and will share the results here on the blog!  It should be pretty interesting to unleash a genetic AI on the hardware and track its progress.

If you would like to try this out yourself, all code for the AI is available at GitHub. You can check out Kory’s original article here  – it’s a fascinating read.  Oh, and you’re welcome to say your piece in the comments if you’d like!

(via Primary Objects, original article by Kory Becker)

Newsletter

Our latest updates in your e-mail.


Leave a Reply