Download presentation

Presentation is loading. Please wait.

1
**Solving problems by searching**

Course Teacher: Moona Kanwal 3/25/2017

2
**Outline Well-defined Problems Solutions (as a sequence of actions).**

Examples Search Trees Uninformed Search Algorithms 3/25/2017

3
**Problem-Solving Goal formulation (final state): limits objectives**

Problem formulation (set of states): actions+states Search (solution): sequence of actions Execution (follows states in solution) 3/25/2017

4
Problem types Deterministic, fully observable single-state problem: initial state known, results of action known Non-observable sensor less problem (conformant problem): initial state not known, results of action known Nondeterministic and/or partially observable contingency problem: unknown states on some results of action Unknown state space exploration problem: unknown states, unknown actions 3/25/2017

5
**Well Defined Problems A problem is defined by four items:**

initial state actions or successor function S(x) = set of action–state pairs goal test or predicate γ : S → {0, 1} is 1 iff goal state Explicit: concrete goal implicit : abstract description of goal path cost (additive):g, assigns a numeric cost to a given path. 3/25/2017

6
**Well Defined Problems State-Space**

An Initial State, s0 ∈ S. A Set of Operators (or Actions), {Ai|i = 1, 2, . . } Formally, the state space is the set of states that can be reached by any sequence of actions applied to the initial state, e.g., S = {s0, ,Ai1s0, ,Ai1Ai2s0, ,Ai1Ai2 ・・・Aiks0, } A path is a particular sequence of actions applied to the initial state. 3/25/2017

7
**A solution is a path that satisfies the goal test. **

Solutions A solution is a sequence of actions leading from the initial state to a goal state A solution is a path that satisfies the goal test. An optimal solution is a solution with minimal cost. 3/25/2017

8
3/25/2017

9
**Example: Romania On holiday in Romania; currently in Arad.**

Flight leaves tomorrow from Bucharest Formulate goal: be in Bucharest Formulate problem: states: various cities actions: drive between cities Find solution: sequence of cities, e.g., Arad, Sibiu, Fagaras, Bucharest 3/25/2017

10
Example: Romania 3/25/2017

11
3/25/2017

12
Example: The 8-puzzle states? actions? goal test? path cost? 3/25/2017

13
**Example: The 8-puzzle states? locations of tiles**

actions? move blank left, right, up, down goal test? = goal state (given) path cost?1 per move 3/25/2017

14
3/25/2017

15
Example: vacuum world Single-state, start in #5. Solution? 3/25/2017

16
**Example: vacuum world Single-state,**

start in #5. Solution? [Right, Suck] Sensorless, start in {1,2,3,4,5,6,7,8} e.g., Right goes to {2,4,6,8} Solution? 3/25/2017

17
Example: vacuum world Sensorless, start in {1,2,3,4,5,6,7,8} e.g., Right goes to {2,4,6,8} Solution? [Right,Suck,Left,Suck] Contingency Nondeterministic: Suck may dirty a clean carpet Partially observable: location, dirt at current location. Percept: [L, Clean], i.e., start in #5 or #7 Solution? 3/25/2017

18
Example: vacuum world Sensorless, start in {1,2,3,4,5,6,7,8} e.g., Right goes to {2,4,6,8} Solution? [Right,Suck,Left,Suck] Contingency Nondeterministic: Suck may dirty a clean carpet Partially observable: location, dirt at current location. Percept: [L, Clean], i.e., start in #5 or #7 Solution? [Right, if dirt then Suck] 3/25/2017

19
**Vacuum world state space graph**

actions? goal test? path cost? 3/25/2017

20
**Vacuum world state space graph**

states? integer dirt and robot location actions? Left, Right, Suck goal test? no dirt at all locations path cost? 1 per action 3/25/2017

21
**Example: robotic assembly**

states?: real-valued coordinates of robot joint angles parts of the object to be assembled actions?: continuous motions of robot joints goal test?: complete assembly path cost?: time to execute 3/25/2017

22
3/25/2017

23
3/25/2017

24
3/25/2017

25
**Tree search algorithms**

Basic idea: offline, simulated exploration of state space by generating successors of already-explored states (a.k.a.expanding states) 3/25/2017

26
Tree search example 3/25/2017

27
Tree search example 3/25/2017

28
Tree search example 3/25/2017

29
**Implementation: general tree search**

3/25/2017

30
**Implementation: states vs. nodes**

A state is a (representation of) a physical configuration A node is a data structure constituting part of a search tree includes state, parent node, action, path cost g(x), depth The Expand function creates new nodes, filling in the various fields and using the Success or Fn of the problem to create the corresponding states. 3/25/2017

31
3/25/2017

32
**Search strategies 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 ∞) 3/25/2017

33
3/25/2017

34
**Uninformed search strategies**

Uninformed search strategies use only the information available in the problem definition Breadth-first search Uniform-cost search Depth-first search Depth-limited search Iterative deepening search 3/25/2017

35
**Breadth-first search Expand shallowest unexpanded node Implementation:**

fringe is a FIFO queue, i.e., new successors go at end 3/25/2017

36
**Breadth-first search Expand shallowest unexpanded node Implementation:**

fringe is a FIFO queue, i.e., new successors go at end 3/25/2017

37
**Expand shallowest unexpanded node Implementation:**

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

38
**Expand shallowest unexpanded node Implementation:**

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

39
3/25/2017

40
3/25/2017

41
3/25/2017

42
3/25/2017

43
3/25/2017

44
3/25/2017

45
3/25/2017

46
3/25/2017

47
3/25/2017

48
3/25/2017

49
3/25/2017

50
3/25/2017

51
3/25/2017

52
3/25/2017

53
**Properties of breadth-first search**

Complete? Yes (if b is finite) Time? 1+b+b2+b3+… +bd + b(bd-1) = O(bd+1) Space? O(bd+1) (keeps every node in memory) Optimal? Yes (if cost = 1 per step) Space is the bigger problem (more than time) 3/25/2017

54
**Uniform-cost search Expand least-cost unexpanded node Implementation:**

fringe = queue ordered by path cost Equivalent to breadth-first if step costs all equal Complete? Yes, if step cost ≥ ε Time? # of nodes with g ≤ cost of optimal solution, O(bceiling(C*/ ε)) where C* is the cost of the optimal solution Space? # of nodes with g ≤ cost of optimal solution, O(bceiling(C*/ ε)) Optimal? Yes – nodes expanded in increasing order of g(n) 3/25/2017

55
3/25/2017

56
3/25/2017

57
3/25/2017

58
3/25/2017

59
3/25/2017

60
3/25/2017

61
3/25/2017

62
3/25/2017

63
3/25/2017

64
3/25/2017

65
3/25/2017

66
3/25/2017

67
3/25/2017

68
3/25/2017

69
3/25/2017

70
3/25/2017

71
3/25/2017

72
3/25/2017

73
3/25/2017

74
3/25/2017

75
3/25/2017

76
3/25/2017

77
3/25/2017

78
3/25/2017

79
**Depth-first search Expand deepest unexpanded node Implementation:**

fringe = LIFO queue, i.e., put successors at front 3/25/2017

80
**Depth-first search Expand deepest unexpanded node Implementation:**

fringe = LIFO queue, i.e., put successors at front 3/25/2017

81
**Depth-first search Expand deepest unexpanded node Implementation:**

fringe = LIFO queue, i.e., put successors at front 3/25/2017

82
**Depth-first search Expand deepest unexpanded node Implementation:**

fringe = LIFO queue, i.e., put successors at front 3/25/2017

83
**Depth-first search Expand deepest unexpanded node Implementation:**

fringe = LIFO queue, i.e., put successors at front 3/25/2017

84
**Depth-first search Expand deepest unexpanded node Implementation:**

fringe = LIFO queue, i.e., put successors at front 3/25/2017

85
**Depth-first search Expand deepest unexpanded node Implementation:**

fringe = LIFO queue, i.e., put successors at front 3/25/2017

86
**Depth-first search Expand deepest unexpanded node Implementation:**

fringe = LIFO queue, i.e., put successors at front 3/25/2017

87
**Depth-first search Expand deepest unexpanded node Implementation:**

fringe = LIFO queue, i.e., put successors at front 3/25/2017

88
**Depth-first search Expand deepest unexpanded node Implementation:**

fringe = LIFO queue, i.e., put successors at front 3/25/2017

89
**Depth-first search Expand deepest unexpanded node Implementation:**

fringe = LIFO queue, i.e., put successors at front 3/25/2017

90
**Depth-first search Expand deepest unexpanded node Implementation:**

fringe = LIFO queue, i.e., put successors at front 3/25/2017

91
3/25/2017

92
3/25/2017

93
3/25/2017

94
3/25/2017

95
3/25/2017

96
3/25/2017

97
3/25/2017

98
3/25/2017

99
3/25/2017

100
3/25/2017

101
3/25/2017

102
3/25/2017

103
**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(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! Optimal? No 3/25/2017

104
**Depth-limited search = depth-first search with depth limit l,**

i.e., nodes at depth l have no successors Recursive implementation: 3/25/2017

105
**Iterative deepening search**

3/25/2017

106
**Iterative deepening search**

3/25/2017

107
**Iterative deepening search**

3/25/2017

108
**Iterative deepening search**

3/25/2017

109
**Iterative deepening search**

3/25/2017

110
**Iterative deepening search**

Number of nodes generated in a depth-limited search to depth d with branching factor b: NDLS = b0 + b1 + b2 + … + bd-2 + bd-1 + bd Number of nodes generated in an iterative deepening search to depth d with branching factor b: NIDS = (d+1)b0 + d b^1 + (d-1)b^2 + … + 3bd-2 +2bd-1 + 1bd For b = 10, d = 5, NDLS = , , ,000 = 111,111 NIDS = , , ,000 = 123,456 Overhead = (123, ,111)/111,111 = 11% 3/25/2017

111
**Properties of iterative deepening search**

Complete? Yes Time? (d+1)b0 + d b1 + (d-1)b2 + … + bd = O(bd) Space? O(bd) Optimal? Yes, if step cost = 1 3/25/2017

112
Summary of algorithms 3/25/2017

113
Repeated states Failure to detect repeated states can turn a linear problem into an exponential one! 3/25/2017

114
Graph search 3/25/2017

115
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 3/25/2017

Similar presentations

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google