Thinking Machines - Department of Computer Science

advertisement
COMPSCI 111 S1C - Lecture 30
1 of 4
COMPSCI 111 S1C - Lecture 17
Computer
Science
Thinking Machines
Introduction
The origins of artificial intelligence are buried among philosophical works of ancient authors. Since the
time of Plato and Aristotle, people have attempted to understand and explain the inner workings of the
human mind. In The Leviathan (1651), Thomas Hobbes comments that “reasoning is all but reckoning”.
His comment advocates a deterministic approach to the human mind, insisting that all human reasoning
(regardless of its nature) can be reduced to computational reckoning. In other words, all human
intellectual abilities such as playing chess, solving mathematical puzzles or philosophical discussion can
be expressed purely in terms of some computational process.
The discipline which we know today as Artificial Intelligence began as more formalised study of Hobbes’
idea when, in 1956, a group of researchers headed by John McCarthy made a proposal to study “the
conjecture that every aspect of learning or any other feature of intelligence can in principle be so precisely
described that a machine can be made to simulate it.” The proposal received funding, and the Dartmouth
Summer Seminar was held. The conference was never considered a complete success at the time, but in
retrospect we are able to define this conference as signifying the birth of artificial intelligence as a
discipline.
Computers were recognised as machines which were capable of manipulating symbols, in much the same
way that humans are capable of symbol manipulation. Early work in AI discovered that symbol
manipulation according to well defined rules was capable of producing impressive results. Most notably,
on August 9th 1956, Newell and Simon produced a program named Logic Theorist, which was able to
provide a theoretical proof of a logic theorem starting from basic axioms. This was the first time that a
machine had produced something that required intelligent thinking when achieved by humans.
The production of a mathematical proof had always been considered to require intelligence. The fact that
a machine had proven capable of achieving such a proof bought philosophical attention to the definition
of human intelligence. The central questions which remained unanswered were issues about the nature of
intelligence (just what is it exactly), and although it was apparent that a machine could exhibit seemingly
intelligent behaviour, was it actually intelligent?
A Philosophical Digression
In 1950, Alan Turing wrote “Computing Machinery and Intelligence”. In this paper, he suggests that if a
computer were to answer questions with replies that were indistinguishable from a human, then we should
consider it to be intelligent. In fact he proposes a definitive test involving a person (the judge) who
communicates with either a computer or a person through text typed into a computer terminal. If the
judge cannot tell if the replies are generated by a computer or a person, then the computer is intelligent.
This behaviourist view advocated by Turing is generally accepted by computer scientists, who are (for the
most part) happy to avoid the philosophical implications of this approach. The philosophers,
psychologists and computer scientists who were interested in more philosophical issues of the nature of
intelligence fell divided into two camps which became known as Strong AI, and Weak AI.
Strong AI has been closely associated with reductionism in the philosophy of mind. The reductionist view
of mind is that mental processes (e.g. thoughts) can be expressed in terms of brain processes. This view
has gained considerable credibility from the study of neuroscience. Since the firing of a neuron is an
electro-chemical reaction which follows predictable scientific laws, many people feel that a machine could
(in theory) be created so that it follows analogous rules. These people believe that computers which were
suitably programmed would have minds in exactly the same sense that we do, and these minds would be
intelligent.
Roger Penrose insists that quantum physics provides a means of remaining a reductionist while refuting
Strong AI. He states that the brain consists of matter which is non -deterministic (i.e. impossible to
predict from the current state) at the quantum level. Since the mind (and subsequently intelligence)
reduces to brain function, it is not possible to create a thinking machine using a deterministic mechanism.
COMPSCI 111 S1C - Lecture 30
2 of 4
The advocates of Weak AI agree that research into artificial intelligence may provide some insight into
the human mind, and that many useful programmes may be developed through AI techniques, however
they deny the possibility of a machine ever actually possessing real intelligence. The stance of Weak AI
is one in which intelligence may be simulated by a machine, or it may exhibit intelligent behaviour
without actually being intelligent. John Searle is one such person who insists that the underlying
mechanism is important in deciding if intelligence exists. For further reading regarding philosophical
issues of mind see “The Mind’s I” edited by Hofstader and Dennett.
Research Programs
Early success in artificial intelligence encouraged researchers to make wild speculative estimates upon the
overall success of the discipline (e.g. within 15 years we will have a robot capable of thinking like a
human). The human brain turned out to be rather more complicated than early researchers originally
thought, and the AI research program fell into some disrepute. Instead of attempting to create a thinking
machine, research was concentrated upon individual aspects of human cognition, independently from each
other. This research included such areas as abstract pattern recognition, computer vision, natural language
understanding, natural language production, computer speech, planning, theorem proving, robotics, and
knowledge systems. Traditional research has tended to focus upon symbolic logic and used discrete
symbols for representing information.
Symbolic Logic and knowledge representation
Symbolic Logic has proved very successful for representing particular areas of knowledge and making
inferences between beliefs in knowledge sets. Mathematical and Logical proofs can be achieved through
the use of symbolic logic, and many expert systems are based upon this method of informational
representation. Example:
One logical rule of inference is that sentences which state A, and sentences which state A implies B can be
combined to infer B. Using an everyday example of this form of logical inference: If we know that “This
object is an apple”, and we know “The object is an apple implies that the object is edible”, then we can
infer that “The object is edible”. A more famous example: If Socrates is a man, and all men are mortal,
then Socrates is mortal.
Computers can be programmed to apply these rules of inference to sets of knowledge that they are given.
However, applying this form of representation to the real world is more difficult, since few facts in the
real world can be defined so absolutely even in such a simple example as that described above: What if
the apple was not ripe, what if it was rotten? There are always exceptions which can be discovered to any
rule, so people began to look for a less absolute method of representing the information.
Multi-valued logical systems were the answer. Boolean logic requires that there are only 2 possible states
for any sentence. It is either true or false. Fuzzy logic uses a value to indicate how true a statement is,
thus allowing us to represent imprecise knowledge. Example:
We are reasonably certain that the object is an apple <0.8>, and most of the time if the object is an apple
then it is edible <0.9>, so we are fairly sure that the object is edible <0.72>.
Expert systems are an attempt to use these forms of data manipulation to record the knowledge of experts
in a particular field. If the computer has all the knowledge of the experts, and is able to make inferences
and judgements, then perhaps it is useful to consult as an expert. The MYCIN system is a world class
medical expert system which is used in many hospitals. The CYC project began about 15 years ago and
attempted to catalogue the entire set of human knowledge. Both of these systems ran into some problems
however when faced with the dilemma of the general knowledge problem. All the little things that we
take for granted in everyday life need to be explicitly stated for a computer (i.e. if you are in a lecture
room, then your left arm is in a lecture room. If you are wearing a coat then your left arm is covered by
the coat etc.).
The most impressive attempt at mapping human knowledge to date has been the CYC project.
(http://www.cyc.com/) The CYC project attempts to create a computer accessible encyclopaedia of the
common sense knowledge that we take for granted. CYC also has the capacity to analyse this data, finding
new relationships on its own. Currently CYC has over 1,000,000 assertions.
COMPSCI 111 S1C - Lecture 30
3 of 4
Natural Language Processing
The usefulness of having a computer understand natural language has inspired much research in this area.
Computers have proven somewhat successful, but as with most aspects of AI, the first step is the easiest.
Test-based adventure games have been able to understand simple English commands since the early 70’s.
More recently, databases have come equipped with the ability to make a natural language query (i.e. type
your question in plain English, and the database will search for the relevant information). Both of these
examples of natural language understanding use a very limited subset of English to operate. However, the
goal of most natural language research is to create a program which can understand (or learn to
understand) a much larger range of language. Any such attempt requires a good understanding of syntax
and sentence structure, so a study of linguistics is essential for people interested in such a field.
An early attempt at computer conversation can be experienced by using ELIZA. This program attempts to
analyse the structure of English sentences which are typed in, and it replies by choosing an answer from a
list where keywords are replaced from the nouns, verbs and adjectives which were used in the previous
sentence. The Loebner Prize (worth US $100,000) is given to any computer program which can fool a
panel of human judges into thinking it is a human being (cf. the Turing Test). You can look at the
transcripts from the competition on the WWW. An extract follows:
PROGRAM[10:38:55]Good morning... it's nice to be here!
JUDGE01[10:39:30]Really? I'm actually feeling a little hot.
PROGRAM[10:39:33]Hmmm... Now that you mention it, the weather is quite
PROGRAM[10:39:33]uncomfortable.
JUDGE01[10:40:08]Yeah, the beginning of spring humidity.
PROGRAM[10:40:11]I'm not entirely sure what you mean. Anyway... What is
PROGRAM[10:40:11]your name?
JUDGE01[10:40:35]My name is Clay. What's yours?
PROGRAM[10:40:40]Nice to meet you, Clay. My name is Steven Davis, but you
PROGRAM[10:40:40]can call me Steve.
JUDGE01[10:41:02]Hi Steve.
PROGRAM[10:41:06]Hello Clay!
JUDGE01[10:41:21]Are you getting bored back there?
PROGRAM[10:41:23]Only *you* can make this interesting and fun...
JUDGE01[10:42:06]Well, if the two of us are having a conversation, then it
JUDGE01[10:42:06]takes both of us to make it interesting and fun.
The general knowledge problem causes trouble for anyone working in this area, because we constantly
make inferences about unspoken information. Example:
Joe burned his hand because he forgot the stove was on.
Nobody ever got burned through the act of forgetting. It was not because he forgot that he was burned,
but rather because he forgot the stove was on, he touched the stove, and touching the stove caused the
burn. Attempting to represent knowledge in a more general form Schank and Abelson developed a
program known as SAM which used scripts which contained knowledge about a specific task or situation
in an abstract form. These scripts would contain information about the normal events that would occur in
that situation. For example, a restaurant script would contain information like the following: Open door.
Enter. Give reservation name. Wait to be seated. Go to table. Be seated. Order Drinks. Put napkins on
lap. Look at menu etc.
SAM is able to read stories about such situations and make inferences based upon the script for the
normal situation. Example:
John went to New York by bus. On the bus he talked to an old lady. When he left the bus, he
thanked the driver. He took the subway to Leone’s. On the way, his pocket was picked. He got
off the train and entered Leone’s. He had some lasagne. When the check came, he discovered
that he couldn’t pay. The management told him he would have to wash dishes. When he left, he
caught a bus to New Haven
Q1.
A1.
Q2.
A2.
Q3.
A3.
Why did John go to New York?
Because he wanted to go to Leone’s
Why couldn’t John pay the check?
Because he didn’t have any money.
How was John able to take the bus to New Haven?
Probably John had a ticket.
COMPSCI 111 S1C - Lecture 30
4 of 4
Neural Networks
The earliest artificial neural networks were created in the mid 1980’s. Based upon a biological model of a
nervous system, a neural network attempts to represent information in an implicit manner, rather than
explicitly defining symbols. The essential idea is that a series of input cells are connected to one or more
layers of interior cells, which are in turn connected to the output cells. When the activation of a cell
reaches a threshold level, the cell fires, sending a weighted signal to each cell it is connected to. The
output cells of the neural network represent various outcome states.
These neural networks must be trained with a variety of stimulus in order for the network to respond
correctly to the input desired. They are usually used for pattern recognition, and have proved very
successful in the area of computer vision.
Evolutionary Computing
A very recent trend in artificial intelligence has used the model of evolution as a basis for developing
learning techniques. The technique of genetic algorithms has been successfully applied in a variety of
areas. This technique takes a problem and encodes it into a string. A large number of these strings are
randomly generated, and then each is tested to see which provides the best result. The most successful
strings are those that are closest to the solution. These good solutions form the basis for a new population
of strings which is formed by applying genetic operations such as replication, crossover and mutation.
The new population is tested and the best solutions again form the basis for a new population. This
“breeding” process is repeated many thousands of times until a solution is generated which is considered
to be good enough to stop looking any further.
A similar process is applied in the field of genetic programming, where each element in the string is a
piece of code, and a whole string consists of a program. Most of the programs in the population do not
run, and so provide poor solutions, but the more successful programs form the basis of the next
population, and eventually a viable program will evolve which provides a solution to the problem
proposed.
Artificial Life
The first Artificial Life conference was held in Santa Fe in 1987. This conference bought together people
from biology, sociology and computer science to discuss the possibility of life within a computer. For
some time people have discussed the possibility of artificial intelligence, but what about artificial life.
Computer Viruses are programs which are autonomous and replicating. Some people consider that they
have as much life as biological viruses, merely existing in a different medium, others deny the possibility
of a non-biological form of life altogether. Regardless of the philosophical implications, scientists are
beginning to investigate computer programs which evolve and learn about their environment, adapting to
the conditions which will allow them the greatest chance of survival. It has been discovered that the
programs develop faster if there is competition for resources, and so a predator/ prey model of
development is often used.
Independent Agents
Agents are predicted to become a major aspect of computing in the near future. These agents are
computer programs which are designed to operate in a particular environment. They are autonomous (so
they are capable of making decisions and acting upon them without human intervention), and usually
capable of adaptation. Current research is investigating many aspects of distributed computing and multiagent systems (communities of agents), including evolutionary communication models, so that these
agents are capable of evolving methods of efficient communication.
Agent research is closely tied in with robotics and unmanned spacecraft. NASA has recently proposed a
spacecraft that would be able to diagnose and fix malfunctions automatically, as well as an autonomous
robot that would explore Mars – creating its own daily work schedule based on resources available to it at
the time.
The future of artificial intelligence.
The increase in computing power has encouraged researchers to reconsider techniques which were
impossible to develop twenty years ago. It has been estimated that the power of a computer will exceed
that of the human brain (all things considered, parallel processes etc.) around the middle of the 21st
century. The independent research programs belonging to AI have proved remarkably impressive,
creating computers capable of vision, navigation, speech recognition and production, and the power to
learn. A computer has finally beaten the World Chess Grandmaster. Humans are on the brink of an era
where mankind may take second place to a machine.
Download