DDS

The DDS ``Depth-bounded Discrepancy Search'' algorithm, due to Toby Walsh, is simply iterative deepening search. However, for this to work for CSPs, the search must be extended at the leaves to solutions.

Thus, the kth step of the iteration is roughly

    DDS(k)(var):
      if var > k
        for each variable v from var to n
	  v = h (the heuristically suggested value)
	(there is now a total assignment--do whatever)
	return
      For each value c that var can take on
        Assign c to var
	DDS(k)(var + 1)

Need more information? Here is Toby Walsh's IJCAI paper introducing DDS. (Note that it introduces a trick, originally due to Korf for LDS, to avoid revisiting leaves. Note also that this doesn't much change the running time of the algorithm.)