Unit 4: Probability and Planning

Search Algorithms

« Previous | Next »

Session Overview

The eight puzzle in its goal state.

In this session, we introduce the idea of search. We’ve designed systems to tackle static problems and modeled the idea of uncertainty, but we still haven’t developed a way to approach that uncertainty and engage in decision-making that we can codify into our systems.

We can tackle uncertainty through search; if we know the domain of possible solutions to a problem, and know the steps to get from one part of the domain to the other, then we can search the domain until we reach the solution.

The overview handout provides a more detailed introduction, including the big ideas of the session, key vocabulary, what you should understand (theory) and be able to do (practice) after completing this session, and additional resources.

Session Content


Read sections 8.1-8.4 of the course notes.

Lecture Video

Watch the lecture video. The handout and slides present the same material, but the slides include answers to the in-class questions.

About this Video

Two search algorithms are introduced, depth-first search and breadth-first search. Pruning rules (including dynamic programming) are also considered, so that the same state is not visited repeatedly.

Recitation Video

These videos have been developed for OCW Scholar, and are designed to supplement the lecture videos.

Session Activities

The problems in the tables below are taken from the 6.01 Online Tutor, an interactive environment that is not available on OCW. Do not try to answer these questions in the PDF files; answers will not be checked, and cannot be submitted.

Software Lab

13.1.1 Farmer et al.: Machine (PDF)
13.1.2 Farmer et al.: Search (PDF)

Design Lab

Additional Exercises

13.3.1 Compare searches (PDF)
13.3.2 Compare searches (PDF)
13.3.3 Paths in the map (PDF)
13.3.4 Robot on a grid (PDF)
13.3.5 Obstacles [optional] (PDF)
13.3.6 Knight paths on a chessboard [optional] (PDF)
13.3.7 Two robots on a grid [optional] (PDF)

Check Yourself


Nano-quiz problems and solutions are taken from a previous version of the 6.01 Online Tutor. Do not try to answer these questions in the PDF files; answers will not be checked, and cannot be submitted.

« Previous | Next »

Learning Resource Types
Lecture Videos
Recitation Videos
Problem Sets
Exams with Solutions
Lecture Notes
Instructor Insights
Programming Assignments