Chapter 2-Uninformed (Blind) Search
Chapter 2-Uninformed (Blind) Search
[email protected]
http://faculty.ksu.edu.sa/YAlohali
Problem Solving by Searching
Search Methods :
Uninformed (Blind) search
Search Methods
Once we have defined the problem space (state representation, the initial state, the
goal state and operators) is all done?
A farmer wishes to carry a wolf, a duck and corn across a river, from the south to the
north shore. The farmer is the proud owner of a small rowing boat called Bounty
which he feels is easily up to the job. Unfortunately the boat is only large enough to
carry at most the farmer and one other item. Worse again, if left unattended the wolf
will eat the duck and the duck will eat the corn.
River
boat
Farmer, Wolf,
Duck and Corn
How can the farmer safely transport the wolf, the duck and the corn to the opposite
shore?
3
Search Methods
The River Problem:
F=Farmer W=Wolf D=Duck C=Corn /=River
-/FWCD
FWCD/-
How can the farmer safely transport the wolf, the duck and
the corn to the opposite shore?
4
Search Methods
Problem formulation:
Initial State: farmer, wolf, duck and corn in the south shore FWDC/-
Operators: the farmer takes in the boat at most one item from one side to
the other side
(F-Takes-W, F-Takes-D, F-Takes-C, F-Takes-Self [himself only])
5
Search Methods
State space:
A problem is solved by moving from the initial state to the goal state by applying valid
operators in sequence. Thus the state space is the set of states reachable from a particular
initial state.
F WD C
Initial state
WD C D C W C WD
Dead ends
F F W F D F C
Illegal states
F W C F WD C
D
repeated state F
W
D
C
F WD
C
F
W
D C
intermediate state
F C F W C F D C F W F WD F W C
WD D W D C C D
D C C D WD D W
F W F WD F W C F C F W C F D C
F D F WD F D C
W C C W
F W
D
C F WD C Goal state 6
Search Methods
Searching for a solution: F WD C
W C C W
…really large… DC C D WD D W
FW F WD FW C F C FW C F DC
D
FW C F WD C
7
Search Methods
F WD C
Problem solution:
WD C DC W C WD
A problem solution is simply the set F FW F D F C
state:
W C C W
F D F WD F DC
F D F WD F DC
F-Takes-D. W C C W
D
FW C F WD C
8
Search Methods
Problem solution: (path Cost = 7)
While there are other possibilities here is one 7 step solution to the river problem
F D D F W D
F-Takes-D F-Takes-S F-Takes-W
F W D C W C F W C C
Initial State WC/FD FWC/D C/FWD
F-Takes-D
F W G C W C F W C W
13
Branching factors for some
problems
The eight puzzle has a (effective) 2 1 3
branching factor of 2.13, so a search tree
at depth 20 has about 3.7 million nodes: 4 7 6
O(bd) 5 8
14
A Toy Example: A Romanian
Holiday
State space: Cities in Romania
Initial state: Town of Arad
Goal: Airport in Bucharest
Operators: Drive between cities
Solution: Sequence of cities
Path cost: number of cities, distance,
time, fuel
15
The state Space
16
Generic Search Algorithms
Sibiu Bucharest
18
Solution
19
Implementation of Generic
Search Algorithm
function general-search(problem, QUEUEING-FUNCTION)
nodes = MAKE-QUEUE(MAKE-NODE(problem.INITIAL-STATE))
loop do
if EMPTY(nodes) then return "failure"
node = REMOVE-FRONT(nodes)
if problem.GOAL-TEST(node.STATE) succeeds then return solution(node)
nodes = QUEUEING-FUNCTION(nodes, EXPAND(node, problem.OPERATORS))
end
A nice fact about this search algorithm is that we can use a single algorithm to do
many kinds of search. The only difference is in how the nodes are placed in the
queue. The choice of queuing function is the main feature. 20
Key Issues of State-Space
search algorithm
Search process constructs a “search tree”
• root is the start node
• leaf nodes are:
unexpanded nodes (in the nodes list)
“dead ends” (nodes that aren’t goals and have no successors because
no operators were applicable)
21
Uninformed search strategies
(Blind search)
Uninformed (blind) strategies use only the information available in
the problem definition. These strategies order nodes without
using any domain specific information
Breadth-first search
Uniform-cost search
Depth-first search
Depth-limited search
Iterative deepening search
Bidirectional search
22
Basic Search Algorithms
Uninformed Search
24
Breadth First Search (BFS)
Main idea: Expand all nodes at depth (i) before expanding nodes at depth (i + 1)
Level-order Traversal.
Implementation: Use of a First-In-First-Out queue (FIFO). Nodes visited first
are expanded first. Enqueue nodes in FIFO (first-in, first-out) order.
• Complete? Yes.
• Optimal? Yes, if path cost is nondecreasing function of depth
• Time Complexity: O(bd)
• Space Complexity: O(bd), note that every node in the fringe is kept in the queue.
25
Breadth First Search
QUEUING-FN:- successors added to end
of queue Arad
Arad
Arad Oradea
Oradea Fagaras
Arad Lugoj
Rimnicu Vilcea
5 2
[5] [2]
1 4 1 7
[6] [9] [3] [9]
Goal state
4 5
28
Uniform Cost Search (UCS)
5 2
[5] [2]
29
Uniform Cost Search (UCS)
5 2
[5] [2]
1 7
[3] [9]
30
Uniform Cost Search (UCS)
5 2
[5] [2]
1 7
[3] [9]
4 5
[7] [8]
31
Uniform Cost Search (UCS)
5 2
[5] [2]
1 4 1 7
[6] [9] [3] [9]
4 5
[7] [8]
32
Uniform Cost Search (UCS)
5 2
[5] [2]
Goal state
1 4 1
path cost 7
g(n)=[6] [3] [9]
[9]
4 5
[7] [8]
33
Uniform Cost Search (UCS)
5 2
[5] [2]
1 4 1 7
[6] [9] [3] [9]
4 5
[7] [8]
34
Uniform Cost Search (UCS)
In case of equal step costs, Breadth First search finds
the optimal solution.
Implementation:
Enqueue nodes in order of cost g(n).
QUEUING-FN:- insert in order of increasing path cost.
Enqueue new node at the appropriate position in the queue so that we
dequeue the cheapest node.
Complete? Yes.
Optimal? Yes, if path cost is nondecreasing function of depth
Time Complexity: O(bd)
Space Complexity: O(bd), note that every node in the fringe keep in the queue.
36
Basic Search Algorithms
Uninformed Search
38
Depth First Search (DFS)
Main idea: Expand node at the deepest level (breaking ties left to right).
• Optimal? No
40
Depth-First Search (DFS)
QUEUING-FN:- insert successors at
front of queue Arad
Arad Oradea
41
Basic Search Algorithms
Uninformed Search
Depth Bound = 3
43
Depth-Limited Search (DLS)
It is simply DFS with a depth bound.
Searching is not permitted beyond the depth bound.
Termination is guaranteed.
Implementation:
Enqueue nodes in LIFO (last-in, first-out) order. But limit depth to L
• Optimal? No
function ITERATIVE-DEEPENING-SEARCH():
47
Iterative Deepening Search (IDS)
Key idea: Iterative deepening search (IDS) applies DLS repeatedly
with increasing depth. It terminates when a solution is found or no
solutions exists.
IDS combines the benefits of BFS and DFS: Like DFS the memory
requirements are very modest (O(bd)). Like BFS, it is complete
when the branching factor is finite.
L=0
L=1
L=2
L=3
49
Iterative Deepening Search (IDS)
50
Iterative Deepening Search (IDS)
51
Basic Search Algorithms
Uninformed Search
Complete? Yes
Optimal? Yes
Time Complexity: O(bd/2), where
d is the depth of the solution.
Space Complexity: O(bd/2), where
d is the depth of the solution.
53
Basic Search Algorithms
b: Branching factor
d: Depth of solution
m: Maximum depth
l : Depth Limit
55
Blind Search Algorithms
Tree Search:
BFS, DFS, DLS, IDS
Basic Search Algorithms
B C D E
F G H I J
K L M N
O
58
Breadth First Search
A,
B C D E
59
Breadth First Search
A,
B,
B C D E
F G
60
Breadth First Search
A,
B,C
B C D E
F G H
61
Breadth First Search
A,
B,C,D
B C D E
F G H I J
62
Breadth First Search
A,
B,C,D,E
B C D E
F G H I J
63
Breadth First Search
A,
B,C,D,E,
F,
A
B C D E
F G H I J
64
Breadth First Search
A,
B,C,D,E,
F,G
A
B C D E
F G H I J
K L
65
Breadth First Search
A,
B,C,D,E,
F,G,H
A
B C D E
F G H I J
K L
66
Breadth First Search
A,
B,C,D,E,
F,G,H,I
A
B C D E
F G H I J
K L M
67
Breadth First Search
A,
B,C,D,E,
F,G,H,I,J,
A
B C D E
F G H I J
K L M N
68
Breadth First Search
A,
B,C,D,E,
F,G,H,I,J,
K, A
B C D E
F G H I J
K L M N
69
Breadth First Search
A,
B,C,D,E,
F,G,H,I,J,
K,L A
B C D E
F G H I J
K L M N
O
70
Breadth First Search
A,
B,C,D,E,
F,G,H,I,J,
K,L, M, A
B C D E
F G H I J
K L M N
O
71
Breadth First Search
A,
B,C,D,E,
F,G,H,I,J,
K,L, M,N, A
B C D E
F G H I J
K L M N
O
72
Breadth First Search
A,
B,C,D,E,
F,G,H,I,J,
K,L, M,N, A
Goal state: O
B C D E
F G H I J
K L M N
O
73
Breadth First Search
The returned solution is the sequence of operators in the path:
A, B, G, L, O
B C D E
F G H I J
K L M N
O
74
Basic Search Algorithms
B C D E
F G H I J
K L M N
O
76
Depth First Search
A,
B C D E
77
Depth First Search
A,B,
B C D E
F G
78
Depth First Search
A,B,F,
B C D E
F G
79
Depth First Search
A,B,F,
G,
B C D E
F G
K L
80
Depth First Search
A,B,F,
G,K,
B C D E
F G
K L
81
Depth First Search
A,B,F,
G,K,
L,
A
B C D E
F G
K L
O
82
Depth First Search
A,B,F,
G,K,
L, O: Goal State
A
B C D E
F G
K L
O
83
Depth First Search
The returned solution is the sequence of operators in the path:
A, B, G, L, O
B C D E
F G
K L
O
84
Basic Search Algorithms
Depth-Limited Search
DLS
Depth-Limited Search (DLS)
Application3:
Given the following state space (tree search), give the sequence
of visited nodes when using DLS (Limit = 2):
Limit = 0 A
Limit = 1 B C D E
Limit = 2 F G H I J
K L M N
O
86
Depth-Limited Search (DLS)
A,
B C D E
Limit = 2
87
Depth-Limited Search (DLS)
A,B,
B C D E
Limit = 2 F G
88
Depth-Limited Search (DLS)
A,B,F,
B C D E
Limit = 2 F G
89
Depth-Limited Search (DLS)
A,B,F,
G,
B C D E
Limit = 2 F G
90
Depth-Limited Search (DLS)
A,B,F,
G,
C,
A
B C D E
Limit = 2 F G H
91
Depth-Limited Search (DLS)
A,B,F,
G,
C,H,
A
B C D E
Limit = 2 F G H
92
Depth-Limited Search (DLS)
A,B,F,
G,
C,H,
D, A
B C D E
Limit = 2 F G H I J
93
Depth-Limited Search (DLS)
A,B,F,
G,
C,H,
D,I A
B C D E
Limit = 2 F G H I J
94
Depth-Limited Search (DLS)
A,B,F,
G,
C,H,
D,I A
J,
B C D E
Limit = 2 F G H I J
95
Depth-Limited Search (DLS)
A,B,F,
G,
C,H,
D,I A
J,
E B C D E
Limit = 2 F G H I J
96
Depth-Limited Search (DLS)
A,B,F,
G,
C,H,
D,I A
J,
E, Failure B C D E
Limit = 2 F G H I J
97
Depth-Limited Search (DLS)
DLS algorithm returns Failure (no solution)
The reason is that the goal is beyond the limit (Limit =2): the
goal depth is (d=4)
A
B C D E
Limit = 2 F G H I J
K L M N
O
98
Basic Search Algorithms
Limit = 0 A
Limit = 1 B C D E
Limit = 2 F G H I J
Limit = 3 K L M N
Limit = 4 O
100
Iterative Deepening Search
(IDS)
Limit = 0 A
102
Iterative Deepening Search (IDS)
A, Failure
Limit = 0 A
103
Iterative Deepening Search
(IDS)
Limit = 1 B C D E
105
Iterative Deepening Search (IDS)
A,B,
Limit = 1 B C D E
106
Iterative Deepening Search (IDS)
A,B,
C,
Limit = 1 B C D E
107
Iterative Deepening Search (IDS)
A,B,
C,
D,
A
Limit = 1 B C D E
108
Iterative Deepening Search (IDS)
A,B
C,
D,
E, A
Limit = 1 B C D E
109
Iterative Deepening Search (IDS)
A,B,
C,
D,
E, Failure A
Limit = 1 B C D E
110
Iterative Deepening Search (IDS)
A,
B C D E
Limit = 2
111
Iterative Deepening Search (IDS)
A,B,
B C D E
Limit = 2 F G
112
Iterative Deepening Search (IDS)
A,B,F,
B C D E
Limit = 2 F G
113
Iterative Deepening Search (IDS)
A,B,F,
G,
B C D E
Limit = 2 F G
114
Iterative Deepening Search (IDS)
A,B,F,
G,
C,
A
B C D E
Limit = 2 F G H
115
Iterative Deepening Search (IDS)
A,B,F,
G,
C,H,
A
B C D E
Limit = 2 F G H
116
Iterative Deepening Search (IDS)
A,B,F,
G,
C,H,
D, A
B C D E
Limit = 2 F G H I J
117
Iterative Deepening Search (IDS)
A,B,F,
G,
C,H,
D,I A
B C D E
Limit = 2 F G H I J
118
Iterative Deepening Search (IDS)
A,B,F,
G,
C,H,
D,I A
J,
B C D E
Limit = 2 F G H I J
119
Iterative Deepening Search (IDS)
A,B,F,
G,
C,H,
D,I A
J,
E B C D E
Limit = 2 F G H I J
120
Iterative Deepening Search (IDS)
A,B,F,
G,
C,H,
D,I A
J,
E, Failure B C D E
Limit = 2 F G H I J
K L M N
O
121
Iterative Deepening Search
(IDS)
B C D E
Limit = 3
123
Iterative Deepening Search (IDS)
A,B,
B C D E
F G
Limit = 3
124
Iterative Deepening Search (IDS)
A,B,F,
B C D E
F G
Limit = 3
125
Iterative Deepening Search (IDS)
A,B,F,
G,
B C D E
F G
Limit = 3 K L
126
Iterative Deepening Search (IDS)
A,B,F,
G,K,
B C D E
F G
Limit = 3 K L
127
Iterative Deepening Search (IDS)
A,B,F,
G,K,
L,
A
B C D E
F G
Limit = 3 K L
128
Iterative Deepening Search (IDS)
A,B,F,
G,K,
L,
C, A
B C D E
F G H
Limit = 3 K L
129
Iterative Deepening Search (IDS)
A,B,F,
G,K,
L,
C,H, A
B C D E
F G H
Limit = 3 K L
130
Iterative Deepening Search (IDS)
A,B,F,
G,K,
L,
C,H, A
D,
B C D E
F G H I J
Limit = 3 K L
131
Iterative Deepening Search (IDS)
A,B,F,
G,K,
L,
C,H, A
D,I,
B C D E
F G H I J
Limit = 3 K L M
132
Iterative Deepening Search (IDS)
A,B,F,
G,K,
L,
C,H, A
D,I,M,
B C D E
F G H I J
Limit = 3 K L M
133
Iterative Deepening Search (IDS)
A,B,F,
G,K,
L,
C,H, A
D,I,M,
J, B C D E
F G H I J
Limit = 3 K L M N
134
Iterative Deepening Search (IDS)
A,B,F,
G,K,
L,
C,H, A
D,I,M,
J,N, B C D E
F G H I J
Limit = 3 K L M N
135
Iterative Deepening Search (IDS)
A,B,F,
G,K,
L,
C,H, A
D,I,M,
J,N, B C D E
E,
F G H I J
Limit = 3 K L M N
136
Iterative Deepening Search (IDS)
A,B,F,
G,K,
L,
C,H, A
D,I,M,
J,N, B C D E
E,Failure
F G H I J
Limit = 3 K L M N
O
137
Iterative Deepening Search
(IDS)
B C D E
Limit = 4
139
Iterative Deepening Search (IDS)
A,B,
B C D E
F G
Limit = 4
140
Iterative Deepening Search (IDS)
A,B,F,
B C D E
F G
Limit = 4
141
Iterative Deepening Search (IDS)
A,B,F,
G,
B C D E
F G
K L
Limit = 4
142
Iterative Deepening Search (IDS)
A,B,F,
G,K,
B C D E
F G
K L
Limit = 4
143
Iterative Deepening Search (IDS)
A,B,F,
G,K,
L,
A
B C D E
F G
K L
Limit = 4 O
144
Iterative Deepening Search (IDS)
A,B,F,
G,K,
L, O: Goal State
A
B C D E
F G
K L
Limit = 4 O
145
Iterative Deepening Search (IDS)
The returned solution is the sequence of operators in the path:
A, B, G, L, O
B C D E
F G
K L
O
146
Summary
Search: process of constructing sequences of actions that achieve a goal given a
problem.
The studied methods assume that the environment is observable, deterministic,
static and completely known.
Goal formulation is the first step in solving problems by searching. It facilitates
problem formulation.
Formulating a problem requires specifying four components: Initial states,
operators, goal test and path cost function. Environment is represented as a
state space.
A solution is a path from the initial state to a goal state.
Search algorithms are judged on the basis of completeness, optimality, time
complexity and space complexity.
Several search strategies: BFS, DFS, DLS, IDS,…