Aug 29, 2007 ------------- - What makes a good heuristic? - h(n) = 0 for all goal nodes n - never underestimate the actual cost - Other additional things we can ask for - h(n) should satisfy triangle inequality - h(n) <= c(n,n') + h(n') - Consistent heuristics - those that satisfy triangle inequality - If the heuristic is consistent - when finding a node, it would be via the shortest path - If the heuristic is not consistent AND searching over a graph - when finding a node, it would be via the shortest path - Time complexity of finding optimal solutions - If h(n) = h*(n), linear, march on unchallenged - If h(n) = 0, exponential - If h(n) <= h*(n), still exponential but in the difference between the heuristics - Making A* more efficient - mainly w.r.t. space complexity - Just as BFS:DFID, we get A*:IDA* - increase trees, not by depth but by f()