Computer Science 1000

boorishadamantΤεχνίτη Νοημοσύνη και Ρομποτική

29 Οκτ 2013 (πριν από 4 χρόνια και 10 μέρες)

70 εμφανίσεις

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 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)


``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)


“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 automation of activities that we
associate with human thinking, activities
such as decision
-
making, problem solving,
learning ...'' (Bellman, 1978)


``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)


``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)


“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

Systems that think like humans

Systems that think rationally

Systems that act like humans

Systems that act rationally


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/4
-
2/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)


simulated a paranoid schizophrenic.


JABBERWACKY (1997)


one of the first internet
chatterbots


http://www.jabberwacky.com/


CLEVERBOT (1997)


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:


a map (GPS)


a virtual world in a game


a series of networked computers


etc ...


domain consists of a set of points


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:

Val Marie

Cadillac

Ponteix

Mankota

Kincaid

Aneroid

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:

Val Marie

Cadillac

Ponteix

Mankota

Kincaid

Aneroid

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:

Val Marie

Cadillac

Ponteix

Mankota

Kincaid

Aneroid

Wood Mountain


Example:

Val Marie

Cadillac

Ponteix

Mankota

Kincaid

Aneroid

Wood Mountain

Begin at starting position





Example:

Val Marie

Cadillac

Ponteix

Mankota

Kincaid

Aneroid

Wood Mountain

Choose a new point that you
have not yet visited that is
connected to you current point:
Cadillac


Example:

Val Marie

Cadillac

Ponteix

Mankota

Kincaid

Aneroid

Wood Mountain

Choose a new point that you
have not yet visited that is
connected to you current point:
Ponteix


Example:

Val Marie

Cadillac

Ponteix

Mankota

Kincaid

Aneroid

Wood Mountain

Choose a new point that you
have not yet visited that is
connected to you current point:
Mankota


Example:

Val Marie

Cadillac

Ponteix

Mankota

Kincaid

Aneroid

Wood Mountain

Choose a new point that you
have not yet visited that is
connected to you current point:
Wood Mountain


Example:

Val Marie

Cadillac

Ponteix

Mankota

Kincaid

Aneroid

Wood Mountain

No points connected to WM that
we have not yet visited. Must
back up to Mankota.


Example:

Val Marie

Cadillac

Ponteix

Mankota

Kincaid

Aneroid

Wood Mountain

Choose a new point that you
have not yet visited that is
connected to you current point:
Kincaid


Example:

Val Marie

Cadillac

Ponteix

Mankota

Kincaid

Aneroid

Wood Mountain

We now have a path between
Val Marie and Kincaid.


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:

Val Marie

Cadillac

Ponteix

Mankota

Kincaid

Aneroid

Wood Mountain


Example:

Val Marie

Cadillac

Ponteix

Mankota

Kincaid

Aneroid

Wood Mountain

Check all paths of length 1





Example:

Val Marie

Cadillac

Ponteix

Mankota

Kincaid

Aneroid

Wood Mountain

Check all paths of length 1





Example:

Val Marie

Cadillac

Ponteix

Mankota

Kincaid

Aneroid

Wood Mountain

Check all paths of length 2





Example:

Val Marie

Cadillac

Ponteix

Mankota

Kincaid

Aneroid

Wood Mountain

Check all paths of length 2





Example:

Val Marie

Cadillac

Ponteix

Mankota

Kincaid

Aneroid

Wood Mountain

Check all paths of length 2


-

since end of path matches
destination, we have found a
solution.


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:

Val Marie

Cadillac

Ponteix

Mankota

Kincaid

Aneroid

Wood Mountain

Suppose this link is connected
to a map with many nodes.
What if DFS tries this link first?


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:

Val Marie

Cadillac

Ponteix

Mankota

Kincaid

Aneroid

Wood Mountain


Example:

Val Marie

Cadillac

Ponteix

Mankota

Kincaid

Aneroid

Wood Mountain

Begin at starting position





Example:

Val Marie

Cadillac

Ponteix

Mankota

Kincaid

Aneroid

Wood Mountain

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.


Example:

Val Marie

Cadillac

Ponteix

Mankota

Kincaid

Aneroid

Wood Mountain

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.


Example:

Val Marie

Cadillac

Ponteix

Mankota

Kincaid

Aneroid

Wood Mountain

We have found a solution. Compare the
number of points searched to our
previous DFS solution.


Path Finding
-

AI


our
heuristic

considerably reduced the
number of points that we searched


however, this approach is not guaranteed to
work.





Example:

Val Marie

Cadillac

Ponteix

Mankota

Kincaid

Aneroid

Wood Mountain

DFS + heuristic search will try Mankota
first, since it is geographically closer to
Kincaid than Cadillac is.


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.