Download presentation

Presentation is loading. Please wait.

Published byEdmund Lester Modified about 1 year ago

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

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

Similar presentations

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google