FORMAL MODEL OF BACKTRACKING ALGORITHMS

In this paper the formal model of a backtracking algorithm is discussed, and the mathematical concepts for describing backtracking are presented. The concept of state space is given to describe implicit searching, and the corresponding state spaces of directed graph represented by adjacency table and contiguous list respectively are given to get the result that explicit searching are special cases of implicit searching. The concept of expansive space is presented to depict different data structures corresponding to different objects of problem solving. Several general backtracking algorithms are given and their applications in various algorithm design problems such as N queens problem, stable marriage problem, node coloring problem, subset-with-given-sum problem, knight's tour problem, longest path problem, and strong-connected component problem, are all discussed. The results help to promote the application of backtracking algorithms with reliability and efficiency.