Informed (Heuristic) Search Strategies By: Zac Lippard CS 430
What is a Heuristic Search? • It is an informed type of strategy • Uses information for problem-solving • Can find solutions faster than uninformed strategies.
The 3 Basic Heuristic Search Strategies • Greedy Best-First Search • A* Search • Memory-Bound Heuristic Search
Understanding the Search Method • Takes in information in order to find the quickest solution. • Solution should also be efficient. • Not every method will be efficient depending on the algorithms used.
Functions Behind the Searches • Evaluation Function • Heuristic Function
Evaluation Function • The search algorithm that chooses a node best suited for expansion. • Most functions search for nodes with smallest value.
Heuristic Function • The algorithm used to find the cheapest path to the goal node. • Most common form of search algorithm. • Easier to use • More information readily available
Greedy Best-First Search • Expands the node that is closest to the goal. • Evaluates nodes by the function:f(n) = h(n) • Example is a straight-line distance heuristic • Uses straight lines with the shortest distance to reach the goal.
Problems with this Search • The main problem with this search is even though the algorithm picks shortest distances, it doesn’t necessarily find the shortest distance to the goal.
A* Search • Most widely known form of the best-first search • The evaluation function is: f(n) = g(n) + h(n) • g(n) is the cost to reach the node. • The cheapest solution is found by g(n) + h(n)
A* Search Cont. • Admissible Heuristic = Optimistic search • It never overestimates; estimates the cost less than actuality. • Contours can be used to find the general range of possible nodes that can be expanded given a certain f-cost.
Memory-Bound Heuristic Search • Used to reduce the amount of memory used in the search function. • The IDA*, or iterative-deepening A* algorithm, has a cutoff value of the smallest f-cost from the previous iteration.
Recursive best-first search (RBFS) • A better version of IDA*. It regenerates nodes from the same level in order to find the smallest f-cost. • The recursive nature from regenerating the same node over and over is one of the downfalls.
Memory-bounded A* (MA*) • This search uses an optimal amount of memory. • A simpler form of MA* is Simplified MA* or SMA*.
Example from book • Enhances the RBFS function by removing the highest f-cost node from memory in order to make room for new expanded nodes. • What if there are multiple highest f-cost with the same value? • SMA resolves this by expanding the newest best leaf node and deleting the oldest one.
Better Searches • How can we have better searches? • Through meta-level state space. • Meta-level structures allow the computer to capture the internal state of an object-level state (in the books example this would be Romania). • Errors like unnecessary node expansion are interpreted by a meta-level learning algorithm.
Conclusion • Types of known search strategies: • Greedy Best-First Search • A* Search • MA* and SMA* • Meta-level Searches • Goal is to always minimize the total cost of the problem.