We’ve talked a little in the past about what it means to be intelligent.

Computers are really amazing machines.  Their level of complexity is something we just take for granted.  At the most fundamental level, computers just execute a predetermined set of instructions like:

  • take this web page and display it like this
  • add these two numbers together
  • when the door opens, turn on the lights
  • given these two addresses, and this huge set of map data, find me the shortest route to get there

Using the last example, we can even get machines to make corrections when you make a wrong turn.  Your GPS system can reroute you based on another set of rules.

Through sophisticated algorithms a machine can even take a set of these wrong turns and refine the way it presents and responds to your mistakes.  It could, for example, start letting you know about your next turn earlier if you are predisposed to missing the turns.  This happens fairly easily if we add a piece of code to look for this behavior and respond to it.

This isn’t the same as being intelligent.

Things that are “alive” can take mistakes or unexpected circumstances and not only respond to them but make entirely new models of how to deal with things. If you are sitting in the passenger seat of a car and giving the driver directions and the driver always misses turns, you create a new response to giving them directions on the fly.  You are not pre-programmed to look for this error. In effect, you write yourself a new piece of code to deal with this.

A machine is not intelligent until you separate it from it’s programming.  It needs to be able to learn from it’s mistakes.  It would do this by being able to write it’s own code, building on it’s existing programming and knowing how to make additions or changes to itself.

The long development cycle of a human makes a great comparison to building an intelligent machine.

When you are born, you have “basic programming”.  Your heart knows how to beat, your immune system works, you can breathe, and cry, and eat, but you don’t even know how to use your hands.  You progress to using your body to get you around, then you develop simple language skills.  Then over the rest of your development you reprogram yourself constantly, learning from mistakes and reinforcing things you learn that are correct.

This process is the holy grail of Artificial Intelligence.  You build a machine that is capable of dynamically reprogramming itself based on it’s “experiences” over time.  It starts off like an infant and then needs to spend time learning and making mistakes.

After it “grows up” we can give it the keys to the nuclear arsenal and it can proceed to destory us.  Or maybe I’ve been reading too much SciFi.  One of those.