Presentation is loading. Please wait.

Presentation is loading. Please wait.

Solving problems by searching

Similar presentations


Presentation on theme: "Solving problems by searching"— Presentation transcript:

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


Download ppt "Solving problems by searching"

Similar presentations


Ads by Google