SlideShare une entreprise Scribd logo
1  sur  13
Backtracking(DAA)
1 Jaydeep Patil (AISSMS IOIT)
Backtracking
 Backtracking is a technique used to solve problems
with a large search space, by systematically trying
and eliminating possibilities.
 A standard example of backtracking would be going
through a maze.
 At some point in a maze, you might have two options
of which direction to go:
Portion A
PortionB
2 Jaydeep Patil (AISSMS IOIT)
Backtracking
Portion B
PortionA
 One strategy would
be to try going through
Portion A of the maze.
 If you get stuck before
you find your way out,
then you "backtrack"
to the junction.
 At this point in time you
know that Portion A
will NOT lead you out
of the maze,
 so you then start
searching in Portion B
3 Jaydeep Patil (AISSMS IOIT)
Backtracking
 Clearly, at a single junction
you could have even more
than 2 choices.
 The backtracking strategy
says to try each choice,
one after the other,
 if you ever get stuck,
"backtrack" to the
junction and try the next
choice.
 If you try all choices and
never found a way out,
B
C
A
4 Jaydeep Patil (AISSMS IOIT)
Backtracking – Eight Queens
Problem
 Find an arrangement of 8
queens on a single chess
board such that no two
queens are attacking one
another.
 In chess, queens can move
all the way down any row,
column or diagonal (so long
as no pieces are in the
way).
 Due to the first two
restrictions, it's clear that
each row and column of the5 Jaydeep Patil (AISSMS IOIT)
Backtracking – Eight Queens
Problem
 The backtracking strategy is
as follows:
1) Place a queen on the first
available square in row 1.
2) Move onto the next row,
placing a queen on the first
available square there (that
doesn't conflict with the
previously placed queens).
3) Continue in this fashion until
either:
a) you have solved the problem,
or
b) you get stuck.
 When you get stuck,
remove the queens that got
Animated Example:
http://www.hbmeyer.de/backtrac
k/achtdamen/eight.htm#up
Q
Q
Q
Q
Q Q
Continue…
6 Jaydeep Patil (AISSMS IOIT)
Backtracking – Eight Queens
Problem
 When we carry out backtracking, an easy way
to visualize what is going on is a tree that
shows all the different possibilities that have
been tried.
 On the board we will show a visual
representation of solving the 4 Queens problem
(placing 4 queens on a 4x4 board where no two
attack one another).
7 Jaydeep Patil (AISSMS IOIT)
Backtracking – Eight Queens
Problem
 The neat thing about coding up backtracking, is
that it can be done recursively, without having to
do all the bookkeeping at once.
 Instead, the stack or recursive calls does most of
the bookkeeping
 (ie, keeping track of which queens we've placed,
and which combinations we've tried so far, etc.)
8 Jaydeep Patil (AISSMS IOIT)
void solveItRec(int perm[], int location, struct onesquare usedList[]) {
if (location == SIZE) {
printSol(perm);
}
for (int i=0; i<SIZE; i++) {
if (usedList[i] == false) {
if (!conflict(perm, location, i)) {
perm[location] = i;
usedList[i] = true;
solveItRec(perm, location+1, usedList);
usedList[i] = false;
}
}
}
}
perm[] - stores a valid permutation of queens from index 0 to location-1.
location – the column we are placing the next queen
usedList[] – keeps track of the rows in which the queens have already been placed.
Found a solution to the problem, so print it!
Loop through possible rows to place this queen.
Only try this row if it hasn’t been used
Check if this position conflicts with any
previous queens on the diagonal
1) mark the queen in this row
2) mark the row as used
3) solve the next column
location recursively
4) un-mark the row as used, so
we can get ALL possible valid
solutions.
9 Jaydeep Patil (AISSMS IOIT)
Backtracking – 8 queens problem - Analysis
 Another possible brute-force algorithm is generate the
permutations of the numbers 1 through 8 (of which there are
8! = 40,320),
 and uses the elements of each permutation as indices to place a
queen on each row.
 Then it rejects those boards with diagonal attacking positions.
 The backtracking algorithm, is a slight improvement on the
permutation method,
 constructs the search tree by considering one row of the board at
a time, eliminating most non-solution board positions at a very
early stage in their construction.
 Because it rejects row and diagonal attacks even on incomplete
boards, it examines only 15,720 possible queen placements.
 A further improvement which examines only 5,508 possible
queen placements is to combine the permutation based
method with the early pruning method:
 The permutations are generated depth-first, and the search space
is pruned if the partial permutation produces a diagonal attack
10 Jaydeep Patil (AISSMS IOIT)
Sudoku and Backtracking
 Another common puzzle that can be solved by
backtracking is a Sudoku puzzle.
 The basic idea behind the solution is as follows:
1) Scan the board to look for an empty square that could
take on the fewest possible values based on the
simple game constraints.
2) If you find a square that can only be one possible
value, fill it in with that one value and continue the
algorithm.
3) If no such square exists, place one of the possible
numbers for that square in the number and repeat the
process.
4) If you ever get stuck, erase the last number placed
and see if there are other possible choices for that
slot and try those next.
11 Jaydeep Patil (AISSMS IOIT)
Mazes and Backtracking
 A final example of something that can be solved
using backtracking is a maze.
 From your start point, you will iterate through each
possible starting move.
 From there, you recursively move forward.
 If you ever get stuck, the recursion takes you back to
where you were, and you try the next possible move.
 In dealing with a maze, to make sure you don't try
too many possibilities,
 one should mark which locations in the maze have
been visited already so that no location in the maze
gets visited twice.
 (If a place has already been visited, there is no point12 Jaydeep Patil (AISSMS IOIT)
Backtracking – optional homework
problem
 Determine how many solutions there are to the 5
queens problem.
 Demonstrate backtracking for at least 2 solutions to
the 5 queens problem, by tracing through the
decision tree as shown in class.
13 Jaydeep Patil (AISSMS IOIT)

Contenu connexe

Tendances

daa-unit-3-greedy method
daa-unit-3-greedy methoddaa-unit-3-greedy method
daa-unit-3-greedy method
hodcsencet
 
01 knapsack using backtracking
01 knapsack using backtracking01 knapsack using backtracking
01 knapsack using backtracking
mandlapure
 
All pairs shortest path algorithm
All pairs shortest path algorithmAll pairs shortest path algorithm
All pairs shortest path algorithm
Srikrishnan Suresh
 

Tendances (20)

Branch and bound
Branch and boundBranch and bound
Branch and bound
 
0 1 knapsack using branch and bound
0 1 knapsack using branch and bound0 1 knapsack using branch and bound
0 1 knapsack using branch and bound
 
data structures- back tracking
data structures- back trackingdata structures- back tracking
data structures- back tracking
 
backtracking algorithms of ada
backtracking algorithms of adabacktracking algorithms of ada
backtracking algorithms of ada
 
daa-unit-3-greedy method
daa-unit-3-greedy methoddaa-unit-3-greedy method
daa-unit-3-greedy method
 
AI_Session 7 Greedy Best first search algorithm.pptx
AI_Session 7 Greedy Best first search algorithm.pptxAI_Session 7 Greedy Best first search algorithm.pptx
AI_Session 7 Greedy Best first search algorithm.pptx
 
N Queens problem
N Queens problemN Queens problem
N Queens problem
 
sum of subset problem using Backtracking
sum of subset problem using Backtrackingsum of subset problem using Backtracking
sum of subset problem using Backtracking
 
Knapsack problem algorithm, greedy algorithm
Knapsack problem algorithm, greedy algorithmKnapsack problem algorithm, greedy algorithm
Knapsack problem algorithm, greedy algorithm
 
8 queen problem
8 queen problem8 queen problem
8 queen problem
 
Artificial Intelligence Searching Techniques
Artificial Intelligence Searching TechniquesArtificial Intelligence Searching Techniques
Artificial Intelligence Searching Techniques
 
N Queen Algorithm
N Queen AlgorithmN Queen Algorithm
N Queen Algorithm
 
01 knapsack using backtracking
01 knapsack using backtracking01 knapsack using backtracking
01 knapsack using backtracking
 
All pairs shortest path algorithm
All pairs shortest path algorithmAll pairs shortest path algorithm
All pairs shortest path algorithm
 
Knapsack
KnapsackKnapsack
Knapsack
 
Knapsack problem
Knapsack problemKnapsack problem
Knapsack problem
 
Bellman Ford's Algorithm
Bellman Ford's AlgorithmBellman Ford's Algorithm
Bellman Ford's Algorithm
 
Dynamic Programming-Knapsack Problem
Dynamic Programming-Knapsack ProblemDynamic Programming-Knapsack Problem
Dynamic Programming-Knapsack Problem
 
Greedy algorithms
Greedy algorithmsGreedy algorithms
Greedy algorithms
 
Unit3:Informed and Uninformed search
Unit3:Informed and Uninformed searchUnit3:Informed and Uninformed search
Unit3:Informed and Uninformed search
 

Similaire à Backtracking

Back tracking and branch and bound class 20
Back tracking and branch and bound class 20Back tracking and branch and bound class 20
Back tracking and branch and bound class 20
Kumar
 
Requirements Use JavaDo Not Use RecursionDo Not Use Array Lis.pdf
Requirements Use JavaDo Not Use RecursionDo Not Use Array Lis.pdfRequirements Use JavaDo Not Use RecursionDo Not Use Array Lis.pdf
Requirements Use JavaDo Not Use RecursionDo Not Use Array Lis.pdf
alphaagenciesindia
 
(Radhika) presentation on chapter 2 ai
(Radhika) presentation on chapter 2 ai(Radhika) presentation on chapter 2 ai
(Radhika) presentation on chapter 2 ai
Radhika Srinivasan
 
Queue- 8 Queen
Queue- 8 QueenQueue- 8 Queen
Queue- 8 Queen
Ha Ninh
 
380 Final Paper Battleship Optimization
380 Final Paper Battleship Optimization380 Final Paper Battleship Optimization
380 Final Paper Battleship Optimization
Steve Myrick
 
4 10 Notes B
4 10 Notes B4 10 Notes B
4 10 Notes B
mbetzel
 

Similaire à Backtracking (20)

Branch and bound
Branch and boundBranch and bound
Branch and bound
 
Back tracking and branch and bound class 20
Back tracking and branch and bound class 20Back tracking and branch and bound class 20
Back tracking and branch and bound class 20
 
Backtrack search-algorithm
Backtrack search-algorithmBacktrack search-algorithm
Backtrack search-algorithm
 
Backtracking Basics.pptx
Backtracking Basics.pptxBacktracking Basics.pptx
Backtracking Basics.pptx
 
Requirements Use JavaDo Not Use RecursionDo Not Use Array Lis.pdf
Requirements Use JavaDo Not Use RecursionDo Not Use Array Lis.pdfRequirements Use JavaDo Not Use RecursionDo Not Use Array Lis.pdf
Requirements Use JavaDo Not Use RecursionDo Not Use Array Lis.pdf
 
Backtrack-search-algorithm (2).pptx
Backtrack-search-algorithm (2).pptxBacktrack-search-algorithm (2).pptx
Backtrack-search-algorithm (2).pptx
 
Backtracking-N Queens Problem-Graph Coloring-Hamiltonian cycle
Backtracking-N Queens Problem-Graph Coloring-Hamiltonian cycleBacktracking-N Queens Problem-Graph Coloring-Hamiltonian cycle
Backtracking-N Queens Problem-Graph Coloring-Hamiltonian cycle
 
INTERVIEW TIPS HOW TO TACKLE SOFT SKILLS INTELLIGENT AND SMART ANSWERS BY SOU...
INTERVIEW TIPS HOW TO TACKLE SOFT SKILLS INTELLIGENT AND SMART ANSWERS BY SOU...INTERVIEW TIPS HOW TO TACKLE SOFT SKILLS INTELLIGENT AND SMART ANSWERS BY SOU...
INTERVIEW TIPS HOW TO TACKLE SOFT SKILLS INTELLIGENT AND SMART ANSWERS BY SOU...
 
(Radhika) presentation on chapter 2 ai
(Radhika) presentation on chapter 2 ai(Radhika) presentation on chapter 2 ai
(Radhika) presentation on chapter 2 ai
 
Queue- 8 Queen
Queue- 8 QueenQueue- 8 Queen
Queue- 8 Queen
 
380 Final Paper Battleship Optimization
380 Final Paper Battleship Optimization380 Final Paper Battleship Optimization
380 Final Paper Battleship Optimization
 
module5_backtrackingnbranchnbound_2022.pdf
module5_backtrackingnbranchnbound_2022.pdfmodule5_backtrackingnbranchnbound_2022.pdf
module5_backtrackingnbranchnbound_2022.pdf
 
Back tracking
Back trackingBack tracking
Back tracking
 
5.5 back track
5.5 back track5.5 back track
5.5 back track
 
AIMA_ch3_L2-complement.ppt kjekfkjekjfkjefkjefkjek
AIMA_ch3_L2-complement.ppt kjekfkjekjfkjefkjefkjekAIMA_ch3_L2-complement.ppt kjekfkjekjfkjefkjefkjek
AIMA_ch3_L2-complement.ppt kjekfkjekjfkjefkjefkjek
 
Parallel search
Parallel searchParallel search
Parallel search
 
Matrices
MatricesMatrices
Matrices
 
4 10 Notes B
4 10 Notes B4 10 Notes B
4 10 Notes B
 
Lec10-CS110 Computational Engineering
Lec10-CS110 Computational EngineeringLec10-CS110 Computational Engineering
Lec10-CS110 Computational Engineering
 
groovy & grails - lecture 8
groovy & grails - lecture 8groovy & grails - lecture 8
groovy & grails - lecture 8
 

Dernier

DeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesDeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakes
MayuraD1
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
MsecMca
 
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments""Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
mphochane1998
 
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...
+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...
+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...
Health
 

Dernier (20)

DeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesDeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakes
 
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced LoadsFEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
 
Block diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptBlock diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.ppt
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
Hostel management system project report..pdf
Hostel management system project report..pdfHostel management system project report..pdf
Hostel management system project report..pdf
 
Air Compressor reciprocating single stage
Air Compressor reciprocating single stageAir Compressor reciprocating single stage
Air Compressor reciprocating single stage
 
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments""Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leap
 
Bridge Jacking Design Sample Calculation.pptx
Bridge Jacking Design Sample Calculation.pptxBridge Jacking Design Sample Calculation.pptx
Bridge Jacking Design Sample Calculation.pptx
 
Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptx
 
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
 
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptxS1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
 
Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaIntroduction to Serverless with AWS Lambda
Introduction to Serverless with AWS Lambda
 
Online food ordering system project report.pdf
Online food ordering system project report.pdfOnline food ordering system project report.pdf
Online food ordering system project report.pdf
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the start
 
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
 
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best ServiceTamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...
+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...
+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...
 

Backtracking

  • 2. Backtracking  Backtracking is a technique used to solve problems with a large search space, by systematically trying and eliminating possibilities.  A standard example of backtracking would be going through a maze.  At some point in a maze, you might have two options of which direction to go: Portion A PortionB 2 Jaydeep Patil (AISSMS IOIT)
  • 3. Backtracking Portion B PortionA  One strategy would be to try going through Portion A of the maze.  If you get stuck before you find your way out, then you "backtrack" to the junction.  At this point in time you know that Portion A will NOT lead you out of the maze,  so you then start searching in Portion B 3 Jaydeep Patil (AISSMS IOIT)
  • 4. Backtracking  Clearly, at a single junction you could have even more than 2 choices.  The backtracking strategy says to try each choice, one after the other,  if you ever get stuck, "backtrack" to the junction and try the next choice.  If you try all choices and never found a way out, B C A 4 Jaydeep Patil (AISSMS IOIT)
  • 5. Backtracking – Eight Queens Problem  Find an arrangement of 8 queens on a single chess board such that no two queens are attacking one another.  In chess, queens can move all the way down any row, column or diagonal (so long as no pieces are in the way).  Due to the first two restrictions, it's clear that each row and column of the5 Jaydeep Patil (AISSMS IOIT)
  • 6. Backtracking – Eight Queens Problem  The backtracking strategy is as follows: 1) Place a queen on the first available square in row 1. 2) Move onto the next row, placing a queen on the first available square there (that doesn't conflict with the previously placed queens). 3) Continue in this fashion until either: a) you have solved the problem, or b) you get stuck.  When you get stuck, remove the queens that got Animated Example: http://www.hbmeyer.de/backtrac k/achtdamen/eight.htm#up Q Q Q Q Q Q Continue… 6 Jaydeep Patil (AISSMS IOIT)
  • 7. Backtracking – Eight Queens Problem  When we carry out backtracking, an easy way to visualize what is going on is a tree that shows all the different possibilities that have been tried.  On the board we will show a visual representation of solving the 4 Queens problem (placing 4 queens on a 4x4 board where no two attack one another). 7 Jaydeep Patil (AISSMS IOIT)
  • 8. Backtracking – Eight Queens Problem  The neat thing about coding up backtracking, is that it can be done recursively, without having to do all the bookkeeping at once.  Instead, the stack or recursive calls does most of the bookkeeping  (ie, keeping track of which queens we've placed, and which combinations we've tried so far, etc.) 8 Jaydeep Patil (AISSMS IOIT)
  • 9. void solveItRec(int perm[], int location, struct onesquare usedList[]) { if (location == SIZE) { printSol(perm); } for (int i=0; i<SIZE; i++) { if (usedList[i] == false) { if (!conflict(perm, location, i)) { perm[location] = i; usedList[i] = true; solveItRec(perm, location+1, usedList); usedList[i] = false; } } } } perm[] - stores a valid permutation of queens from index 0 to location-1. location – the column we are placing the next queen usedList[] – keeps track of the rows in which the queens have already been placed. Found a solution to the problem, so print it! Loop through possible rows to place this queen. Only try this row if it hasn’t been used Check if this position conflicts with any previous queens on the diagonal 1) mark the queen in this row 2) mark the row as used 3) solve the next column location recursively 4) un-mark the row as used, so we can get ALL possible valid solutions. 9 Jaydeep Patil (AISSMS IOIT)
  • 10. Backtracking – 8 queens problem - Analysis  Another possible brute-force algorithm is generate the permutations of the numbers 1 through 8 (of which there are 8! = 40,320),  and uses the elements of each permutation as indices to place a queen on each row.  Then it rejects those boards with diagonal attacking positions.  The backtracking algorithm, is a slight improvement on the permutation method,  constructs the search tree by considering one row of the board at a time, eliminating most non-solution board positions at a very early stage in their construction.  Because it rejects row and diagonal attacks even on incomplete boards, it examines only 15,720 possible queen placements.  A further improvement which examines only 5,508 possible queen placements is to combine the permutation based method with the early pruning method:  The permutations are generated depth-first, and the search space is pruned if the partial permutation produces a diagonal attack 10 Jaydeep Patil (AISSMS IOIT)
  • 11. Sudoku and Backtracking  Another common puzzle that can be solved by backtracking is a Sudoku puzzle.  The basic idea behind the solution is as follows: 1) Scan the board to look for an empty square that could take on the fewest possible values based on the simple game constraints. 2) If you find a square that can only be one possible value, fill it in with that one value and continue the algorithm. 3) If no such square exists, place one of the possible numbers for that square in the number and repeat the process. 4) If you ever get stuck, erase the last number placed and see if there are other possible choices for that slot and try those next. 11 Jaydeep Patil (AISSMS IOIT)
  • 12. Mazes and Backtracking  A final example of something that can be solved using backtracking is a maze.  From your start point, you will iterate through each possible starting move.  From there, you recursively move forward.  If you ever get stuck, the recursion takes you back to where you were, and you try the next possible move.  In dealing with a maze, to make sure you don't try too many possibilities,  one should mark which locations in the maze have been visited already so that no location in the maze gets visited twice.  (If a place has already been visited, there is no point12 Jaydeep Patil (AISSMS IOIT)
  • 13. Backtracking – optional homework problem  Determine how many solutions there are to the 5 queens problem.  Demonstrate backtracking for at least 2 solutions to the 5 queens problem, by tracing through the decision tree as shown in class. 13 Jaydeep Patil (AISSMS IOIT)