6.034 Artificial Intelligence by T. Lozano-Perez and L. Kaelbling. Copyright © 2003 by Massachusetts Institute of Technology.
6.034 Notes: Section 2.1
Slide 2.1.1
Search plays a key role in many parts of AI. These algorithms provide the
conceptual backbone of almost every approach to the systematic exploration of
alternatives.
We will start with some background, terminology and basic implementation
strategies and then cover four classes of search algorithms, which differ along two
dimensions: First, is the difference between uninformed (also known as blind)
search and then informed (also known as heuristic) searches. Informed searches
have access to task-specific information that can be used to make the search process
more efficient. The other difference is between any path searches and optimal
searches. Optimal searches are looking for the best possible path while any-path
searches will just settle for finding some solution.
Slide 2.1.2
The search methods we will be dealing with are defined on trees and graphs, so we
need to fix on some terminology for these structures:
● A tree is made up of nodes and links (circles and lines) connected so that there
are no loops (cycles). Nodes are sometimes referred to as vertices and links as
edges (this is more common in talking about graphs).
● A tree has a root node (where the tree "starts"). Every node except the root has
a single parent (aka direct ancestor). More generally, an ancestor node is a node
that can be reached by repeatedly going to a parent node. Each node (except the
terminal (aka leaf) nodes) has one or more children (aka direct descendants).
More generally, a descendant node is a node that can be reached by repeatedly
going to a child node.
Slide 2.1.3
A graph is also a set of nodes connected by links but where loops are allowed and a
node can have multiple parents. We have two kinds of graphs to deal with: directed
graphs, where the links have direction (akin to one-way streets).