Upload
seth-postlethwait
View
213
Download
1
Tags:
Embed Size (px)
Citation preview
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*)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
8-Puzzle8-Puzzle
4
6
f(N) = g(N) + h(N) with h(N) = number of misplaced tiles
Cutoff=4
8-Puzzle8-Puzzle
4
4
6
f(N) = g(N) + h(N) with h(N) = number of misplaced tiles
Cutoff=4
6
8-Puzzle8-Puzzle
4
4
6
f(N) = g(N) + h(N) with h(N) = number of misplaced tiles
Cutoff=4
6
5
8-Puzzle8-Puzzle
4
4
6
f(N) = g(N) + h(N) with h(N) = number of misplaced tiles
Cutoff=4
6
5
5
4
8-Puzzle8-Puzzle
4
6
f(N) = g(N) + h(N) with h(N) = number of misplaced tiles
Cutoff=4
6
5
56
8-Puzzle8-Puzzle
4
6
f(N) = g(N) + h(N) with h(N) = number of misplaced tiles
Cutoff=5G
8-Puzzle8-Puzzle
4
4
6
f(N) = g(N) + h(N) with h(N) = number of misplaced tiles
Cutoff=5
6
8-Puzzle8-Puzzle
4
4
6
f(N) = g(N) + h(N) with h(N) = number of misplaced tiles
Cutoff=5
6
5
8-Puzzle8-Puzzle
4
4
6
f(N) = g(N) + h(N) with h(N) = number of misplaced tiles
Cutoff=5
6
5
7
8-Puzzle8-Puzzle
4
4
6
f(N) = g(N) + h(N) with h(N) = number of misplaced tiles
Cutoff=5
6
5
7
5
8-Puzzle8-Puzzle
4
4
6
f(N) = g(N) + h(N) with h(N) = number of misplaced tiles
Cutoff=5
6
5
7
5 5
8-Puzzle8-Puzzle
4
4
6
f(N) = g(N) + h(N) with h(N) = number of misplaced tiles
Cutoff=5
6
5
7
5 5
Iterative Improvement AlgorithmsExample: n queens
Try to find the highest peaks which are optimalKeep track of only the current state and
do not look ahead beyond the immediate neighbours
Two classesHill climbing algoritms
make changes to improve the current state
Simulated annealing algoritmsAllow some bad moves to get out of a local maxima
Hill Climbing
Hill Climbing
Simulated Annealing