49
Computer Science 1000 AI – A Brief Overview

Computer Science 1000 AI – A Brief Overview. Artificial Intelligence definition: many! `` ``The exciting new effort to make computers think... machines

Embed Size (px)

Citation preview

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 AttemptsELIZA

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#note

10

ChatterbotELIZA was an early example of a chatterbotA 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 Prizenotable 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 FindingExample: 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 MountainBegin at starting position

Example:

Val Marie

Cadillac

Ponteix

Mankota

Kincaid

Aneroid

Wood MountainChoose 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 MountainChoose 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 MountainChoose 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 MountainChoose 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 MountainNo points connected to WM that we have not yet visited. Must back up to Mankota.

Example:

Val Marie

Cadillac

Ponteix

Mankota

Kincaid

Aneroid

Wood MountainChoose 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 MountainWe now have a path between Val Marie and Kincaid.

Path FindingDFS (Depth-first search)

advantages: simple memory efficient (beyond scope of class)

disadvantages: not guaranteed to find shortest path first (smallest

number of hops)

Path FindingExample: BFS (Breadth-first search)

check all paths of length 1check all paths of length 2check all paths of length 3etc ...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 MountainCheck all paths of length 1

Example:

Val Marie

Cadillac

Ponteix

Mankota

Kincaid

Aneroid

Wood MountainCheck all paths of length 1

Example:

Val Marie

Cadillac

Ponteix

Mankota

Kincaid

Aneroid

Wood MountainCheck all paths of length 2

Example:

Val Marie

Cadillac

Ponteix

Mankota

Kincaid

Aneroid

Wood MountainCheck all paths of length 2

Example:

Val Marie

Cadillac

Ponteix

Mankota

Kincaid

Aneroid

Wood MountainCheck all paths of length 2 - since end of path matches destination, we have found a solution.

Path FindingBFS

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 - Problemsboth path finding algorithms guaranteed to

find a solution, if one existshowever, they can be slow

imagine a map with millions of possible pointsDFS may initially go in the wrong directionBFS will check many paths in the wrong

direction, if they are closer than solution

Example:

Val Marie

Cadillac

Ponteix

Mankota

Kincaid

Aneroid

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

Path Finding - AIsmart searching involves using a heuristic to

improve its search capabilitiessimply 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 coordinateswe 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 MountainBegin 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 - AIour heuristic considerably reduced the

number of points that we searchedhowever, 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 - AIwhen DFS is combined with a heuristic, it is

known as a greedy searchwhen BFS is combined with a heuristic (not

shown), it is known as an A* search these algorithms collectively are known as

best-first search.