Artificial Intelligence (AI) - PAC-ITGS

Download Report

Transcript Artificial Intelligence (AI) - PAC-ITGS

Artificial Intelligence
(AI)
What is AI?
• Artificial Intelligence (AI) is usually
defined as the science of making
computers do things that require
intelligence when done by humans.
Application of AI - Games
•
•
You can buy machines that can play
master level chess for a few hundred
dollars. There is some AI in them, but they
play well against people mainly through
brute force computation--looking at
hundreds of thousands of positions.
To beat a world champion by brute force
and known reliable heuristics requires
being able to look at 200 million positions
per second.
Application of AI Heuristics
•
•
Relating to or using a problem-solving technique in
which the most appropriate solution of several found
by alternative methods is selected at successive
stages of a program for use in the next step of the
program.
Heuristic methods are used to speed up the process
of finding a satisfactory solution, where an
exhaustive search is impractical. Examples of this
method include using a "rule of thumb", an educated
guess, an intuitive judgment, or common sense.
Can Machines Really
Beat Humans?
• Gary Kasparov versus Deep Blue
• Watson on Jeopardy
AI in Games and Film
Using biology to make better
animation
Big dog reflexes
Application of AI - Voice
Recognition
•
•
The 1990s saw the first commercialization of
spoken language understanding systems.
Computers can now understand and react to
humans speaking in a natural manner in ordinary
languages within a limited domain.
Basic and applied research in signal processing,
computational linguistics and artificial intelligence
have been combined to open up new possibilities
in human-computer interfaces.
Application of AI Understanding Natural
Language
• Simple inquiries about bank balance, movie
schedules, and phone call transfers can already be
handled by telephone-speech recognizers.
•
•
Voice activated data entry is particulary useful in
medical or darkroom applications, where hands
and eyes are unavailable, or in hands-busy or
eyes-busy command and control applications.
Speech could be used to provide more
accessibility for the handicapped (wheelchairs,
robotic aids, etc.) and to create high-tech
amenities (intelligent houses, cars, etc.)
Application of AI Understanding Natural
Language
• The value to our society of being able to
communicate with computers in
everyday "natural" language cannot be
overstated.
• Imagine asking your computer "Does
this candidate have a good record on
the environment?" or "When is the next
televised National League baseball
game?" Then receiving a response.
Chatbots
• Chatbot - An artificial living entity
designed to have conversations with
real human beings. That can be a text
conversation via computers, a spoken
conversation or even a non-verbal
conversation.
• Chatbots may also be referred to as a
conversational agent, virtual agent /
assistant.
Chatbots
•
•
Chatbots can be found on screens, in the
virtual world, but also in the real world,
projected (with holographic projection, for
example) or as physically talking and
responding puppets, toys and robots.
They currently appear most often on the web
and in Instant Messenger programs like
Windows Live Messenger (previously MSN
Messenger) where a chatbot is in the friend
list of the user.
Turing-Test
•
•
Sometimes it’s hard to discover if a chatting
partner is a real person or a chatbot. A well-known
test that can be done is the so-called Turing Test.
This test determines how well a chatbot is capable
of appearing like a real person.
All bots are now (and in the years to come will still
be) easily uncovered, but over the next decades
they will definite get smarter and finally we’ll
recognize human being by their giving us silly
answers as opposed to the much smarter
chatbots.
•
•
•
Turing Test
Alan Turing proposed an operational test of
intelligence as a replacement for the
philosophical question, "Can machines
think?"
Based on a imitation game between a human
and a machine where an interrogator, who
cannot see either, attempts to tell the
difference.
Turing thought machines would be able to
pass the test but, so far, has been proven
wrong.
Self-aware Robots
Using biology to make better
animation
Big dog reflexes
Chatbots in the future
•
•
In the long run (think in terms of 30 years)
chatbots will be so smart that we can have
conversations with them (in real speech).
Then they will give (extremely) intelligent
answers: even more intelligent than we could
expect from normal people. We’ll also be
unable to distinguish their appearance,
including their movements, gestures and
intonation from ordinary human beings.
•
•
Application of AI - Computer
Vision
Vision involves both the acquisition and processing of
visual information. AI powered technologies have made
possible such astounding achievements as vehicles that
are able to safely steer themselves along our
superhighways, and computers that can recognize and
interpret facial expressions.
Just consider the complexity of the analysis that your
brain must engage in before determining that something
as apparently simple as the fact that the black squares
on a chess board are not holes, but rather part of the
surface, and you'll have an idea of how sophisticated
vision systems must be in order to reliably perform their
objectives.
Application of AI - Expert
Systems
• The primary goal of expert systems
research is to make expertise available
to decision makers and technicians who
need answers quickly.
• There is never enough expertise to go
around; certainly it is not always
available at the right place and the right
time.
Expert System - Definition
•
•
•
An expert system is a computer program that simulates
the judgement and behavior of a human or an
organization that has expert knowledge and experience
in a particular field.
Typically, such a system contains a knowledge base
containing accumulated experience and a set of rules
for applying the knowledge base to each particular
situation that is described to the program.
Sophisticated expert systems can be enhanced with
additions to the knowledge base or to the set of rules.
Domains
• In software engineering, domain refers
to a field of study that defines a set of
common requirements, terminology,
and functionality for any software
program constructed to solve a problem
in that field.
• Today's expert systems deal with
domains of narrow specialization.
Examples of Expert System Domains
•
•
•
•
•
Diagnosis e.g. to recommend remedies to illnesses, trouble-shoot electronic
or mechanical problems.
Repair e.g diagnosing the problem in the automotive repair field and
suggesting a plan for the repair of the item.
Interpretation e.g. analysing data to determine its significance by comparing
its data and its usefulness to models of the real world. Often used in
exploration for mineral, gas and oil deposits as well as in surveillance, image
analysis and speech understanding.
Prediction e.g. systems used as a method to “guess” at the possible
outcomes of observed situations, usually providing a probability factor. This
is used often in weather forecasting.
Monitoring and Control - e.g. where speed of decision making is vitally
important like in the nuclear energy industry and air traffic control.
Specific examples of Expert System
Domains
•
•
•
Tax Advisor. Asked questions about its users' financial
state and advised on how to minimise tax while maximising
investment.
A program written for Texas Instruments that planned
where to site transistors on silicon chips so as to achieve
the most compact and easy to fabricate layout.
Wheat Counsellor from ICI chemicals. The program advised
farmers on the diseases of their crops, and on treatments.
How are domains that are suitable for
expert systems identified?
• The end users must want the system
and have a vested interest in its
success.
•
•
•
The importance of
knowledge base
The knowledge base stores all the facts and rules
about a particular problem domain. It makes these
available to the inference engine in a form that it can
use.
The facts may be in the form of background
information built into the system or facts that are input
by the user during a consultation.
The rules include both the production rules that apply
to the domain of the expert system and the heuristics
or rules-of-thumb that are provided by the domain
expert in order to make the system find solutions
more efficiently by taking short cuts.
•
•
Who creates the
knowledge base?
The most important aspect of a knowledge base is the
quality of information it contains. The best knowledge
bases have carefully written articles that are kept up
to date, an excellent information retrieval system
(search engine), and a carefully designed content
format and classification structure.
The knowledge engineer builds, maintains and
develops the knowledge based systems. They have a
big responsibility in the ‘health’, progress, work,
durability and many other factors of the expert
system.
Inference Engines
• The inference engine is the program
that locates the appropriate knowledge
in the knowledge base, and infers new
knowledge by applying logical
processing and problem-solving
strategies.
• This "engine" tries to act like a human
brain. This results in instructions with
If…Then statements – IF Grades are
dropping, THEN study harder.
The need for Fuzzy Logic
• The concept computers operating as
inference engines is quite simple:
• Computers normally only have two
possible values for a certain variable –
1 (true or on) and 0 (false or off).
• Consider the following: Bob has a
house with two rooms, a kitchen and a
bedroom.
The need for Fuzzy Logic
• If Bob is in the kitchen, the variable
"kitchen" is 1 and "bedroom" is 0, and if
Bob is in the bedroom, "bedroom" is 1
and "kitchen" is 0.
• We can now explain where he is in his
house at all times using only ones and
zeroes… if he is in either of the two
rooms.
The need for Fuzzy Logic
• What happens if he is standing in the
doorway between the rooms? This is
where fuzzy logic comes in.
Fuzzy Logic
• Fuzzy logic allows decimal places for
true and false equations; thus, if bob
sits in the bedroom and sticks his toe
into the kitchen, "bedroom" can be 0.95
and "kitchen" can be 0.05. Thus, we can
now explain the location of bob
anywhere in the house.
Thus...
•
•
Fuzzy logic is a mathematical technique that
deals with imprecise data and problems that
have more than one solution.
An example of a machine that uses fuzzy logic is
an industrial clothes-washing machine. Using
fuzzy logic systems, these machines detected
and adapted to patterns of water movement
during a wash cycle in order to decrease the
consumption of water and increase efficiency.
Problems with Expert
Systems
•
•
•
•
It is not easy to gather the data and rules for the
computer.
They are inflexible, have no ‘common sense’
and have no human warmth (empathy).
We can never be sure they are programmed
correctly so they might make dangerous
mistakes.
Expert systems cannot acquire and adapt to
new knowledge without reprogramming
Commonsense
Knowledge
•
•
One of the fundamental problems encountered in AI
has become known as the commonsense
knowledge problem.
While researchers were aware that in an AI system,
knowledge would have to be explicitly represented,
they did not anticipate the vast amount of implicit
knowledge we all share about the world and
ourselves.
Commonsense
Knowledge
• Designers of AI systems did not
consider producing rules like "If
President Clinton is in Washington, then
his left foot is also in Washington," or
• "If a father has a son, then the son is
younger than the father and remains
younger for his entire life."
• This is implicit knowledge and we never
stop to state this explicitly.
Commonsense
Knowledge
• It is clear that commonsense
knowledge represents an enormous
hurdle for the development of general
purpose intelligent systems.
• It is clear that not all human knowledge
is represented in such an explicit or
declarative form. Imagine writing
everything we know formulated as a
series of if-then rules?
Commonsense
Knowledge
• One of the most important aspects of
commonsense knowledge is that it is
gained through experience.
• If computers were to develop
commonsense knowledge, then this
would have huge implications for
storage requirements.
Machine Learning
• Machine learning is associated with the
development of techniques that allow a
computer to learn things.
• In general, machine learning is
understood as a subtopic of artificial
intelligence and can be divided further
into two categories, inductive and
deductive. Machine learning is
generally used to help with data mining
and statistical analysis.
Pattern Recognition
• One of the techniques developed in
machines to enable them to learn things
is pattern recognition.
• This is is the act of the computer taking
in raw data and taking an action based
on the category of the data. A good
example of pattern recognition software
is the fingerprint based security system.
The system works by recognizing a
person's fingerprint to that of a
fingerprint stored in its memory.
Processing Power
•
•
Since the objective of AI development is to make a
multifunctional duplicate of the human brain, it can
be said that the machinery which run the AI will need
the same processing power as the human brain.
Considering that humans absorb and process
abundant information in the forms of images,
memory, smell, feelings, and time, we can see that it
will take high processing power to create an
equivalently powerful artificial mind.
Parallel Processing
• This involves the simultaneous use of
more than one CPU or processor core
to execute a program or multiple
computational threads. Ideally, parallel
processing makes programs run faster
because there are more engines (CPUs
or cores) running it.
Parallel Processing
• Many AI applications have real-time
constraints e.g. real-time speech
understanding, warning and navigation
systems.
• Thus, high speed processing
requirements need to be met.
Parallel Processing
• The human brain can perform tasks
remarkably well using slow neurons
working in parallel.
• With carefully considered architecture,
the use of parallel processors in
computers, we perhaps can achieve
similar in AI.