CIS 101 Term Paper
By Kristine Morissette
August 19, 1999
What Must Computers Posses to Pass "The Turing Test"
Many of us probably do not realize just how involved computers are in our lives. But the
reality is that computers can assist us in making travel arrangements, medical diagnosis
and driving, with little of no human intervention. But will their intelligence ever surpass
that of their makers?
Many people are quite confident that we will reach that goal. Hugh Loebner in
coordination with Cambridge Center for Behavioral Studies has devised an annual award
The Loebner Prize to systems who are willing to take the challenge of the "Turing Test". Each year the most
successful system is awarded a prize of $2000.00 and a bronze metal. When the day
comes the grand prize of $100,000.00 and a gold metal will be awarded to the first
computer who successfully passes the "Turing Test". But exactly what will it take to
pass the "Turing Test"?
"The Turing Test"
In 1950 Alan Turing
defined intelligent behavior as the ability to perform all human
task well enough to fool a human being. His test proposed that an interrogator would
pose a series of intelligent and intellectual questions and tasks which would be performed
by both a human and computer. If the computer was successful the interrogator would
not be able to distinguish between the human answer and the computer's answer.
What would the science of Artificial Intelligence need to pass the Turing
Test? If we review everything a computer would need to pass for humanlike we may
come up with a list such as this (Russell and Norvig,1995,p. 5).
- Natural language processing
- Knowledge representation - The ability to store information.
- Automated reasoning - The ability to use stored information to answer
questions and draw new conclusions.
- Machine Learning and Reasoning - The ability to adapt to new environments.
- Computer Vision - The ability to view objects and surroundings.
- Robotics - The ability to manipulate objects.
Natural Language Processing
ATIS
A computer system being designed to assist in making travel arrangements by
using natural language translation and speech response.
Although speech is simple to us it involves many steps.
A speaker must go through many steps to communicate an idea.
- The development of an idea to communicate.
- Choosing how the idea is to be communicated.
- Verbalizing the idea.
The listener also has a series of steps in the communication process.
- The initial response to what the speaker has stated.
- Analysis of what the speaker has stated.
- Deciphering the meaning of what the speaker has stated.
- Deciding if the statement is true or false.
Several techniques have been devised to assist computer systems with natural language.
Sentence Parsing
The ability of a system to take apart a sentence and label the various parts as objects,
nouns, adjectives, pronouns etc. This procedure assist the systems in defining and
understanding the thoughts behind the communication.
The Use of Surrounding Words
The ability of a system to use the surrounding words to define words which have several
meanings.
Models of Dialog
Models of dialog assist a system to define sentences which are otherwise incomplete. A
obvious sentence to us such as "Dinner is ready" can be quite confusing to a computer
system. The models of dialog technique would define the sentence as "The dinner is ready to be eaten". Without models of dialog the system would be at a loss.
A computer system might think, the dinner is ready to do what?
Informal Rules of Conversation
Informal rules of conversation define to the computer system when a well defined answer
is required and when a simple yes or no will suffice.
Background Knowledge of the Environment
We often do not realize how our historical knowledge of our surroundings assist us in
every day life. Every understanding of human emotion and reactions has been learnt by
events which we have lived through. Computer systems without this knowledge would
not be able to interrupt such things as human emotions or body language.
Even though we have made great strides in determining the needs for computer systems
to understand natural language, programming the systems to do so has proven to be quite
a difficult task. Even when the goals mentioned above have been conquered there is still
the issue of how we would program a system to understand sarcasm, slang or jokes.
Natural language systems of today can only communicate on a very limited basis. An
example of the limitations would be an instance when a computer system defined the
phrase "Out of sight out of mind" as "Blind, Insane"
(Gottinger and Weimann,1990, P. 64).
Knowledge Representation
The ability to store information. Currently the human brain has a much higher storage
capacity than a computer system. The human brain can store 50 trillion bits of
information while the a computer system can only store 1 trillion bits of information
(Decker and Hirshfield, 1998, p. 303). Predictions have been made that if
computers continue to progress at their current rate they will equal the storage capacity of
the human brain by the year 2020 (Kurzwell, 1999, p. 203).
The storage capacity of a system greatly depends on the knowledge representation
language used to program the system. Knowledge representation programs control the
way information is stored and defined. The goal is to develop a knowledge
representation language which can maximize the efficiency of a computers ability to deal
with real world problems.
Problem Solving
SEED
A computer system which uses problem solving logic to assist in the designing buildings.
Computers of today only know what we tell them. Therefore their responses are
dependent on the knowledge that we give them. Most times computers derive the correct
solutions or better solutions if they are given the correct set of rules. But if the rules are
incomplete or the data is incorrect the solution is most likely to be incorrect.
In order for a computer to derive a solution is must first know which type of problem it is
being faced with. Artificial Intelligence scientist have created four types of problem
categories, single state problems, multiple state problems, contingency problems and
exploration problems.
Single State Problems
A single state problem is a problem in which all the information is known about the
environment and the consequences of the systems actions.
Multiple State Problems
A multiple state problem is a problem in which some of the information is missing. The
system may be missing some information about the environment and therefore can not
clearly understand the consequences of its actions.
Contingency Problems
Contingency problems are problems which can not be solved ahead of time. It is a
complex problem in which each action may change the solution for the next step.
Exploration Problems
Exploration problems are problems with very limited data about the environment and the
possible consequences of the systems actions. When faced with these types of problems
the system must be able to determine the best course of action and test it noting the
results and continue until the problem is resolved. In a sense the system is exploring its
environment to determine the solution.
After a system has determined the type of problem it is handling it must search for the
resolution to the problem. Several search techniques have been developed to determine
the best solutions for resolving problems which may be asked of computer systems.
Searching Techniques
Search Tree
The system analyzes the problem and develops a search tree. The search tree starts at the
search node (the point the system is at when the problem is given). Each problem
solution option in the search tree is called a leaf node. The system will research each
option (leaf node) until it discovers the option which will resolve the problem at the least
cost to the system. The resolution of each leaf node is not available until the system calls
on it in order to conserve system space.
Breadth - First Search
Once the problem has been analyzed the system will create a matrix displaying all
options for the problem. The system explores every option starting at the shortest path
and working its way to the longest path until a resolution is found. This search routine
works very well in determining the shortest solution to the problem but takes up a lot of
memory space because each resolution is completely defined through out the entire
search.
Uniformed Cost Search
This search option is the same as the Breadth - First search except it chooses the path
with the least cost instead of the shortest path.
Depth First Search
This search option researches the deepest levels first. If it does not find a solution is searches the next lower levels. The problem with this search is that the system
will keep searching even if there is a very small chance that the problem can be solved.
This can lead to a less effective solution being chosen or the system could put itself into
an infinite loop.
Depth Limited Search
This search routine works the same as the Depth First search method but puts a limit to
the depth of levels which must be searched. The system determines the depth of a
problem by calculating the greatest number of steps which could be taken to solve the
problem. This technique can still result in choosing a longer path then necessary.
Iterative Deepening Search
The system will calculate all the possible solutions but only completely define the
solutions one level at a time. The system searches one level then closes the search on that
level and defines the next level to be searched until it reaches the best solution. This
process saves on memory space because only one level is defined at one time.
Bi-directional Search
This method searches for solutions by creating solution paths which start from the
problem and end with the goal and simultaneously creating solution paths which start
from the goal and end with the problem. This search routine knows when a solution has
been reached because the correct paths will meet in the middle. This search routine can
be best described as two friends wish to meet for lunch at a particular restaurant but one
has no idea how to get there. So the friend #1 who knows how to get there goes to the
restaurant (the goal) and starts walking towards the starting destination of friend #2(the
problem). If they take different paths they will never meet. When they take the same
path they will meet and the path for friend #2 to get to the restaurant will be resolved.
Reasoning
Accounting Systems
Computer systems which use reasoning logic to assist accountants.
Computers which reason must be able to take in new information and verify it against
stored information and make any necessary modifications to its stored information.
Before the information can be manipulated the storage method must first be decided.
The main storage methods are store and fetch, frame systems, semantic networks, descriptive logic systems, table based indexing and tree based indexing.
Store and Fetch
The store and fetch method stores information one item at a time. It must look at every
piece of information when a search is performed.
Frame Systems or Semantic Networks
Use a network like structure to prove problems. Each piece of the network contains a
different piece of information about either the world the system is performing in or the
problem it is trying to solve.
Descriptive Logic Systems
Is a mirror image of semantic networks except it is much more descriptive in the
breakdown of categories it has defined.
Table Based Indexing
Uses a hash table to store information in an organized way so that it can be retrieved
easily. A hash table is created by taking items which are usually searched and grouping
them by the category they are most likely to be searched by. An example of this would
be a file which is commonly search by last name would have all people grouped by last
name. If I searched for Smith, instead of the system searching the entire file it will find
the file which contains all people with the last name of Smith and only search that file.
Tree Based Indexing
This method is the same as Table Based Indexing but the categories have multiple
groupings. An example of this file would be if a file is commonly search by name and
date of birth the grouping category would be name*date of birth. If I searched for Sue
Smith with a date of birth of 01-01-99. The system would only search the file
categorized as Smith*01-01-99.
Once the data storage method has been chosen the reasoning method needs to be
determined. The main reasoning methods are theorem prover, productions systems, frame systems, semantic network systems, and descriptive logic systems.
Theorem Prover
A theorem prover works with several elements to solve a problem.
- Facts about the problem.
- Background knowledge of the problem.
- A set of rules and equations which assist in updating the system.
- A heuristic function which states the rules of how a system should process and filter.
The theorem prover takes each fact about the problem and matches it up to the
background data it has about the problem to come to a resolution. It will then update its
data accordingly.
Production Systems
The elements that a production systems works with to solve a problem are:
- Working memory which is where the new data is stored to be manipulated
- Rules describing the acceptable actions for the system to take.
- A match phase in which the system matches stored rules with the new data.
The production systems review the suggestions from the match phase and determine if
they are correct by using conflict resolution. Some conflict resolution rules would be:
- Has this new rule already been performed, if so do not repeat.
- Rules that state the new rules should only be processed on new data.
- Perform the new rules only on data containing certain variables
Frame Systems and Semantic Networks
These systems concentrate on categories and the links between them. An example of a
category would be fish with the item of trout. Frame systems solve problems by
determining which category the problem falls into. Then it uses the information about
that category to resolve the problem.
Descriptive Logic Systems
Descriptive Logic Systems work much like Frame Systems and Semantic Networks
except the categories are defined with greater detail. The problem solving technique is
the same as that for Frame Systems and Semantic Networks but the answers tend to be
more accurate or descriptive due to the nature of the file being more descriptive.
Pattern Matching / Mixed Parts
Pattern matching and mixed parts problems are instances when the computer system
must distinguish an item from its surroundings such as a winter hat in a closet full
of clothes. Currently computers have great difficulty resolving pattern matching or mixed parts
equations. The techniques have not been developed to allow computers the ability to be
able to distinguish between such things and dogs and cats or to pick out an object from a
pile of objects. So far this is one ability that escapes computer capability.
Adapting to New Environments
Adapting to new environments is another difficult process to teach a computer. It is
impossible to program all the possible environments that a computer may find itself in.
In order to teach a computer to adapt to a new environment we must first teach it to learn.
Machine Learning
Deep Blue
A computer system which learned how to play chess by playing against the experts in
the field.
Most learning systems have four separate components, critic, the learning element,
problem generator, and performance element.
Critic
Critic is a function which informs the learning element if the agent is succeeding. This
functions is used to ensure the system knows it is performing correctly. If a system were
not advised that is was performing correctly it may try to alter its solution path causing a
more costly or ineffective path to be taken.
Learning Element
The Learning Element is responsible for making improvements in the systems actions by
learning from its mistakes.
Problem Generator
The Problem Generator is responsible for making suggestions about possible actions.
This function often causes the system to explore other avenues which may or may not
uncover better solutions paths than that stored in memory.
Performance Element
The performance element is responsible for carrying out the action which was decided
on.
Learning systems work much like learning by trial and error. They will explore certain
avenues then store the result which has the least cost. Much like we do during life we
may try several solutions to a problem, we are more likely to remember the solution
which caused us the least distress.
Computer Vision
Computer Vision Web Site
A web site which displays the variety of ways computer vision is used in today's
work force.
Computers use several hardware elements for sight.
- Cameras which contain light sensitive chips.
- Electromagnetic spectrum
- Infrared sight
- X-ray vision
Most computers to date are using 3D vision. 3D vision is accomplished by three
elements, segmentation, orientation of the object and determining the shape of the object.
Segmentation
Segmentation is the organizing of all the facts about an object.
Determining the Position and Distance of an Object
This process assists mobile systems with navigation as well as assisting in the ability of
picking up objects.
Determining Shape
Shape is important when a system is determining how to pick up an object.
A lot more goes into our sight then just seeing the objects around us. The image that we
see is passed onto our brain which works with past experiences to determine what we are
actually seeing. The simplest things such as walking through a room require much more
than just seeing what is around us. Exactly what do we go through when we walk
through a room.
- Our brain takes in the visual display of the room and determines if anything is
obstructing our path.
- If there is an obstacle in our path our brain makes the determination of exactly how
far the object is from us and determines what it is and if it needs to be avoided.
- If the object needs to be avoided our brain determines at which moment we need to
start avoiding the object.
- Once we have avoided the object our brain determines the alternate route too
successfully reach our destination.
Computers must first be given some background knowledge of certain obstacles they may
encounter such as which can be stepped on, easily moved or avoided. Computers can also posses
sensors which assist them in problems such as walking through a room. Such sensors
include:
- Acoustical Arrays for hearing
- Smoke and gas detectors for smell
- Force and Torque sensors for touch
Even with all this knowledge the task of walking through a crowded room is still a
difficult task for a computer.
Robotics
Robots Created For NASA
This web site displays the various robots which NASA uses for their exploration
projects.
There are several body parts which have been created to assist computers in their duties,
although many of these do no resemble human parts they do the job.
Arms
Robotic arms consist of rotary and sliding joints. The programs which operate this parts
must tell the system the exact angle and distance the object is from the arm.
Hands
Robotic hands are called grippers and are designed to grasp and hold. Robotic hands may
consist of:
- A thumb and first finger
- Magnets
- Suctions Cups
- Specific tools such as spray guns, welders or grinders.
Legs and Feet
Many robots have wheels instead or legs of feet.
Other robots move on tracks or treads.
Exactly how close are we to passing the Turing Test. Currently computers
surpass human intelligence when the problems given to them are logical and
the rules to solve the problems are consistent. Computers still have great
difficulty with task such as speech, learning and uncertain reasoning which
do not fall into that situation. Once computers have all the required capabilities
the big problem will be to get all this intelligence into one system.
If computer technology continues to advance at its current rate many of
us may see the first computer to pass "The Turing Test" in our life times.
References Cited
Brown, Carol E., December 18, 1994, Accounting Expert Systems Applications,
http://www.lancs.ac.uk/people/afajwn/acc_es.htm,
Accessed: August 17, 1999.
Decker, Rick and Hirshfield, Stuart, 1998, The Analytical Engine,
Boston: PWS Publishing Company.
Gottinger, Hans W. and Weimann, Hans P., 1990, Artificial Intelligence
a Tool for Industry and Management, England: Ellis Horwood Limited.
Hodges, Andrew, July 8, 1999, Alan Turing - Home Page, http://www.turing.org.uk/turing ,
Accessed: August 10, 1999.
IBM, 1997, Kasparov vs. Deep Blue: The Rematch, http://www.research.ibm.com/deepblue/home/html/b.html,
Accessed: August 17, 1999.
JLI Vision Aps, n.d., Machine Vision Products, http://www.jli.dk/200.htm ,
Accessed: August 17, 1999.
JPL, May 5, 1998, JPL Robotics,http://robotics.jpl.nasa.gov/robotics.html,
Accessed: August 17, 1999.
Kurzell, Ray, 1999, When Computers Exceed Human Intelligence,
New York: Penguin Group.
Loebner Prize Home Page, March 15, 1999, http://www.loebner.net/Prizef/loebner-prize.html ,
Accessed: August 1, 1999.
Norvig, Peter and Russell, Stuart, 1995, Artificial Intelligence A Modern approach ,
New Jersey: Prentice-Hall, INC.
SEED, n.d., http://seed.edrc.cmu.edu/SC/requirements/SC-req-1-introduction.html,
Accessed: August 17, 1999.
SRI International, n.d., SRI ATIS System, http://www.ai.sri.com/natural-language/projects/arpa-sls/atis.html ,
Accessed: August 17, 1999.
Thro, Ellen, 1993, Robotics the Marriage of Computers and Machines,
New York: Facts On File, INC.
Back To My Home Page