The origins of AI

Intelligence is a powerful concept. It permeates everything. Look around you. The objects in the room you are in are arranged in a way that makes these useful. If you look outside, trees and other plants each have their place and fulfil a function. In a way you can say everything is ordered intelligently.

Most people think of artificial intelligence as something we create. But is it?

When I designed my first tech product, back in 1993, the distinction was clear. On the one hand you had data and on the other algorithms that manipulated it. The product was a simulator that implemented quantum mechanics in a way that it achieves a scientifically accurate simulation. So that you could observe visually how a molecule changes during a chemical reaction, or how the nuclear fusion of two hydrogen atoms works to aid in the design of a fusion reactor.

Architecturally it was to run on custom hardware consisting of up to 1,000 transputers T9000. Still the algorithms could not run a full simulation of every quantum interaction involved in the above examples, as their computation is extremely expensive, so it required a form of abstraction to arrive at accurate particle behaviours.

Simulation based on INMOS T9000: interestingly the T9000 solved, besides massive parallelization, a key problem that still plagues multicore processors today, scalable parallel memory. While the processor cores can run in parallel, most of the time they have to wait for access to shared system memory. This is particularly important for AI, as predictions usually require a lot of state tracking.

Intuitively it was always clear that this abstraction represented a form of intelligence, and that the quality of its implementation determines the value of the full simulator.

But I didn't connect the dots. I simply viewed the simulator as a machine built to specs, fed with data as an input for the simulation, and algorithms that interpret it to show you the results as a video.

Many years later, after having worked for a decade on AI, I see it differently.

It isn't so difficult to grasp that the algorithms present a form of intelligence, as object-oriented programming lends itself naturally to view the particles as malleable objects.

The main difference is that I don't view the algorithms as a creation anymore. Rather I see the underlying objects, quantum particles and their interactions, as having an inherent intelligence, and that the programmer gains tremendously by capturing it accurately.

If you will, you can say, we don't create artificial intelligence, we rather try to recognize what is there and make it work for us.

It seems like a subtle, philosophical distinction, but it is a profound paradigm shift.

In a way it is similar to the Wachowski's The Matrix. As fascinating as its story is when you watch the movie the first time, there is a more profound story that most people note unconsciously but are not aware of. That every object in the world can be thought of as having inherent intelligence.

In The Matrix it is the animation of the objects. But as an AI programmer it shifts your world, if you learn to employ this intelligence to your benefit.

You can view the brute-force computation of variants as the least intelligent way of arriving at a prediction. It is also the least efficient.

If you knew which variant is the best beforehand, prediction becomes easy and fast. Intelligence is the key here. Your own as a programmer, but also techniques how to make existing rules and mechanics work for your benefit.

This is what this blog is about to a large extent. Discussing and developing techniques to build intelligent systems, mostly based on my practical work on AI.