0% found this document useful (0 votes)
119 views18 pages

Lecture 4

The document discusses search algorithms and breadth-first search. It defines search, search space, and search tree. It explains that breadth-first search expands the root node first and then all nodes at each depth level before moving to the next level. The document provides pseudocode for breadth-first search and walks through an example of applying it to a sample node set.

Uploaded by

om18sahu
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
119 views18 pages

Lecture 4

The document discusses search algorithms and breadth-first search. It defines search, search space, and search tree. It explains that breadth-first search expands the root node first and then all nodes at each depth level before moving to the next level. The document provides pseudocode for breadth-first search and walks through an example of applying it to a sample node set.

Uploaded by

om18sahu
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 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

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy