backtracking
Also found in: Dictionary, Thesaurus, Medical, Wikipedia.
backtracking
[′bak‚trak·iŋ] (computer science)
A method of solving problems automatically by a systematic search of the possible solutions; the invalid solutions are eliminated and are not retried.
McGraw-Hill Dictionary of Scientific & Technical Terms, 6E, Copyright © 2003 by The McGraw-Hill Companies, Inc.
backtracking
(algorithm)A scheme for solving a series of sub-problems each
of which may have multiple possible solutions and where the
solution chosen for one sub-problem may affect the possible
solutions of later sub-problems.
To solve the overall problem, we find a solution to the first sub-problem and then attempt to recursively solve the other sub-problems based on this first solution. If we cannot, or we want all possible solutions, we backtrack and try the next possible solution to the first sub-problem and so on. Backtracking terminates when there are no more solutions to the first sub-problem.
This is the algorithm used by logic programming languages such as Prolog to find all possible ways of proving a goal. An optimisation known as "intelligent backtracking" keeps track of the dependencies between sub-problems and only re-solves those which depend on an earlier solution which has changed.
Backtracking is one algorithm which can be used to implement nondeterminism. It is effectively a depth-first search of a problem space.
To solve the overall problem, we find a solution to the first sub-problem and then attempt to recursively solve the other sub-problems based on this first solution. If we cannot, or we want all possible solutions, we backtrack and try the next possible solution to the first sub-problem and so on. Backtracking terminates when there are no more solutions to the first sub-problem.
This is the algorithm used by logic programming languages such as Prolog to find all possible ways of proving a goal. An optimisation known as "intelligent backtracking" keeps track of the dependencies between sub-problems and only re-solves those which depend on an earlier solution which has changed.
Backtracking is one algorithm which can be used to implement nondeterminism. It is effectively a depth-first search of a problem space.
This article is provided by FOLDOC - Free Online Dictionary of Computing (foldoc.org)