# Module 2: Idealized Searches

## Topic 2: Uninformed Searches

## Foundational uninformed search methods

First, we will study the foundational *uninformed* search methods. Why are they called this? Because they are the strategies that do not require the agent to know anything about the relationships between its current position and the goal. You might wonder WHY are we studying BFS & DFS *again* when I know you have likely seen them in other classes?

- Breadth first search and depth first search are foundational methods! This means many of the more complicated methods are built on top of BFS/DFS
- If BFS/DFS can be used to solve a problem in an efficient manner and to generate a solution that works for your needs, then there is no need to go to the more complicated methods! Always choose the simplest and most efficient answer before moving to the complicated ones (basically Occam’s razor applied to method selection).

## Breadth First Search

- Reading
- Read Section 3.4 of Chapter 3 (Uninformed search strategies)

- You have probably studied breadth first search in other classes but likely not from the same perspective. This should at least be a quick search algorithm to study and learn.
- Link to the slides

- Complete the assignment on BFS

## Depth first search (and extensions)

- The remaining algorithms in this topic are in one video since they are related to each other. They all build on depth first search.
- Link to the slides

- Complete the assignment on DFS and related searches

## Final thought on BFS/DFS

- We will do some examples of these in the hybrid class. Since you will also be implementing these in your projects, be sure to ask questions if you are confused at all! Use the #general channel.

## Next topic

- Uninformed searches can generally only work so well. It is usually better if we can tell the agent something about the goal and how to achieve it! Let’s move to the next topic on informed search.