Sunday, February 8, 2009

In the beginning

The purpose of this blog is to talk about artificial intelligence - especially as it relates to evolutionary algorithms. Therefore the name, the evolutionary brain or evobrain for short. I have also taken on the nom de plume of "evobrain" which might get confusing, but there it is. I suppose a true AI could easily figure out from the context which evobrain I was referring to in the great majority of the cases. Ambiguities, it seems to me, is one of those areas where the human brain is vastly superior to current computer logic.

The origins of this project was a program I started writing a few years ago about a mouse in a maze. The idea was that the mouse should be able to learn to traverse the maze more quickly and then be able to apply that learning to another maze. Eventually it would come upon a algorithm for traversing mazes.

I intended this to be a very simple example of artificial intelligence which I could easily simulate. The idea was that this would provide me a platform to run AI experiments and to develop my own ideas on the subject. I thought about working with some sort of real physical robot, but decided that simulation would be a much more efficient environment in which to test my ideas.

I settled on Java as a programming language because not only could I write the logic, but I could also create a graphical simulation with a minimal amount of effort. I already knew C and some C++ so it was not that difficult to transition to Java - although it's hardly a trivial exercise. I had never done GUI programming. It was something I had wanted to do for a long time, but I was never happy with the Microsoft approach. When I started looking at how Java incorporated GUI, it just made sense to me and I liked that I could run the same program on various platforms. This became especially important when I bought my first Apple computer which is the MacBook that I'm using to write this blog.

The evolutionary part of the name "evolutionary brain" comes from evolutionary algorithms. As I was exploring the world of AI, I eventually came upon some videos by a graduate student named Julian Togelius which just shocked me. Here was a car learning to drive on its own. This convinced me of the power of evolutionary learning algorithms and I became intrigued by the idea that this could be the basis of learning in human intelligence.

I had been thinking about creating a blog on this topic for sometime, but I was concerned that it might turn into a time sink and so never actually went through with it. The thing that finally convinced me to write my thoughts online was an article by Kevin Kelley titled "Evidence of a Global SuperOrganism". It was so thrilling to find someone expressing ideas similar to my own about AI. It seemed like his ideas would parallel mine and then slightly diverge and then come back in unison. I soon learned the KK was in the process of writing a book about what he calls the Technium, and that his blog was a way of exploring the ideas that would eventually become his book.

So I decided to finally create this blog to provide a public space to write my responses to Kevin Kelley's Technium. The highest honor for me would be if KK himself would come visit my blog and incorporate some of my ideas into his book.

This will also be a place for me to discuss AI in general, and to discuss my own Evolutionary Brain Project in particular. I expect that the topic of the Singularity will come up fairly frequently. I have amassed a huge number of links on AI in my informal studies of the subject and I might use this blog to highlight some of those from time to time as well.

And so this blog is born and begins its own process of evolution.


  1. How interesting! About four months ago I started similar project (I even happened to use Java too :).. Although now I can't devote much time to AI, I'll definitely be reading your blog.

    Keep up the good work!

  2. Hi ansgri,

    Sorry I did not respond to your comments earlier. I took a break from the whole evobrain project. Partly because my macbook had been getting more and more sluggish. I just did a fresh install of Leopard OS and it's running like new again. I'm hoping to get back to doing some AI programming again.