This is a follow-up to my last post. In it, I was talking about how fascinating Artificial Life is. Genetic algorithms (trying to do something useful with Artificial Life) and neural networks may be among the most overused artificial intelligence (AI) algorithms for the simple reason that they’re romantic. The former conjures up the notion that we are recreating life itself, evolving in the computer from primordial soup to something incredibly advanced. The latter suggests an artifical brain, something that might think just like we do.
When you’re thinking about AI from a purely recreational standpoint, that’s just fine. (Indeed, I have occasionally been accused of ruining the fun of a certain board game by pointing out that it is not about building settlements and cities, but simply an excercise in efficient resource allocation.)
But lest you get seduced by one claim or another, here are the three things you need to know about artificial intelligence.
First, knowledge is a simple function of alleged facts and certainty (or uncertainty) about those facts. Thus, for any circumstance the right decision (from a mathematical standpoint) is a straightforward calculation based on the facts. This is simply the union of Aristotle’s logic with probability. Elephants are grey. Ruth is an elephant. Therefore Ruth is grey. Or, with uncertainty: elephants are grey 80% of the time. Ruth is probably (90%) an elephant. Therefore there is an (0.80*0.90=) 72% chance that Ruth is grey. If you have your facts straight and know the confidence in them– something you can learn from a statistics class– you can do as well as any intelligence, natural or artificial.
Think about this for a moment. For just about every situation, there are one of three cases. In the first case, there isn’t enough data to be sure of anything, so any opinion is a guess. How popular a movie will be when almost nobody has seen falls into this category. Second, there is enough data that one possibility is likely, but not certain. (The same movie, once it has opened to a small audience, and opinions were mixed.) And third, evidence is overwhelming in one direction. But in none of these cases will a super smart computer (or human analyst) be able to do better on average than anyone else doing the same calculations with the same data. Yet we tend to treat prognisticators with lucky guesses as extra smart.
Which leads us to the second thing you need to know about AI: computers are almost never smarter than expert, motivated humans. They may be able to sort through more facts more quickly, but humans are exceptionally good at recognizing patterns. In my experience, a well-researched human opinion beats a computer every time. In fact, I’ve never seen a computer do better than a motivated idiot. What computers excel at is giving a vast quantity of mediocre opinions. Think Google. It’s impressive because it has a decent answer for nearly every query, not because it has the best answer for any query. And it does as well as it does because it piggybacks on informal indexes compiled by humans.
And the third and final thing you need to know about AI is that every AI algorithm is, at one level, identical to every other. Genetic algorithms and neural networks may seem completely different, but they fit into the same mathematical framework. No AI algorithm is inherently better than any other, they all approach the same problem with a slightly different bias. And that bias is what determines how good a fit it is for a particular problem.
Think about a mapping program, such as MapQuest. You give it two addresses, and it tells you how to get from your house to the local drug store. Internally, it has a graph of roads (edges, in graph terminology) and intersections (vertices). Each section of road has a number attached to it. The maps I get from AAA have the same number– minutes of typical travel time. MapQuest finds the route where the sum of those numbers– the total travel time– is minimized. In AI terminology, the numbered graph is the search space, and every AI problem can be reduced to finding a minimal path in a search space.
What makes AI interesting is that the search space is often much too large to be searched completely, so the goal is to find not the shortest path, but a path which is short enough. Sometimes the path isn’t as important as finding a good destination, for example, finding the closest drug store.
In the case of artifical life, each “creature” is a point in the search space. Consider Evolve, the program I wrote about the other day. In it, each creature is defined by a computer program. The search space is the set of all possible programs in that programming language– an infinite set. And any transformation from one program to another– another infinite set– is an edge. By defining mutation and reproduction rules, a limited number of edges are allowed to be traversed.
So, to summarize: certain AI algorithms sound romantic, but they are all essentially the same. And humans are smarter than computers.