Problem Solving & Heuristic Search

Similar documents
CPS 170: Artificial Intelligence Search

Artificial Intelligence

Artificial Intelligence

A.I.: Informed Search Algorithms. Chapter III: Part Deux

3 SOLVING PROBLEMS BY SEARCHING

Lecture 4: Search 3. Victor R. Lesser. CMPSCI 683 Fall 2010

Lecture 2: Fun with Search. Rachel Greenstadt CS 510, October 5, 2017

HW#1 due today. HW#2 due Monday, 9/09/13, in class Continue reading Chapter 3

Informed/Heuristic Search

CSE 473. Chapter 4 Informed Search. CSE AI Faculty. Last Time. Blind Search BFS UC-BFS DFS DLS Iterative Deepening Bidirectional Search

Solving problems by searching

Searching with Partial Information

4 INFORMED SEARCH AND EXPLORATION. 4.1 Heuristic Search Strategies

Problem Solving and Search

Lecture 4: Informed/Heuristic Search

Informed search algorithms. Chapter 4

Informed search strategies (Section ) Source: Fotolia

S A E RC R H C I H NG N G IN N S T S A T T A E E G R G A R PH P S

Informed search algorithms. Chapter 4

Informed (Heuristic) Search. Idea: be smart about what paths to try.

Informed Search and Exploration for Agents

Informed Search. CS 486/686 University of Waterloo May 10. cs486/686 Lecture Slides 2005 (c) K. Larson and P. Poupart

Problem solving and search

Outline. Best-first search

Heuristic (Informed) Search

Problem solving and search

Informed Search and Exploration

Informed Search Algorithms

CS 331: Artificial Intelligence Informed Search. Informed Search

DFS. Depth-limited Search

Informed Search. Best-first search. Greedy best-first search. Intelligent Systems and HCI D7023E. Romania with step costs in km

Informed Search. CS 486/686: Introduction to Artificial Intelligence Fall 2013

Artificial Intelligence

Chapter 3: Informed Search and Exploration. Dr. Daisy Tang

CS 331: Artificial Intelligence Informed Search. Informed Search

Outline. Best-first search

EE562 ARTIFICIAL INTELLIGENCE FOR ENGINEERS

Problem solving and search

Informed Search. Xiaojin Zhu Computer Sciences Department University of Wisconsin, Madison

Artificial Intelligence

Informed search algorithms. (Based on slides by Oren Etzioni, Stuart Russell)

Dr. Mustafa Jarrar. Chapter 4 Informed Searching. Sina Institute, University of Birzeit

Artificial Intelligence

Robot Programming with Lisp

mywbut.com Informed Search Strategies-I

Today s s lecture. Lecture 3: Search - 2. Problem Solving by Search. Agent vs. Conventional AI View. Victor R. Lesser. CMPSCI 683 Fall 2004

Uninformed Search Methods

Mustafa Jarrar: Lecture Notes on Artificial Intelligence Birzeit University, Chapter 3 Informed Searching. Mustafa Jarrar. University of Birzeit

CS 380: Artificial Intelligence Lecture #4

Artificial Intelligence

CS:4420 Artificial Intelligence

2006/2007 Intelligent Systems 1. Intelligent Systems. Prof. dr. Paul De Bra Technische Universiteit Eindhoven

ITCS 6150 Intelligent Systems. Lecture 5 Informed Searches

Search : Lecture 2. September 9, 2003

Dr. Mustafa Jarrar. Chapter 4 Informed Searching. Artificial Intelligence. Sina Institute, University of Birzeit

Heuristic (Informed) Search

Search Algorithms. Uninformed Blind search. Informed Heuristic search. Important concepts:

Informed search. Soleymani. CE417: Introduction to Artificial Intelligence Sharif University of Technology Spring 2016

CS 771 Artificial Intelligence. Informed Search

Informed search methods

Downloaded from ioenotes.edu.np

Artificial Intelligence Problem Solving and Uninformed Search

Informed search algorithms. Chapter 3 (Based on Slides by Stuart Russell, Dan Klein, Richard Korf, Subbarao Kambhampati, and UW-AI faculty)

Search. CS 3793/5233 Artificial Intelligence Search 1

Informed Search Methods

ARTIFICIAL INTELLIGENCE. Informed search

DIT411/TIN175, Artificial Intelligence. Peter Ljunglöf. 23 January, 2018

Uninformed Search. Reading: Chapter 4 (Tuesday, 2/5) HW#1 due next Tuesday

Artificial Intelligence p.1/49. n-queens. Artificial Intelligence p.2/49. Initial state: the empty board or a board with n random

COMP9414/ 9814/ 3411: Artificial Intelligence. 5. Informed Search. Russell & Norvig, Chapter 3. UNSW c Alan Blair,

Multiagent Systems Problem Solving and Uninformed Search

Artificial Intelligence Informed search. Peter Antal

Informed search algorithms

Searching. Assume goal- or utilitybased. Next task to achieve is to determine the best path to the goal

Informed Search A* Algorithm

TDDC17. Intuitions behind heuristic search. Recall Uniform-Cost Search. Best-First Search. f(n) =... + h(n) g(n) = cost of path from root node to n

Solving problems by searching

Solving Problems: Intelligent Search

KI-Programmierung. Basic Search Algorithms

Informed Search CS457 David Kauchak Fall 2011

CS 4700: Foundations of Artificial Intelligence. Bart Selman. Search Techniques R&N: Chapter 3

CS 380: Artificial Intelligence Lecture #3

Lecture 5 Heuristics. Last Time: A* Search

Outline. Informed search algorithms. Best-first search. Review: Tree search. A search Heuristics. Chapter 4, Sections 1 2 4

Graphs vs trees up front; use grid too; discuss for BFS, DFS, IDS, UCS Cut back on A* optimality detail; a bit more on importance of heuristics,

Solving Problems by Searching

Artificial Intelligence

Heuristic Search. CPSC 470/570 Artificial Intelligence Brian Scassellati

Week 3: Path Search. COMP9414/ 9814/ 3411: Artificial Intelligence. Motivation. Example: Romania. Romania Street Map. Russell & Norvig, Chapter 3.

Solving problems by searching

Ar#ficial)Intelligence!!

ITCS 6150 Intelligent Systems. Lecture 3 Uninformed Searches

Informed search algorithms. Chapter 4, Sections 1 2 1

CS 8520: Artificial Intelligence

Informed search. Lirong Xia

A2 Uninformed Search

Example: The 8-puzzle. A2 Uninformed Search. It can be generalized to 15-puzzle, 24-puzzle, or. (n 2 1)-puzzle for n 6. Department of Computer Science

Informed search algorithms. (Based on slides by Oren Etzioni, Stuart Russell)

Informed search algorithms

Wissensverarbeitung. - Search - Alexander Felfernig und Gerald Steinbauer Institut für Softwaretechnologie Inffeldgasse 16b/2 A-8010 Graz Austria

Transcription:

190.08 Artificial 2016-Spring Problem Solving & Heuristic Search Byoung-Tak Zhang School of Computer Science and Engineering Seoul National University 190.08 Artificial (2016-Spring)

http://www.cs.duke.edu/courses/fall08/cps270/ Search Set of states that we can be in Including an initial state and goal states For every state, a set of actions that we can take Each action results in a new state Typically defined by successor function Given a state, produces all states that can be reached from it Cost function that determines the cost of each action (or path = sequence of actions) Solution: path from initial state to a goal state Optimal solution: solution with minimal cost 190.08 Artificial (2016-Spring)

http://www.cs.duke.edu/courses/fall08/cps270/ A simple example: traveling on a graph 2 start state C A 2 3 B D 3 9 E F goal state 190.08 Artificial (2016-Spring)

http://www.cs.duke.edu/courses/fall08/cps270/ Example: 8-puzzle Current State Goal State states: integer location of tiles operators: move blank left, right, up, down path cost: 1 per move goal test: = goal state (given) (optimal solution of n-puzzle family is NP-hard) 190.08 Artificial (2016-Spring)

http://www.cs.duke.edu/courses/fall08/cps270/ Example: 8-puzzle... 190.08 Artificial (2016-Spring)

Uninformed Search Breadth-First Search Depth-First Search Uniform-Cost Search Search algorithms Informed Search (Heuristic Search) Greedy Search A* Search Local Search Hill-climbing Search Simulated Annealing Local Beam Search Genetic Algorithms 190.08 Artificial (2016-Spring)

http://aima.cs.berkeley.edu/index.html 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 190.08 Artificial (2016-Spring)

http://www.cs.duke.edu/courses/fall08/cps270/ Uninformed search Given a state, we only know whether it is a goal state or not Cannot say one non-goal state looks better than another non-goal state Can only traverse state space blindly in hope of somehow hitting a goal state at some point Also called blind search Blind does not imply unsystematic 190.08 Artificial (2016-Spring)

http://www.cs.duke.edu/courses/fall08/cps270/ Breadth-first search Expand shallowest unexpanded node 190.08 Artificial (2016-Spring)

http://aima.cs.berkeley.edu/index.html Properties of breadth-first search Completeness Complete (if b is finite) Time complexity 1 + b + b 2 + b 3 + + b d = b d +1-1 / (b 1) = O(b d ), i.e., exponential in d (b = branching factor, d = depth) equals the number of nodes visited during BFS Space complexity O(b d ) (keeps every node in memory) Space is the big problem; can easily generate nodes at 1MB/sec, so 2hrs = 86GB Optimality Optimal if cost = 1 per step (not optimal in general 190.08 Artificial (2016-Spring)

http://www.cs.duke.edu/courses/fall08/cps270/ Uniform-cost search 120 70 75 71 118 111 Expand least-cost unexpanded node 190.08 Artificial (2016-Spring)

http://aima.cs.berkeley.edu/index.html Properties of uniform-cost search Completeness Complete if step cost ϵ Time complexity # of nodes with g cost of optimal solution Space complexity # of nodes with cost of optimal solution Optimality Optimal 190.08 Artificial (2016-Spring)

http://www.cs.duke.edu/courses/fall08/cps270/ Depth-first search Expand deepest unexpanded node 190.08 Artificial (2016-Spring)

http://aima.cs.berkeley.edu/index.html Properties of depth-first search Completeness Not complete fails in infinite-depth space, spaces with loops Modify to avoid repeated states along path complete in finite spaces Time complexity O(b m ) terrible if m is much larger than d but if solutions are dense, may be much faster than bread-first Space complexity O(bm) linear space Optimality Not optimal 190.08 Artificial (2016-Spring)

Advantage Iterative Deepening Linear memory requirements of depth-first search Guarantee for goal node of minimal depth Procedure Successive depth-first searches are conducted each with depth bounds increasing by 1 190.08 Artificial (2016-Spring) 15

Iterative Deepening (Cont d) Figure 8.5 Stages in Iterative-Deepening Search 190.08 Artificial (2016-Spring) 16

190.08 Artificial (2016-Spring) 17 Iterative Deepening (Cont d) The number of nodes In case of breadth-first search In case of iterative deepening search :depth) factor, :branching ( 1 1 1 1 2 bf d b b b b b b N d d 2 2 1 0 0 0 1 id 1 df 1) ( 1 2 1) ( 1 1 1 1 1 1 1 1 1 level down to expanded nodes of number : 1 1 b d bd b b d b b b b b b b b b N j b b N d d d j d j j d j j j j

Iterative Deepening (Cont d) For large d the ratio N id /N df is b/(b-1) For a branching factor of 10 and deep goals, 11% more nodes expansion in iterative-deepening search than breadth-first search Related technique iterative broadening is useful when there are many goal nodes 190.08 Artificial (2016-Spring) 18

http://www.cs.duke.edu/courses/fall08/cps270/ Informed Search So far, have assumed that no nongoal state looks better than another Unrealistic Even without knowing the road structure, some locations seem closer to the goal than others Some states of the 8s puzzle seem closer to the goal than others Makes sense to expand closer-seeming nodes first 190.08 Artificial (2016-Spring)

http://www.cs.duke.edu/courses/fall08/cps270/ Heuristics Key notion: heuristic function h(n) gives an estimate of the distance from n to the goal h(n)=0 for goal nodes E.g. straight-line distance for traveling problem 2 start state C A 2 3 B D 3 h(a) = 9, h(b) = 8, h(c) = 9, h(d) = 6, h(e) = 3, h(f) = 0 9 E F goal state 190.08 Artificial (2016-Spring)

http://www.cs.duke.edu/courses/fall08/cps270/ Greedy best-first search Expand nodes with lowest h values first Rapidly finds the optimal solution state = A, cost = 0, h = 9 state = B, cost = 3, h = 8 state = D, cost = 3, h = 6 state = E, cost = 7, h = 3 state = F, cost = 11, h = 0 goal state! 190.08 Artificial (2016-Spring)

http://www.cs.duke.edu/courses/fall08/cps270/ A bad example for greedy B 7 6 start state A D 3 E F goal state h(a) = 9, h(b) = 5, h(d) = 6, h(e) = 3, h(f) = 0 Problem: greedy evaluates the promise of a node only by how far is left to go, does not take cost occurred already into account 190.08 Artificial (2016-Spring)

http://aima.cs.berkeley.edu/index.html Properties of greedy search Completeness Not compelete can get stuck in loops Complete in finite space with repeated-state checking Time complexity O(b m ) but a good heuristic can give dramatic improvement Space complexity O(b m ) keeps all nodes in memory Optimality Not optimal 190.08 Artificial (2016-Spring)

Algorithm A * Algorithm A * Reorders the nodes on OPEN according to increasing values of Some additional notation h(n): the actual cost of the minimal cost path between n and a goal node g(n): the cost of a minimal cost path from n 0 to n f(n) = g(n) + h(n): the cost of a minimal cost path from n 0 to a goal node over all paths via node n f(n 0 ) = h(n 0 ): the cost of a minimal cost path from n 0 to a goal node ˆ( n ) : estimate of h(n) : the cost of the lowest-cost path found by A* so far to n h gˆ ( n) fˆ 190.08 Artificial (2016-Spring) (c) 2008 SNU CSE intelligence Lab 2

Algorithm A * Algorithm A * (Cont d) If ĥ = 0: uniform-cost search When the graph being searched is not a tree? more than one sequence of actions that can lead to the same world state from the starting state In 8-puzzle problem Actions are reversible: implicit graph is not a tree Ignore loops in creating 8-puzzle search tree: don t include the parent of a node among its successors Step 6 Expand n, generating a set M of successors that are not already parents (ancestors) of n + install M as successors of n by creating arcs from n to each member of M 190.08 Artificial (2016-Spring) (c) 2008 SNU CSE intelligence Lab 25

A* search Let g(n) be cost incurred already on path to n Expand nodes with lowest g(n) + h(n) first B 7 6 http://www.cs.duke.edu/courses/fall08/cps270/ start state A D 3 E F goal state h(a) = 9, h(b) = 5, h(d) = 6, h(e) = 3, h(f) = 0 Note: if h=0 everywhere, then just uniform cost search 190.08 Artificial (2016-Spring)

Figure 9.3 Heuristic Search Notation 190.08 Artificial (2016-Spring) 27

http://aima.cs.berkeley.edu/index.html Properties of A* Completeness Complete, unless there are infinitely many nodes with f f(g) Time complexity Exponential in [relative error in h x length of soln.] Space complexity Keeps all nodes in memory Optimality Optimal cannot expand f i+1 until f i is finished. 190.08 Artificial (2016-Spring)

Algorithm A * (Cont d) A* that maintains the search graph 1. Create a search graph, G, consisting solely of the start node, n 0 put n 0 on a list OPEN 2. Create a list CLOSED: initially empty 3. If OPEN is empty, exit with failure. Select the first node on OPEN remove it from OPEN put it on CLOSED: node n 5. If n is a goal node, exit successfully: obtain solution by tracing a path along the pointers from n to n 0 in G 6. Expand node n, generating the set, M, of its successors that are not already ancestors of n in G install these members of M as successors of n in G 190.08 Artificial (2016-Spring) (c) 2008 SNU CSE intelligence Lab 29

Algorithm A * (Cont d) 7. Establish a pointer to n from each of those members of M that were not already in G add these members of M to OPEN for each member, m, redirect its pointer to n if the best path to m found so far is through n for each member of M already on CLOSED, redirect the pointers of each of its descendants in G 8. Reorder the list OPEN in order of increasing fˆ values 9. Go to step 3 Redirecting pointers of descendants of nodes Save subsequent search effort 190.08 Artificial (2016-Spring) 30

http://www.cs.duke.edu/courses/fall08/cps270/ Admissibility A heuristic is admissible if it never overestimates the distance to the goal If n is the optimal solution reachable from n, then g(n) g(n ) + h(n ) Straight-line distance is admissible: can t hope for anything better than a straight road to the goal Admissible heuristic means that A* is always optimistic 190.08 Artificial (2016-Spring)

http://www.cs.duke.edu/courses/fall08/cps270/ Optimality of A* If the heuristic is admissible, A* is optimal (in the sense that it will never return a suboptimal solution) Proof: Suppose a suboptimal solution node n with solution value C > C* is about to be expanded (where C* is optimal) Let n* be an optimal solution node (perhaps not yet discovered) There must be some node n that is currently in the fringe and on the path to n* We have g(n) = C > C* = g(n*) g(n ) + h(n ) But then, n should be expanded first (contradiction) 190.08 Artificial (2016-Spring)

Figure 9.6 Relationships Among Search Algorithm 190.08 Artificial (2016-Spring) 33

http://www.cs.duke.edu/courses/fall08/cps270/ A* is not complete (in contrived examples) B start state A C D E F goal state infinitely many nodes on a straight path to the goal that doesn t actually reach the goal No optimal search algorithm can succeed on this example (have to keep looking down the path in hope of suddenly finding a solution) 190.08 Artificial (2016-Spring)

http://www.cs.duke.edu/courses/fall08/cps270/ A* is optimally efficient A* is optimally efficient in the sense that any other optimal algorithm must expand at least the nodes A* expands Proof: Besides solution, A* expands exactly the nodes with g(n)+h(n) < C* Assuming it does not expand non-solution nodes with g(n)+h(n) = C* Any other optimal algorithm must expand at least these nodes (since there may be a better solution there) Note: This argument assumes that the other algorithm uses the same heuristic h 190.08 Artificial (2016-Spring)

http://www.cs.umd.edu/class/spring2013/cmsc21/ Heuristic Function Function h(n) that estimates the cost of the cheapest path from node N to goal node. Example: 8-puzzle 5 7 2 3 N 8 1 6 1 2 3 5 6 7 8 goal h(n) = number of misplaced tiles = 6 or, h(n) = sum of the distances of every tile to its goal position = 2 + 3 + 0 + 1 + 3 + 0 + 3 + 1 = 13 190.08 Artificial (2016-Spring)

http://www.cs.umd.edu/class/spring2013/cmsc21/ 8-puzzle f(n) = h(n) = number of misplaced tiles 5 3 3 3 2 3 3 2 1 0 5 190.08 Artificial (2016-Spring)

http://www.cs.umd.edu/class/spring2013/cmsc21/ 8-puzzle f(n) = depth + h(n) with h(n) = number of misplaced tiles 3+3 1+5 2+3 3+ 5+2 0+ 1+3 2+3 3+2 +1 3+ 5+0 1+5 2+ 190.08 Artificial (2016-Spring)

http://www.cs.umd.edu/class/spring2013/cmsc21/ 8-puzzle f(n) = h(n) = distances of tiles to goal 6 5 2 5 3 2 1 0 6 5 190.08 Artificial (2016-Spring)

http://www.cs.umd.edu/class/spring2013/cmsc21/ Consistent Heuristic The admissible heuristic h is consistent (or satisfies the monotone restriction) if for every node N and every successor N of N: h(n) c(n,n ) + h(n ) (triangular inequality) In 8-puzzle problem, h1(n) = number of misplaced tiles h2(n) = sum of distances of each tile to goal are both consistent c(n,n ) N N h(n) h(n ) 190.08 Artificial (2016-Spring)

http://www.cs.umd.edu/class/spring2013/cmsc21/ Avoiding Repeated States in A* If the heuristic h is consistent, then: Let CLOSED be the list of states associated with expanded nodes When a new node N is generated: If its state is in CLOSED, then discard N If it has the same state as another node in the fringe, then discard the node with the largest f 190.08 Artificial (2016-Spring)

Heuristic Accuracy http://www.cs.umd.edu/class/spring2013/cmsc21/ h(n) = 0 for all nodes is admissible and consistent. Hence, breadth-first and uniform-cost are particular A*!!! Let h1 and h2 be two admissible and consistent heuristics such that for all nodes N: h1(n) h2(n). Then, every node expanded by A* using h2 is also expanded by A* using h1. h2 is more informed than h1 190.08 Artificial (2016-Spring)

Iterative-Deepening A * Breadth-first search Exponentially growing memory requirements Iterative deepening search Memory grows linearly with the depth of the goal Parallel implementation of IDA*: further efficiencies gain IDA* Cost cut off in the first search: Depth-first search with backtracking If the search terminates at a goal node: minimal-cost path Otherwise increase the cut-off value and start another search The lowest fˆ values of the nodes visited (not expanded) in the previous search is used as the new cut-off value in the next search fˆ( n ) gˆ( n ) hˆ( n ) hˆ( 0 0 0 n0 190.08 Artificial (2016-Spring) (c) 2008 SNU CSE intelligence Lab 3 )

http://www.cs.umd.edu/class/spring2013/cmsc21/ 8-Puzzle f(n) = g(n) + h(n) with h(n) = number of misplaced tiles Cutoff= 6 190.08 Artificial (2016-Spring)

http://www.cs.umd.edu/class/spring2013/cmsc21/ 8-Puzzle f(n) = g(n) + h(n) with h(n) = number of misplaced tiles Cutoff= 6 6 190.08 Artificial (2016-Spring)

http://www.cs.umd.edu/class/spring2013/cmsc21/ 8-Puzzle f(n) = g(n) + h(n) with h(n) = number of misplaced tiles Cutoff= 5 6 6 190.08 Artificial (2016-Spring)

http://www.cs.umd.edu/class/spring2013/cmsc21/ 8-Puzzle f(n) = g(n) + h(n) with h(n) = number of misplaced tiles 5 Cutoff= 5 6 6 190.08 Artificial (2016-Spring)

http://www.cs.umd.edu/class/spring2013/cmsc21/ 8-Puzzle f(n) = g(n) + h(n) with h(n) = number of misplaced tiles 6 5 Cutoff= 5 6 6 190.08 Artificial (2016-Spring)

http://www.cs.umd.edu/class/spring2013/cmsc21/ 8-Puzzle f(n) = g(n) + h(n) with h(n) = number of misplaced tiles Cutoff=5 6 190.08 Artificial (2016-Spring)

http://www.cs.umd.edu/class/spring2013/cmsc21/ 8-Puzzle f(n) = g(n) + h(n) with h(n) = number of misplaced tiles Cutoff=5 6 6 190.08 Artificial (2016-Spring)

http://www.cs.umd.edu/class/spring2013/cmsc21/ 8-Puzzle f(n) = g(n) + h(n) with h(n) = number of misplaced tiles Cutoff=5 5 6 6 190.08 Artificial (2016-Spring)

http://www.cs.umd.edu/class/spring2013/cmsc21/ 8-Puzzle f(n) = g(n) + h(n) with h(n) = number of misplaced tiles Cutoff=5 5 7 6 6 190.08 Artificial (2016-Spring)

http://www.cs.umd.edu/class/spring2013/cmsc21/ 8-Puzzle f(n) = g(n) + h(n) with h(n) = number of misplaced tiles Cutoff=5 5 5 7 6 6 190.08 Artificial (2016-Spring)

http://www.cs.umd.edu/class/spring2013/cmsc21/ 8-Puzzle f(n) = g(n) + h(n) with h(n) = number of misplaced tiles Cutoff=5 5 5 5 7 6 6 190.08 Artificial (2016-Spring)

http://www.cs.umd.edu/class/spring2013/cmsc21/ 8-Puzzle f(n) = g(n) + h(n) with h(n) = number of misplaced tiles Cutoff=5 5 5 5 7 6 6 190.08 Artificial (2016-Spring)

About Heuristics http://www.cs.umd.edu/class/spring2013/cmsc21/ Heuristics are intended to orient the search along promising paths The time spent computing heuristics must be recovered by a better search After all, a heuristic function could consist of solving the problem; then it would perfectly guide the search Deciding which node to expand is sometimes called meta-reasoning Heuristics may not always look like numbers and may involve large amount of knowledge 190.08 Artificial (2016-Spring)

http://www.cs.umd.edu/class/spring2013/cmsc21/ What s the Issue? Search is an iterative local procedure Good heuristics should provide some global lookahead (at low computational cost) 190.08 Artificial (2016-Spring)