Chapter 14 - Artificial Intelligence

(14.1) - Introduction

Artificial Intelligence is the attempt to make computers act like human beings. How do we know if an attempt is successful?

Alan Turing proposed a test for intelligent behavior of machines in 1950.

The Turing test has a person ask questions of a human and a computer - Figure 14.1.

If the interrogator can't determine which answers come from the human and which come from the machine then the machine passes the Turing test.

(14.2) - A Division of Labor

We classify the mental tasks of humans as follows:

(14.3) - Knowledge Representation

How can we represent the knowledge or the body of facts and truths on some topic?

  1. Natural Language For example: Spot is a brown dog and, like any dog, has four legs, and a tail. Also like any dog, Spot is a mammal, which means Spot is warm-blooded.

  2. Formal Language:

  3. Pictorial A photo of Spot would show that he is brown and has four legs and a tail but it wouldn't show that every dog is a mammal and that all mammals are warm-blooded. It also wouldn't show that all dogs have four legs and a tail.

  4. Graphical A semantic net is a graph with nodes and arcs. Figure 14.3 is a semantic net for our dog example - rectangles represent classes and objects while ovals represent properties:

(14.4) - Recognition Tasks

One way to try and give a computer some artificial intelligence is to mimic the way that humans think. The human brain contains about 1010 to 1011 neurons. Each neuron is a cell that receives electro-chemical stimuli from other neurons through its many dendrites and can send stimuli to other neurons through its single axon (see Figure 14.4).

The axon of a neuron sends signals to the dendrites of other neurons over small gaps called synapses. Some synapses send activating stimuli to the neuron and others send inhibiting stimuli. Whenever the number of activating stimuli exceeds the number of inhibiting stimuli by some threshhold value the neuron fires a signal down its axon to affect other neurons.

Each neuron is a very simple device with a single on/off output that takes a millisecond or so to operate. Logic gates in a computer operate a million times faster - in nanoseconds rather than milliseconds. The human brain achieves its power to think with a connectionist architecture: many highly-interconnected neurons operating in parallel. In some parts of the brain one neuron might collect stimuli from as many as 100,000 other neurons and send stimuli to as many as 100,000 other neurons. Massive parallelism in a neural network not only speeds up its information processing abilities but also adds redundancy so the network will still operate even if some of the neurons are faulty.

Artificial neural nets simulate the connectionist architecture of the human brain. Figure 14.5 is a diagram of an artificial neuron with a threshhold of 3 and three inputs with weights 2, -1, and 2, respectively:

Figure 14.6 shows a neural net of artificial neurons with binary inputs x1, x2, ..., xn, feeding neurons N1, N2, ..., Nn. For all i and j, input xi feeds neuron Nj through a connection with weight wij which may be positive, negative, or zero. If xi = 1 then neuron Nj receives stimulus wij, else, if xi = 0 then neuron Nj receives no stimulus.

If the sum of the stimuli received by neuron Nj exceeds its threshold then it fires and feeds neurons A, B, ..., P - for k in the range of A, B, ..., P, neuron k receives stimulus wjk from neuron Nj.

One programs a neural net to perform a certain recognition task by giving it a series of input patterns with patterns it is supposed to recognize and patterns it is supposed to reject. Whenever the neural net produces the wrong output for a given pattern the weights on the links are adjusted. It may take hundreds of trials before the neural net learns the particular recognition task. Neural nets have been trained to perform certain tasks like handwriting recognition, speech recognition, recognizing patterns indicating credit-card fraud, etc.

(14.5) - Reasoning Tasks

Humans perform reasoning tasks by drawing on a large body of facts and past experiences. How can we program a computer to perform a reasoning task?

(14.5.1) - Intelligent Searching

How does a world champion chess player, like Garry Kasparov, play chess? When it's his turn to move he picks a number of likely moves and analyzes each of them to see which is the best move. To analyze each of the likely moves he must consider what moves the opponent might make and determine what his best next move would be in each case. To determine what his best next move would be in each case he must analyze a number of likely moves, etc. The analysis can be shown as a decision tree. The following diagram shows a decision tree where the chess player has five likely moves to analyze and in each case the opponent has five likely moves:

This diagram illustrates combinatorial explosion - as one goes down the tree the number of cases to be analyzed grows exponentially. It's that fact that prevents a chess player from going very far down into the decision tree. A champion chess player has enough experience to recognize good positions and bad positions and uses that knowledge to prune the decision tree search.

IBM built a machine called Deep Blue to play chess - it has 512 processors to search several levels of a decision tree in parallel and a memory holding a large number of positions. Deep Blue lost a match with Kasparov in 1996 but IBM improved it to win a match with Kasparov in May 1997.

(14.5.2) - Swarm Intelligence

A colony of ants exhibits swarm intelligence. Ants searching for a food source lay down scent trails (pheromones). The ant that took the shortest path to food and returned to the colony lays down a path that is stronger than that of other ants and this path is re-inforced by other ants going to the food source.

The ANTS (Autonomous NanoTechnology Swarm) project at NASA's Goddard Space Flight Center is developing an interesting application of swarm intelligence. A large number of tetrahedron-shaped devices are dropped on the surface of a distant planet and communicate with each other to explore the surface and report significant data back to the earth.

(14.5.3) - Intelligent Agents

An intelligent agent is some software that tries to interact with a user like a personal assistant. For example:

(14.5.4) - Expert Systems

An expert system has a knowledge base containing a set of facts about a subject matter and an inference engine for selecting relevant facts and reasoning from them in a logical manner. The knowledge base is built by consulting a number of human experts. Expert systems have been built to perform specific forms of medical diagnosis, computer chip design, monitoring manufacturing processes, financial planning, purchasing decisions for retail stores, and diagnosing failures in electronic systems.

(14.6) - Robotics

The word robot comes from the Czech word robota which means slave-like labor. It comes from a play written by Karl Capek in 1921 called R.U.R. (Rossum's Universal Robots) about a scientist who invents robots to perform simple tasks to help people but who take over the world when their human owners try to use them to fight wars. Robots in science fiction usually have a human-like form but most real robotic devices don't look like humans. The following table shows examples of the current uses of robots.

Assembling auto partsPackaging food and drugs
Placing and soldering wires in circuitsBomb disposal
Radiation and chemical spill detectionWelding
Inspection of sewer lines and oil pipesSecurity sentry duty
Exploration of the surface of MarsUnderwater salvage
MicrosurgeryWheelchair navigation
Emergency search and rescueVacuum cleaning
Window washingLawn mowing

Kenneth E. Batcher - 9/2/2009