Chapter 5

Decision Trees

The trees in truth are our parents, We sprang from the oak.

—Czeslaw Milosz

The trees have turned inward to become so many pages unmarked by mistakes.

—Philip Levine

The depth of a decision tree is a fundamental complexity measure for Boolean functions. We study the algebraic and topological proof techniques to establish lower bounds for the depth of decision trees, particularly for monotone graph properties. Randomized decision trees and branching programs are also studied.

5.1 Graphs and Decision Trees

We first review the notion of graphs and the Boolean function representations of graphs.1 A graph is an ordered pair of disjoint sets (V,E) such that E is a set of pairs of elements in V andc05-math-0004. The elements in the set V are called vertices and the elements in the set E are called edges. Two vertices are adjacent if there is an edge between them. Two graphs are isomorphic if there exists a one-to-one correspondence between their vertex sets that preserves adjacency.

A path is an alternating sequence of distinct vertices and edges starting and ending with vertices such that every vertex is an end point of its neighboring edges. The length of a path is the number of edges appearing in the path. A graph is connected if every pair of vertices are joined by a path.

Let be the vertex set of a graph . Then its adjacency matrix is defined by

Note that and ...

Get Theory of Computational Complexity, 2nd Edition now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.