Module 1
Module 1
Computers provide the perfect medium for this experimentation since they can be programmed
to simulate physical symbol system we like. The importance of the physical symbol system
hypothesis is twofold. It is a significant theory of the nature of human intelligence and so is of
great interest to psychologists.
What is an AI Technique?
Artificial Intelligence problems span a very broad spectrum. They appear to have very little in
common except that they are hard. There are techniques that are appropriate for the solution of
a variety of these problems. The results of AI research tells that Intelligence requires
Knowledge.
Knowledge possesses some less desirable properties including:
It is voluminous
It is hard to characterize accurately
It is constantly changing
It differs from data by being organized in a way that corresponds to
Important AI Techniques:
Search: Provides a way of solving problems for which no more direct approach is available
as well as a framework into which any direct techniques that are available can be embedded.
Use of Knowledge: Provides a way of solving complex problems by exploiting the
structures of the objects that are involved.
Abstraction: Provides a way of separating important features and variations from the many
unimportant ones that would otherwise overwhelm any process.
Criteria for Success (Turing Test)
In 1950, Alan Turing proposed the method for determining whether a machine can think. His
method has since become known as the “Turing Test”. To conduct this test, we need two people
and the machine to be evaluated. Turing Test provides a definition of intelligence in a
machine and compares the intelligent behavior of human being with that of a computer.
One person A plays the role of the interrogator, who is in a separate room from the computer and
the other person. The interrogator can ask set of questions to both the computer Z and person X
by typing questions and receiving typed responses. The interrogator knows them only as Z and X
and aims to determine who the person is and who the machine is.
The goal of machine is to fool the interrogator into believing that it is the person. If the machine
succeeds we conclude that the machine can think. The machine is allowed to do whatever it can do
to fool the interrogator.
For example, if asked the question “How much is 12,324 times 73,981?” The
machine could wait several minutes and then respond with wrong answer.
The interrogator receives two sets of responses, but does not know which set comes from
human and which from computer. After careful examination of responses, if interrogator cannot
definitely tell which set has come from the computer and which from human, then the computer
has passed the Turing Test. The more serious issue is the amount of knowledge that a machine
would need to pass the Turing test.
Overview of Artificial Intelligence
It was the ability of electronic machines to store large amounts of information and process it at
very high speeds that gave researchers the vision of building systems which could emulate
(imitate) some human abilities.
We will see the introduction of the systems which equal or exceed human abilities and see them
because an important part of most business and government operations as well as our daily
activities.
Definition of AI: Artificial Intelligence is a branch of computer science concerned with the study
and creation of computer systems that exhibit some form of intelligence such as systems that learn
new concepts and tasks, systems that can understand a natural language or perceive and
comprehend a visual scene, or systems that perform other types of feats that require human types
of intelligence.
To understand AI, we should understand
Intelligence
Knowledge
Reasoning
Thought
Cognition: gaining knowledge by thought or perception learning
The definitions of AI vary along two main dimensions: thought process and reasoning and
behavior.
AI is not the study and creation of conventional computer systems. The study of the mind, the
body, and the languages as customarily found in the fields of psychology, physiology, cognitive
science, or linguistics.
In AI, the goal is to develop working computer systems that are truly capable of performing tasks
that require high levels of intelligence.
position.
rules that define the legal moves
Legal moves can be described by a set of rules:
• Left sides are matched against the current state.
• Right sides describe the new resulting state.
board positions that represent a win for one side or the other
Goal position is any position in which the opponent does not have a legal move and his or her
king is under attack.
We must make explicit the preciously implicit goal of not only playing a legal game of
chess but also winning the game, if possible.
PRODUCTION SYSTEM
The entire procedure for getting a solution for AI problem can be viewed as “Production System”.
It provides the desired goal. It is a basic building block which describes the AI problem and also
describes the method of searching the goal. Its main components are:
A Set of Rules, each consisting of a left side (a pattern) that determines the applicability of the
rule and right side that describes the operation to be performed if the rule is applied.
Knowledge Base – It contains whatever information is appropriate for a particular task. Some
parts of the database may be permanent, while the parts of it may pertain only to the solution of the
current problem.
Control Strategy – It specifies the order in which the rules will be compared to the database and
the way of resolving the conflicts that arise when several rules match at one.
• The first requirement of a goal control strategy is that it is cause motion; a control
strategy that does not cause motion will never lead to a solution.
• The second requirement of a good control strategy is that it should be systematic.
A rule applier: Production rule is like below if(condition) then consequence or action
Algorithm for Production System:
1. Represent the initial state of the problem
2. If the present state is the goal state then go to step 5 else go to step 3
3. Choose one of the rules that satisfy the present state, apply it and change the state to new state.
4. Go to Step 2
5. Print “Goal is reached ” and indicate the search path from initial state to goal state 6. Stop
Classification of Production System:
Based on the direction they can be
1. Forward Production System
Moving from Initial State to Goal State
When there are number of goal states and only one initial state, it is advantage to use
forward production system.
2. Backward Production System
Moving from Goal State to Initial State
If there is only one goal state and many initial states, it is advantage to use backward
production system.
A partially commutative production system is a production system with the property that if the
application of a particular sequence of rules transforms state X into state Y, then any permutation
of those rules that is allowable also transforms state X into state Y.
A commutative production system is a production system that is both monotonic and partially
commutative.
In a formal sense, there is no relationship between kinds of problems and kinds of production of
systems, since all problems can be solved by all kinds of systems. But in practical sense, there
definitely is such a relationship between kinds of problems and the kinds of systems that led
themselves naturally to describing those problems.
The following figure shows the four categories of production systems produced by the two
dichotomies, monotonic versus non-monotonic and partially commutative versus non-partially
commutative along with some problems that can be naturally be solved by each type of system.
Monotonic Non-monotonic
Problem Characteristics
In order to choose the most appropriate method (or a combination of methods) for a particular
problem, it is necessary to analyze the problem along several key dimensions:
• Is the problem decomposable?
• Can solution steps be ignored or undone?
• Is the universe predictable?
• Is a good solution absolute or relative?
• Is the solution a state or a path?
• What is the role of knowledge?
• Does the task require human-interaction?
• Problem Classification
Is the problem decomposable?
Decomposable problem can be solved easily. Suppose we want to solve the problem of computing
the expression.
We can solve this problem by breaking it down into these smaller problems, each of which we can
then solve by using a small collection of specific rules the following figure shows problem tree that
as it can be exploited by a simple recursive integration program that works as follows.
At each step it checks to see whether the problem it is working on is immediately solvable. If so,
then the answer is returned directly. If the problem is not easily solvable, the integrator checks to
see whether it can decompose the problem into smaller problems. It can create those problems and
calls itself recursively on using this technique of problem decomposition we can often solve very
large problem easily.
Can solution steps be ignored or undone?
Suppose we are trying to prove a mathematical theorem. We proceed by first proving a lemma that
we think will be useful. A lemma that has been proved can be ignored for next steps as eventually
we realize the lemma is no help at all.
Now consider the 8-puzzle game. A sample game using the 8-puzzle is shown below:
In attempting to solve the 8 puzzle, we might make a stupid move for example; we slide the tile 5
into an empty space. We actually want to slide the tile 6 into empty space but we can back track
and undo the first move, sliding tile 5 back to where it was then we can know tile 6 so mistake and
still recovered from but not quit as easy as in the theorem moving problem. An additional step
must be performed to undo each incorrect step.
Now consider the problem of playing chess. Suppose a chess playing problem makes a stupid move
and realize a couple of moves later. But here solutions steps cannot be undone.
The above three problems illustrate difference between three important classes of problems:
1) Ignorable: in which solution steps can be ignored. Example: Theorem Proving
2) Recoverable: in which solution steps can be undone. Example: 8-Puzzle
3) Irrecoverable: In which solution steps cannot be undone.
Example:
Chess:
The recoverability of a problem plays an important role in determining the complexity of the
control structure necessary for problem solution.
Ignorable problems can be solved using a simple control structure that never backtracks.
Recoverable problems can be solved by slightly complicated control strategy that does sometimes
make mistakes using backtracking. Irrecoverable problems can be solved by recoverable style
methods via planning that expands a great deal of effort making each decision since the decision is
final.
Is the universe predictable?
There are certain outcomes every time we make a move we will know what exactly happen. This
means it is possible to plan entire sequence of moves and be confident that we know what the
resulting state will be. Example is 8-Puzzle.
In the uncertain problems, this planning process may not be possible. Example: Bridge Game –
Playing Bridge. We cannot know exactly where all the cards are or what the other players will do
on their turns.
We can do fairly well since we have available accurate estimates of a probabilities of each of
the possible outcomes. A few examples of such problems are
Controlling a robot arm: The outcome is uncertain for a variety of reasons. Someone might
move something into the path of the arm. The gears of the arm might stick.
Helping a lawyer decide how to defend his client against a murder charge. Here we probably
cannot even list all the possible outcomes, which leads outcome to be uncertain.
For certain-outcome problems, planning can used to generate a sequence of operators that is
guaranteed to lead to a solution.
For uncertain-outcome problems, a sequence of generated operators can only have a good
probability of leading to a solution.
Plan revision is made as the plan is carried out and the necessary feedback is provided.
Since we are interested in the answer to the question, it does not matter which path we follow. If
we do follow one path successfully to the answer, there is no reason to go back and see if some
other path might also lead to a solution. These types of problems are called as “Any path
Problems”.
Now consider the Travelling Salesman Problem. Our goal is to find the shortest path route that
visits each city exactly once
Suppose we find a path it may not be a solution to the problem. We also try all other paths. The
shortest path (best path) is called as a solution to the problem. These types of problems are
known as “Best path” problems. But path problems are computationally harder than any path
problems.
Is the solution a state or a path?
Consider the problem of finding a consistent interpretation for the sentence
The bank president ate a dish of pasta salad with the fork
There are several components of this sentence, each of which may have more than one
interpretation. Some of the sources of ambiguity in this sentence are the following:
The word “Bank” may refer either to a financed institution or to a side of river. But only one
of these may have a President.
The word “dish” is the object of the word “eat”. It is possible that a dish was eaten.
But it is more likely that the pasta salad in the dish was eaten.
Because of the interaction among the interpretations of the constituents of the sentence some
search may be required to find a complete interpreter for the sentence. But to solve the problem of
finding the interpretation we need to produce only the interpretation itself. No record of the
processing by which the interpretation was found is necessary. But with the “water-jug” problem
it is not sufficient to report the final state we have to show the “path” also. So, the solution of
natural language understanding problem is a state of the world. And the solution of “Water jug”
problem is a path to a state.
What is the role of knowledge?
Consider the problem of playing chess. The knowledge required for this problem is the rules for
determining legal move and some simple control mechanism that implements an appropriate
search procedure.
Now consider the problem of scanning daily newspapers to decide which are supporting ‘n’ party
and which are supporting ‘y’ party. For these problems are required lot of knowledge.
The above two problems illustrate the difference between the problems for which a lot of
knowledge is important only to constrain the search for a solution and those for which a lot of
knowledge is required even to be able to recognize a solution.
Does a task require interaction with the person?
Suppose that we are trying to prove some new very difficult theorem. We might demand a prove
that follows traditional patterns so that mathematician each read the prove and check to make sure
it is correct. Alternatively, finding a proof of the theorem might be sufficiently difficult that the
program does not know where to start. At the moment people are still better at doing the highest-
level strategies required for a proof. So that the computer might like to be able to ask for advice.
For Example:
• Solitary problem, in which there is no intermediate communication and no
demand for an explanation of the reasoning process.
• Conversational problem, in which intermediate communication is to
provide either additional assistance to the computer or additional
information to the user.
Problem Classification
When actual problems are examined from the point of view all of these questions it becomes
apparent that there are several broad classes into which the problem fall. The classes can be each
associated with a generic control strategy that is approached for solving the problem. There is a
variety of problem-solving methods, but there is no one single way of solving all problems. Not
all new problems should be considered as totally new. Solutions of similar problems can be
exploited.
PROBLEMS
Water-Jug Problem
Problem is “You are given two jugs, a 4-litre one and a 3-litre one. One neither has any
measuring markers on it. There is a pump that can be used to fill the jugs with water. How can
you get exactly 2 litres of water into 4-litre jug?”
Solution:
The state space for the problem can be described as a set of states, where each state represents
the number of gallons in each state. The game start with the initial state described as a set of
ordered pairs of integers:
• State: (x, y)
– x = number of lts in 4 lts jug
– y = number of lts in 3 lts jug
x = 0, 1, 2, 3, or 4 y = 0, 1, 2, 3
• Start state: (0, 0) i.e., 4-litre and 3-litre jugs is empty initially.
• Goal state: (2, n) for any n that is 4-litre jug has 2 litres of water and 3-litre jug has
any value from 0-3 since it is not specified.
• Attempting to end up in a goal state.
Production Rules: These rules are used as operators to solve the problem. They are
represented as rules whose left sides are used to describe new state that result from approaching
the rule.
Chess Problem
Problem of playing chess can be defined as a problem of moving around in a state space where
each state represents a legal position of the chess board.
The game start with an initial state described as an 8x8 of each position contains symbol standing
for the appropriate place in the official chess opening position. A set of rules is used to move from
one state to another and attempting to end up on one of a set of final states which is described as
any board position in which the opponent does not have a legal move as his/her king is under
attacks.
The state space representation is natural for chess. Since each state corresponds to a board position
i.e. artificial well organized.
Initial State: Legal chess opening position
Goal State: Opponent does not have any legal move/king under attack.
Production Rules:
These rules are used to move around the state space. They can be described easily as a set of rules
consisting of two parts:
1. Left side serves as a pattern to be matching against the current board position.
2. Right side that serves decides the chess to be made to the board position to reflect the move.
To describe these rules it is convenient to introduce a notation for pattern and substitutions
E.g.:
1. White pawn at square (file1,rank2)
Move pawn from square (file i, rank2) AND square (file i, rank2)
AND
Square (file i,rank3) is empty ->To square (file i,rank4)
AND
Square (file i,rank4) is empty
2. White knight at square (file i,rank1)move
Square(1,1) to -> Square(i-1,3)
AND
Empty Square(i-1,3)
8-Puzzle Problem
Problem is 8-Puzzle is a square tray in which 8 square tiles are placed. The remaining 9th
square is uncovered. Each tile has a number on it. A file that is adjacent to the blank space can be
slide into that space. The goal is to transform the starting position into the goal position by sliding
the tiles around.
Solution: State Space: The state space for the problem can be written as a set of states where each
state is position of the tiles on the tray.
Initial State: Square tray having 3x3 cells and 8 tiles number on it that are shuffled.
2 8 3
1 6 4
7 5
Goal State
1 2 3
8 4
7 6 5
Production Rules: These rules are used to move from initial state to goal state. These are also
defined as two parts left side pattern should match with current position and left side will be
resulting position after applying the rule.
1. Tile in square (1,1)
AND Move tile from square (1,1) to (2,1)
Solution:
Production rules:
These rules are used as operators to move from one state to another. Since there is a path between
any pair of cities in the city list, we write the production rules for this problem as
• Visited(city[i]) AND Not Visited(city[j])
– Traverse(city[i],city[j])
• Visited(city[i],city[j]) AND Not Visited(city[k])
– Traverse(city[j],city[k])
• Visited(city[j],city[i]) AND Not Visited(city[k])
– Traverse(city[i],city[k])
• Visited(city[i],city[j],city[k]) AND Not Visited(Nil)
– Traverse(city[k],city[i])
Towers of Hanoi Problem
Problem is the state space for the problem can be described as each state representing position of
the disk on each pole the position can be treated as a stack the length of the stack will be equal to
maximum number of disks each post can handle. The initial state of the problem will be any one
of the posts will the certain the number of disks and the other two will be empty.
Initial State:
Full(T1) |
Empty(T2) |
Empty(T3) Goal State:
Empty(T1) |
Full(T2) | Empty (T3)
Production Rules:
These are rules used to reach the Goal State. These rules use the following operations:
POP(x) -> Remove top element x from the stack and update top
PUSH(x,y) -> Push an element x into the stack and update top. [Push an element x on to
the y]
Now to solve the problem the production rules can be described as follows:
1. Top(T1)<Top(T2) -> PUSH(POP(T1),T2)
2. Top(T2)<Top(T1) -> PUSH(POP(T2),T1)
3. Top(T1)<Top(T3) ->PUSH(POP(T1),T3)
4. Top(T3)<Top(T1) -> PUSH(POP(T3),T1)
5. Top(T2)<Top(T3) -> PUSH(POP(T2),T3)
6. Top(T3)<Top(T2) -> PUSH(POP(T3),T2)
7. Empty(T1) -> PUSH(POP(T2),T1)
8. Empty(T1) -> PUSH(POP(T3),T1)
9. Empty(T2) -> PUSH(POP(T1),T3)
10. Empty(T3) -> PUSH(POP(T1),T3)
11. Empty(T2) -> PUSH(POP(T3),T2)
12. Empty(T3) -> PUSH(POP(T2),T3)
• G is the position under bananas and all objects are under it, monkey is on the chair
and holding stick
Production Rules:
These are the rules which have a path for searching the goal state here we assume that when
monkey hold a stick then it will swing it this assumption is necessary to simplify the
representation.
Some of the production rules are:
1) (M,C,S,0,0) -> (A,C,S,0,0) {An arbitrary position A}
2) (M,C,S,0,0) -> (C,C,S,0,0) {monkey moves to chair position}
3) (M,C,S,0,0) -> (S,S,S,0,0) {monkey brings chair to stick position}
4) (C,C,S,0,0) -> (A,A,S,0,0) {push the chair to arbitrary position A}
5) (S,C,S,0,0) -> (A,C,A,0,1) {Taking the stick to arbitrary position}
6) (S,C,S,0,0) -> (C,C,S,0,0) {monkey moves from stick position to chair position}
7) (C,C,C,0,1) -> (C,C,C,1,1){monkey and stick at the chair position,
monkey on the chair and holding stick}
8) (S,C,S,0,1) -> (C,C,C,0,1)
Solution:
1) (M,C,S,0,0)
2) (C,C,S,0,0)
3) (G,G,S,0,0)
4) (S,G,S,0,0)
5) (G,G,G,0,0)
6) (G,G,G,0,1)
7) (G,G,G,1,1)
river is never less than the number of cannibals who are on the same side. The only boat available
holds only two people at a time. How can everyone get across without missionaries risking hang
eager?
Solution:
The state space for the problem contains a set of states which represent the present number of
cannibals and missionaries on the either side of the bank of the river. (C,M,C1,M1,B)
– C and M are number of cannibals and missionaries on the starting bank
– C1 and M1 are number of cannibals and missionaries on the destination bank
– B is the position of the boat wither left bank (L) or right bank (R)
Production System: These are the operations used to move from one state to other state. Since
at any bank the number of cannibals must less than or equal to missionaries we can write two
production rules for this problem as follows:
•(C,M,C1,M1,L / C=3, M=3) -> (C-2,M,C1+2,M1,R)
•(C,M,C1,M1,L / C=3, M=3) -> (C-1,M-1,C1+1,M1+1,R)
•(C,M,C1,M1,L / C=3, M=3) -> (C-1,M,C1+1,M1,R)
•(C,M,C1,M1,R / C=1, M=3) -> (C+1,M,C1-1,M1,L)
•(C,M,C1,M1,R / C=0, M=3,C1=3,M1=0) -> (C+1,M,C1-1,M1,L)
The solution path is
3 3 0 0
1 3 -> 2 0
2 3 <- 1 0
0 3 -> 3 0
1 3 <- 2 0
1 1 -> 2 2
2 2 <- 1 1
2 0 -> 1 3
3 0 <- 0 3
1 0 -> 2 3
2 0 <- 1 3
0 0 -> 3 3