241 Backtrack Basics NQueens SoS
241 Backtrack Basics NQueens SoS
Backtracking
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
(DAA, Dr. Ashish Gupta) ULC403 : Unit-II 1 / 48
Agenda
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
(DAA, Dr. Ashish Gupta) ULC403 : Unit-II 2 / 48
8-Queens Problem
■ Classical combinatorial problem: 8 queens problem is to place eight
queens on an 8 × 8 chessboard so that no two “attack”, that is,
• no two of them are on the same row, column, or diagonal.
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
(DAA, Dr. Ashish Gupta) ULC403 : Unit-II 3 / 48
Representing the solution
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
(DAA, Dr. Ashish Gupta) ULC403 : Unit-II 4 / 48
Representing the solution
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
(DAA, Dr. Ashish Gupta) ULC403 : Unit-II 5 / 48
Explicit constraints
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
(DAA, Dr. Ashish Gupta) ULC403 : Unit-II 6 / 48
Implicit constraints
Definition. Implicit constraints (IC) are rules that determine which of the
tuples in the solution space of I satisfy the criterion function.
■ ICs describe the way in which the xi ’s must relate to each other.
■ The implicit constraints for 8-queens problem are that no two xi ’s
can be the same (i.e., all queens must be on different columns) and no
two queens can be on the same diagonal.
• reduces the size of the solution space from 88 to 8! tuples
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
(DAA, Dr. Ashish Gupta) ULC403 : Unit-II 7 / 48
Backtracking
■ Backtracking
■ represents one of the most general techniques.
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
(DAA, Dr. Ashish Gupta) ULC403 : Unit-II 8 / 48
Backtracking Algorithms
■ The brute-force approach : Form all these n-tuples, evaluate each one
with criteria function P , and save those which yield the optimum.
Figure: Building permutation tree. Nodes are numbered as in DFS (see next
slide) . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
(DAA, Dr. Ashish Gupta) ULC403 : Unit-II 10 / 48
Expanding solution space for x1 =1, incomplete
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Figure:
(DAA,Not all problem
Dr. Ashish Gupta) states shown (see: Unit-II
ULC403 next page for complete state space 11 / 48
Solution space organization
■ The solution space is defined by all paths from the root node to a leaf
node.
■ Total leaf nodes: 4!=24. .
.
.
.
.
. . . . .
. . . .
. . . .
. . . .
. . . .
. . . . .
.
.
.
.
.
.
.
.
.
■ The brute-force approach : form all these n-tuples, evaluate each one
with criteria function P , and save those which yield the optimum.
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
(DAA, Dr. Ashish Gupta) ULC403 : Unit-II 13 / 48
Terminology: Tree organization of solution space
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
(DAA, Dr. Ashish Gupta) ULC403 : Unit-II 14 / 48
Figure: All nodes in red are solution states. One answer state is shown in green.
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
(DAA, Dr. Ashish Gupta) ULC403 : Unit-II 15 / 48
Finding Answer nodes for any problem
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
(DAA, Dr. Ashish Gupta) ULC403 : Unit-II 16 / 48
More Terminology
■ Live node is a node that has been generated but all of whose children
have not yet been generated.
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
(DAA, Dr. Ashish Gupta) ULC403 : Unit-II 17 / 48
Depth first generation of problem states
• Then R will become the E-node again when the subtree C has
been fully explored.
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
(DAA, Dr. Ashish Gupta) ULC403 : Unit-II 18 / 48
The difference
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
(DAA, Dr. Ashish Gupta) ULC403 : Unit-II 19 / 48
Backtracking: 4-queens
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
(DAA, Dr. Ashish Gupta) ULC403 : Unit-II 20 / 48
Figure: Backtracking on 4-queens problem.
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
(DAA, Dr. Ashish Gupta) ULC403 : Unit-II 21 / 48
4-queens problem
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
(DAA, Dr. Ashish Gupta) ULC403 : Unit-II 23 / 48
Recursive backtracking algorithm
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
(DAA, Dr. Ashish Gupta) ULC403 : Unit-II 25 / 48
The 8-QUEENS PROBLEM
■ Solution vector: (x1 , x2 , . . . , x8 )
• All x′i s will be distinct since no queens can be placed in the same
column.
• How do we test whether 2 queens are on the same diagonal ?
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
(DAA, Dr. Ashish Gupta) ULC403 : Unit-II 26 / 48
Figure: Two queens lies on the same diagonal iff |j − l| = |i − k|
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
(DAA, Dr. Ashish Gupta) ULC403 : Unit-II 27 / 48
All solutions to 8-Queens problem
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
(DAA, Dr. Ashish Gupta) ULC403 : Unit-II 28 / 48
Can a new queen be placed?
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
(DAA, Dr. Ashish Gupta) ULC403 : Unit-II 29 / 48
Backtracking
SUM OF SUBSETS PROBLEM
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
(DAA, Dr. Ashish Gupta) ULC403 : Unit-II 30 / 48
Sum of subsets problem
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
(DAA, Dr. Ashish Gupta) ULC403 : Unit-II 31 / 48
Sum of subsets problem
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
(DAA, Dr. Ashish Gupta) ULC403 : Unit-II 32 / 48
Sum of Subsets: SST for Variable tuple size
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
(DAA, Dr. Ashish Gupta) ULC403 : Unit-II 33 / 48
Fixed-tuple sized formulation
■ Each solution can be represented by an n-tuple (x1 , x2 , . . . , xn ) such
that xi ∈ {0,1} 1≤ i ≤ n.
• xi =0 if wi is not chosen and xi =1 if wi is chosen.
• Solutions: (1,1,0,1) and (0,0,1,1)
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
(DAA, Dr. Ashish Gupta) ULC403 : Unit-II 34 / 48
Fixed-tuple sized formulation
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
(DAA, Dr. Ashish Gupta) ULC403 : Unit-II 36 / 48
Sum of subsets: Bounding function
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
(DAA, Dr. Ashish Gupta) ULC403 : Unit-II 37 / 48
Bounding function in action
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
(DAA, Dr. Ashish Gupta) ULC403 : Unit-II 38 / 48
Recursive backtracking: SoS
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
(DAA, Dr. Ashish Gupta) ULC403 : Unit-II 39 / 48
SoS: Recursive calls in backtracking
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
(DAA, Dr. Ashish Gupta) ULC403 : Unit-II 40 / 48
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
(DAA, Dr. Ashish Gupta) ULC403 : Unit-II 41 / 48