 Hello everyone, this is Alice Gao. In this video, I will discuss the motivation for using heuristic search algorithms. So far, I've discussed several uninformed search algorithms, depth-first search, breadth-first search, and iterative deepening search. Is there anything unsatisfying about these algorithms? Let's look at the eight puzzle again. Here are two states of the eight puzzle. If both states are on the frontier, which one should we expand next? For an uninformed search algorithm, the two states appear equivalent. The algorithm will decide on which state to expand based on an arbitrarily predefined order. In other words, the algorithm treats the states as black boxes. It doesn't know anything about the internal structure of the state. The only thing the algorithm can do is to test whether the state is a goal state or not. That's about it. What if a human, instead of an algorithm, is making the decision? A human would most likely expand the state on the right since this state is much closer to the goal. How did we figure that out? Intuitively, we will estimate how many moves it takes to transform this state to a goal state. And we're using this intuition to guide our search. The state on the right is one move from the goal state. For the state on the left, it's unclear how many moves it requires to transform the state to the goal state. Definitely more than one move. We will use this intuition or domain knowledge to build a heuristic function and use a heuristic function to search more efficiently. This is the main idea behind heuristic search algorithms. Let's compare the uninformed and heuristic search algorithms at a high level. An uninformed search algorithm does not actively reason about the goal states. Every state appears equivalent to the algorithm. The algorithm is not guaranteed to find an optimal solution because it does not consider the cost of the edges. Heuristic search algorithms can do much better. This is because the algorithm actively reasons about the goal states. The heuristic function estimates the cost of the shortest path from the current state to a goal state by using domain knowledge about the problem. The estimate may not be accurate, but it is the best that we have. The accuracy of the heuristic estimates heavily influences the efficiency of the search algorithm. With the heuristic function, we can find the goal state much faster. That's everything on the motivation for using heuristic search algorithms. Let me summarize. After watching this video, you should be able to do the following. Explain the advantage of using a heuristic search algorithm versus using an uninformed search algorithm. Give an example to illustrate this advantage. Thank you very much for watching. I will see you in the next video. Bye for now.