You are on page 1of 62

Part II-Problems, Problem

Spaces and Search

Ajay Prasad, Assistant Professor


Dept of CSE, School of Engineering, Sir Padampat Singhania University
Contents

• Defining the problem as a State Space Search


• Production Systems
• Control Strategies
• Breadth First Search
• Depth First Search
• Heuristic Search
• Problem Characteristics
• Production system characteristics
• Issues in the design of search programs

Ajay Prasad, Assistant Professor


Dept of CSE, School of Engineering, Sir Padampat Singhania University
To build a system to solve a problem

1. Define the problem precisely


2. Analyze the problem
3. Isolate and represent the task knowledge
that is necessary to solve the problem
4. Choose the best problem-solving techniques
and apply it to the particular problem.

Ajay Prasad, Assistant Professor


Dept of CSE, School of Engineering, Sir Padampat Singhania University
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 problem solving in
two important ways:
– It allows for a formal definition of a problem as the need to
convert some given situation into some desired situation using a
set of permissible operations.--- state space.
– It permits us to define the process of solving a particular problem
as a combination of known techniques (each represented as a
rule defining a single step in the space-moves or operators or
action) and search, the general technique of exploring the space
to try to find some path from current state to a goal state.

Search is a very important process in the solution of hard problems


for which no more direct techniques are available.

Ajay Prasad, Assistant Professor


Dept of CSE, School of Engineering, Sir Padampat Singhania University
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 a win 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,

Ajay Prasad, Assistant Professor


Dept of CSE, School of Engineering, Sir Padampat Singhania University
Playing chess – non AI solution

Without using state space

• The starting position can be described as an 8 by 8 array where each


position 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 10120 board
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.

Ajay Prasad, Assistant Professor


Dept of CSE, School of Engineering, Sir Padampat Singhania University
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) AND Square( File e,
rank 3) is empty AND Square(file e, rank 4) is empty, then
move the pawn from Square( file e, rank 2) to Square( file
e, rank 4).
• In general, the more succinctly we can describe the
rules we need, the less work we will have to do to
provide them and more efficient will be the
program.

Ajay Prasad, Assistant Professor


Dept of CSE, School of Engineering, Sir Padampat Singhania University
Water Jug Problem

Ajay Prasad, Assistant Professor


Dept of CSE, School of Engineering, Sir Padampat Singhania University
Water Jug Problem

• The state space for this problem can be described as


the set of ordered pairs of integers (x, y) such that x =
0, 1,2, 3 or 4 and y = 0,1,2 or 3; x represents the
number of gallons of water in the 4-gallon jug and y
represents the quantity of water in 3-gallon jug
• The start state is (0,0)
• The goal state is (2,n)

Ajay Prasad, Assistant Professor


Dept of CSE, School of Engineering, Sir Padampat Singhania University
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 <3 (x,3) Fill the 3 gallon jug

3 (x,y) if x > 0 (x-d, y) Pour some water out of the 4


gallon 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 the


ground

7 (x,y) if x+y >= 4 and y >0 (4, y-(4-x)) Pour water from the 3 –
gallon jug into the 4 –gallon
jug until the 4-gallon jug is full

Ajay Prasad, Assistant Professor


Dept of CSE, School of Engineering, Sir Padampat Singhania University
Production rules for Water Jug Problem

8 (x, y) if x+y >= 3 and x>0 (x-(3-y), 3) Pour water from the 4-gallon jug
into the 3-gallon jug until the 3-
gallon jug is full
9 (x, y) if x+y <=4 and y>0 (x+y, 0) Pour all the water from the 3-
gallon jug into the 4-gallon jug

10 (x, y) if x+y <= 3 and x>0 (0, x+y) Pour all the water from the 4-
gallon jug into the 3-gallon jug

11 (0,2) (2,0) Pour the 2 gallons from 3-gallon


jug into the 4-gallon jug

12 (2,y) (0,y) Empty the 2 gallons in the 4-


gallon jug on the ground

Ajay Prasad, Assistant Professor


Dept of CSE, School of Engineering, Sir Padampat Singhania University
To solve the water jug problem

• Required a control structure that


loops through a simple cycle in
which some rule whose left side
matches the current state is Gallons in the Gallons in the Rule applied
chosen, the appropriate change to 4-gallon jug 3-gallon jug
the state is made as described in 0 0 2
the corresponding right side, and
the resulting state is checked to 0 3 9
see if it corresponds to goal state.
3 0 2
• One solution to the water jug
problem 3 3 7
• Shortest such sequence will have
a impact on the choice of 4 2 5 or 12
appropriate mechanism to guide
the search for solution. 0 2 9 0r 11

2 0
Ajay Prasad, Assistant Professor
Dept of CSE, School of Engineering, Sir Padampat Singhania University
Formal Description of the problem

Defining a problem formally

1. Define a state space that contains all the possible


configurations of the relevant objects.
2. Specify one or more states within that space that describe
possible situations from which the problem solving process
may start ( initial state)
3. Specify one or more states that would be acceptable as
solutions to the problem. ( goal states)
4. Specify a set of rules that describe the actions ( operations)
available.

S, S0, G, A:S->S

Ajay Prasad, Assistant Professor


Dept of CSE, School of Engineering, Sir Padampat Singhania University
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 operation to be performed if that rule is
applied. Pattern: Operation
• One or more knowledge/databases that contain whatever
information is appropriate for the particular task. Some parts
of the database may be permanent, while other parts of it
may pertain only to the solution of the current problem.
• A control strategy that specifies the order in which the
rules will be compared to the database and a way of
resolving the conflicts that arise when several rules match at
once.
• A rule applier

Ajay Prasad, Assistant Professor


Dept of CSE, School of Engineering, Sir Padampat Singhania University
Production Systems

In order to solve a problem we must do


1. Reduce it to state space
2. Search for a path that reaches to G from S0

The process of solving the problem can be modeled as a


production system
Gallons in Gallons in Rule applied
the 4-gallon the 3-gallon
jug jug
0 0 2
0 3 9
3 0 2
3 3 7
4 2 5 or 12
0 2 9 0r 11
Next search/control strategy 2 0
Ajay Prasad, Assistant Professor
Dept of CSE, School of Engineering, Sir Padampat Singhania University
Few more classical problems!

Ajay Prasad, Assistant Professor


Dept of CSE, School of Engineering, Sir Padampat Singhania University
Pegs and Disks problem
We have 3 pegs and 3 disks.
Operators: one may move the topmost disk on any needle to the
topmost position to any other needle
In the goal state all the pegs are in the needle B as shown in the
figure below..

Ajay Prasad, Assistant Professor


Dept of CSE, School of Engineering, Sir Padampat Singhania University
queens problem
The problem is to place 8 queens on a chessboard so that no two queens
are in the same row, column or diagonal

Ajay Prasad, Assistant Professor


Dept of CSE, School of Engineering, Sir Padampat Singhania University
8 puzzle
In the 8-puzzle problem we have a 3×3 square board and 8 numbered
tiles. The board has one blank position. Bocks can be slid to adjacent
blank positions. We can alternatively and equivalently look upon this as
the movement of the blank position up, down, left or right. The objective
of this puzzle is to move the tiles starting from an initial position and
arrive at a given goal configuration.

Ajay Prasad, Assistant Professor


Dept of CSE, School of Engineering, Sir Padampat Singhania University
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

Ajay Prasad, Assistant Professor


Dept of CSE, School of Engineering, Sir Padampat Singhania University
Searching in the state space.

Do until a solution is found or the state space is exhausted.

1. Check the current state


2. Execute allowable actions to find the successor states.
3. Pick one of the new states.
4. Check if the new state is a solution state
If it is not, the new state becomes the current state and the process
is repeated

Ajay Prasad, Assistant Professor


Dept of CSE, School of Engineering, Sir Padampat Singhania University
Searching in the state space.

Ajay Prasad, Assistant Professor


Dept of CSE, School of Engineering, Sir Padampat Singhania University
Evaluating Search strategies

1. Completeness: Is the strategy guaranteed to find a solution if one exists?


2. Optimality: Does the solution have low cost or the minimal cost?
3. What is the search cost associated with the time and memory required to
find a solution?
a. Time complexity: Time taken (number of nodes expanded) (worst or
average case) to find a solution.
b. Space complexity: Space used by the algorithm measured in terms of
the maximum size of fringe

Ajay Prasad, Assistant Professor


Dept of CSE, School of Engineering, Sir Padampat Singhania University
Breadth First Search

Ajay Prasad, Assistant Professor


Dept of CSE, School of Engineering, Sir Padampat Singhania University
Graphs and trees for state space

Ajay Prasad, Assistant Professor


Dept of CSE, School of Engineering, Sir Padampat Singhania University
BFS illustrated

Ajay Prasad, Assistant Professor


Dept of CSE, School of Engineering, Sir Padampat Singhania University
BFS illustrated

Ajay Prasad, Assistant Professor


Dept of CSE, School of Engineering, Sir Padampat Singhania University
BFS Tree for Water Jug problem

Gallons in Gallons in Rule applied Exercise: Tag every arc


the 4-gallon the 3-gallon
jug jug
for the rule applied.
0 0 2
0 3 9
3 0 2
3 3 7
4 2 5 or 12
0 2 9 0r 11 (0,0)
2 0

(4,0) (0,3)

(0,0) (1,3) (4,3) (0,0) (3,0)


(4,3)

Ajay Prasad, Assistant Professor


Dept of CSE, School of Engineering, Sir Padampat Singhania University
Algorithm: Depth First Search

Ajay Prasad, Assistant Professor


Dept of CSE, School of Engineering, Sir Padampat Singhania University
DFS illustrated

Ajay Prasad, Assistant Professor


Dept of CSE, School of Engineering, Sir Padampat Singhania University
DFS illustrated

Ajay Prasad, Assistant Professor


Dept of CSE, School of Engineering, Sir Padampat Singhania University
DFS illustrated

Ajay Prasad, Assistant Professor


Dept of CSE, School of Engineering, Sir Padampat Singhania University
DFS Tree for Water Jug problem

Gallons in Gallons in Rule applied Exercise: Tag every arc


the 4-gallon the 3-gallon
jug jug
for the rule applied.
0 0 2
0 3 9
3 0 2
3 3 7
4 2 5 or 12
0 2 9 0r 11 (0,0)
2 0

(4,0)

(4,3)

Ajay Prasad, Assistant Professor


Dept of CSE, School of Engineering, Sir Padampat Singhania University
Backtracking

• In this search, we pursue a single branch of the tree until it


yields a solution or until a decision to terminate the path is
made.
• It makes sense to terminate a path if it reaches dead-end,
produces a previous state. In such a state backtracking occurs
• Chronological Backtracking: Order in which steps are undone
depends only on the temporal sequence in which steps were
initially made.
• Specifically most recent step is always the first to be undone.
• This is also simple backtracking.

Ajay Prasad, Assistant Professor


Dept of CSE, School of Engineering, Sir Padampat Singhania University
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.

Ajay Prasad, Assistant Professor


Dept of CSE, School of Engineering, Sir Padampat Singhania University
Advantages of BFS

• BFS will not get trapped exploring a blind alley.


• If there is a solution, BFS is guaranteed to find it.
• If there are multiple solutions, then a minimal solution will
be found.

Ajay Prasad, Assistant Professor


Dept of CSE, School of Engineering, Sir Padampat Singhania University
Traveling Salesman Problem

• A simple motion causing and systematic control structure


could solve this problem.
• Simply explore all possible paths in the tree and return
the shortest path.
• If there are N cities, then number of different paths
among 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.

Ajay Prasad, Assistant Professor


Dept of CSE, School of Engineering, Sir Padampat Singhania University
Branch and Bound

• Begin generating complete paths, keeping track of the shortest


path found so far.
• Give up exploring any path as soon as its partial length
becomes greater than the shortest path found so far.
• Using this algorithm, we are guaranteed to find the shortest
path.
• It still requires exponential time.
• The time it saves depends on the order in which paths are
explored.

Ajay Prasad, Assistant Professor


Dept of CSE, School of Engineering, Sir Padampat Singhania University
Heuristic Search

• A Heuristic is a technique that improves the efficiency of a


search process, 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
to particular individuals.
• On the average they improve the quality of the paths that are
explored.
• Using Heuristics, we can hope to get good (though possibly
non-optimal ) solutions to hard problems such as a TSP in non
exponential time.
• There are good general purpose heuristics that are useful in a
wide variety of problem domains.
• Special purpose heuristics exploit domain specific knowledge

Ajay Prasad, Assistant Professor


Dept of CSE, School of Engineering, Sir Padampat Singhania University
Nearest Neighbor Heuristic

• It works by selecting locally superior alternative at


each step.
• Applying to TSP:
1. Arbitrarily select a starting city
2. To select the next city, look at all cities not yet visited and
select 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 it
incurs. This provides reassurance that one is not
paying too high a price in accuracy for speed.

Ajay Prasad, Assistant Professor


Dept of CSE, School of Engineering, Sir Padampat Singhania University
Heuristic Function

• This is a function that maps from problem state


descriptions to measures of desirability, 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
search process gives as good an estimate as possible of
whether that node is on the desired path to a solution.
• Well designed heuristic functions can play an important
part in efficiently guiding a search process toward a
solution.

Ajay Prasad, Assistant Professor


Dept of CSE, School of Engineering, Sir Padampat Singhania University
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

Ajay Prasad, Assistant Professor


Dept of CSE, School of Engineering, Sir Padampat Singhania University
All are varieties of Heuristic Search:

1. Generate and test


2. Hill Climbing
3. Best First Search
4. Problem Reduction
5. Constraint Satisfaction
6. Means-ends analysis

Ajay Prasad, Assistant Professor


Dept of CSE, School of Engineering, Sir Padampat Singhania University
Problem Characteristics

• In order to choose the most appropriate method for a particular


problem, it is necessary to analyze the problem along several key
dimensions:
– Is the problem decomposable into a set of independent smaller or
easier sub problems?
– Can solution steps be ignored or at least undone if they prove
unwise?
– Is the problem’s universe predictable?
– Is a good solution to the problem obvious without comparison to all
other possible solutions?-(Absolute or relative)
– 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 the
problem 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 interaction between the
computer and a person?

Ajay Prasad, Assistant Professor


Dept of CSE, School of Engineering, Sir Padampat Singhania University
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.

Ajay Prasad, Assistant Professor


Dept of CSE, School of Engineering, Sir Padampat Singhania University
Blocks World Problem

Start: ON(C,A)
• Following operators A

are available: C B
A B C
• CLEAR(x) [ block x
Goal:
has nothing on it]-> ON(B,C) and
ON(A,B)
ON(x, Table) ON(B,C) and ON(A,B)
• CLEAR(x) and
CLEAR(y) -> ON(B,C) ON(A,B)

ON(x,y) [ put x on y]
CLEAR(A) ON(A,B)
ON(B,C)
CLEAR(A) ON(A,B)

Ajay Prasad, Assistant Professor


Dept of CSE, School of Engineering, Sir Padampat Singhania University
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 in
determining the complexity of the control structure necessary for the
problem’s solution.
– Ignorable problems can be solved using a simple control structure that
never 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. We will require planning.

Ajay Prasad, Assistant Professor


Dept of CSE, School of Engineering, Sir Padampat Singhania University
Is the universe Predictable?

• Certain Outcome ( ex: 8-puzzle)


• Uncertain Outcome ( ex: Bridge, controlling a
robot arm)
• For solving certain outcome problems, open
loop approach ( without feedback) will work fine.
• For uncertain-outcome problems, planning can
at 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 revision
to take place.

Ajay Prasad, Assistant Professor


Dept of CSE, School of Engineering, Sir Padampat Singhania University
Is a good solution absolute or relative?

• Any path problem


• Best path problem

• Any path problems can often be solved in


a reasonable amount of time by using
heuristics that suggest good paths to
explore.
• Best path problems are computationally
harder.
Ajay Prasad, Assistant Professor
Dept of CSE, School of Engineering, Sir Padampat Singhania University
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.

Ajay Prasad, Assistant Professor


Dept of CSE, School of Engineering, Sir Padampat Singhania University
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 which are supporting the democrats and which are
supporting the republicans in some election. We need lots
of knowledge to answer such 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 the
democrats.
– etc

Ajay Prasad, Assistant Professor


Dept of CSE, School of Engineering, Sir Padampat Singhania University
Does the task require Interaction with a person?

• The programs require intermediate


interaction with people for additional inputs
and to provided 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 problem solving method.

Ajay Prasad, Assistant Professor


Dept of CSE, School of Engineering, Sir Padampat Singhania University
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 for
solving the problems:
– Classification : ex: medical diagnostics,
diagnosis of faults in mechanical devices
– Propose and Refine: ex: design and planning

Ajay Prasad, Assistant Professor


Dept of CSE, School of Engineering, Sir Padampat Singhania University
Production System Characteristics

1. Can production systems, like problems, be described


by a set of characteristics that shed some light on how
they can easily be implemented?
2. If so, what relationships are there between problem
types and the types 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 have been 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 into state y.
– Commutative Production system

Ajay Prasad, Assistant Professor


Dept of CSE, School of Engineering, Sir Padampat Singhania University
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 rule
was applied.
• i.e., rules are independent.

Ajay Prasad, Assistant Professor


Dept of CSE, School of Engineering, Sir Padampat Singhania University
Commutative Production system

• A partially Commutative production system


has a property that if the application of a
particular sequence of rules transform
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.

Ajay Prasad, Assistant Professor


Dept of CSE, School of Engineering, Sir Padampat Singhania University
Partially Commutative, Monotonic

• These production systems are useful for solving


ignorable problems.
• Example: Theorem Proving
• They can be implemented without the ability to backtrack
to previous states when it is discovered that an incorrect
path has been followed.
• This often results in a considerable increase in
efficiency, particularly because since the database will
never have to be restored, It is not necessary to keep
track of where in the search process every change was
made.
• They are good for problems where things do not change;
new things get created.

Ajay Prasad, Assistant Professor


Dept of CSE, School of Engineering, Sir Padampat Singhania University
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, blocks
world
• 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.

Ajay Prasad, Assistant Professor


Dept of CSE, School of Engineering, Sir Padampat Singhania University
Not partially Commutative

• Problems in which irreversible change occurs


• Example: chemical synthesis
• The ops can be :Add chemical x to the pot, Change the
temperature to t degrees.
• These ops may cause irreversible changes to the potion being
brewed.
• The order in which they are performed can be very important in
determining the final output.
• (X+y) +z is not the same as (z+y) +x
• Non partially commutative production systems are less likely to
produce the same node many times in search process.
• When dealing with ones that describe irreversible processes, it
is partially important to make correct decisions the first time,
although if the universe is predictable, planning can be used to
make that less important.

Ajay Prasad, Assistant Professor


Dept of CSE, School of Engineering, Sir Padampat Singhania University
Four Categories of Production System

Monotonic Non Monotonic


(new thing) (change in
state)
Partially Theorem Robot
Commutative proving Navigation
(ignorable) (recoverable)
Not Partially Chemical Bridge
Commutative Synthesis (irrecoverable)
(irrecoverable)
Ajay Prasad, Assistant Professor
Dept of CSE, School of Engineering, Sir Padampat Singhania University
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)

Ajay Prasad, Assistant Professor


Dept of CSE, School of Engineering, Sir Padampat Singhania University
Summary

Four steps for designing a program to solve


a problem:
1.Define the problem precisely
2.Analyse the problem
3.Identify and represent the knowledge required
by the task
4.Choose one or more techniques for problem
solving and apply those techniques to the
problem.

Ajay Prasad, Assistant Professor


Dept of CSE, School of Engineering, Sir Padampat Singhania University

You might also like