200 likes | 304 Views
Optimality of A*(standard proof). Suppose suboptimal goal G 2 in the queue. Let n be an unexpanded node on a shortest path to optimal goal G . f(G 2 ) = g(G 2 ) since h(G 2 )=0 > g(G) since G 2 is suboptimal >= f(n) since h is admissible
E N D
Optimality of A*(standard proof) • Suppose suboptimal goal G2 in the queue. • Let n be an unexpanded node on a shortest path to optimal goal G. f(G2 ) = g(G2 ) since h(G2 )=0 > g(G) since G2 is suboptimal >= f(n) since h is admissible Since f(G2) > f(n), A* will never select G2 for expansion
A* - Optimality • A* is optimally efficient (Dechter and Pearl 1985): • It can be shown that all algorithms that do not expand a node which A* did expand may miss an optimal solution
Memory-bounded heuristic search • A* keeps all generated nodes in memory • On many problems A* will run out of memory • Iterative deepening A* (IDA*) • Like IDS but uses f-cost rather than depth at each iteration • SMA* (Simplified Memory-Bounded A*) • Uses all available memory • Proceeds like A* but when it runs out of memory it drops the worst leaf node (one with highest f-value) • If all leaf nodes have the same f-value then it drops oldest and expands the newest • Optimal and complete if depth of shallowest goal node is less than memory size
Iterative Deepening A* (IDA*) • Use f(n) = g(n) + h(n) like in A* • Each iteration is depth-first with cutoff on the value of f of expanded nodes
4 6 8-Puzzle f(N) = g(N) + h(N) with h(N) = number of misplaced tiles Cutoff=4
4 4 6 6 8-Puzzle f(N) = g(N) + h(N) with h(N) = number of misplaced tiles Cutoff=4
4 5 4 6 6 8-Puzzle f(N) = g(N) + h(N) with h(N) = number of misplaced tiles Cutoff=4
5 4 5 4 6 6 8-Puzzle f(N) = g(N) + h(N) with h(N) = number of misplaced tiles Cutoff=4
6 5 4 5 4 6 6 8-Puzzle f(N) = g(N) + h(N) with h(N) = number of misplaced tiles Cutoff=4
4 6 8-Puzzle f(N) = g(N) + h(N) with h(N) = number of misplaced tiles Cutoff=5 G
4 4 6 6 8-Puzzle f(N) = g(N) + h(N) with h(N) = number of misplaced tiles Cutoff=5
4 5 4 6 6 8-Puzzle f(N) = g(N) + h(N) with h(N) = number of misplaced tiles Cutoff=5
4 5 4 7 6 6 8-Puzzle f(N) = g(N) + h(N) with h(N) = number of misplaced tiles Cutoff=5
4 5 5 4 7 6 6 8-Puzzle f(N) = g(N) + h(N) with h(N) = number of misplaced tiles Cutoff=5
4 5 5 5 4 7 6 6 8-Puzzle f(N) = g(N) + h(N) with h(N) = number of misplaced tiles Cutoff=5
4 5 5 5 4 7 6 6 8-Puzzle f(N) = g(N) + h(N) with h(N) = number of misplaced tiles Cutoff=5
Iterative Improvement Algorithms Example: n queens Try to find the highest peaks which are optimal Keep track of only the current state and do not look ahead beyond the immediate neighbours Two classes Hill climbing algoritms make changes to improve the current state Simulated annealing algoritms Allow some bad moves to get out of a local maxima