2009Wiley Encyclopedia of Computer Science and EngineeringRequires access

Backtracking

Inês Lynce, Vasco Manquinho, João Marques‐Silva

Open publisher page 1 citations

Abstract

Abstract Backtracking search algorithms are commonly used to solve a wide range of decision and optimization problems. Backtracking has the advantage of potentially requiring a search tree with less nodes, when compared with a brute force algorithm. For further reducing the search tree size, constraint propagation can be used to remove inconsistent assignments. In addition, when solving optimization problems, backtracking may be adapted to take into account the value of the objective function. As soon as a partial assignment cannot be extended to a solution that is better than the best solution found so far, the algorithm backtracks. Another technique used to improve backtracking performance is learning. Learning is performed whenever a conflict is found, and it serves to prevent similar conflicts in the future. Learning may also be used to backtrack nonchronologically, thus not exploring irrelevant parts of the search tree.

About this research paper

What this paper is about

Abstract Backtracking search algorithms are commonly used to solve a wide range of decision and optimization problems. Backtracking has the advantage of potentially requiring a search tree with less nodes, when compared with a brute force algorithm. For further reducing the search tree size, constraint propagation can be used to remove inconsistent assignments. In addition, when solving optimization problems, backtracking may be adapted to take into account the value of the objective function. As soon as a partial assignment cannot be extended to a solution that is better than the best solution found so far, the algorithm backtracks. Another technique used to improve backtracking performance is learning. Learning is performed whenever a conflict is found, and it serves to prevent similar conflicts in the future. Learning may also be used to backtrack nonchronologically, thus not exploring irrelevant parts of the search tree.

Why it matters

OpenAlex reports 1 citations for this work. Citation counts describe recorded attention and do not establish research quality.

Key contribution

A contribution statement is not available in the OpenAlex record.

Method / approach

Method details are not available in the OpenAlex metadata.

Main findings

Findings are not separately available in the OpenAlex metadata.

Limitations

Limitations are not available in the OpenAlex metadata.

Applications

Application details are not available in the OpenAlex metadata.

Available abstract

Abstract Backtracking search algorithms are commonly used to solve a wide range of decision and optimization problems. Backtracking has the advantage of potentially requiring a search tree with less nodes, when compared with a brute force algorithm. For further reducing the search tree size, constraint propagation can be used to remove inconsistent assignments. In addition, when solving optimization problems, backtracking may be adapted to take into account the value of the objective function. As soon as a partial assignment cannot be extended to a solution that is better than the best solution found so far, the algorithm backtracks. Another technique used to improve backtracking performance is learning. Learning is performed whenever a conflict is found, and it serves to prevent similar conflicts in the future. Learning may also be used to backtrack nonchronologically, thus not exploring irrelevant parts of the search tree.

Key concepts: Backtracking, Beam stack search, Constraint learning, Depth-first search, Computer science, Search tree, Mathematical optimization, Tree (set theory)

Related papers

Back to paper searchBrowse research topicsOriginal source
Backtracking — Research Paper | ScholarLens