Vous êtes sur la page 1sur 18

10/10/09 Biomedical Department, NIT Raipur 1

• Search  process of locating a solution to


a problem by any method in a search tree
or search space until a goal node is found.
• Search Space  A set of possible
permutation that can be examined by any
search method in order to find solution.
• Search Tree  A tree that is used to
represent a search problem and is
examined by search method to search for
a solution.
10/10/09 Biomedical Department, NIT Raipur 2
To do a search process the following
are needed :--
The initial state description.
A set of legal operators.
The final or goal state.

10/10/09 Biomedical Department, NIT Raipur 3


Search strategy evaluation

Completeness: We will say a search method is


“complete”
if it has both the following properties:
– if a goal exists then the search will always find it
– if no goal exists then the search will eventually
finish and be able to say that no goal exists
Time complexity: how long does it take?
Space complexity: how much memory is needed?
Optimality: is a high-quality solution found?

10/10/09 Biomedical Department, NIT Raipur 4


Types of Search
• Uninformed or blind or Brute force
search
– No information about the number of steps
– No information about the path cost
• Informed or heuristic search
– Information about possible path costs or
number of steps is used

10/10/09 Biomedical Department, NIT Raipur 5


Uninformed Search
Breadth-first search
• Root node is expanded
first s
• All nodes at depth d in
the search tree are
expanded before the 1 2
nodes at depth d+1
• Implemented by 3 4 5 6
putting all the newly
generated nodes at
the end of the queue 7 8 9 10 11 12 13 14

10/10/09 Biomedical Department, NIT Raipur 6


Breadth first search queues
Loopno nodes expanded
0 [s] ∅
1 [1 2] [s]
2 [2 3 4] [1 s]
3 [3 4 5 6] [2 1 s]
4 [4 5 6 7 8] [3 2 1 s]
5 [5 6 7 8 9 10] [4 3 2 1 s]
6 [6 7 8 9 10 11 12] [5 4 3 2 1 s]
: : :

10/10/09 Biomedical Department, NIT Raipur 7


Algorithm of BFS
Step 1: put the initial node on a list S.
Step 2 : if ( S is empty) or (S = goal) terminate
search.
Step 3 : remove the first node from S. call this
node a.
Step 4 : if (a = goal) terminate search with
success.
Step 5 :Else if node a has successor, generate all
of them and add them at the tail of S.
Step 6 : go to to step 2.

10/10/09 Biomedical Department, NIT Raipur 8


The example node set
Initial state
A

B C D E F
Goal state

G H I J K L M N O P

Q R S T U V W X Y Z
Press space to see a BFS of the example node set
10/10/09 Biomedical Department, NIT Raipur 9
We
Node
Thethen
B
search
isbacktrack
expanded
then moves
to
then
expand
to
removed
thenode
firstfrom
C,
nodethe Node
This
We begin
node
A is removed
iswith
thenour
expanded
from
initialthe
state:
toqueue.
reveal
the Each
node
queue.
and
in the
theThe
queue.
process
revealed
Press
continues.
nodes
space Press
to
arecontinue.
added
spaceto the
A further
revealed
labeled(unexpanded)
A.
nodePress
is added
spacenodes.
to the
continue
Press
END space
of the
END of the queue. Press space. queue. Press space to continue the search.

B C D E F

G H I J K L M N O P
Node L is located and the search
returns a solution. Press space to end.
Q R S T U

Press space to continue


begin thethe
search
search

Size of Queue: 010


987651 Queue: Empty
A J,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L, K,
G,
C,
F,
M,
D,
E,
H,K,
I,
L, J,
L,
G,
F,
D,
H,
E,
M,
I,
N,L,
K,
J,
M,
G,
H,
F,
E,
I,O,
N,M,
L,
K,
J,
G,
F
H,
I,
N,
P,
O,K,
M,
J,
L,
N,
H
I,
O,
Q,
P,K,
L,
M,
JO,
N,
P,
R,
Q,
M,
LP,
O,
N,
Q,
S,
R,Q,
NP,
O,
T,
R,
S,Q
R
PU
ST

Nodes expanded: 11
9876543210
10 CurrentFINISHED
Action: Backtracking
Expanding
SEARCH Current level: 210n/a
BREADTH-FIRST SEARCH PATTERN
10/10/09 Biomedical Department, NIT Raipur 10
Uninformed Search
Breadth-first search
• Breadth-first search merits
– Complete: If there is a solution, it will be
found
– Optimal: Finds the nearest goal state
• Breadth-first search problem:
• Time complexity
• Memory intensive
• Remembers all unwanted nodes
10/10/09 Biomedical Department, NIT Raipur 11
Uninformed Search
Depth-first search
• Always expands one
of the node at the s
deepest level of the
tree
• Only returns when the 1 2
search hits a dead end
• Implemented by 3 4 9 10
putting the newly
generated nodes at
the front of the queue
5 6 7 8 11 12 13 14

10/10/09 Biomedical Department, NIT Raipur 12


Depth first search queues
Loopno nodes expanded
0 [s] ∅
1 [1 2] [s]
2 [3 4 2] [1 s]
3 [5 6 4 2] [3 1 s]
4 [6 4 2] [5 3 1 s]
5 [4 2] [6 5 3 1 s]
6 [7 8 2] [4 6 5 3 1 s]
: : :

10/10/09 Biomedical Department, NIT Raipur 13


Algorithm of DFS
Step 1: put the initial node on a list S.
Step 2 : if ( S is empty) or (S = goal) terminate search.
Step 3 : remove the first node from S. call this
node a.
Step 4 : if (a = goal) terminate search with
success.
Step 5 :Else if node a has successor, generate all of
them and add them at the beginning of S.
Step 6 : go to to step 2.

10/10/09 Biomedical Department, NIT Raipur 14


Uninformed Search
Depth-first search
• Depth-first search merits
– Modest memory requirements: only the
current path from the root to the leaf
node needs to be stored.
– Time complexity
• With many solutions, depth-first search is
often faster than breadth-first search, but
if the goal lies in the last branch???

10/10/09 Biomedical Department, NIT Raipur 15


One Systematic Control Strategy for Water Jug
Problem : Breadth First Search Technique
16

Construct a tree with initial state as root & then


generate all the offspring of the root by applying
each of the applicable rules to initial state.

(0,0)

(4,0) (0,3)

Biomedical Department, NIT Raipur 10/10/09


Similarly……………….
17

For each leaf node , generate all its successors by


applying all the rules that are appropriate.
(0,0)

(4,0) (0,3)

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

Continue this to reach goal state.

Biomedical Department, NIT Raipur 10/10/09


DEPTH FIRST SEARCH
18

(0,0)

(4,0)

(4,3)

Biomedical Department, NIT Raipur 10/10/09

Vous aimerez peut-être aussi