Iterative Refinement
The refinement of P is structured so that repeated solution of subproblem P’ eventually solves P.
while (P not yet been solved)
/* Solve subproblem P’ */
. . .
Question: How can repeatedly doing P’ solve P ?
Answer: P’ must be parameterized in terms of some state variable(s). Each execution of P’ must change the state so progress is made, i.e., with each iteration, we move to a state that is “closer” to a solution for P.
Different notions of “distance” lead to different programs.