Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS 480 Lec 3 Sept 11, 09 Goals: Chapter 3 (uninformed search) project # 1 and # 2 Chapter 4 (heuristic search)

Similar presentations


Presentation on theme: "CS 480 Lec 3 Sept 11, 09 Goals: Chapter 3 (uninformed search) project # 1 and # 2 Chapter 4 (heuristic search)"— Presentation transcript:

1 CS 480 Lec 3 Sept 11, 09 Goals: Chapter 3 (uninformed search) project # 1 and # 2 Chapter 4 (heuristic search)

2 Search strategies Uninformed Blind search Breadth-first depth-first Iterative deepening Bidirectional Branch and Bound Memoized search Informed Heuristic search Greedy search, hill climbing, Heuristics Important concepts: Completeness Time complexity Space complexity Quality of solution

3 Search strategies A search strategy is defined by picking the order of node expansion Strategies are evaluated along the following dimensions: completeness: does it always find a solution if one exists? time complexity: number of nodes generated space complexity: maximum number of nodes in memory optimality: does it always find a least-cost solution? Time and space complexity are measured in terms of b: maximum branching factor of the search tree d: depth of the least-cost solution m: maximum depth of the state space (may be ∞)

4 Uninformed search strategies Uninformed search strategies use only the information available in the problem definition Breadth-first search Depth-first search Depth-limited search Iterative deepening search Memoized search Branch and bound search

5 Some useful definitions

6 Fig 3.5(a) The finite state graph for a flip flop and (b) its transition matrix. Luger: Artificial Intelligence, 6th edition. © Pearson Education Limited, 2009 6

7 Fig 3.6(a) The finite state graph and (b) the transition matrix for string recognition example 7

8 Search formalism

9 Breadth-first search Expand shallowest unexpanded node Implementation: fringe is a FIFO queue, i.e., new successors go at end

10 Breadth-first search Expand shallowest unexpanded node Implementation: fringe is a FIFO queue, i.e., new successors go at end

11 Breadth-first search Expand shallowest unexpanded node Implementation: fringe is a FIFO queue, i.e., new successors go at end

12 Breadth-first search Expand shallowest unexpanded node Implementation: fringe is a FIFO queue, i.e., new successors go at end

13 Properties of breadth-first search Complete? Yes (if b is finite) b = branching factor Time? 1+b+b 2 +b 3 +… +b d + b(b d -1) = O(b d+1 ) Space? O(b d+1 ) (keeps every node in memory) Optimal? Yes (if cost = 1 per step) i.e, it always finds the solution at the lowest level of the search tree since the search proceeds level by level. Space is the bigger problem (than time)

14 BFS tree for sliding puzzle problem

15 BFS algorithm

16 Depth-first search Expand deepest unexpanded node Implementation: fringe = LIFO queue, i.e., put successors at front

17 Depth-first search Expand deepest unexpanded node Implementation: fringe = LIFO queue, i.e., put successors at front

18 Depth-first search Expand deepest unexpanded node Implementation: fringe = LIFO queue, i.e., put successors at front

19 Depth-first search Expand deepest unexpanded node Implementation: fringe = LIFO queue, i.e., put successors at front

20 Depth-first search Expand deepest unexpanded node Implementation: fringe = LIFO queue, i.e., put successors at front

21 Depth-first search Expand deepest unexpanded node Implementation: fringe = LIFO queue, i.e., put successors at front

22 Depth-first search Expand deepest unexpanded node Implementation: fringe = LIFO queue, i.e., put successors at front

23 Depth-first search Expand deepest unexpanded node Implementation: fringe = LIFO queue, i.e., put successors at front

24 Depth-first search Expand deepest unexpanded node Implementation: fringe = LIFO queue, i.e., put successors at front

25 Depth-first search Expand deepest unexpanded node Implementation: fringe = LIFO queue, i.e., put successors at front

26 Depth-first search Expand deepest unexpanded node Implementation: fringe = LIFO queue, i.e., put successors at front

27 Depth-first search Expand deepest unexpanded node Implementation: fringe = LIFO queue, i.e., put successors at front

28

29 Depth-first search

30 Properties of depth-first search Complete? No: fails in infinite-depth spaces, spaces with loops Modify to avoid repeated states along path  complete in finite spaces Time? O(b m ): 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! Optimal? No Why not?

31 Depth-limited search = depth-first search with depth limit l, i.e., nodes at depth l have no successors Recursive implementation:

32 Iterative deepening search Iterative deepening search is not an appropriate strategy for Latin square problem. DFS will do just as well without the overhead What about sliding piece puzzle?

33 Iterative deepening search l =0

34 Iterative deepening search l =1

35 Iterative deepening search l =2

36 Iterative deepening search l =3

37 Iterative deepening search Number of nodes generated in a depth-limited search to depth d with branching factor b: N DLS = b 0 + b 1 + b 2 + … + b d-2 + b d-1 + b d Number of nodes generated in an iterative deepening search to depth d with branching factor b: N IDS = (d+1)b 0 + d b 1 + (d-1)b 2 + … + 3b d-2 +2b d-1 + 1b d For b = 10, d = 5, N DLS = 1 + 10 + 100 + 1,000 + 10,000 + 100,000 = 111,111 N IDS = 6 + 50 + 400 + 3,000 + 20,000 + 100,000 = 123,456 Overhead = (123,456 - 111,111)/111,111 = 11%

38 Properties of iterative deepening search Complete? Yes Time? (d+1)b 0 + d b 1 + (d-1)b 2 + … + b d = O(b d ) Space? O(bd) Optimal? Yes, if step cost = 1

39 Bidirectional search

40 Properties of bidirectional search Complete? Yes Time? O(b d/2 ) Space? O(b d/2 ) Optimal? Yes.

41 Summary of algorithms

42 Graph search

43 Summary Problem formulation usually requires abstracting away real-world details to define a state space that can feasibly be explored. Variety of uninformed search strategies. Iterative deepening search uses only linear space and not much more time than other uninformed algorithms.

44 Missing link puzzle


Download ppt "CS 480 Lec 3 Sept 11, 09 Goals: Chapter 3 (uninformed search) project # 1 and # 2 Chapter 4 (heuristic search)"

Similar presentations


Ads by Google