Chapter2 Search
-
Upload
uddalak-banerjee -
Category
Documents
-
view
222 -
download
0
Transcript of Chapter2 Search
-
8/9/2019 Chapter2 Search
1/47
Problems, Problem Spaces
and Search
Dr. Suthikshn Kumar
-
8/9/2019 Chapter2 Search
2/47
Contents
Defining the problem as a State Space Search
Production Systems
Control Strategies
Breadth First Search
Depth First Search Heuristic Search
Problem Characteristics
Is the Problem Decomposable?
Can Solution Steps be ignored or undone? Production system characteristics
Issues in the design of search programs
-
8/9/2019 Chapter2 Search
3/47
To build a system to solve a
problem
1. Define the problem precisely
2. Analyse the problem
3. Isolate and represent the task knowledgethat is necessary to solve the problem
4. Choose the best problem-solving
techniques and apply it to the particularproblem.
-
8/9/2019 Chapter2 Search
4/47
Defining the problem as State
Space Search The state space representation forms the basis of most
of the AI methods.
Its structure corresponds to the structure of problemsolving in two important ways:
It allows for a formal definition of a problem as the need toconvert some given situation into some desired situation using aset of permissible operations.
It permits us to define the process of solving a particular problemas a combination of known techniques (each represented as arule defining a single step in the space) and search, the generaltechnique of exploring the space to try to find some path fromcurrent state to a goal state.
Search is a very important process in the solution of hardproblems for which no more direct techniques are available.
-
8/9/2019 Chapter2 Search
5/47
Example: Playing Chess
To build a program that could play chess, we
could first have to specify the starting position of
the chess board, the rules that define the legal
moves, and the board positions that represent awin for one side or the other.
In addition, we must make explicit the previously
implicit goal of not only playing the legal game of
chess but also winning the game, if possible,
-
8/9/2019 Chapter2 Search
6/47
Playing chess
The starting position can be described as an 8by 8 array where eachposition contains a symbol for appropriate piece.
We can define as our goal the check mate position. The legal moves provide the way of getting from initial state to a goal state. They can be described easily as a set of rules consisting of two parts:
A left side that serves as a pattern to be matched against the current board
position. And a right side that describes the change to be made to reflect the move
However, this approach leads to large number of rules 10120board positions !! Using so many rules poses problems such as:
No person could ever supply a complete set of such rules. No program could easily handle all those rules. Just storing so many rules poses
serious difficulties.
-
8/9/2019 Chapter2 Search
7/47
Defining chess problem as State
Space search We need to write the rules describing the legal
moves in as general a way as possible.
For example:
White pawn at Square( file e, rank 2) ANDSquare( File e, rank 3) is empty AND Square(file e,rank 4) is empty, then move the pawn fromSquare( file e, rank 2) to Square( file e, rank 4).
In general, the more succintly we can describethe rules we need, the less work we will have todo to provide them and more efficient theprogram.
-
8/9/2019 Chapter2 Search
8/47
Water Jug Problem
The state space for this problem can bedescribed as the set of ordered pairs ofintegers (x,y) such that x = 0, 1,2, 3 or 4 and y
= 0,1,2 or 3; x represents the number ofgallons of water in the 4-gallon jug and yrepresents the quantity of water in 3-gallon
jug
The start state is (0,0) The goal state is (2,n)
-
8/9/2019 Chapter2 Search
9/47
Production rules for Water Jug
Problem The operators to be used to solve the problem can be described as follows:
Sl No Current state Next State Descritpion
1 (x,y) if x < 4 (4,y) Fill the 4 gallon jug
2 (x,y) if y 0 (x-d, y) Pour some water out of the 4gallon jug
4 (x,y) if y > 0 (x, y-d) Pour some water out of the 3-gallon jug
5 (x,y) if x>0 (0, y) Empty the 4 gallon jug
6 (x,y) if y >0 (x,0) Empty the 3 gallon jug on theground
7 (x,y) if x+y >= 4 and y >0 (4, y-(4-x)) Pour water from the 3 gallonjug into the 4 gallon jug untilthe 4-gallon jug is full
-
8/9/2019 Chapter2 Search
10/47
Production rules
8 (x, y) if x+y >= 3 and x>0 (x-(3-y), 3) Pour water from the 4-gallon jug intothe 3-gallon jug until the 3-gallon jugis full
9 (x, y) if x+y 0 (x+y, 0) Pour all the water from the 3-gallonjug into the 4-gallon jug
10 (x, y) if x+y 0 (0, x+y) Pour all the water from the 4-gallonjug into the 3-gallon jug
11 (0,2) (2,0) Pour the 2 gallons from 3-gallon juginto the 4-gallon jug
12 (2,y) (0,y) Empty the 2 gallons in the 4-gallonjug on the ground
-
8/9/2019 Chapter2 Search
11/47
To solve the water jug problem
Required a control structure that loopsthrough a simple cycle in which somerule whose left side matches thecurrent state is chosen, the appropriatechange to the state is made asdescribed in the corresponding rightside, and the resulting state is checkedto see if it corresponds to goal state.
One solution to the water jug problem
Shortest such sequence will have aimpact on the choice of appropriatemechanism to guide the search for
solution.
Gallons in the 4-gallon jug
Gallons in the 3-gallon jug
Rule applied
0 0 2
0 3 9
3 0 2
3 3 7
4 2 5 or 12
0 2 9 0r 11
2 0
-
8/9/2019 Chapter2 Search
12/47
Formal Description of the problem
1. Define a state space that contains all thepossible configurations of the relevant objects.
2. Specify one or more states within that spacethat describe possible situations from which
the problem solving process may start ( initialstate)
3. Specify one or more states that would beacceptable as solutions to the problem. ( goal
states)4. Specify a set of rules that describe the actions( operations) available.
-
8/9/2019 Chapter2 Search
13/47
Production Systems
A production system consists of: A set of rules, each consisting of a left side that determines the
applicability of the rule and a right side that describes the operationto be performed if that rule is applied.
One or more knowledge/databases that contain whatever
information is appropriate for the particular task. Some parts of thedatabase may be permanent, while other parts of it may pertain onlyto the solution of the current problem.
A control strategy that specifies the order in which the rules will becompared to the database and a way of resolving the conflicts thatarise when several rules match at once.
A rule applier
-
8/9/2019 Chapter2 Search
14/47
Production system
Inorder to solve a problem: We must first reduce it to one for which a precise
statement can be given. This can be done bydefining the problems state space ( start and
goal states) and a set of operators for movingthat space.
The problem can then be solved by searchingfor a path through the space from an initial state
to a goal state. The process of solving the problem can usefullybe modelled as a production system.
-
8/9/2019 Chapter2 Search
15/47
Control Strategies
How to decide which rule to apply next
during the process of searching for a
solution to a problem?
The two requirements of good control
strategy are that
it should cause motion.
It should be systematic
-
8/9/2019 Chapter2 Search
16/47
Breadth First Search
Algorithm:
1. Create a variable called NODE-LIST and set it to
initial state
2. Until a goal state is found or NODE-LIST is emptydo
a. Remove the first element from NODE-LIST and call it E. If
NODE-LIST was empty, quit
b. For each way that each rule can match the state described
in E do:i. Apply the rule to generate a new state
ii. If the new state is a goal state, quit and return this state
iii. Otherwise, add the new state to the end of NODE-LIST
-
8/9/2019 Chapter2 Search
17/47
BFS Tree for Water Jug problem
(0,0)
(4,0) (0,3)
(4,3) (0,0) (1,3) (4,3) (0,0)(3,0)
-
8/9/2019 Chapter2 Search
18/47
Algorithm: Depth First Search
1. If the initial state is a goal state, quit andreturn success
2. Otherwise, do the following until success
or failure is signaled:a. Generate a successor, E, of initial state. If
there are no more successors, signal failure.
b. Call Depth-First Search, with E as the initialstate
c. If success is returned, signal success.Otherwise continue in this loop.
-
8/9/2019 Chapter2 Search
19/47
Backtracking
In this search, we pursue a singal branch of the tree untilit yields a solution or until a decision to terminate thepath is made.
It makes sense to terminate a path if it reaches dead-
end, produces a previous state. In such a statebacktracking occurs
Chronological Backtracking: Order in which steps areundone depends only on the temporal sequence in whichsteps were initially made.
Specifically most recent step is always the first to beundone.
This is also simple backtracking.
-
8/9/2019 Chapter2 Search
20/47
Advantages of Depth-First Search
DFS requires less memory since only the
nodes on the current path are stored.
By chance, DFS may find a solution
without examining much of the search
space at all.
-
8/9/2019 Chapter2 Search
21/47
Advantages of BFS
BFS will not get trapped exploring a blind
alley.
If there is a solution, BFS is guarnateed to
find it.
If there are multiple solutions, then a
minimal solution will be found.
-
8/9/2019 Chapter2 Search
22/47
TSP
A simple motion causing and systematic control structurecould solve this problem.
Simply explore all possible paths in the tree and returnthe shortest path.
If there are N cities, then number of different pathsamong them is 1.2.(N-1) or (N-1)!
The time to examine single path is proportional to N
So the total time required to perform this search is
proportional to N! For 10 cities, 10! = 3,628,800
This phenomenon is called Combinatorial explosion.
-
8/9/2019 Chapter2 Search
23/47
Branch and Bound
Begin generating complete paths, keeping trackof the shortest path found so far.
Give up exploring any path as soon as its partial
length becomes greater than the shortest pathfound so far.
Using this algorithm, we are guaranteed to findthe shortest path.
It still requires exponential time. The time it saves depends on the order in which
paths are explored.
-
8/9/2019 Chapter2 Search
24/47
Heuristic Search
A Heuristic is a technique that improves the efficiency of a searchprocess, possibly by sacrificing claims of completeness.
Heuristics are like tour guides They are good to the extent that they point in generally interesting
directions;
They are bad to the extent that they may miss points of interest toparticular individuals. On the average they improve the quality of the paths that are
explored. Using Heuristics, we can hope to get good ( though possibly
nonoptimal ) solutions to hard problems such asa TSP in non
exponential time. There are good general purpose heuristics that are useful in a widevariety of problem domains.
Special purpose heuristics exploit domain specific knowledge
-
8/9/2019 Chapter2 Search
25/47
Nearest Neighbour Heuristic
It works by selecting locally superior alternative at eachstep.
Applying to TSP:1. Arbitrarily select a starting city
2. To select the next city, look at all cities not yet visited andselect the one closest to the current city. Go to next step.
3. Repeat step 2 until all cities have been visited.
This procedure executes in time proportional to N2
It is possible to prove an upper bound on the error itincurs. This provides reassurance that one is notpaying too high a price in accuracy for speed.
-
8/9/2019 Chapter2 Search
26/47
Heuristic Function
This is a function that maps from problem state descriptions tomeasures of desirsability, usually represented as numbers.
Which aspects of the problem state are considered,
how those aspects are evaluated, and
the weights given to individual aspects are chosen in such a way that
the value of the heuristic function at a given node in the searchprocess gives as good an estimate as possible of whether that nodeis on the desired path to a solution.
Well designed heuristic functions can play an important part inefficiently guiding a search process toward a solution.
-
8/9/2019 Chapter2 Search
27/47
Example Simple Heuristic functions
Chess : The material advantage of our
side over opponent.
TSP: the sum of distances so far
Tic-Tac-Toe: 1 for each row in which we
could win and in we already have one
piece plus 2 for each such row in we have
two pieces
-
8/9/2019 Chapter2 Search
28/47
Problem Characteristics
Inorder to choose the most appropriate method for aparticular problem, it is necessary to analyze theproblem along several key dimensions: Is the problem decomposable into a set of independent smaller
or easier subproblems? Can solution steps be ignored or at least undone if they prove
unwise? Is the problems universe predictable? Is a good solution to the problem obvious without comparison to
all other possible solutions? Is the desired solution a state of the world or a path to a state?
Is a large amount of knowledge absolutely required to solve theproblem or is knowledge important only to constrain the search? Can a computer that is simply given the problem return the
solution or will the solution of the problem require interactionbetween the computer and a person?
-
8/9/2019 Chapter2 Search
29/47
Is the problem Decomposable?
Whether the problem can be decomposed
into smaller problems?
Using the technique of problem
decomposition, we can often solve very
large problems easily.
-
8/9/2019 Chapter2 Search
30/47
Blocks World Problem
Following operators
are available:
CLEAR(x) [ block x
has nothing on it]->ON(x, Table)
CLEAR(x) and
CLEAR(y) ->
ON(x,y) [ put x on y]
C
A B
A
B
C
Start: ON(C,A)
Goal:
ON(B,C) andON(A,B)
ON(B,C)
ON(B,C) and ON(A,B)
ON(B,C)
ON(A,B)
CLEAR(A) ON(A,B)
CLEAR(A) ON(A,B)
-
8/9/2019 Chapter2 Search
31/47
Can Solution Steps be ignored or
undone? Suppose we are trying to prove a math theorem.We can prove a
lemma. If we find the lemma is not of any help, we can still continue. 8-puzzle problem Chess: A move cannot be taken back. Important classes of problems:
Ignorable ( theorem proving) Recoverable ( 8-puzzle) Irrecoverable ( Chess)
The recoverability of a problem plays an important role indetermining the complexity of the control structure necessary for theproblems solution.
Ignorable problems can be solved using a simple control structure thatnever backtracks Recoverable problems can be solved by a slightly more complicated
control strategy that does sometimes make mistakes Irrecoverable problems will need to be solved by systems that expends a
great deal of effort making each decision since decision must be final.
-
8/9/2019 Chapter2 Search
32/47
Is the universe Predictable?
Certain Outcome ( ex: 8-puzzle)
Uncertain Outcome ( ex: Bridge, controlling arobot arm)
For solving certain outcome problems, open loopapproach ( without feedback) will work fine.
For uncertain-outcome problems, planning canat best generate a sequence of operators that
has a good probability of leading to a solution.We need to allow for a process of plan revisionto take place.
-
8/9/2019 Chapter2 Search
33/47
Is a good solution absolute or
relative?
Any path problem
Best path problem
Any path problems can often be solved in areasonable amount of time by using heuristicsthat suggest good paths to explore.
Best path problems are computationally harder.
-
8/9/2019 Chapter2 Search
34/47
Is the solution a state or a path?
Examples:
Finding a consistent interpretation for the sentence
The bank president ate a dish of pasta salad with the
fork. We need to find the interpretation but not the
record of the processing.
Water jug : Here it is not sufficient to report that we
have solved , but the path that we found to the state
(2,0). Thus the a statement of a solution to this
problem must be a sequence of operations ( Plan)that produces the final state.
-
8/9/2019 Chapter2 Search
35/47
What is the role of knowledge?
Two examples: Chess: Knowledge is required to constrain the search for a solution Newspaper story understanding: Lot of knowledge is required even to
be able to recognize a solution.
Consider a problem of scanning daily newspapers to decide whichare supporting the democrats and which are supporting the
republicans in some election. We need lots of knowledge to answersuch questions as: The names of the candidates in each party The facts that if the major thing you want to see done is have taxes
lowered, you are probably supporting the republicans The fact that if the major thing you want to see done is improved
education for minority students, you are probably supporting thedemocrats. etc
-
8/9/2019 Chapter2 Search
36/47
Does the task require Interaction
with a person?
The programs require intermediate interactionwith people for additional inputs and toprovided reassurance to the user.
There are two types of programs: Solitary
Conversational:
Decision on using one of these approaches
will be important in the choice of problemsolving method.
-
8/9/2019 Chapter2 Search
37/47
Problem Classification
There are several broad classes into
which the problems fall. These classes
can each be associated with generic
control strategy that is appropriate forsolving the problems:
Classification : ex: medical diagnostics,
diagnosis of faults in mechanical devices Propose and Refine: ex: design and planning
-
8/9/2019 Chapter2 Search
38/47
Production System Characteristics
1. Can production systems, like problems, be described by a set ofcharacteristics that shed some light on how they can easily beimplemented?
2. If so, what relationships are there between problem types and thetypes of production systems best suited to solving the problems?
Classes of Production systems: Monotonic Production System: the application of a rule never
prevents the later application of another rule that could also havebeen applied at the time the first rule was selected.
Non-Monotonic Production system Partially commutative Production system: property that if application
of a particular sequence of rules transforms state x to state y, then
permutation of those rules allowable, also transforms state x intostate y. Commutative Production system
-
8/9/2019 Chapter2 Search
39/47
Monotonic Production Systems
Production system in which the application
of a rule never prevents the later
application of another rule that could also
have been applied at the time the first rulewas applied.
i.e., rules are independent.
-
8/9/2019 Chapter2 Search
40/47
Commutative Production system
A partially Commutative production systemhas a property that if the application of aparticular sequence of rules transform state
x into state y, then any permutation ofthose rules that is allowable, alsotransforms state x into state y.
A Commutative production system is a
production system that is both monotonicand partially commutative.
-
8/9/2019 Chapter2 Search
41/47
Partially Commutative, Monotonic
These production systems are useful for solvingignorable problems.
Example: Theorem Proving They can be implemented without the ability to backtrack
to previous states when it is discovered that an incorrectpath has been followed.
This often results in a considerable increase in efficiency,particularly because since the database will never haveto be restored, It is not necessary to keep track of wherein the search process every change was made.
They are good for problems where things do not change;new things get created.
-
8/9/2019 Chapter2 Search
42/47
Non Monotonic, Partially
Commutative
Useful for problems in which changes occur but
can be reversed and in which order of
operations is not critical.
Example: Robot Navigation, 8-puzzle, blocksworld
Suppose the robot has the following ops: go
North (N), go East (E), go South (S), go West
(W). To reach its goal, it does not matter
whether the robot executes the N-N-E or N-E-N.
-
8/9/2019 Chapter2 Search
43/47
-
8/9/2019 Chapter2 Search
44/47
Non
-
8/9/2019 Chapter2 Search
45/47
Four Categories of Production
SystemMonotonic NonMonotonic
PartiallyCommutative
Theorem provingRobot Navigation
Not PartiallyCommutative
ChemicalSynthesis
Bridge
f
-
8/9/2019 Chapter2 Search
46/47
Issues in the design of search
programs
The direction in which to conduct the
search ( forward versus backward
reasoning).
How to select applicable rules ( Matching)
How to represent each node of the search
process ( knowledge representation
problem)
-
8/9/2019 Chapter2 Search
47/47
Summary
Four steps for designing a program to solve a
problem:
1. Define the problem precisely
2. Analyse the problem3. Identify and represent the knowledge required by
the task
4. Choose one or more techniques for problem
solving and apply those techniques to theproblem.