Proofs: Iterative broadening
These are the human proofs of Iterative broadening, at full length.
Iterative broadening is sound and complete on finite trees, with a bounded overhead in the worst case full
This proof shows: correctness, termination, complexity.
We use the pseudocode of the page. The search tree from is finite, and is the largest number of children of a node, with when has no child.
Lemma 1 (soundness). If BOUNDED returns a list, the list is a path of the tree from to a goal.
Proof. By induction on the height of in the finite tree. A list is returned at line L6, where it is and is a goal, or at line L11, where it is followed by the list of a call BOUNDED for a child of , which by induction is a path from to a goal.
Lemma 2 (a run without pruning is a full search). If a run of BOUNDED returns failure and leaves pruned false, then no node of the tree is a goal.
Proof. We show by induction on the height of : if BOUNDED returns failure and sets no flag, then no node of the subtree of is a goal. The call returned at line L12, so is not a goal by line L6. No flag was set at line L8, so has at most children and line L9 calls BOUNDED on each of them. Each of these calls returned failure, or line L11 would have returned, and none set the flag. By induction their subtrees hold no goal.
Lemma 3 (each run stops). Each call BOUNDED stops.
Proof. The calls follow the edges of a finite tree from the root, and each call makes at most one call per child. So the number of calls is at most the number of nodes.
Theorem 4 (correctness and termination). The search stops after at most runs. It returns a path from to a goal if the tree has a goal, and failure otherwise.
Proof. In the run with , no node has more than children, so line L8 never sets the flag. That run returns a path or, by line L5, failure. The first such run has , which is run number . Each run stops by Lemma 3. A returned path is a path to a goal by Lemma 1. Failure is returned only by a run that left the flag false, and then the tree has no goal by Lemma 2. If the tree has a goal, the search therefore cannot return failure, so it returns a path.
Theorem 5 (worst-case cost). In the uniform tree of branching factor and depth , the leaves visited by all runs together number less than .
Proof. The run with cutoff visits at most the leaves of the tree cut to breadth , and there are runs only for . For , the function is increasing on , so . Hence
The internal nodes of the run with cutoff number , so the total number of nodes is less than twice this bound.