SlideShare a Scribd company logo
ashishkj@nec.edu.np
Computer Engineering Department
Asst. Prof. Ashish Kr. Jha
Nepal Engineering College, Changunarayan
+977-9849032579
Unit-2:
Problems, State Space
Search & Heuristic
Search Techniques
 Looping
Outline
 Defining Problems As A State Space Search
 Production Systems
 Production Characteristics
 Issues in the Design of Search Programs
 Generate-And-Test
 Hill Climbing
 Best-First Search
 Problem Reduction
 Constraint Satisfaction
 Means-Ends Analysis.
study material for Artificial Intelligence
4
Problem and Problem Solving
 The steps that are required to build a system to solve a particular problem are:
1. Problem Definition that must include precise specifications of what the initial situation will be, as well as
what final situations constitute acceptable solutions to the problem.
2. Problem Analysis, this can have immense impact on the appropriateness of various possible techniques for
solving the problem.
3. Isolate and Represent the task knowledge required to solve the problem.
4. Selection of the best technique(s) for solving the particular problem.
 Problem solving is a process of generating solutions from the observed data.
5
State and State Space Representation
 A state is a representation of problem elements at a given moment.
 A state space is the set of all possible states reachable from the initial state.
 A state space forms a graph in which the nodes are states and the arcs between nodes are
actions.
 In a state space, a path is a sequence of states connected by a sequence of actions.
 The solution of a problem is a part of the graph formed by the state space.
Chess - Initial Position Position after a legal move
6
Define the Problem as State Space Search
 To provide a formal description of a problem, we need to do the following:
1. Define a state space that contains all the possible configurations of the relevant objects.
2. Specify one or more states that describe possible situations, from which the problem solving process may
start. These states are called initial states.
3. Specify one or more states that would be acceptable solution to the problem. These states are called goal
states.
 Specify a set of rules that describe the actions (operators) available.
 The problem can then be solved by using the rules, in combination with an appropriate control
strategy, to move through the problem space until a path from an initial state to a goal state is
found. This process is known as ‘search’.
7
State Space Representation - Play Chess
 Consider the problem of “Playing Chess”, to build a program that could play chess, we have to
specify,
1. The starting position of the chess board,
2. The rules that define legal moves.
3. And the board position that represent a win.
1. Initial Position of the chess board : The starting position can be described by an 8 X 8 array
square in which each element square (x, y) describes the board position of an appropriate
piece in the official chess opening position.
8
State Space Representation - Play Chess
2. The rules that define legal moves
 The legal moves provide the way of getting from initial state of final state.
 It can be described as a set of rules consisting of two parts: A left side that gives the current position and
the right side that describes the change to be made to the board position.
3. The board position that represents a win
 The goal is any board position in which the opponent does not have a legal move and his or her “king” is
under attack.
14
State Space Representation – 8 Puzzle
 Problem Definition: The 8 puzzle consists of eight numbered, movable tiles set in a 3x3 frame.
One cell of the frame is always empty thus making it possible to move an adjacent numbered
tile into the empty cell. Such a puzzle is illustrated in following diagram.
2 8 3
1 6 4
7 5
1 2 3
8 4
7 6 5
Initial State Goal State
15
State Space Representation – 8 Puzzle
 A solution to the problem is an appropriate sequence of moves, such as “move tiles 5 to the
Left, move tile 7 to the Right ,move tile 6 to the down” etc…
Initial State Next State after
one legal move
2 8 3
1 6 4
7 5
2 8 3
1 4
7 6 5
8
Puzzle
-
Game
Tree
2 8 3
1 6 4
7 5
2 8 3
1 4
7 6 5
2 3
1 8 4
7 6 5
1 2 3
8 4
7 6 5
1 2 3
8 4
7 6 5
2 8 3
1 6 4
7 5
2 8 3
1 6 4
7 5
2 8 3
1 4
7 6 5
2 8 3
1 4
7 6 5
2 8 3
7 1 4
6 5
8 3
2 1 4
7 6 5
2 3
1 8 4
7 6 5
2 3
1 8 4
7 6 5
1 2 3
7 8 4
6 5
1
2
3 4
5
6
7
17
Problem Characteristics
1. Is the problem decomposable into a set of independent smaller or easier sub-problems?
2. Can solution steps be ignored or at least undone if they prove unwise?
3. Is the problem’s universe predictable?
4. Is a good solution to the problem obvious without comparison to all other possible solutions?
5. Is the desired solution a state of the world or a path to a state?
6. Is a large amount of knowledge absolutely required to solve the problem or is knowledge
important only to constrain the search?
7. 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?
18
Chess Analysis with Respect to Seven Problem Characteristics
Problem Characteristics Satisfied Justification
Is the problem decomposable ? No Dependent moves
Can solution steps be ignored or at least undone No Wrong move can’t be undone
Is the problem’s universe predictable No Moves of other player can not be predicted
Is a good solution absolute or relative? Absolute Winning position need not be compared
Is the solution a state or a path? Path Not only solution but how it is achieved also matters
What is the role of knowledge? Domain specific knowledge is required to constrain search
Does the task require Interaction with a person? No Once all rules are defined, no need for interaction
19
8 Puzzle Analysis with Respect to Seven Problem Characteristics
Problem Characteristics Satisfied Justification
Is the problem decomposable ? No Dependent moves
Can solution steps be ignored or at least undone Yes We can undo the previous move
Is the problem’s universe predictable Yes Problem Universe is predictable, it is a single person game
Is a good solution absolute or relative? Absolute Winning position need not be compared
Is the solution a state or a path? Path Not only solution but how it is achieved also matters
What is the role of knowledge? Domain specific knowledge is required to constrain search
Does the task require Interaction with a person? No In 8 puzzle additional assistance is not required
20
Production System
 Production systems provide appropriate structures for performing and describing search
processes.
 A production system has four basic components:
1. 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 the rule is applied.
2. A database of current facts established during the process of inference.
3. A control strategy that specifies the order in which the rules will be compared with facts in the database
and also specifies how to resolve conflicts in selection of several rules or selection of more facts.
4. A rule applier.
 Production systems provide us with good ways of describing the operations that can be
performed in a search for a solution to a problem.
21
Production System Characteristics
1. A monotonic production system is a 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 selected.
2. A non-monotonic production system is one in which this is not true. This production system
increases the problem-solving efficiency of the machine by not keeping a record of the
changes made in the previous search process.
3. A partially communicative production system is a production system with the property that if
the application of a particular sequence of rules transforms state P into state Q, then any
combination of those rules that is allowable also transforms state P into state Q.
4. A commutative production system is a production system that is both monotonic and partially
commutative. These type of production systems is used when the order of operation is not
important, and the changes are reversible.
22
Issues in the Design of Search Programs
1. The direction in which to conduct the search (forward versus backward reasoning). If the
search proceeds from start state towards a goal state, it is a forward search or we can also
search from the goal, i.e., backward search.
2. How to select applicable rules (Matching). Production systems typically spend most of their
time looking for rules to apply. So, it is critical to have efficient procedures for matching rules
against states.
3. How to represent each node of the search process (knowledge representation problem).
study material for Artificial Intelligence
24
Introduction
 Search Techniques can be classified as:
1. Uninformed/Blind Search Control Strategy:
 Do not have additional information about states beyond problem definition.
 Total search space is looked for the solution.
 Example: Breadth First Search (BFS), Depth First Search (DFS), Depth Limited Search (DLS).
2. Informed/Directed Search Control Strategy:
 Some information about problem space is used to compute the preference among various possibilities for
exploration and expansion.
 Examples: Best First Search, Problem Decomposition, A*, Mean end Analysis
25
Uninformed Search Techniques
A
B C
D E F G
H
✓
✓ ✓
✓ ✓ ✓
✓
✓
A
B C
D E F G
H
✓
✓
✓
✓
✓ ✓
Breadth First Search Depth First Search
✓
✓
26
Difference Between DFS & BFS
Depth First Search Breath First Search
DFS requires less memory since only the nodes
on the current path are stored.
BFS guarantees that the space of possible moves is
systematically examined; this search requires
considerably more memory resources.
By chance, DFS may find a solution without
examining much of the search space at all.
Then it finds a solution faster.
The search systematically proceeds testing each
node that is reachable from a parent node before it
expands to any child of those nodes.
If the selected path does not reach to the
solution node, DFS gets stuck into a blind alley.
BFS will not get trapped exploring a blind alley.
Does not guarantee to find solution.
Backtracking is required if wrong path is
selected.
If there is a solution, BFS is guaranteed to find it.
27
Heuristic Search Techniques
 Every search process can be viewed as a traversal of a directed graph, in which the nodes
represent problem states and the arcs represent relationships between states.
 The search process must find a path through this graph, starting at an initial state and ending
in one or more final states.
 Domain-specific knowledge must be added to improve search efficiency.
 The Domain-specific knowledge about the problem includes the nature of states, cost of
transforming from one state to another, and characteristics of the goals.
 This information can often be expressed in the form of Heuristic Evaluation Function.
28
Visiting each District of Gujarat State
• Start with any random city.
• Go to the next nearest city.
Nearest Neighbor
Heuristic
29
Heuristic Search Techniques
 Heuristic function maps from problem state descriptions to the measures of desirability,
usually represented as numbers.
 The value of the heuristic function at a given node in the search process gives a good estimate
of whether that node is on the desired path to a solution.
 Well-designed heuristic functions can play an important role in efficiently guiding a search
process toward a solution.
 In general, heuristic search improves the quality of the path that is explored.
 In such problems, the search proceeds using current information about the problem to predict
which path is closer to the goal and follow it, although it does not always guarantee to find the
best possible solution.
 Such techniques help in finding a solution within reasonable time and space (memory).
30
Heuristic Search Techniques
 Some prominent intelligent search algorithms are stated below:
1. Generate and Test Search
2. Best-first Search
3. A* Search
4. Constraint Search
5. Means-ends analysis
31
Generate and Test Strategy
 Generate-and-test search algorithm is a very simple algorithm that guarantees to find a solution
if done systematically and there exists a solution.
 Potential solutions that need to be generated vary depending on the kinds of problems.
 For some problems the possible solutions may be particular points in the problem space and
for some problems, paths from the start state.
Algorithm: Generate-And-Test
1.Generate a possible solution.
2.Test to see if this is the expected solution.
3.If the solution has been found quit else go to step 1.
32
Hill Climbing Example - Blocks World Problem
B
C
D
A
B
C
Start Goal
A D
Local heuristic:
+1 for each block that is resting on the thing it is supposed to be resting on.
-1 for each block that is resting on a wrong thing.
0 4
33
Hill Climbing Example - Blocks World Problem
B
C
D
A
B
C
Start Goal
A D
0 4
B
C
D
A
B
C D
A B
C
D
A
0
0
0
B
C
D
A
2
Local
heuristic:
+1
+1
+1
-1
34
Hill Climbing Example - Blocks World Problem
B
C
D
A
B
C
Start Goal
A D
Global heuristic:
For each block that has the correct support structure:
+1 to every block in the support structure.
For each block that has a wrong support structure:
-1 to every block in the support structure.
-6 6
+1
+2
+3
0
-1
-2
-3
0
35
Hill Climbing Example - Blocks World Problem
B
C
D
A
B
C
Start Goal
A D
-6 6
B
C
D
A
B
C D
A B
C
D
A
-6
-2
-1
B
C
D
A
-3
Global
heuristic:
36
Simple Hill Climbing - Algorithm
1. Evaluate the initial state. If it is also goal state, then return
it and quit. Otherwise continue with the initial state as the
current state.
2. Loop until a solution is found or until there are no new operators
left to be applied in the current state:
a. Select an operator that has not yet been applied to the current
state and apply it to produce a new state.
b. Evaluate the new state
i. If it is the goal state, then return it and quit.
ii. If it is not a goal state but it is better than the current state,
then make it the current state.
iii.If it is not better than the current state, then continue in the
loop.
Dr. Gopi Sanghani #3170716 (AI)  Unit 2 –Problems, State Space Search & Heuristic Search Techniques 37
 Local Maxima: a local maximum is a state that is better
than all its neighbors but is not better than some other
states further away.
 To overcome local maximum problem: Utilize
backtracking technique. Maintain a list of visited states
and explore a new path.
 Plateau: a plateau is a flat area of the search space in
which, a whole set of neighboring states have the same
values.
 To overcome plateaus: Make a big jump. Randomly
select a state far away from current state.
 Ridge: is a special kind of local maximum. It is an area
of the search space that is higher than surrounding
areas and that itself has slop.
 To overcome Ridge: In this kind of obstacle, use two or
more rules before testing. It implies moving in several
directions at once.
Image source: https://www.geeksforgeeks.org/introduction-hill-climbing-artificial-intelligence/
38
Steepest-Ascent Hill Climbing - Algorithm
1. Evaluate the initial state. If it is also a goal state, then return it
and quit. Otherwise, continue with the initial state as the current
state.
2. Loop until a solution is found or until a complete iteration produces no
change to current state:
a. Let S be a state such that any possible successor of the current state
will be better than S.
b. For each operator that applies to the current state do:
 Apply the operator and generate a new state
 Evaluate the new state. If it is a goal state, then return it and quit. If
not, compare it to S. If it is better, then set S to this state. If it is
not better, leave S alone.
c. If the S is better than the current state, then set current state to S.
In simple hill climbing, the first closer node is chosen, whereas in steepest ascent hill climbing all
successors are compared and the closest to the solution is chosen.
39
Best First Search
 DFS is good because it allows a solution to be found without expanding all competing
branches. BFS is good because it does not get trapped on dead end paths.
 Best first search combines the advantages of both DFS and BFS into a single method.
 One way of combining BFS and DFS is to follow a single path at a time, but switch paths
whenever some competing path looks more promising than the current one does.
 At each step of the Best First Search process, we select the most promising of the nodes we
have generated so far.
 This is done by applying an appropriate heuristic function to each of them.
 We then expand the chosen node by using the rules to generate its successors.
 If one of them is a solution, we can quit. If not, all those new nodes are added to the set of
nodes generated so far.
40
Best First Search
41
How to find a better path
A
E
B C D
Z
p
q r s
a b c d
Which Path is
better?
Compare 𝑝 < 𝑞 < 𝑟 < 𝑠
then 𝐴 → 𝐵 → ⋯ 𝑍 is better
If 𝑝 + 𝑎 < 𝑞 + 𝑏 < 𝑟 + 𝑐 < 𝑠 + 𝑑
then 𝐴 → 𝐵 → ⋯ 𝑍 is better
OR
42
A* Example
S
A
B
C
E
D
F G
17
10
4
13
4
2
1 0
6
5
10
6
6
6
7
6
4
3
f’(n) = g(n) + h’(n)
g(n) : The function g is a cost of getting from
initial state to the current node.
h’(n): The function h’ is an estimate of the additional cost of
getting from the current node to a goal state.
43
A* Example
S
A
B
C
16 14
18
D
18
E
16
B F
31 17
44
A* Example
S
A
B
C
16 14
18
D
18
E
F
24
G
D
19
16
17
45
A* Example
S
A
B
C
16 14
18
D
18
E
F
G
19
B F
36
23
16
17
46
A* Example
S
A
B
C
16 14
18
E
F
19
D E
14 15
C F
22 19
G
D
18
16
17
47
A* Example
S
A
B
C
16 14
18
E
F
19
D E
14 15
A F
27
16
D G
23 18
G
16
17
48
A* Example Solution
S
A
B
C
E
D
F G
17
10
4
13
4
2
1 0
6
5
10
6
6
6
7
6
4
3
𝑆 → 𝐵 → 𝐸 → 𝐹 → 𝐺
Total Cost = 18
49
The A* Algorithm
 This algorithm uses following functions:
1. f’: Heuristic function that estimates the merits of each node we generate. f’ represents an estimate of the
cost of getting from the initial state to a goal state along with the path that generated the current node. f’ =
g + h’
2. g: The function g is a measure of the cost of getting from initial state to the current node.
3. h’: The function h’ is an estimate of the additional cost of getting from the current node to a goal state.
 The algorithm also uses the lists: OPEN and CLOSED
 OPEN - nodes that have been generated and have had the heuristic function applied to them but which have
not yet been examined. OPEN is actually a priority queue in which the elements with the highest priority are
those with the most promising value of the heuristic function.
 CLOSED - nodes that have already been examined. We need to keep these nodes in memory if we want to
search a graph rather than a tree, since whenever a new node is generated; we need to check whether it has
been generated before.
50
The A* Algorithm
Step 1:
 Start with OPEN containing only initial node.
 Set that node’s g value to 0, its h’ value to whatever it is, and its f’ value to h’+0 or h’.
 Set CLOSED to empty list.
Step 2: Until a goal node is found, repeat the following procedure:
 If there are no nodes on OPEN, report failure.
 Otherwise select the node on OPEN with the lowest f’ value.
 Call it BESTNODE. Remove it from OPEN. Place it in CLOSED.
 See if the BESTNODE is a goal state. If so exit and report a solution.
 Otherwise, generate the successors of BESTNODE but do not set the BESTNODE to point to them yet.
51
The A* Algorithm
Step 3: For each of the SUCCESSOR, do the following:
a. Set SUCCESSOR to point back to BESTNODE. These backwards links will make it possible to recover the
path once a solution is found.
b. Compute g(SUCCESSOR) = g(BESTNODE) + the cost of getting from BESTNODE to SUCCESSOR
c. See if SUCCESSOR is the same as any node on OPEN. If so call the node OLD.
i. Check whether it is cheaper to get to OLD via its current parent or to SUCESSOR via BESTNODE by comparing their
g values.
ii. If OLD is cheaper, then do nothing. If SUCCESSOR is cheaper then reset OLD’s parent link to point to BESTNODE.
iii. Record the new cheaper path in g(OLD) and update f‘(OLD).
iv. If SUCCESSOR was not on OPEN, see if it is on CLOSED. If so, call the node on CLOSED OLD and add OLD to the
list of BESTNODE’s successors.
v. If SUCCESSOR was not already on either OPEN or CLOSED, then put it on OPEN and add it to the list of
BESTNODE’s successors. Compute f’(SUCCESSOR) = g(SUCCESSOR) + h’(SUCCESSOR)
52
Problem Reduction
 AND-OR graph (or tree) is useful for representing the solution of problems that can be solved
by decomposing them into a set of smaller problems, all of which must then be solved.
 This decomposition or reduction generates arcs that we call AND arcs.
 One AND arc may point to any numbers of successor nodes. All of which must then be solved
in order for the arc to point solution.
 In order to find solution in an AND-OR graph we need an algorithm similar to best –first search
but with the ability to handle the AND arcs appropriately.
 We define FUTILITY, if the estimated cost of solution becomes greater than the value of
FUTILITY then we abandon the search, FUTILITY should be chosen to correspond to a
threshold.
53
AND-OR Graph
 In following figure AND arcs are indicated with a line connecting all the components.
54
AND – OR Graph
A
B
C
D
A
B C D
E F
G H
I J
(5)
(3)
(4)
(9)
(38)
(17) (9)
(27)
(5) (10)
(3) (4)
(15) (10)
(18)
55
Heuristic Search Techniques for AO*
 Traverse the graph starting at the initial node and following the current best path, and
accumulate the set of nodes that are on the path and have not yet been expanded.
 Pick one of these unexpanded nodes and expand it. Add its successors to the graph and
computer f'(cost of the remaining distance) for each of them.
 Change the f' estimate of the newly expanded node to reflect the new information produced by
its successors. Propagate this change backward through the graph. Decide which is the current
best path.
 The propagation of revised cost estimation backward is in the tree is not necessary in A*
algorithm. This is because in AO* algorithm expanded nodes are re-examined so that the
current best path can be selected.
56
Constraint Satisfaction
 Many AI problems can be viewed as problems of constraint satisfaction.
 For example, Crypt-arithmetic puzzle:
 As compared with a straightforward search procedure, viewing a problem as one of the
constraint satisfaction can substantially reduce the amount of search.
 Two-step process:
1. Constraints are discovered and propagated as far as possible.
2. If there is still not a solution, then search begins, adding new constraints.
 Initial state contains the original constraints given in the problem.
 A goal state is any state that has been constrained “enough”. i.e. The goal is to discover some
problem state that satisfies the given set of constraints.
Crypt-arithmetic
Puzzle Initial state:
• Assign values between 0 to 9.
• No two letters have the same value.
• The sum of the digits must be as shown.
1
1
9
0
S
E
N
D
M
O
R
Y
1
1
9
0
0
5
6
5
6
5
5
6
8
7
2
1
7
8
2
58
Iterative Deepening Search
 Depth first search is incomplete if there is an infinite branch in the search tree.
 Infinite branches can happen if:
 paths contain loops
 infinite number of states and/or operators.
 For problems with infinite state spaces, several variants of depth-first search have been
developed: depth limited search, iterative deepening search.
 Depth limited search expands the search tree depth-first up to a maximum depth 𝑙.
 The nodes at depth 𝒍 are treated as if they had no successors.
 Iterative deepening (depth-first) search (IDDS) is a form of depth limited search which
progressively increases the bound.
 It first tries 𝑙 = 1, then 𝑙 = 2, then 𝑙 = 3, etc. until a solution is found at 𝑙 = 𝑑.
59
Iterative Deepening Search
Depth DLS Traversal
0
1
2
3
4 A B E I F J K O P C G L R
A B E I F J K C G L D H M N
A B E F C G D H
A B C D
A
60
Means End Analysis
 Most of the search strategies either reason forward of backward, Often a mixture of the two
directions is appropriate.
 Such mixed strategy would make it possible to solve the major parts of problem first and solve
the smaller problems the arise when combining them together.
 Such a technique is called Means - Ends Analysis.
 The means -ends analysis process centers around finding the difference between current state
and goal state.
 The problem space of means - ends analysis has
 an initial state and one or more goal state,
 a set of operate with a set of preconditions their application and difference functions that computes the
difference between two state a(i) and s(j).
61
Means End Analysis
 The means-ends analysis process can be applied recursively for a problem.
 Following are the main Steps which describes the working of MEA technique for solving a
problem.
 First, evaluate the difference between Initial State and final State.
 Select the various operators which can be applied for each difference.
 Apply the operator at each difference, which reduces the difference between the current state and goal state.
 In the MEA process, we detect the differences between the current state and goal state.
 Once these differences occur, then we can apply an operator to reduce the differences.
 But sometimes it is possible that an operator cannot be applied to the current state.
62
Means End Analysis
 So, we create the sub-problem of the current state, in which operator can be applied, such type
of backward chaining in which operators are selected, and then sub goals are set up to
establish the preconditions of the operator is called Operator Subgoaling.
63
Algorithm : Means-Ends Analysis
1. Compare CURRENT to GOAL, if there are no differences between both
then return Success and Exit.
2. Else, select the most significant difference and reduce it by doing
the following steps until the success or failure occurs.
a. Select a new operator O which is applicable for the current difference, and
if there is no such operator, then signal failure.
b. Attempt to apply operator O to CURRENT. Make a description of two states.
i. O-Start, a state in which O?s preconditions are satisfied.
ii. O-Result, the state that would result if O were applied In O-start.
c. If (First-Part <------ MEA (CURRENT, O-START) And (LAST-Part <----- MEA (O-
Result, GOAL), are successful, then signal Success and return the result of
combining FIRST-PART, O, and LAST-PART.
study material for Artificial Intelligence

More Related Content

PPT
2.Problems Problem Spaces and Search.ppt
DOCX
Unit 2
PPT
Problems Spaces and Search
PPT
Amit ppt
PDF
State space representation and search.pdf
PPTX
AI-03 Problems State Space.pptx
PPTX
Presentation_8948_Content_Document_20250725121751PM (1).pptx
PDF
Automatic Problem Solving
2.Problems Problem Spaces and Search.ppt
Unit 2
Problems Spaces and Search
Amit ppt
State space representation and search.pdf
AI-03 Problems State Space.pptx
Presentation_8948_Content_Document_20250725121751PM (1).pptx
Automatic Problem Solving

Similar to study material for Artificial Intelligence (20)

PDF
AI Chapter III for Computer Science Students
DOC
Chapter 2 (final)
PPTX
Learning (e.g., machine learning) Reasoning (solving problems, making decisi...
PPTX
UNIT 2-FULL.pptxLearning (e.g., machine learning) Reasoning (solving problem...
PPTX
UNIT 2-FULL.pptxLearning (e.g., machine learning) Reasoning (solving problem...
PPTX
problem space and problem definition in ai
PPTX
Presentation on Artificial Intelligence.
PPT
Chapter 02-artificialPROBLEM SOLVING.ppt
PPT
Problem space
PPT
Problem space
PPT
Problem space
PPTX
Problem solving in Artificial Intelligence.pptx
PPT
CH2_AI_Lecture1.ppt
PDF
State Space Representation in Artificial Intelligence
PPTX
Lecture 05 problem solving through ai
PPTX
Lecture 06 production system
DOC
Chapter2final 130103081315-phpapp02
PDF
4 IT Interview Question.pdf
PPTX
FAI UNIT 6FAI UNIT 7 all important questions to be noted max pass
PPTX
Lecture 07 search techniques
AI Chapter III for Computer Science Students
Chapter 2 (final)
Learning (e.g., machine learning) Reasoning (solving problems, making decisi...
UNIT 2-FULL.pptxLearning (e.g., machine learning) Reasoning (solving problem...
UNIT 2-FULL.pptxLearning (e.g., machine learning) Reasoning (solving problem...
problem space and problem definition in ai
Presentation on Artificial Intelligence.
Chapter 02-artificialPROBLEM SOLVING.ppt
Problem space
Problem space
Problem space
Problem solving in Artificial Intelligence.pptx
CH2_AI_Lecture1.ppt
State Space Representation in Artificial Intelligence
Lecture 05 problem solving through ai
Lecture 06 production system
Chapter2final 130103081315-phpapp02
4 IT Interview Question.pdf
FAI UNIT 6FAI UNIT 7 all important questions to be noted max pass
Lecture 07 search techniques
Ad

Recently uploaded (20)

PDF
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
PDF
Complications of Minimal Access Surgery at WLH
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PPTX
Pharmacology of Heart Failure /Pharmacotherapy of CHF
PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PDF
Sports Quiz easy sports quiz sports quiz
PPTX
Lesson notes of climatology university.
PDF
FourierSeries-QuestionsWithAnswers(Part-A).pdf
PDF
Anesthesia in Laparoscopic Surgery in India
PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
PPTX
Cell Structure & Organelles in detailed.
PPTX
GDM (1) (1).pptx small presentation for students
PDF
O7-L3 Supply Chain Operations - ICLT Program
PDF
Computing-Curriculum for Schools in Ghana
PDF
102 student loan defaulters named and shamed – Is someone you know on the list?
PPTX
Institutional Correction lecture only . . .
PPTX
Cell Types and Its function , kingdom of life
PDF
Supply Chain Operations Speaking Notes -ICLT Program
PDF
Basic Mud Logging Guide for educational purpose
PDF
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
Complications of Minimal Access Surgery at WLH
Final Presentation General Medicine 03-08-2024.pptx
Pharmacology of Heart Failure /Pharmacotherapy of CHF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
Sports Quiz easy sports quiz sports quiz
Lesson notes of climatology university.
FourierSeries-QuestionsWithAnswers(Part-A).pdf
Anesthesia in Laparoscopic Surgery in India
2.FourierTransform-ShortQuestionswithAnswers.pdf
Cell Structure & Organelles in detailed.
GDM (1) (1).pptx small presentation for students
O7-L3 Supply Chain Operations - ICLT Program
Computing-Curriculum for Schools in Ghana
102 student loan defaulters named and shamed – Is someone you know on the list?
Institutional Correction lecture only . . .
Cell Types and Its function , kingdom of life
Supply Chain Operations Speaking Notes -ICLT Program
Basic Mud Logging Guide for educational purpose
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
Ad

study material for Artificial Intelligence

  • 1. ashishkj@nec.edu.np Computer Engineering Department Asst. Prof. Ashish Kr. Jha Nepal Engineering College, Changunarayan +977-9849032579 Unit-2: Problems, State Space Search & Heuristic Search Techniques
  • 2.  Looping Outline  Defining Problems As A State Space Search  Production Systems  Production Characteristics  Issues in the Design of Search Programs  Generate-And-Test  Hill Climbing  Best-First Search  Problem Reduction  Constraint Satisfaction  Means-Ends Analysis.
  • 4. 4 Problem and Problem Solving  The steps that are required to build a system to solve a particular problem are: 1. Problem Definition that must include precise specifications of what the initial situation will be, as well as what final situations constitute acceptable solutions to the problem. 2. Problem Analysis, this can have immense impact on the appropriateness of various possible techniques for solving the problem. 3. Isolate and Represent the task knowledge required to solve the problem. 4. Selection of the best technique(s) for solving the particular problem.  Problem solving is a process of generating solutions from the observed data.
  • 5. 5 State and State Space Representation  A state is a representation of problem elements at a given moment.  A state space is the set of all possible states reachable from the initial state.  A state space forms a graph in which the nodes are states and the arcs between nodes are actions.  In a state space, a path is a sequence of states connected by a sequence of actions.  The solution of a problem is a part of the graph formed by the state space. Chess - Initial Position Position after a legal move
  • 6. 6 Define the Problem as State Space Search  To provide a formal description of a problem, we need to do the following: 1. Define a state space that contains all the possible configurations of the relevant objects. 2. Specify one or more states that describe possible situations, from which the problem solving process may start. These states are called initial states. 3. Specify one or more states that would be acceptable solution to the problem. These states are called goal states.  Specify a set of rules that describe the actions (operators) available.  The problem can then be solved by using the rules, in combination with an appropriate control strategy, to move through the problem space until a path from an initial state to a goal state is found. This process is known as ‘search’.
  • 7. 7 State Space Representation - Play Chess  Consider the problem of “Playing Chess”, to build a program that could play chess, we have to specify, 1. The starting position of the chess board, 2. The rules that define legal moves. 3. And the board position that represent a win. 1. Initial Position of the chess board : The starting position can be described by an 8 X 8 array square in which each element square (x, y) describes the board position of an appropriate piece in the official chess opening position.
  • 8. 8 State Space Representation - Play Chess 2. The rules that define legal moves  The legal moves provide the way of getting from initial state of final state.  It can be described as a set of rules consisting of two parts: A left side that gives the current position and the right side that describes the change to be made to the board position. 3. The board position that represents a win  The goal is any board position in which the opponent does not have a legal move and his or her “king” is under attack.
  • 9. 14 State Space Representation – 8 Puzzle  Problem Definition: The 8 puzzle consists of eight numbered, movable tiles set in a 3x3 frame. One cell of the frame is always empty thus making it possible to move an adjacent numbered tile into the empty cell. Such a puzzle is illustrated in following diagram. 2 8 3 1 6 4 7 5 1 2 3 8 4 7 6 5 Initial State Goal State
  • 10. 15 State Space Representation – 8 Puzzle  A solution to the problem is an appropriate sequence of moves, such as “move tiles 5 to the Left, move tile 7 to the Right ,move tile 6 to the down” etc… Initial State Next State after one legal move 2 8 3 1 6 4 7 5 2 8 3 1 4 7 6 5
  • 11. 8 Puzzle - Game Tree 2 8 3 1 6 4 7 5 2 8 3 1 4 7 6 5 2 3 1 8 4 7 6 5 1 2 3 8 4 7 6 5 1 2 3 8 4 7 6 5 2 8 3 1 6 4 7 5 2 8 3 1 6 4 7 5 2 8 3 1 4 7 6 5 2 8 3 1 4 7 6 5 2 8 3 7 1 4 6 5 8 3 2 1 4 7 6 5 2 3 1 8 4 7 6 5 2 3 1 8 4 7 6 5 1 2 3 7 8 4 6 5 1 2 3 4 5 6 7
  • 12. 17 Problem Characteristics 1. Is the problem decomposable into a set of independent smaller or easier sub-problems? 2. Can solution steps be ignored or at least undone if they prove unwise? 3. Is the problem’s universe predictable? 4. Is a good solution to the problem obvious without comparison to all other possible solutions? 5. Is the desired solution a state of the world or a path to a state? 6. Is a large amount of knowledge absolutely required to solve the problem or is knowledge important only to constrain the search? 7. 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?
  • 13. 18 Chess Analysis with Respect to Seven Problem Characteristics Problem Characteristics Satisfied Justification Is the problem decomposable ? No Dependent moves Can solution steps be ignored or at least undone No Wrong move can’t be undone Is the problem’s universe predictable No Moves of other player can not be predicted Is a good solution absolute or relative? Absolute Winning position need not be compared Is the solution a state or a path? Path Not only solution but how it is achieved also matters What is the role of knowledge? Domain specific knowledge is required to constrain search Does the task require Interaction with a person? No Once all rules are defined, no need for interaction
  • 14. 19 8 Puzzle Analysis with Respect to Seven Problem Characteristics Problem Characteristics Satisfied Justification Is the problem decomposable ? No Dependent moves Can solution steps be ignored or at least undone Yes We can undo the previous move Is the problem’s universe predictable Yes Problem Universe is predictable, it is a single person game Is a good solution absolute or relative? Absolute Winning position need not be compared Is the solution a state or a path? Path Not only solution but how it is achieved also matters What is the role of knowledge? Domain specific knowledge is required to constrain search Does the task require Interaction with a person? No In 8 puzzle additional assistance is not required
  • 15. 20 Production System  Production systems provide appropriate structures for performing and describing search processes.  A production system has four basic components: 1. 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 the rule is applied. 2. A database of current facts established during the process of inference. 3. A control strategy that specifies the order in which the rules will be compared with facts in the database and also specifies how to resolve conflicts in selection of several rules or selection of more facts. 4. A rule applier.  Production systems provide us with good ways of describing the operations that can be performed in a search for a solution to a problem.
  • 16. 21 Production System Characteristics 1. A monotonic production system is a 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 selected. 2. A non-monotonic production system is one in which this is not true. This production system increases the problem-solving efficiency of the machine by not keeping a record of the changes made in the previous search process. 3. A partially communicative production system is a production system with the property that if the application of a particular sequence of rules transforms state P into state Q, then any combination of those rules that is allowable also transforms state P into state Q. 4. A commutative production system is a production system that is both monotonic and partially commutative. These type of production systems is used when the order of operation is not important, and the changes are reversible.
  • 17. 22 Issues in the Design of Search Programs 1. The direction in which to conduct the search (forward versus backward reasoning). If the search proceeds from start state towards a goal state, it is a forward search or we can also search from the goal, i.e., backward search. 2. How to select applicable rules (Matching). Production systems typically spend most of their time looking for rules to apply. So, it is critical to have efficient procedures for matching rules against states. 3. How to represent each node of the search process (knowledge representation problem).
  • 19. 24 Introduction  Search Techniques can be classified as: 1. Uninformed/Blind Search Control Strategy:  Do not have additional information about states beyond problem definition.  Total search space is looked for the solution.  Example: Breadth First Search (BFS), Depth First Search (DFS), Depth Limited Search (DLS). 2. Informed/Directed Search Control Strategy:  Some information about problem space is used to compute the preference among various possibilities for exploration and expansion.  Examples: Best First Search, Problem Decomposition, A*, Mean end Analysis
  • 20. 25 Uninformed Search Techniques A B C D E F G H ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ A B C D E F G H ✓ ✓ ✓ ✓ ✓ ✓ Breadth First Search Depth First Search ✓ ✓
  • 21. 26 Difference Between DFS & BFS Depth First Search Breath First Search DFS requires less memory since only the nodes on the current path are stored. BFS guarantees that the space of possible moves is systematically examined; this search requires considerably more memory resources. By chance, DFS may find a solution without examining much of the search space at all. Then it finds a solution faster. The search systematically proceeds testing each node that is reachable from a parent node before it expands to any child of those nodes. If the selected path does not reach to the solution node, DFS gets stuck into a blind alley. BFS will not get trapped exploring a blind alley. Does not guarantee to find solution. Backtracking is required if wrong path is selected. If there is a solution, BFS is guaranteed to find it.
  • 22. 27 Heuristic Search Techniques  Every search process can be viewed as a traversal of a directed graph, in which the nodes represent problem states and the arcs represent relationships between states.  The search process must find a path through this graph, starting at an initial state and ending in one or more final states.  Domain-specific knowledge must be added to improve search efficiency.  The Domain-specific knowledge about the problem includes the nature of states, cost of transforming from one state to another, and characteristics of the goals.  This information can often be expressed in the form of Heuristic Evaluation Function.
  • 23. 28 Visiting each District of Gujarat State • Start with any random city. • Go to the next nearest city. Nearest Neighbor Heuristic
  • 24. 29 Heuristic Search Techniques  Heuristic function maps from problem state descriptions to the measures of desirability, usually represented as numbers.  The value of the heuristic function at a given node in the search process gives a good estimate of whether that node is on the desired path to a solution.  Well-designed heuristic functions can play an important role in efficiently guiding a search process toward a solution.  In general, heuristic search improves the quality of the path that is explored.  In such problems, the search proceeds using current information about the problem to predict which path is closer to the goal and follow it, although it does not always guarantee to find the best possible solution.  Such techniques help in finding a solution within reasonable time and space (memory).
  • 25. 30 Heuristic Search Techniques  Some prominent intelligent search algorithms are stated below: 1. Generate and Test Search 2. Best-first Search 3. A* Search 4. Constraint Search 5. Means-ends analysis
  • 26. 31 Generate and Test Strategy  Generate-and-test search algorithm is a very simple algorithm that guarantees to find a solution if done systematically and there exists a solution.  Potential solutions that need to be generated vary depending on the kinds of problems.  For some problems the possible solutions may be particular points in the problem space and for some problems, paths from the start state. Algorithm: Generate-And-Test 1.Generate a possible solution. 2.Test to see if this is the expected solution. 3.If the solution has been found quit else go to step 1.
  • 27. 32 Hill Climbing Example - Blocks World Problem B C D A B C Start Goal A D Local heuristic: +1 for each block that is resting on the thing it is supposed to be resting on. -1 for each block that is resting on a wrong thing. 0 4
  • 28. 33 Hill Climbing Example - Blocks World Problem B C D A B C Start Goal A D 0 4 B C D A B C D A B C D A 0 0 0 B C D A 2 Local heuristic: +1 +1 +1 -1
  • 29. 34 Hill Climbing Example - Blocks World Problem B C D A B C Start Goal A D Global heuristic: For each block that has the correct support structure: +1 to every block in the support structure. For each block that has a wrong support structure: -1 to every block in the support structure. -6 6 +1 +2 +3 0 -1 -2 -3 0
  • 30. 35 Hill Climbing Example - Blocks World Problem B C D A B C Start Goal A D -6 6 B C D A B C D A B C D A -6 -2 -1 B C D A -3 Global heuristic:
  • 31. 36 Simple Hill Climbing - Algorithm 1. Evaluate the initial state. If it is also goal state, then return it and quit. Otherwise continue with the initial state as the current state. 2. Loop until a solution is found or until there are no new operators left to be applied in the current state: a. Select an operator that has not yet been applied to the current state and apply it to produce a new state. b. Evaluate the new state i. If it is the goal state, then return it and quit. ii. If it is not a goal state but it is better than the current state, then make it the current state. iii.If it is not better than the current state, then continue in the loop.
  • 32. Dr. Gopi Sanghani #3170716 (AI)  Unit 2 –Problems, State Space Search & Heuristic Search Techniques 37  Local Maxima: a local maximum is a state that is better than all its neighbors but is not better than some other states further away.  To overcome local maximum problem: Utilize backtracking technique. Maintain a list of visited states and explore a new path.  Plateau: a plateau is a flat area of the search space in which, a whole set of neighboring states have the same values.  To overcome plateaus: Make a big jump. Randomly select a state far away from current state.  Ridge: is a special kind of local maximum. It is an area of the search space that is higher than surrounding areas and that itself has slop.  To overcome Ridge: In this kind of obstacle, use two or more rules before testing. It implies moving in several directions at once. Image source: https://www.geeksforgeeks.org/introduction-hill-climbing-artificial-intelligence/
  • 33. 38 Steepest-Ascent Hill Climbing - Algorithm 1. Evaluate the initial state. If it is also a goal state, then return it and quit. Otherwise, continue with the initial state as the current state. 2. Loop until a solution is found or until a complete iteration produces no change to current state: a. Let S be a state such that any possible successor of the current state will be better than S. b. For each operator that applies to the current state do:  Apply the operator and generate a new state  Evaluate the new state. If it is a goal state, then return it and quit. If not, compare it to S. If it is better, then set S to this state. If it is not better, leave S alone. c. If the S is better than the current state, then set current state to S. In simple hill climbing, the first closer node is chosen, whereas in steepest ascent hill climbing all successors are compared and the closest to the solution is chosen.
  • 34. 39 Best First Search  DFS is good because it allows a solution to be found without expanding all competing branches. BFS is good because it does not get trapped on dead end paths.  Best first search combines the advantages of both DFS and BFS into a single method.  One way of combining BFS and DFS is to follow a single path at a time, but switch paths whenever some competing path looks more promising than the current one does.  At each step of the Best First Search process, we select the most promising of the nodes we have generated so far.  This is done by applying an appropriate heuristic function to each of them.  We then expand the chosen node by using the rules to generate its successors.  If one of them is a solution, we can quit. If not, all those new nodes are added to the set of nodes generated so far.
  • 36. 41 How to find a better path A E B C D Z p q r s a b c d Which Path is better? Compare 𝑝 < 𝑞 < 𝑟 < 𝑠 then 𝐴 → 𝐵 → ⋯ 𝑍 is better If 𝑝 + 𝑎 < 𝑞 + 𝑏 < 𝑟 + 𝑐 < 𝑠 + 𝑑 then 𝐴 → 𝐵 → ⋯ 𝑍 is better OR
  • 37. 42 A* Example S A B C E D F G 17 10 4 13 4 2 1 0 6 5 10 6 6 6 7 6 4 3 f’(n) = g(n) + h’(n) g(n) : The function g is a cost of getting from initial state to the current node. h’(n): The function h’ is an estimate of the additional cost of getting from the current node to a goal state.
  • 41. 46 A* Example S A B C 16 14 18 E F 19 D E 14 15 C F 22 19 G D 18 16 17
  • 42. 47 A* Example S A B C 16 14 18 E F 19 D E 14 15 A F 27 16 D G 23 18 G 16 17
  • 43. 48 A* Example Solution S A B C E D F G 17 10 4 13 4 2 1 0 6 5 10 6 6 6 7 6 4 3 𝑆 → 𝐵 → 𝐸 → 𝐹 → 𝐺 Total Cost = 18
  • 44. 49 The A* Algorithm  This algorithm uses following functions: 1. f’: Heuristic function that estimates the merits of each node we generate. f’ represents an estimate of the cost of getting from the initial state to a goal state along with the path that generated the current node. f’ = g + h’ 2. g: The function g is a measure of the cost of getting from initial state to the current node. 3. h’: The function h’ is an estimate of the additional cost of getting from the current node to a goal state.  The algorithm also uses the lists: OPEN and CLOSED  OPEN - nodes that have been generated and have had the heuristic function applied to them but which have not yet been examined. OPEN is actually a priority queue in which the elements with the highest priority are those with the most promising value of the heuristic function.  CLOSED - nodes that have already been examined. We need to keep these nodes in memory if we want to search a graph rather than a tree, since whenever a new node is generated; we need to check whether it has been generated before.
  • 45. 50 The A* Algorithm Step 1:  Start with OPEN containing only initial node.  Set that node’s g value to 0, its h’ value to whatever it is, and its f’ value to h’+0 or h’.  Set CLOSED to empty list. Step 2: Until a goal node is found, repeat the following procedure:  If there are no nodes on OPEN, report failure.  Otherwise select the node on OPEN with the lowest f’ value.  Call it BESTNODE. Remove it from OPEN. Place it in CLOSED.  See if the BESTNODE is a goal state. If so exit and report a solution.  Otherwise, generate the successors of BESTNODE but do not set the BESTNODE to point to them yet.
  • 46. 51 The A* Algorithm Step 3: For each of the SUCCESSOR, do the following: a. Set SUCCESSOR to point back to BESTNODE. These backwards links will make it possible to recover the path once a solution is found. b. Compute g(SUCCESSOR) = g(BESTNODE) + the cost of getting from BESTNODE to SUCCESSOR c. See if SUCCESSOR is the same as any node on OPEN. If so call the node OLD. i. Check whether it is cheaper to get to OLD via its current parent or to SUCESSOR via BESTNODE by comparing their g values. ii. If OLD is cheaper, then do nothing. If SUCCESSOR is cheaper then reset OLD’s parent link to point to BESTNODE. iii. Record the new cheaper path in g(OLD) and update f‘(OLD). iv. If SUCCESSOR was not on OPEN, see if it is on CLOSED. If so, call the node on CLOSED OLD and add OLD to the list of BESTNODE’s successors. v. If SUCCESSOR was not already on either OPEN or CLOSED, then put it on OPEN and add it to the list of BESTNODE’s successors. Compute f’(SUCCESSOR) = g(SUCCESSOR) + h’(SUCCESSOR)
  • 47. 52 Problem Reduction  AND-OR graph (or tree) is useful for representing the solution of problems that can be solved by decomposing them into a set of smaller problems, all of which must then be solved.  This decomposition or reduction generates arcs that we call AND arcs.  One AND arc may point to any numbers of successor nodes. All of which must then be solved in order for the arc to point solution.  In order to find solution in an AND-OR graph we need an algorithm similar to best –first search but with the ability to handle the AND arcs appropriately.  We define FUTILITY, if the estimated cost of solution becomes greater than the value of FUTILITY then we abandon the search, FUTILITY should be chosen to correspond to a threshold.
  • 48. 53 AND-OR Graph  In following figure AND arcs are indicated with a line connecting all the components.
  • 49. 54 AND – OR Graph A B C D A B C D E F G H I J (5) (3) (4) (9) (38) (17) (9) (27) (5) (10) (3) (4) (15) (10) (18)
  • 50. 55 Heuristic Search Techniques for AO*  Traverse the graph starting at the initial node and following the current best path, and accumulate the set of nodes that are on the path and have not yet been expanded.  Pick one of these unexpanded nodes and expand it. Add its successors to the graph and computer f'(cost of the remaining distance) for each of them.  Change the f' estimate of the newly expanded node to reflect the new information produced by its successors. Propagate this change backward through the graph. Decide which is the current best path.  The propagation of revised cost estimation backward is in the tree is not necessary in A* algorithm. This is because in AO* algorithm expanded nodes are re-examined so that the current best path can be selected.
  • 51. 56 Constraint Satisfaction  Many AI problems can be viewed as problems of constraint satisfaction.  For example, Crypt-arithmetic puzzle:  As compared with a straightforward search procedure, viewing a problem as one of the constraint satisfaction can substantially reduce the amount of search.  Two-step process: 1. Constraints are discovered and propagated as far as possible. 2. If there is still not a solution, then search begins, adding new constraints.  Initial state contains the original constraints given in the problem.  A goal state is any state that has been constrained “enough”. i.e. The goal is to discover some problem state that satisfies the given set of constraints.
  • 52. Crypt-arithmetic Puzzle Initial state: • Assign values between 0 to 9. • No two letters have the same value. • The sum of the digits must be as shown. 1 1 9 0 S E N D M O R Y 1 1 9 0 0 5 6 5 6 5 5 6 8 7 2 1 7 8 2
  • 53. 58 Iterative Deepening Search  Depth first search is incomplete if there is an infinite branch in the search tree.  Infinite branches can happen if:  paths contain loops  infinite number of states and/or operators.  For problems with infinite state spaces, several variants of depth-first search have been developed: depth limited search, iterative deepening search.  Depth limited search expands the search tree depth-first up to a maximum depth 𝑙.  The nodes at depth 𝒍 are treated as if they had no successors.  Iterative deepening (depth-first) search (IDDS) is a form of depth limited search which progressively increases the bound.  It first tries 𝑙 = 1, then 𝑙 = 2, then 𝑙 = 3, etc. until a solution is found at 𝑙 = 𝑑.
  • 54. 59 Iterative Deepening Search Depth DLS Traversal 0 1 2 3 4 A B E I F J K O P C G L R A B E I F J K C G L D H M N A B E F C G D H A B C D A
  • 55. 60 Means End Analysis  Most of the search strategies either reason forward of backward, Often a mixture of the two directions is appropriate.  Such mixed strategy would make it possible to solve the major parts of problem first and solve the smaller problems the arise when combining them together.  Such a technique is called Means - Ends Analysis.  The means -ends analysis process centers around finding the difference between current state and goal state.  The problem space of means - ends analysis has  an initial state and one or more goal state,  a set of operate with a set of preconditions their application and difference functions that computes the difference between two state a(i) and s(j).
  • 56. 61 Means End Analysis  The means-ends analysis process can be applied recursively for a problem.  Following are the main Steps which describes the working of MEA technique for solving a problem.  First, evaluate the difference between Initial State and final State.  Select the various operators which can be applied for each difference.  Apply the operator at each difference, which reduces the difference between the current state and goal state.  In the MEA process, we detect the differences between the current state and goal state.  Once these differences occur, then we can apply an operator to reduce the differences.  But sometimes it is possible that an operator cannot be applied to the current state.
  • 57. 62 Means End Analysis  So, we create the sub-problem of the current state, in which operator can be applied, such type of backward chaining in which operators are selected, and then sub goals are set up to establish the preconditions of the operator is called Operator Subgoaling.
  • 58. 63 Algorithm : Means-Ends Analysis 1. Compare CURRENT to GOAL, if there are no differences between both then return Success and Exit. 2. Else, select the most significant difference and reduce it by doing the following steps until the success or failure occurs. a. Select a new operator O which is applicable for the current difference, and if there is no such operator, then signal failure. b. Attempt to apply operator O to CURRENT. Make a description of two states. i. O-Start, a state in which O?s preconditions are satisfied. ii. O-Result, the state that would result if O were applied In O-start. c. If (First-Part <------ MEA (CURRENT, O-START) And (LAST-Part <----- MEA (O- Result, GOAL), are successful, then signal Success and return the result of combining FIRST-PART, O, and LAST-PART.