Slides: Search Algorithms.pdf
An example of a search problem:
There are 5 components to a search problem:
Route finding
Known destination, must find the route (path)
Anagram puzzle
Doesn’t matter how you find the word
Only the word itself (artefact) is important
Machine learning
Usually only the concept (artefact) is important
Theorem proving
The proof is a sequence (path) of reasoning steps
Complete search space contains all solutions
Exhaustive search explores entire space (assuming finite)
Will find solution if one exists
Pruning rules out certain operators in certain states
Space still complete if no solutions pruned
Strategy still complete if not all solutions pruned
Dangers
Find a route to an unreachable destination
Prove a theorem which is actually false
(This doesn't matter if your problem has a solution)
Different search strategies have different memory/speed tradeoffs
Uninformed search strategies
Have no additional information to help your search
Informed search strategies
Uses problem specific information
Heuristic measure (guess how far from goal we are)
For infinitely deep search spaces (or just large ones) a depth limit can be set.
This is basically a combination of breadth and depth first search
You have to completely redo the previous search after each iteration, this seems inefficient however because of the way the algorithm scales a small percentage of the time is actually spent redoing searches.
Difficulties:
Do you really know the solution?
Must be able to reverse operators
Record all paths to check if they meet - Memory Intensive
Evaluation function
Many different strategies depending on f
A state closer to
In Uninformed Search Strategies we never determine which states look most promising for expansion at a given time point. We never “look-ahead” to the goal. However, we have some knowledge about the merit of states.
Combines Uniform Cost Search and Greedy Search.
Let. Path cost =
Can prove that A is complete and optimal*, but only if
i.e. underestimates the true path cost from state to solution
Very memory intensive as you have to record all states