Conflict-Directed Backjumping (CBJ) is a complete search algorithm that enhances naive backtracking by performing non-chronological backtracking. Upon encountering a dead-end (a variable with no legal value), CBJ analyzes its conflict set—the set of past variable assignments that collectively caused the failure—and jumps back to the most recent variable in that set. This allows it to skip over intermediate variables that were irrelevant to the conflict, avoiding redundant exploration of fruitless search subtrees.
