Transcript ppt

Computer Science 1000
AI – A Brief Overview

Artificial Intelligence

definition: many!
``The exciting new effort to make
computers think ... machines with minds,
in the full and literal sense'' (Haugeland,
1985)
``The automation of activities that we
associate with human thinking, activities
such as decision-making, problem solving,
learning ...'' (Bellman, 1978)
``The art of creating machines that
perform functions that require intelligence
when performed by people'' (Kurzweil,
1990)
``The study of how to make computers do
things at which, at the moment, people
are better'' (Rich and Knight, 1991)
``The study of mental faculties through the
use of computational models'' (Charniak
and McDermott, 1985)
``The study of the computations that make
it possible to perceive, reason, and act''
(Winston, 1992)
“Computational Intelligence is the study of
the design of intelligent agents” (Poole et.
al. 1998)
“AI ... is concerned with intelligent
behaviour in artifacts.”
From Russel & Norvig. Artificial Intelligence: A Modern Approach

Artificial Intelligence

definition: many!
``The exciting new effort to make
computers think ... machines with minds,
in the full and literal sense'' (Haugeland,
1985)
``The study of mental faculties through the
use of computational models'' (Charniak
and McDermott, 1985)
Systems that think like humans
``The automation of activities that we
``The study of the computations that make
Systems that think rationally
it possible to perceive, reason, and act''
(Winston, 1992)
associate with human thinking, activities
such as decision-making, problem solving,
learning ...'' (Bellman, 1978)
``The art of creating machines that
perform functions that require intelligence
when performed by people'' (Kurzweil,
1990)
Systems that act like humans
``The study of how to make computers do
things at which, at the moment, people
are better'' (Rich and Knight, 1991)
“Computational Intelligence is the study of
the design of intelligent agents” (Poole et.
al. 1998)
“AI ... is concerned with intelligent
Systems that act rationally
behaviour in artifacts.”
From Russel & Norvig. Artificial Intelligence: A Modern Approach

Acting Humanly – the Turing Test*

Two identical rooms labeled A and B are connected
electronically to a judge who can type questions directed to
the occupant of either room. A human being occupies one
room, and the other contains a computer. The judge's goal is
to decide, based on the questions asked and the answers
received, which room contains the computer. If after a
reasonable period of time the judge cannot decide for certain,
the computer can be said to be intelligent.

The computer is intelligent if it acts enough like a human to
deceive the judge.
* Text

Acting Human – Historical Attempts

ELIZA

programmed in 1966

programmed to ask questions in dialog like a psychotherapist
and a patient

Took word cues, noticed use of negatives

Dialog was essentially pre-planned to appear intelligent, but was
not

http://www.masswerk.at/elizabot/eliza.html

http://nlp-addiction.com/chatbot/eliza/
http://www.stanford.edu/group/SHR/42/text/dialogues.html#note10


Chatterbot
ELIZA was an early example of a chatterbot
 A chatterbot (or chatbot) is a type of
conversational agent designed to simulate
an intelligent conversation with one or more
human users via auditory or textual
methods.


Chatterbots – Examples

PARRY (1972)


JABBERWACKY (1997)



one of the first internet chatterbots
http://www.jabberwacky.com/
CLEVERBOT (1997)


simulated a paranoid schizophrenic.
http://www.cleverbot.com/
ALICE (2001)



Artificial Linguistic Internet Computer Entity
inspired by ELIZA
http://www.alicebot.org/

Loebner Prize




a competition in the spirit of the Turing Test
held annually since 1990
initiated by Hugh Loebner
prizes include:

$100,000 + gold medal: the first computer whose
responses were indistinguishable from a human's



must convince 30% of judges
never been won
~$3000 (varies) + bronze medal: computer program that
outperforms all other programs

Loebner Prize

format
in each round, a judge holds a conversation with
a human and machine
 after the round is over, judge must decide which
is which
 5 minute rounds


Loebner Prize

notable achievements
ALICE was the Loebner winner 3 times (2001,
2002, 2004)
 ELBOT (2008) convinced 3 of 12 judges that it
was the human


Turing Test



Turing Test remains historically significant, and has
driven some advances in field
however, most AI research has not focused on
simulating human intelligence
“Aeronautical engineering texts do not define the
goal of their field as making ‘machines that fly so
exactly like pigeons that they can fool even other
pigeons’” – Russel and Norvig

Problem Solving


rather than create a universally intelligent machine
or program, AI research often focuses on a more
specific task
examples:




pattern recognition
robotics (next lecture!)
natural language processing
path finding

Problem Solving


the variety of problems to solve have produced a
variety of different AI techniques
examples:




path finding – A* search, greedy search
pattern recognition – neural networks
searching – A*, genetic algorithms
diagnosis – fuzzy logic, Bayesian networks, etc

Path Finding


find a path from start to destination
domain can be:





domain consists of a set of points



a map (GPS)
a virtual world in a game
a series of networked computers
etc ...
one of those points is your start
one (or more) of those points can be a destination
each point is connected to zero or more other points

Example:
Ponteix
Aneroid
Kincaid
Cadillac
Mankota
Val Marie
Wood Mountain

Path Finding
the general objective is to find a path
between start and destination
 for example, find a path between Val Marie
and Kincaid


Example:
Ponteix
Aneroid
Kincaid
Cadillac
Mankota
Val Marie
Wood Mountain

Path Finding

there are many strategies for finding paths, but
most follow a similar theme






begin at your starting point
consider all positions that are reachable from that point
then consider all positions that are reachable from those
points
and so on, until you reach your destination, or run out of
options
you must store your current path
different algorithms use different selection
techniques for what to try “next”

Path Finding

Example: DFS (Depth-first search)
begin at your starting point
 repeat while you have not reached your
destination, or you have no other options


choose a new point that you have not yet visited that is
connected to you current point
if such a point exists, traverse to it
if not, then back up to your previous position



Example:
Ponteix
Aneroid
Kincaid
Cadillac
Mankota
Val Marie
Wood Mountain

Example:
Ponteix
Aneroid
Kincaid
Cadillac
Mankota
Val Marie
Begin at starting position
Wood Mountain

Example:
Ponteix
Aneroid
Kincaid
Cadillac
Mankota
Val Marie
Choose a new point that you
have not yet visited that is
connected to you current point:
Cadillac
Wood Mountain

Example:
Ponteix
Aneroid
Kincaid
Cadillac
Mankota
Val Marie
Choose a new point that you
have not yet visited that is
connected to you current point:
Ponteix
Wood Mountain

Example:
Ponteix
Aneroid
Kincaid
Cadillac
Mankota
Val Marie
Choose a new point that you
have not yet visited that is
connected to you current point:
Mankota
Wood Mountain

Example:
Ponteix
Aneroid
Kincaid
Cadillac
Mankota
Val Marie
Choose a new point that you
have not yet visited that is
connected to you current point:
Wood Mountain
Wood Mountain

Example:
Ponteix
Aneroid
Kincaid
Cadillac
Mankota
Val Marie
No points connected to WM that
we have not yet visited. Must
back up to Mankota.
Wood Mountain

Example:
Ponteix
Aneroid
Kincaid
Cadillac
Mankota
Val Marie
Choose a new point that you
have not yet visited that is
connected to you current point:
Kincaid
Wood Mountain

Example:
Ponteix
Aneroid
Kincaid
Cadillac
Mankota
Val Marie
We now have a path between
Val Marie and Kincaid.
Wood Mountain

Path Finding

DFS (Depth-first search)

advantages:



simple
memory efficient (beyond scope of class)
disadvantages:

not guaranteed to find shortest path first (smallest
number of hops)

Path Finding

Example: BFS (Breadth-first search)
check all paths of length 1
 check all paths of length 2
 check all paths of length 3
 etc ...
 stop when a path is found whose end is the
destination


Example:
Ponteix
Aneroid
Kincaid
Cadillac
Mankota
Val Marie
Wood Mountain

Example:
Ponteix
Aneroid
Kincaid
Cadillac
Mankota
Val Marie
Check all paths of length 1
Wood Mountain

Example:
Ponteix
Aneroid
Kincaid
Cadillac
Mankota
Val Marie
Check all paths of length 1
Wood Mountain

Example:
Ponteix
Aneroid
Kincaid
Cadillac
Mankota
Val Marie
Check all paths of length 2
Wood Mountain

Example:
Ponteix
Aneroid
Kincaid
Cadillac
Mankota
Val Marie
Check all paths of length 2
Wood Mountain

Example:
Ponteix
Aneroid
Kincaid
Cadillac
Mankota
Val Marie
Check all paths of length 2
- since end of path matches
destination, we have found a
solution.
Wood Mountain

Path Finding

BFS

advantages



guaranteed to find shortest path
can be easily modified to consider paths in order of
increasing length, rather than number of links (not
shown here)
disadvantage:


a bit trickier to program
memory intensive

Path Finding - Problems
both path finding algorithms guaranteed to
find a solution, if one exists
 however, they can be slow

imagine a map with millions of possible points
 DFS may initially go in the wrong direction
 BFS will check many paths in the wrong
direction, if they are closer than solution


Example:
Ponteix
Aneroid
Kincaid
Cadillac
Mankota
Val Marie
Suppose this link is connected
to a map with many nodes.
What if DFS tries this link first?
Wood Mountain

Path Finding - AI
smart searching involves using a heuristic to
improve its search capabilities
 simply stated, a heuristic provides a guess
on which point it should try next
 the better the heuristic, the better the
efficiency of the overall algorithm


Path Finding - AI

from previous example, suppose we knew
the geographic (straight-line) distance
between towns


this could be computed from lat-lon coordinates
we could modify our DFS algorithm

when selecting a town amongst multiple choices,
choose the one that is geographically closest to
our destination

Example:
Ponteix
Aneroid
Kincaid
Cadillac
Mankota
Val Marie
Wood Mountain

Example:
Ponteix
Aneroid
Kincaid
Cadillac
Mankota
Val Marie
Begin at starting position
Wood Mountain

Example:
Ponteix
Aneroid
Kincaid
Cadillac
Mankota
Val Marie
Choose a new point that you have not yet
visited that is connected to you current
point. Since we have two choices,
choose the one that is geographically
closest to Kincaid.
Wood Mountain

Example:
Ponteix
Aneroid
Kincaid
Cadillac
Mankota
Val Marie
Choose a new point that you have not yet
visited that is connected to you current
point. Since we have thee choices,
choose the one that is geographically
closest to Kincaid.
Wood Mountain

Example:
Ponteix
Aneroid
Kincaid
Cadillac
Mankota
Val Marie
We have found a solution. Compare the
number of points searched to our
previous DFS solution.
Wood Mountain

Path Finding - AI
our heuristic considerably reduced the
number of points that we searched
 however, this approach is not guaranteed to
work.


Example:
Ponteix
Aneroid
Kincaid
Cadillac
Mankota
Val Marie
DFS + heuristic search will try Mankota
first, since it is geographically closer to
Kincaid than Cadillac is.
Wood Mountain

Path Finding - AI
when DFS is combined with a heuristic, it is
known as a greedy search
 when BFS is combined with a heuristic (not
shown), it is known as an A* search
 these algorithms collectively are known as
best-first search.
