450 likes | 516 Views
Explore search algorithms in Artificial Intelligence, comparing BFS vs. DFS, Uniform Cost Search, A* algorithms, and local search methods like Hill Climbing and Genetic Algorithms. Understand key concepts and applications of AI search. Discover the importance of heuristics in optimizing search efficiency.
E N D
CHAPTER 2 SEARCHHEURISTIC
QUESTION ???? • What is Artificial Intelligence? The study of systems that act rationally • What does rational mean? Given its goals and prior knowledge, a rational agent should: 1. Use the information available in new observations to update its knowledge, and 2. Use its knowledge to act in a way that is expected to achieve its goals in the world • How do you define a search problem? Initial state Successor function Goal test Path cost
Graph Search • In BFS, for example, we shouldn’t bother • expanding the circled nodes (why?)
Costs on Actions • BFS finds the shortest path in terms of number of transitions, not the least-cost path
Priority Queue Refresher • A priority queue is a data structure in which you can insert and retrieve (key, value) pairs with the following operations: • You can promote or demote keys by resetting their • priorities • Unlike a regular queue, insertions into a priority • queue are not constant time, usually O(log n) • We’ll need priority queues for most cost-sensitive • search methods
Uniform Cost Search • What will UCS do for this graph? • What does this mean for completeness?
Uniform Cost Issues • Where will uniform cost explore? • Why? • What is wrong here?
Greedy Best-First Search • Expand the node that seems closest… • What can go wrong?
When should A* terminate? • A* Search orders by the sum: f(n) = g(n) + h(n) • Should we stop when we enqueue a goal? • No! Only stop when we dequeue a goal
Is A* Optimal? • A* Search orders by the sum: f(n) = g(n) + h(n) • What went wrong? • Actual goal cost greater than estimated goal cost • We need estimates to be less than actual costs!
Optimality of A*: Contours • Consider what A* does: • Expands nodes in increasing total f value (fcontours) • Optimal goals have lower f value, so get expanded first
Admissible Heuristics • Most of the work is in coming up with admissible heuristics • Quiz: what’s the simplest admissable heuristic? • Good news: usually admissible heuristics are also consistent • More good news: inadmissible heuristics are still useful effective (Why?)
Relaxed Problems • A version of the problem with fewer restrictions on actions is called a relaxed problem • Relaxed problems of the 8 puzzle: - Each move can swap a tile directly into its final position - Each move can move a tile one step closer to its final position • Relaxed problem for the route planning problem: - You can fly directly to the goal from each state • Relaxed problems for Pac-Man?
8-Puzzle III • How about using the actual cost as a heuristic? - Would it be admissible? - Would we save on nodes? - What’s wrong with it? • With A*, trade-off between quality of estimate and work per node!
Other A* Applications • Robot motion planning • Routing problems • Planning problems • Machine translation • Statistical parsing • Speech recognition
Summary: A* • A* uses both backward costs and (estimates of) forward costs • A* is optimal with admissible heuristics • Heuristic design is key: often use relaxed problems
Local Search Methods • Queue-based algorithms keep fallback options(backtracking) • Local search: improve what you have until youcan’t make it better • Generally much more efficient (but incomplete)
Hill Climbing • Simple, general idea: • Start wherever • Always choose the best neighbor • If no neighbors have better scores than current, quit • Why can this be a terrible idea? • Complete? • Optimal? • What’s good about it?