Artificial intelligence and problem solving

The debates over AI are growing. Many people are worried about machines taking over the world. Others worry about people relying on machines to solve problems instead of developing their minds. Many science fiction plots have been based on this. The more immediate problem is that the term AI is being misused by marketing people.

Intelligence is defined as “the ability to acquire and apply knowledge and skills”. While the computers may seem to think faster than we can, or appear to solve problems, the reality is that most of them are just following a set of instructions that a programmer spent a lot of time writing. This is most evident when they encounter a set of conditions that the programmer did not think of. This is when the computer looks spectacularly stupid. Given the same circumstance, it will come up with the same result over and over. The machine will never learn, or come up with another solution on it’s own. A software update is needed, essentially a person giving it a new set of instructions.

The challenge in AI programming has been how to give the computer a set of instructions to cope with an unanticipated problem. One of the thoughts have been to have it try random solutions, or all possible solutions, until it finds the right one. Computer are well suited to this since they don’t get tired. Remembering the correct solution in that case could possibly be defined as a form of intelligence. It does lack originality though. It is unlikely the computer will develop warp drive while it is trying to figure out the shortest route to deliver Coke to your local convenience store.

Heuristics are another approach. The logic is fuzzier, but the computer gets a set of rules to apply to situations. One of the simplest is Tic-Tac-Toe. If possible take the center square. If unavailable take a corner square. If your opponent has two in a line, block, etc.. For chess the rule set is more extensive, but it is still just a rule set. There can be rule sets to look ahead at contingencies based on the opponents possible moves. When the computer beats you at chess, is it a sign of intelligence, or is it that the computer is capable of processing data faster and more accurately than a human? The computer won’t fail to see a possible move, but will it originate a new strategy?

The term AI is frequently used in data analysis now. Computers are good at sifting through massive amounts of data, but it was still a person who gave it the instructions. It is not really intelligence. AI has become a good marketing term though. A web design program gets labeled AI when it is really just applying templates at the user’s request. Statistical analysis may show better where to apply marketing budgets, but it was not the computer that determined how to appeal to people, it only located the information it was asked to.

Computers are not terribly good at dealing with the real world, so we have self driving cars that crash in to things because they were not able to interpret sensor data. A programmer goes to work giving it an updated set of instructions to prevent that from happening again.

Ever tried to have a conversation with Siri or Cortana? There are a few amusing Easter eggs in there, but it becomes evident pretty quickly that they are a voice menu system, not an intelligence. They will do the commands the recognize, but in the end will default to a web search for any topic they don’t. Even a simple function like recalculating a traffic route. It is capable of calculating a route from a voice command. It is capable of recalculating if I get off course, but won’t recalculate a route if I ask it to. It substitutes wrong commands, error messages and web searches. The function is not outside it’s capability but nobody put in a command sequence to do it.

Real AI requires the machine to learn from mistakes and come up with better solutions. The pathways through the program are modified, and even then it can go horribly wrong.

So we have all the ads now, touting programs that are AI. What are these machines actually learning? What solutions are they implementing? In most cases, none. Artificial Intelligence has become a buzz word to conjure images of leading edge technology, but in reality the programs are still following a predefined instruction set.