Вы находитесь на странице: 1из 38



An Introductory Course

1. 2.
3. 4.

Introduction Problems and Search

Knowledge Representation Advanced Topics
- Game Playing

- Uncertainty and Imprecision - Planning

- Machine Learning

Artificial Intelligence (1991)

Elaine Rich & Kevin Knight, Second Ed, Tata McGraw Hill

Decision Support Systems and Intelligent Systems

Turban and Aronson, Sixth Ed, PHI

What is AI? The foundations of AI A brief history of AI The state of the art Introductory problems

Intelligence: ability to learn, understand and think

(Oxford dictionary)

AI is the study of how to make computers make things

which at the moment people do better.

Examples: Speech recognition, Smell, Face, Object,

Intuition, Inferencing, Learning new skills, Decision making, Abstract thinking

Thinking humanly

Thinking rationally

Acting humanly

Acting rationally

Alan Turing (1912-1954) Computing Machinery and Intelligence (1950)

Imitation Game Human

Human Interrogator

AI System

Predicted that by 2000, a machine might have a 30%

chance of fooling a lay person for 5 minutes.

Anticipated all major arguments against AI in

following 50 years.

Suggested major components of AI: knowledge,

reasoning, language, understanding, learning.

Not content to have a program correctly solving a

problem. More concerned with comparing its reasoning steps to traces of human solving the same problem.

Requires testable theories of the workings of the

human mind: cognitive science.

Aristotle was one of the first to attempt to codify right

thinking, i.e., irrefutable reasoning processes.

Formal logic provides a precise notation and rules for

representing and reasoning with all kinds of things in the world.

- Informal knowledge representation. - Computational complexity and resources.


Acting so as to achieve ones goals, given ones beliefs.

Does not necessarily involve thinking. Advantages:
- More general than the laws of thought approach.
- More amenable to scientific development than humanbased approaches.


Philosophy (423 BC - present):

- Logic, methods of reasoning. - Mind as a physical system. - Foundations of learning, language, and rationality.

Mathematics (c.800 - present):

- Formal representation and proof. - Algorithms, computation, decidability, tractability. - Probability.


Psychology (1879 - present):

- Adaptation. - Phenomena of perception and motor control. - Experimental techniques.

Linguistics (1957 - present):

- Knowledge representation. - Grammar.


The gestation of AI (1943 - 1956):

- 1943: McCulloch & Pitts: Boolean circuit model of brain. - 1950: Turings Computing Machinery and Intelligence. - 1956: McCarthys name Artificial Intelligence adopted.

Early enthusiasm, great expectations (1952 - 1969):

- Early successful AI programs: Samuels checkers, Newell & Simons Logic Theorist, Gelernters Geometry Theorem Prover. - Robinsons complete algorithm for logical reasoning.


A dose of reality (1966 - 1974):

- AI discovered computational complexity. - Neural network research almost disappeared after Minsky & Paperts book in 1969.

Knowledge-based systems (1969 - 1979):

- 1969: DENDRAL by Buchanan et al..

- 1976: MYCIN by Shortliffle. - 1979: PROSPECTOR by Duda et al..


AI becomes an industry (1980 - 1988):

- Expert systems industry booms. - 1981: Japans 10-year Fifth Generation project.

The return of NNs and novel AI (1986 - present):

- Mid 80s: Back-propagation learning algorithm reinvented. - Expert systems industry busts. - 1988: Resurgence of probability. - 1988: Novel AI (ALife, GAs, Soft Computing, ). - 1995: Agents everywhere. - 2003: Human-level AI back on the agenda.

Mundane Tasks: Perception

Vision Speech

Natural Languages
Understanding Generation Translation

Common sense reasoning Robot Control

Formal Tasks Games : chess, checkers etc Mathematics: Geometry, logic,Proving properties of programs Expert Tasks: Engineering ( Design, Fault finding, Manufacturing planning) Scientific Analysis Medical Diagnosis Financial Analysis


Intelligence requires Knowledge

Knowledge posesses less desirable properties such as:
Hard to characterize accurately

Constantly changing
Differs from data that can be used

AI technique is a method that exploits knowledge that should be

represented in such a way that:

Knowledge captures generalization
It can be understood by people who must provide it It can be easily modified to correct errors. It can be used in variety of situations


Computer beats human in a chess game. Computer-human conversation using speech


Expert system controls a spacecraft. Robot can walk on stairs and hold a cup of water. Language translation for webpages. Home appliances use fuzzy logic. ......

Three programs are presented :

Series increase Their complexity

Use of generalization
Clarity of their knowledge

Extensability of their approach


X o


Program 1: Data Structures: Board: 9 element vector representing the board, with 1-9 for each square. An element contains the value 0 if it is blank, 1 if it is filled by X, or 2 if it is filled with a O Movetable: A large vector of 19,683 elements ( 3^9), each element is 9element vector.
Algorithm: 1. 2. 3. View the vector as a ternary number. Convert it to a decimal number. Use the computed number as an index into Move-Table and access the vector stored there. Set the new board to that vector.


Comments: This program is very efficient in time.

1. A lot of space to store the Move-Table. 2. A lot of work to specify all the entries in the Move-Table. 3. Difficult to extend.


1 2 3 4 5 6 7 8 9

Program 2: Data Structure: A nine element vector representing the board. But instead of using 0,1 and 2 in each element, we store 2 for blank, 3 for X and 5 for O Functions: Make2: returns 5 if the center sqaure is blank. Else any other balnk sq Posswin(p): Returns 0 if the player p cannot win on his next move; otherwise it returns the number of the square that constitutes a winning move. If the product is 18 (3x3x2), then X can win. If the product is 50 ( 5x5x2) then O can win. Go(n): Makes a move in the square n

Turn = 1 Turn = 2 Turn = 3 Turn = 4 ....... Go(1) If Board[5] is blank, Go(5), else Go(1) If Board[9] is blank, Go(9), else Go(3) If Posswin(X) 0, then Go(Posswin(X))


Comments: 1. Not efficient in time, as it has to check several conditions before making each move. 2. Easier to understand the programs strategy. 3. Hard to generalize.


8 3 4 1 5 9 6 7 2
15 - (8 + 5)

Comments: 1. Checking for a possible win is quicker. 2. Human finds the row-scan approach easier, while computer finds the number-counting approach more efficient.


Program 3: 1. If it is a win, give it the highest rating. 2. Otherwise, consider all the moves the opponent could make next. Assume the opponent will make the move that is worst for us. Assign the rating of that move to the current node. 3. The best node is then the one with the highest rating.

Comments: 1. Require much more time to consider all possible moves. 2. Could be extended to handle more complicated games.


Mary went shopping for a new coat. She found a red one she really liked. When she got it home, she discovered that it went perfectly with her favourite dress.
Q1: What did Mary go shopping for? Q2: What did Mary find that she liked? Q3: Did Mary buy anything?

Program 1: 1. Match predefined templates to questions to generate text patterns.

2. Match text patterns to input texts to get answers.

What did X Y

What did Mary go shopping for?

Mary go shopping for Z Z = a new coat


Program 2: Structured representation of sentences: Event2: instance: tense: agent: object: Thing1: instance: colour:

Finding Past Mary Thing 1

Coat Red


Program 3: Background world knowledge: C finds M

C leaves L

C buys M C leaves L C takes M


1. Characterize the definitions of AI:

"The exciting new effort to make computers think ... machines with minds, in the full and literal senses" (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)

"A field of study that seeks to explain and emulate intelligent behavior in terms of computationl processes" (Schalkoff, 1990) "The branch of computer science that is concerned with the automation of intelligent behaviour" (Luger and Stubblefield, 1993)

"A collection of algorithms that are computationally tractable, adequate approximations of intractabiliy specified problems" (Partridge, 1991)

"The enterprise of constructing a physical symbol system that can reliably pass the Turing test" (Ginsberge, 1993) "The f ield of computer science that studies how machines can be made to act intelligently" (Jackson, 1986)