Nogood learning is a deductive learning technique used for the purpose of intelligent backtracking in constraint satisfaction. The approach analyzes failures at backtracking points and derives sets of variable bindings, or nogoods, that will never lead to a solution. These nogood constraints can then be used to prune later search nodes.