IDA* Basicaly IDDFS, except instead of the iterations being defined in terms of depth, we define it in terms of f-value –Start with the f cutoff equal to the f-value of the root node –Loop Generate and search all nodes whose f-values are less than or equal to current cutoff. –Use depth-first search to search the trees in the individual iterations –Keep track of the node N’ which has the smallest f-value that is still larger than the current cutoff. Let this f-value be next- largest-f-value -- If the search finds a goal node, terminate. If not, set cutoff = next-largest-f-value and go back to Loop Properties: Linear memory. #Iterations in the worst case? = b d (Happens when all nodes have distinct f-values.)
Relaxed problems Obtain heuristic from relaxed problems The more relaxed, the easier to compute heuristic, but the less accurate it is For 8-puzzle problem? Assume ability to move the tile directly to the place distance= # misplaced tiles Assume ability to move only one position at a time distance = Sum of Manhattan distances. A problem with fewer restrictions on the actions is called a relaxed problem.
Different levels of abstraction for shortest path problems on the plane I G I G “circular abstraction” I G “Polygonal abstraction” I G “disappearing-act abstraction” hDhD hChC hPhP h* The obstacles in the shortest path problem canbe abstracted in a variety of ways. --The more the abstraction, the cheaper it is to solve the problem in abstract space --The less the abstraction, the more “informed” the heuristic cost (i.e., the closer the abstract path length to actual path length) Actual Why are we inscribing the obstacles rather than circumscribing them?
hDhD hChC hPhP h*h* h0h0 Cost of computing the heuristic Cost of searching with the heuristic Total cost incurred in search Not always clear where the total minimum occurs Old wisdom was that the global min was closer to cheaper heuristics Current insights are that it may well be far from the cheaper heuristics for many problems How informed should the heuristic be? Reduced level of abstraction (i.e. more and more concrete)