This document discusses blind search techniques for solving problems, specifically the A* search algorithm. It explains that A* is optimal if the heuristic it uses is admissible, meaning it never overestimates the cost to reach the goal. The document provides a proof that A* using an admissible heuristic will always find an optimal solution. It also discusses properties of A* searches, noting they are complete but time complexity is still exponential and space complexity can be an issue due to storing all nodes in memory.
This document discusses blind search techniques for solving problems, specifically the A* search algorithm. It explains that A* is optimal if the heuristic it uses is admissible, meaning it never overestimates the cost to reach the goal. The document provides a proof that A* using an admissible heuristic will always find an optimal solution. It also discusses properties of A* searches, noting they are complete but time complexity is still exponential and space complexity can be an issue due to storing all nodes in memory.
This document discusses blind search techniques for solving problems, specifically the A* search algorithm. It explains that A* is optimal if the heuristic it uses is admissible, meaning it never overestimates the cost to reach the goal. The document provides a proof that A* using an admissible heuristic will always find an optimal solution. It also discusses properties of A* searches, noting they are complete but time complexity is still exponential and space complexity can be an issue due to storing all nodes in memory.
14 Jan 2004 CS 3243 - Blind Search 5 14 Jan 2004 CS 3243 - Blind Search 6 14 Jan 2004 CS 3243 - Blind Search 7 14 Jan 2004 CS 3243 - Blind Search 8 14 Jan 2004 CS 3243 - Blind Search 9 14 Jan 2004 CS 3243 - Blind Search 10 14 Jan 2004 CS 3243 - Blind Search 11 14 Jan 2004 CS 3243 - Blind Search 12 Admissible heuristics • A heuristic h(n) is admissible if for every node n, h(n) ≤ h*(n), where h*(n) is the true cost to reach the goal state from n. • An admissible heuristic never overestimates the cost to reach the goal, i.e., it is optimistic • Example: hSLD(n) (never overestimates the actual road distance) • Theorem: If h(n) is admissible, A* using TREE-SEARCH is optimal Optimality of A* (proof) • Suppose some suboptimal goal G2 has been generated and is in the fringe. Let n be an unexpanded node in the fringe such that n is on a shortest path to an optimal goal G. •
• f(G2) = g(G2) since h(G2) = 0
• g(G2) > g(G) since G2 is suboptimal • f(G) = g(G) since h(G) = 0 • f(G2) > f(G) from above But …Graph search • Discards the new paths to repeated state – Previous breaks down Solution Add extra book keeping i.e remove more expensive of two paths Ensure that optimal path toa ny repeated state is always first allowed Extra requirement on h(n):Consistency(monotonicity) Optimality of A* (proof) • Suppose some suboptimal goal G2 has been generated and is in the fringe. Let n be an unexpanded node in the fringe such that n is on a shortest path to an optimal goal G.
• f(G2)> f(G) from above
• h(n) ≤ h^*(n) since h is admissible • g(n) + h(n) ≤ g(n) + h*(n) • f(n) ≤ f(G) Hence f(G2) > f(n), and A* will never select G2 for expansion Optimality of A* • A* expands nodes in order of increasing f value • Gradually adds "f-contours" of nodes • Contour i has all nodes with f=fi, where fi < fi+1 • Properties of A$^*$ • Complete? Yes (unless there are infinitely many nodes with f ≤ f(G) ) • Time? Exponential(no.of nodes expanded is still exponential in the length of solution) • Space? Keeps all nodes in memory(but space is the major problem) • Optimal? Yes Optimality • Cannot expand fi+1 untill fi is finished • A* expands all node with f(n)<c* • A* expands some nodes with f(n)=c* • A* expands no nodes with f(n)>c* Optimality Optimality Optimality