# Lecture04HO - CS440/ECE448: Intro to Articial Intelligence!...

This preview shows pages 1–5. Sign up to view the full content.

Lecture 4: Heuristic search and local search Prof. Julia Hockenmaier [email protected] http://cs.illinois.edu/fa11/cs440 CS440/ECE448: Intro to ArtiFcial Intelligence Tuesday ʼ s key concepts Problem solving as search: Solution = a Fnite sequence of actions State graphs and search trees Which one is bigger/better to search? Systematic (blind) search algorithms Breadth-Frst vs. depth-Frst; properties? 2 CS440/ECE448: Intro AI Blind search: deterministic queuing functions Depth-Frst search (LI±O) Expand deepest node Frst QF(old, new): Append(new, old) Breadth-Frst (±I±O) Expand nodes level by level QF(old, new): Append(old, new); A B C D G H J I ± E A B C D G H J I ± E Graph search Initial state a2 a1 a3 Explored set ±rontier (Queue) Unexplored set …. Goal state Goal state …. Goal state …. b3 c5 b4 b1 b2

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
Today ʼ s key questions How can we fnd the optimal solution? We need to assign values to solutions How can we fnd a better solution iF we can only Foresee the eFFect (=value) oF the next action? This is local search. 5 CS440/ECE448: Intro AI Informed (heuristic) search Considering the cost of solutions We may not just want to fnd any solution, but the cheapest solution , iF: Each action has a (positive, fnite) cost Some solutions may be cheaper than others 7 CS440/ECE448: Intro AI Heuristic search: priority queue Heuristic search algorithms sort the nodes on the queue according to a cost function : QF(a,b): sort (append(a,b), CostFunction ) The cost Function is an estimate oF the true cost. Nodes with the lowest estimated cost have the highest priority. 8
Heuristic graph search 9 SEARCH(Problem P, Queuing Function QF): local: n, q, e; q ! new List(Initial_State(P)); Loop: if q == () return failure; n ! Pop(q); if n solves P return n; add n.STATE to e for m in Expand(n): if m is not in e or q: q ! QF(q,{m}); /*NEW: we want to find the cheapest goal!*/ else if m.STATE in q with higher cost : q ! replace(q, m.STATE, m); end Cost from root to node: g(n) g*(n): Minimum cost from root to n g*(n) is the sum of the costs for each action from the root to node n. This requires a cost function for actions g(n): Computable approximation to g*(n) For trees: g(n) == g*(n) 10 CS440/ECE448: Intro AI Uniform-cost search Sort the queue by path cost g(n): First expand the node with lowest g(n) QF(a,b): sort(Append(a,b), g ) 11 CS440/ECE448: Intro AI Uniform-cost search illustrated CS440/ECE448: Intro AI 12 S g = 0 F g = 99 B g = 278 R g=80 P g = 177 99 211 80 97 101 S:0 [ R:80, F:99 ] R:80 [F:99, P:177 ] F:99 [P:177, B:310 ] P:177 [ B:278, B:310] B:278 [B:310] 1 2 3 4 5

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
Properties of uniform-cost search Complete if b is Fnite, and each action has positive (non-zero) cost (gets stuck in loops of zero-cost actions) Optimal.
This is the end of the preview. Sign up to access the rest of the document.

## This note was uploaded on 10/13/2011 for the course CS 440 taught by Professor Levinson,s during the Spring '08 term at University of Illinois, Urbana Champaign.

### Page1 / 14

Lecture04HO - CS440/ECE448: Intro to Articial Intelligence!...

This preview shows document pages 1 - 5. Sign up to view the full document.

View Full Document
Ask a homework question - tutors are online