Presentation is loading. Please wait.

Presentation is loading. Please wait.

Search Strategies CMPT 420 / CMPG 720.

Similar presentations


Presentation on theme: "Search Strategies CMPT 420 / CMPG 720."— Presentation transcript:

1 Search Strategies CMPT 420 / CMPG 720

2

3 Uninformed Search Strategies
Uninformed search strategies use only the information available in the problem definition Depth-first search Iterative deepening search

4 Breadth-first search Expand shallowest unexpanded node

5 Breadth-first search Expand shallowest unexpanded node

6 Breadth-first search Expand shallowest unexpanded node

7 Breadth-first search Examine siblings before children

8 Breadth-first search Implementation:
Frontier is a FIFO queue, i.e., new successors go at end

9

10

11 Example: Romania

12 Graph Representation Adjacency list representation of G = (V, E)
An array of V lists, one for each vertex in V Each list Adj[u] contains all the vertices v such that there is an edge between u and v Adj[u] contains the vertices adjacent to u (in arbitrary order) Can be used for both directed and undirected graphs 1 2 5 / 1 2 5 4 3 2 1 5 3 4 / 3 2 4 4 2 5 3 / 5 Undirected graph 4 1 2

13 Graph Representation Adjacency matrix representation of G = (V, E)
Assume vertices are numbered 1, 2, … V  The representation consists of a matrix A V x V : aij = if (i, j)  E 0 otherwise 1 2 3 4 5 For undirected graphs matrix A is symmetric: aij = aji A = AT 1 1 1 2 5 4 3 2 1 3 1 4 1 Undirected graph 5 1

14 Breadth-first search Is BFS guaranteed to find a solution if one exists?

15 Breadth-first search Is BFS guaranteed to find a solution if one exists? Problem?

16 Breadth-first search Guaranteed to find a solution if one exists
Problem: it might take a very long time to find a solution! note how much of tree is expanded that doesn't contribute towards goal

17 Properties of breadth-first search
Complete? Yes Optimal? Time? Space?

18 Properties of breadth-first search
Complete? Yes Optimal? Yes (if cost = 1 per step) Time? Space?

19 Properties of breadth-first search
Complete? Yes Optimal? Yes (if cost = 1 per step) Time? 1+b+b2+b3+… +bd = O(bd) exponential in d Space?

20 Properties of breadth-first search
Complete? Yes Optimal? Yes (if cost = 1 per step) Time? 1+b+b2+b3+… +bd = O(bd) exponential in d Space? O(bd) (O(bd-1) nodes in the explored set and O(bd) nodes in the frontier)

21 Uniform-cost search Expand the node with the lowest path cost g(n)
Implementation:

22 Uniform-cost search Expand the node with the lowest path cost g(n)
Implementation: Frontier = priority queue ordered by path cost g(n)

23 Example: Romania

24 Properties of uniform-cost search
Equivalent to breadth-first if step costs all equal Complete? Yes Optimal? Yes – nodes expanded in increasing order of path cost Time? O(bd) Space?

25 Depth-first search Expand deepest unexpanded node

26 Depth-first search Expand deepest unexpanded node

27 Depth-first search Examine children before siblings

28 Depth-first search Examine children before siblings

29 Depth-first search Examine children before siblings

30 Depth-first search Examine children before siblings

31 Depth-first search Examine children before siblings

32 Depth-first search Examine children before siblings

33 Depth-first search Examine children before siblings

34 Depth-first search Examine children before siblings

35 Depth-first search Examine children before siblings

36 Depth-first search Implementation: Frontier = LIFO queue

37 Depth-first search Example

38 More efficient (in some cases) than breadth-first search
Problem: what if some branch is very long: can spend a lot of time searching useless cases

39 Properties of depth-first search
Complete? Yes (if every branch has finite number of states) Optimal? No

40 Properties of depth-first search
Complete? Yes (if every branch has finite number of states) Optimal? No Time? O(bm): terrible if m is much larger than d but if solutions are dense, may be much faster than breadth-first

41 Comparing Uninformed Search Strategies
Time and space complexity are measured in b – maximum branching factor of the search tree m – maximum depth of the state space d – depth of the least cost solution

42 Properties of depth-first search
Complete? Yes (if every branch has finite number of states) Optimal? No Time? O(bm): terrible if m is much larger than d but if solutions are dense, may be much faster than breadth-first Space? O(bm), i.e., linear space!

43 Depth-limited search Depth-first search with depth limit l,
i.e., nodes at depth l have no successors 20 cities in map of Romania l =19 Any city can be reached from any other city in at most 9 steps. Diameter gives a better depth limit.

44 Properties of Depth-limited search
Complete? Yes (if the goal is within the limit) Optimal? No Time? O(bl) Space?

45 Properties of Depth-limited search
Depth-first search can be viewed as a special case with l = infinity Main advantage that the search process can't descend forever (in a branch without solution). However, it will not find a solution if all solutions require a depth greater than the limit. (This is likely when l is unknown.)

46 How to overcome this and maintain the advantages of depth limited search?

47 Iterative deepening search
Gradually increases the limit – 0, 1, 2, … If don't find solution, increase depth and try again Combines the benefits of depth-first and breadth-first search.

48 Iterative deepening search l =0

49 Iterative deepening search l =1

50 Iterative deepening search l =2

51 Iterative deepening search l =3

52 Properties of iterative deepening search
Complete? Yes Optimal? Yes, if step cost = 1 Space? O(bd), linear space Time? d b1 + (d-1)b2 + … + (1)bd = O(bd)

53 Time consuming?? Can show this doesn't really increase the number of examined nodes by much over depth-first search: For large graphs, "most" of the nodes are at the outermost edge

54 If branching factor is b, then there are b2 nodes in the 2nd layer, b3 in the 3rd, bn in the nth
Thus number of nodes at depth d is 1 + b + b2 + b3   bd If d =4, b =10, get  + 103 + 104 = 11,111 nodes For iterative deepening, need to consider some nodes more than once: b(d) + b2(d - 1) + b3(d - 2)  bd d = 4, b = 10 gives 1*(4 + 1) + 10 *  *  *  = 12,345 visitations: a 10% increase in general, if branching factor is 10, visit nodes 11% more often by iterative deepening

55 Properties of iterative deepening search
Combines the benefits of depth-first search Memory space O(bd) linear! breadth-first search Always complete and optimal

56 Bi-Directional Search
Start the process simultaneously from the initial start and backwards from the goal state whether the frontiers of the two intersect To reduce the complexity bd/2 + bd/2 < bd


Download ppt "Search Strategies CMPT 420 / CMPG 720."

Similar presentations


Ads by Google