Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Example: Romania Artificial Intelligence On holiday in Romania; currently in Arad. Flight leaves tomorrow from Bucharest. Find a short route to drive to Bucharest. Problem Solving and Search Problem: Formulate problem: states: various cities actions: drive between cities solution: sequence of cities, e.g., Arad, Sibiu, Fagaras, Bucharest Readings: Chapter 3 of Russell & Norvig. Artificial Intelligence – p.1/89 Artificial Intelligence – p.2/89 Problem types Example: Romania Deterministic, fully observable =⇒ single-state problem Agent knows exactly which state it will be in; solution is a sequence Oradea 71 75 Non-observable =⇒ conformant problem Agent may have no idea where it is; solution (if any) is a sequence Neamt Zerind 87 151 Iasi Arad 140 Sibiu Fagaras 111 Vaslui 80 Rimnicu Vilcea Timisoara Nondeterministic and/or partially observable =⇒ contingency problem 92 99 118 Lugoj Pitesti 97 142 211 70 percepts provide new information about current state solution is a tree or policy often interleave search, execution 98 Mehadia 75 Dobreta 146 85 101 86 138 Bucharest 120 Craiova Hirsova Urziceni 90 Giurgiu Eforie Unknown state space =⇒ exploration problem (“online”) Artificial Intelligence – p.4/89 Artificial Intelligence – p.3/89 Example: Vacuum World 1 2 3 4 5 6 7 8 Problem Solving We will start by considering the simpler cases in which the following holds. The agent’s world (environment) is representable by a discrete set of states. The agent’s actions are representable by a discrete set of operators. Single-state, start in #5. Solution?? The world is static and deterministic. Artificial Intelligence – p.5/89 Artificial Intelligence – p.6/89 . Example: Vacuum World Example: Vacuum World 1 2 1 2 3 4 3 4 5 6 5 6 7 8 7 8 Single-state, start in #5. Solution?? [Right, Suck] Single-state, start in #5. Solution?? [Right, Suck] Conformant, start in {1, 2, 3, 4, 5, 6, 7, 8} e.g., Right goes to {2, 4, 6, 8}. Solution?? [Right, Suck, Lef t, Suck] Conformant, start in {1, 2, 3, 4, 5, 6, 7, 8} e.g., Right goes to {2, 4, 6, 8}. Solution?? Artificial Intelligence – p.8/89 Contingency, start in #5 Murphy’s Law: can Artificial Intelligence – p.7/89 Single-state problem formulation Example: Vacuum World A problem is defined by four items: initial state e.g., “at Arad” successor function S(x) = set of action–state pairs e.g., S(Arad) = {hArad → Zerind, Zerindi, . . .} goal test, can be explicit, e.g., x = “at Bucharest” implicit, e.g., N oDirt(x) path cost (additive) e.g., sum of distances, number of actions executed, etc. Usually given as c(x, a, y), the step cost from x to y by action a, assumed to be ≥ 0. A solution is a sequence of actions leading from the initial state to a goal state 1 2 3 4 5 6 7 8 Single-state, start in #5. Solution?? [Right, Suck] Conformant, start in {1, 2, 3, 4, 5, 6, 7, 8} e.g., Right goes to {2, 4, 6, 8}. Solution?? [Right, Suck, Lef t, Suck] Artificial Intelligence – p.10/89 Artificial Intelligence – p.9/89 Contingency, start in #5 Murphy’s Law: can State space graph of vacuum world Real world is absurdly complex ⇒ state space must be abstracted for problem solving R L R L S Selecting a State Space S R (Abstract) state = set of real states R L R L R L (Abstract) action = complex combination of real actions e.g., “Arad → Zerind” represents a complex set of possible routes, detours, rest stops, etc. L S S S S R L R L S For guaranteed realizability, any real state “in Arad” must get to some real state “in Zerind”. Each abstract action should be “easier” than the original problem! S states?? actions?? goal test?? path cost?? (Abstract) solution = set of real paths that are solutions in the real world Artificial Intelligence – p.12/89 Artificial Intelligence – p.11/89 Formulating Problem as a Graph State space graph of vacuum world In the graph R L R L each node represents a possible state; S S R R L R a node is designated as the initial state; L R L L S S S S R one or more nodes represent goal states, states in which the agent’s goal is considered accomplished. each edge represents a state transition caused by a specific agent action; associated to each edge is the cost of performing that transition. L R L S S states??: integer dirt and robot locations (ignore dirt amounts) actions??: Lef t, Right, Suck , N oOp goal test??: no dirt path cost??: 1 per action (0 for N oOp) Artificial Intelligence – p.13/89 Artificial Intelligence – p.14/89 Problem Solving as Search Search Graph How do we reach a goal state? Search space: set of states reachable from an initial state S0 via a (possibly empty/finite/infinite) sequence of state transitions. initial state 3 A 4 4 C B 7 S 5 To achieve the problem’s goal 2 F 5 goal states 4 the space for a (possibly optimal) sequence of transitions starting from S0 and leading to a goal state; There may be several possible ways. Or none! (in order) the actions associated to each transition in the identified sequence. Factors to consider: search D 2 E 3 G execute Depending on the features of the agent’s world the two steps cost of finding a path; above can be interleaved. cost of traversing a path. Artificial Intelligence – p.16/89 Artificial Intelligence – p.15/89 Example: The 8-puzzle Problem Solving as Search Reduce the original problem to a search problem. A solution for the search problem is a path initial state–goal state. 2 8 3 1 6 4 7 5 The solution for the original problem is either the sequence of actions associated with the path or the description of the goal state. It can be generalized to 15-puzzle, 24-puzzle, or (n2 − 1)-puzzle for n ≥ 6. Artificial Intelligence – p.17/89 Artificial Intelligence – p.18/89 Example: The 8-puzzle Example: The 8-puzzle Go from state S to state G. configurations of tiles Operators: move one tile Up/Down/Left/Right States: 2 8 3 1 6 4 7 5 1 2 3 4 8 7 6 5 (S) (G) There are 9! = 362, 880 possible states (all permutations of {⊓ ⊔, 1, 2, 3, 4, 5, 6, 7, 8}). 2 8 3 1 6 4 7 5 There are 16! possible states for 15-puzzle. Not all states are directly reachable from a given state. (In fact, exactly half of them are reachable from a given state.) D space for this problem? Artificial Intelligence – p.20/89 U R L 2 8 3 1 6 4 7 5 D How can an artificial agent represent the states and the state L R R U 2 8 3 6 4 1 7 5 2 8 3 1 4 7 6 5 L 2 8 3 1 4 7 6 5 D U 3 2 1 8 4 7 6 5 L 2 8 3 1 6 4 7 5 D R 2 8 3 1 4 7 6 5 U 2 8 3 1 6 7 5 4 Artificial Intelligence – p.19/89 Formulating the 8-puzzle Problem each represented by a 3 × 3 array of numbers in [0 . . . 8], where value 0 is for the empty cell. States: 2 8 3 1 6 4 7 5 Problem Formulation 1. Choose an appropriate data structure to represent the world states. 2. Define each operator as a precondition/effects pair where the precondition holds exactly in the states the operator applies to, effects describe how a state changes into a successor state by the application of the operator. 2 8 3 becomes A = 1 6 4 7 0 5 3. Specify an initial state. 4. Provide a description of the goal (used to check if a reached state is a goal state). Artificial Intelligence – p.21/89 Artificial Intelligence – p.22/89 Formulating the 8-puzzle Problem Preconditions and Effects Example: Op (3,2,R) 24 operators of the form Op (r,c,d) where r, c ∈ {1, 2, 3}, d ∈ {L, R, U, D}. Operators: 2 8 3 1 6 4 7 0 5 Preconditions: Effects: Op (3,2,R) =⇒ 2 8 3 1 6 4 7 5 0 Op (r,c,d) moves the empty space at position (r, c) in the direction d. A[3, ( 2] = 0 A[3, 2] ← A[3, 3] A[3, 3] ← 0 2 8 3 1 6 4 7 0 5 Op (3,2,L) =⇒ 2 8 3 1 6 4 0 7 5 We have 24 operators in this problem formulation . . . 20 too many! Artificial Intelligence – p.24/89 Artificial Intelligence – p.23/89 A Better Formulation A Better Formulation 4 operators of the form Op d where d ∈ {L, R, U, D}. States: Operators: each represented by a pair (A, (i, j)) where: A is a 3 × 3 array of numbers in [0 . . . 8] (i, j) is the position of the empty space (0) in the array. Op d moves the empty space in the direction d. 2 8 3 1 6 4 7 0 5 Op L =⇒ 2 8 3 1 6 4 7 5 2 8 3 1 6 4 0 7 5 2 8 3 becomes ( 1 6 4 , (3, 2)) 7 0 5 Artificial Intelligence – p.25/89 Artificial Intelligence – p.26/89 Half states are not reachable? Example: Op L Can this be done? 1 2 3 4 5 6 7 8 Preconditions and Effects any steps =⇒ 1 2 3 4 5 6 8 7 2 8 3 2 8 3 Op L ( 1 6 4 , (3, 2)) =⇒ ( 1 6 4 (3, 1)) 7 0 5 0 7 5 Let (r0 , c0 ) be the position of 0 in A. $1,000 award for anyone who can do it! Preconditions: Effects: Artificial Intelligence – p.28/89 c0 > 1 ← A[r0 , c0 − 1] A[r0 , c0 ] A[r0 , c0 − 1] ← 0 (r , c ) ← (r0 , c0 − 1) 0 0 Artificial Intelligence – p.27/89 The Water Jugs Problem 3gl Half states are not reachable? 4gl a1 a2 a3 a4 a5 a6 a7 a8 a9 Let the 8-puzzle be represented by (a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 ). We say (ai , aj ) is an inversion if neither ai nor aj is blank, i < j and ai > aj . Get exactly 2 gallons of water into the 4gl jug. 1 2 3 1 2 3 4 5 6 4 5 6 7 8 8 7 The first one has 0 inversions and the second has 1. Artificial Intelligence – p.30/89 The Water Jugs Problem: Operators F4: fill jug4 from the pump. precond: E4: J4 < 4 E4-3: J4 > 0 J3 < 3, effect: effect: J4′ = J4 − (3 − J3 ) J4 < 4, effect: J3 ≥ 4 − J4 E3-4: J3′ = 3, J4′ = 4, J3′ = J3 − (4 − J4 ) J3 = 0, J3 + J4 < 4, J3 > 0 effect: 0 ≤ J4 ≤ 4 J4 = 0 Goal State Description: pour water from jug3 into jug4 until jug3 is empty. precond: 0 ≤ J3 ≤ 3, Initial State Description pour water from jug3 into jug4 until jug4 is full. precond: ... State Representation: Two real-valued variables, J3 , J4 , indicating the amount of water in the two jugs, with the constraints: J4′ = 0 J4 ≥ 3 − J3 P3-4: The Water Jugs Problem =4 pour water from jug4 into jug3 until jug3 is full. precond: # of inversions modulo two remains the same after each move. Artificial Intelligence – p.29/89 States: Determined by the amount of water in each jug. effect: J4′ empty jug4 on the ground. precond: Claim: J4′ = J3 + J4 , J4 = 2 ⇐ non exhaustive description J3′ = 0 Artificial Intelligence – p.32/89 Artificial Intelligence – p.31/89 The Water Jugs Problem Real-World Search Problems Route Finding (computer networks, airline travel planning system, . . . ) Travelling Salesman Optimization Problem (package delivery, automatic drills, . . . ) Problem J_3 = 0 J_4 = 0 Search Graph F4 J_4 = 2 F3 Layout Problems (VLSI layout, furniture layout, packaging, . . . ) J_3 = 0 J_4 = 4 J_3 = 0 J_4 = 0 F3 J_3 = 3 J_4 = 0 P4-3 J_3 = 3 J_4 = 4 J_3 = 3 J_4 = 1 ... ... F4 J_3 = 0 J_4 = 4 ... P3-4 Assembly Sequencing (assembly of electric motors, . . . ) E4 E3-4 Task Scheduling (manufacturing, timetables, . . . ) J_3 = 2 J_4 = 4 C B Artificial Intelligence – p.33/89 Problems whose solution is a description of how to reach a goal state from the initial state: n-puzzle route-finding problem assembly sequencing F E ... Problem Solution A graph is a set of notes and edges (arcs) between them. D J_3 = 3 J_4 = 3 J_3 = 0 J_4 = 2 More on Graphs S F3 J_3 = 2 J_4 = 0 Artificial Intelligence – p.34/89 A E3-4 J_3 = 0 J_4 = 3 G A graph is directed if an edge can be traversed only in a specified direction. When an edge is directed from ni to nj it is univocally identified by the pair (ni , nj ) Problems whose solution is simply a description of the goal state itself: 8-queen problem scheduling problems layout problems ni is a parent (or predecessor ) of nj nj is a child (or successor ) of ni Artificial Intelligence – p.36/89 Artificial Intelligence – p.35/89 From Search Graphs to Search Trees Directed Graphs C The set of all possible paths of a graph can be represented as a tree. A B S F A tree is a directed acyclic graph all of whose nodes have at most one parent. A root of a tree is a node with no parents. A leaf is a node with no children. The branching factor of a node is the number of its children. Artificial Intelligence – p.38/89 G A path, of length k ≥ 0, is a sequence h(n1 , n2 ), (n2 , n3 ), . . . , (nk , nk+1 )i of k successive edges. Ex: hi, h(S, D)i, h(S, D), (D, E), (E, B)i a For 1 ≤ i < j ≤ k + 1, Ni is a ancestor of Nj ; Nj is a descendant of Ni . Graphs can be turned into trees by duplicating nodes and breaking cyclic paths, if any. E D A graph is cyclic if it has a path starting from and ending into the same node. Ex: h(A, D), (D, E), (E, A)i Artificial Intelligence – p.37/89 a Note that a path of length k Tree Search Algorithms > 0 contains k + 1 nodes. From Graphs to Trees Basic idea: offline, simulated exploration of state space by generating successors of already-explored states (a.k.a. expanding states) function T REE -S EARCH( problem, strategy) returns a solution, or failure initialize the search tree using the initial state of problem To unravel a graph into a tree choose a root node and trace every path from that node until you reach a leaf node or a node already in that path. S loop do C A there are no candidates for expansion then return failure choose a leaf node for expansion according to strategy if the node contains a goal state then return the solution else expand the node and add the resulting nodes to the search tree A D depth 1 B if S E F D depth 0 E G A G D B D ... F E A depth 2 C G depth 3 depth 4 end must remember which nodes have been visited a node may get duplicated several times in the tree the tree has infinite paths only if the graph has infinite non-cyclic paths. Artificial Intelligence – p.40/89 Artificial Intelligence – p.39/89 Tree search example Tree Search Example Arad Arad Sibiu Arad Fagaras Timisoara Oradea Rimnicu Vilcea Arad Sibiu Zerind Lugoj Arad Oradea Arad Fagaras Timisoara Oradea Rimnicu Vilcea Arad Zerind Lugoj Arad Artificial Intelligence – p.42/89 Artificial Intelligence – p.41/89 Implementation: states vs. nodes Tree Search Example A state is a (representation of) a physical configuration A node is a data structure constituting part of a search tree includes parent, children, depth, path cost g(x) States do not have parents, children, depth, or path cost! Arad Sibiu parent, action State Node 5 4 6 1 88 7 3 22 Arad depth = 6 Oradea Fagaras Timisoara Oradea Rimnicu Vilcea Arad Zerind Lugoj Arad Oradea g=6 state The E XPAND function creates new nodes, filling in the various fields and using the S UCCESSOR F N of the problem to create the corresponding states. Artificial Intelligence – p.44/89 Artificial Intelligence – p.43/89 Uninformed Search Strategies Uninformed 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 Search Strategies A 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/expanded 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 ∞) Artificial Intelligence – p.46/89 Artificial Intelligence – p.45/89 Breadth-First Search Breadth-First Search Expand shallowest unexpanded node Implementation: fringe is a FIFO queue, i.e., new successors go at end Expand shallowest unexpanded node Implementation: fringe is a FIFO queue, i.e., new successors go at end A A B D C E F B G D Artificial Intelligence – p.48/89 C E F G Artificial Intelligence – p.47/89 Breadth-First Search Breadth-First Search Expand shallowest unexpanded node Implementation: fringe is a FIFO queue, i.e., new successors go at end Expand shallowest unexpanded node Implementation: fringe is a FIFO queue, i.e., new successors go at end A A B D C E F B G D Artificial Intelligence – p.50/89 Properties of Breadth-First Search C E F G Artificial Intelligence – p.49/89 Properties of Breadth-First Search Complete?? Complete?? Yes (if b is finite) Time?? Artificial Intelligence – p.52/89 Artificial Intelligence – p.51/89 Properties of Breadth-First Search Properties of Breadth-First Search Complete?? Yes (if b is finite) Time?? 1 + b + b2 + b3 + . . . + bd + b(bd − 1) = O(bd+1 ), i.e., exp. in d Space?? O(bd+1 ) (keeps every node in memory) Optimal?? Complete?? Yes (if b is finite) Time?? 1 + b + b2 + b3 + . . . + bd + b(bd − 1) = O(bd+1 ), i.e., exp. in d Space?? Artificial Intelligence – p.54/89 Artificial Intelligence – p.53/89 Properties of Breadth-First Search Properties of Breadth-First Search Complete?? Yes (if b is finite) Time?? 1 + b + b2 + b3 + . . . + bd + b(bd − 1) = O(bd+1 ), i.e., exp. in d Space?? O(bd+1 ) (keeps every node in memory) Optimal?? Yes (if cost = 1 per step); not optimal in general Space?? It is the big problem; can easily generate nodes at 10MB/sec so 24hrs = 860GB. Complete?? Yes (if b is finite) Time?? 1 + b + b2 + b3 + . . . + bd + b(bd − 1) = O(bd+1 ), i.e., exp. in d Space?? O(bd+1 ) (keeps every node in memory) Optimal?? Yes (if cost = 1 per step); not optimal in general Space?? Artificial Intelligence – p.56/89 Artificial Intelligence – p.55/89 Depth-First Search Uniform-Cost Search Expand deepest unexpanded node Implementation: fringe = LIFO queue, i.e., put successors at front A 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(b⌈C /ǫ⌉ ) where C ∗ is the cost of the optimal solution Space?? # of nodes with g ≤ cost of optimal solution, ∗ O(b⌈C /ǫ⌉ ) Optimal?? Yes—nodes expanded in increasing order of g(n) B C D H E J I F K L G N M O Artificial Intelligence – p.57/89 Artificial Intelligence – p.58/89 Depth-First Search Depth-First Search Expand deepest unexpanded node Implementation: fringe = LIFO queue, i.e., put successors at front A Expand deepest unexpanded node Implementation: fringe = LIFO queue, i.e., put successors at front A B D H E I B C J F K L D G M N C H O Artificial Intelligence – p.60/89 E I J F K L G M N O Artificial Intelligence – p.59/89 Depth-First Search Depth-First Search Expand deepest unexpanded node Implementation: fringe = LIFO queue, i.e., put successors at front A Expand deepest unexpanded node Implementation: fringe = LIFO queue, i.e., put successors at front A B D H E I B C J F K D G M L N C E H O I J F K L G M N O Artificial Intelligence – p.62/89 Artificial Intelligence – p.61/89 Depth-First Search Depth-First Search Expand deepest unexpanded node Implementation: fringe = LIFO queue, i.e., put successors at front A Expand deepest unexpanded node Implementation: fringe = LIFO queue, i.e., put successors at front A B B D C H D H E I J F K L C E I J F K L G M N O G M N O Artificial Intelligence – p.64/89 Artificial Intelligence – p.63/89 Depth-First Search Depth-First Search Expand deepest unexpanded node Implementation: fringe = LIFO queue, i.e., put successors at front A Expand deepest unexpanded node Implementation: fringe = LIFO queue, i.e., put successors at front A B D H E I B C J F K L D G M N C H O E I J F K L G N M O Artificial Intelligence – p.66/89 Artificial Intelligence – p.65/89 Depth-First Search Depth-First Search Expand deepest unexpanded node Implementation: fringe = LIFO queue, i.e., put successors at front A Expand deepest unexpanded node Implementation: fringe = LIFO queue, i.e., put successors at front A B C D H E I J B F K L G M N C D H O Artificial Intelligence – p.68/89 E I J F K L G M N O Artificial Intelligence – p.67/89 Properties of depth-first search Depth-First Search Complete?? Expand deepest unexpanded node Implementation: fringe = LIFO queue, i.e., put successors at front A B C D H Artificial Intelligence – p.70/89 E I J F K L G M N O Artificial Intelligence – p.69/89 Properties of depth-first search 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?? Complete?? No: fails in infinite-depth spaces, spaces with loops Modify to avoid repeated states along path ⇒ complete in finite spaces Time?? Artificial Intelligence – p.72/89 Artificial Intelligence – p.71/89 Properties of depth-first search 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 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?? Artificial Intelligence – p.74/89 Iterative Deepening Search Artificial Intelligence – p.73/89 Depth-Limited Search = depth-first search with depth limit l, i.e., nodes at depth l have no successors function Iterative-Deepening-Search (problem) return soln for depth from 0 to MAX-INT do result := Depth-Limited-Search(problem, depth) if (result != cutoff) then return result end for end function function Depth-Limited-Search (problem, limit) return soln/fail/cutoff return Recursive-DLS(Make-Node(Initial-State(problem)), problem, limit) end function function Recursive-DLS (node, problem, limit) return soln/fail/cutoff cutoff-occurred := false; if (Goal-State(problem, State(node))) then return node; else if (Depth(node) == limit) then return cutoff; else for each successor in Expand(node, problem) do result := Recursive-DLS(successor, problem, limit) if (result == cutoff) then cutoff-occurred := true; else if (result != fail) then return result; end for if (cutoff-occurred) then return cutoff; else return fail; end function Artificial Intelligence – p.76/89 Artificial Intelligence – p.75/89 Iterative deepening search l = 1 Iterative deepening search l = 0 Limit = 0 Limit = 1 A A B C A B C A A A B C B C Artificial Intelligence – p.78/89 Artificial Intelligence – p.77/89 Iterative deepening search l = 3 Limit = 3 A A B C D H E I J F K L G M A B N C D O H E I J F K L G M N C D O H E I J B F K Limit = 2 A B L G M N C D O H E I Iterative deepening search l = 2 J F K L G M A A B N D C E F G D C E A A C B C B C B H E I J F K L G M N D O H E I J F K A H C E I J N O H E I J F K L G M N C D O H E I J M L G N D O H E I M N C D O H E I J J F F G D C E F G A C A B C A B C B K L E F G D E F G D E F G D C E F G G M B F K E N O A B F K L G A B F K M D A B D L G D B C D D G C A B B F A B O A A A B L G M N C D O H E I J F K L G M N O Artificial Intelligence – p.80/89 Artificial Intelligence – p.79/89 Properties of iterative deepening search Complete?? Yes Time?? Properties of iterative deepening search Complete?? Artificial Intelligence – p.82/89 Properties of iterative deepening search Complete?? Yes Time?? (d + 1)b0 + db1 + (d − 1)b2 + . . . + bd = O(bd ) Space?? O(bd) Optimal?? Artificial Intelligence – p.81/89 Properties of iterative deepening search Complete?? Yes Time?? (d + 1)b0 + db1 + (d − 1)b2 + . . . + bd = O(bd ) Space?? Artificial Intelligence – p.84/89 Artificial Intelligence – p.83/89 Summary of Algorithms Criterion Complete? Properties of iterative deepening search Breadth- Uniform- Depth- Depth- Iterative First Cost First Limited Deepening Yes∗ Yes∗ No Yes, if l ≥ d Yes m b l bd bm bl bd No No Yes d+1 Time b Space bd+1 Optimal? Yes∗ b ⌈C ∗ /ǫ⌉ b⌈C ∗ /ǫ⌉ Yes∗ b Complete?? Yes Time?? (d + 1)b0 + db1 + (d − 1)b2 + . . . + bd = O(bd ) Space?? O(bd) Optimal?? Yes, if step cost = 1 Can be modified to explore uniform-cost tree Numerical comparison for b = 10 and d = 5, solution at far right: N (IDS) = 50 + 400 + 3, 000 + 20, 000 + 100, 000 = 123, 450 N (BFS) = 10 + 100 + 1, 000 + 10, 000 + 100, 000 + 999, 990 = 1, 111, 100 Artificial Intelligence – p.85/89 Artificial Intelligence – p.86/89 Summary Repeated states Problem formulation usually requires abstracting away real-world details to define a state space that can feasibly be explored Failure to detect repeated states can turn a linear problem into an exponential one! Variety of uninformed search strategies Iterative deepening search uses only linear space and not much more time than other uninformed algorithms A A B C B C B C C C D Artificial Intelligence – p.88/89 Artificial Intelligence – p.87/89 Example: Romania For a given strategy, what is the order of nodes to be generated (or stored), and expanded? With or without checking duplicated nodes? Oradea 71 Breadth-first Depth-first Uniform-cost Depth-limited 75 Neamt Zerind Iasi Arad 140 Sibiu 92 99 Fagaras 118 Vaslui 80 Rimnicu Vilcea Timisoara 111 Iterative-deepening 87 151 Lugoj Pitesti 97 142 211 70 98 Mehadia 75 Dobreta 146 85 101 Bucharest 120 Craiova Hirsova Urziceni 86 138 90 Giurgiu Eforie Artificial Intelligence – p.89/89