SlideShare a Scribd company logo
Backtracking:
Technique & Examples
By,
Fahim Ferdous
Back
Track
Yes Solution
No Solution
Backtracking
History
• ‘Backtrack’ the Word was first introduced by Dr. D.H.
Lehmer in 1950s.
• R.J Walker Was the First man who gave algorithmic
description in 1960.
• Later developed by S. Golamb and L. Baumert.
Backtracking
• What is Backtracking?
----- Backtracking is nothing but the modified process of the brute
force approach. where the technique systematically searches for a
solution to a problem among all available options. It does so by
assuming that the solutions are represented by vectors (v1, ..., in) of
values and by traversing through the domains of the vectors until
the solutions is found.
Backtracking
• The Algorithmic Approach
– Backtracking systematically try and search possibilities to find the
solution. Also it is an important process for solving constraint
satisfaction problem like crossword, Sudoku and many other puzzles. It
can be more continent technique for parsing other combinatorial
optimization problem.
– Basically the process is used when the problem has a number of option
and just one solution have to be selected. After having a new option set
means recursion, the procedure is repeated over and over until final
stage.
Backtracking
Algorithm Backtrack (v1,Vi)
If (V1,……., Vi) is a Solution Then
Return (V1,…, Vi)
For each v DO
If (V1,…….,Vi) is acceptable vector THEN
Sol = try (V1,…,Vi, V)
If sol != () Then
RETURN sol
End
End
Return ( )
Backtracking
• Advantages
– Comparison with the Dynamic Programming, Backtracking Approach is more effective in some cases.
– Backtracking Algorithm is the best option for solving tactical problem.
– Also Backtracking is effective for constraint satisfaction problem.
– In greedy Algorithm, getting the Global Optimal Solution is a long procedure and depends on user
statements but in Backtracking It Can Easily getable.
– Backtracking technique is simple to implement and easy to code.
– Different states are stored into stack so that the data or Info can be usable anytime.
– The accuracy is granted.
Backtracking
• Disadvantages
– Backtracking Approach is not efficient for solving strategic Problem.
– The overall runtime of Backtracking Algorithm is normally slow
– To solve Large Problem Sometime it needs to take the help of other
techniques like Branch and bound.
– Need Large amount of memory space for storing different state function
in the stack for big problem.
– Thrashing is one of the main problem of Backtracking.
– The Basic Approach Detects the conflicts too late.
Backtracking
• Application of Backtracking
• Optimization and tactical problems
• Constraints Satisfaction Problem
• Electrical Engineering
• Robotics
• Artificial Intelligence
• Genetic and bioinformatics Algorithm
• Materials Engineering
• Network Communication
• Solving puzzles and path
Backtracking
• Some Problem Solved with Backtracking Technique
– N- Queens Problem
– Sum of Subset
– Sudoku Puzzle
– Maze Generation
– Hamiltonian Cycle
N-Queens Problem
• History:
First Introduced in 1848 which was known as 8- queens Puzzle. Surprisingly,
The First Solution was created in 1950 by Franz Nauck. Nauck made an 8X8
Chessboard to find the first Feasible Solution.
N-Queens Problem
• Problem Description
In a NxN square board N – number of queens need to be
placed considering three Condition ---
• No two Queens can be placed in same row.
• No two Queens Can be places in same Column
• No two queens Can be placed in same Diagonal.
N-Queens Problem
• Backtracking approach for solution
- - The Algorithm will check each position [i , j] for each queens . If any Suitable places found , It will
place a queen on that position. If not Algorithm will try same approach for next position.
Algorithm Nqueen(K,n){
For i= 1 to n {
If Place(K,i){
X[k] = I;
If(k = n) then
Write x[1:n];
Else
Nqueen(k+1, n) ;
}
}
}
Place(k,i){
For j=1 to k-1{
If((x[j] = i) or abs(x[j] – 1 = abs(j-k)))
Return false;
}
Return true;
}
N-Queens Problem
Maze Generation
Problem Description
A N X N board is made in a way So that 1 or 0 can be placed in
each box where 1 is for valid path for moving towards exit and 0 is
the Closed path. Now, by using Backtracking Algorithm The path to
the exit need to be find.
Maze Generation
• -- Algorithm will try to follow the box which has the value 1 and
generate a path. Again, it will check for 1 at the next box. If not
found it will go through next box. If entire row is complete, then it will
move to the next row and look for 1.
Maze Generation
• Solution Using Backtracking Technique
Algorithm Maze_Gen(graph){
If(Maze_operator(graph, x,y, canvas)
== false)
Write (“No result”);
Return false;
Print_Result(canvas);
Return true;
}
Algorithm Maze_operator(graph, x,y, canvas){
If(x ==N-1 && y == N-1){
Canvas[x][y] = 1;
Return true;
}
If(IsSafe(graph, x,y) == true){
Canvas[x][y] = 1;
If(Maze_operator(graph, x+1,y, canvas))
Return true;
If(Maze_operator(graph, x,y+1, canvas))
Return true;
Canvas [x][y] = 0;
Return true;
}
Return false;
}
Maze Generation
Hamiltonian Cycle
Hamiltonian Cycle is a graph theory problem where the graph cycle
through a graph can visit each node only once. The puzzle was first
devised by Sir William Rowan Hamilton and the Problem is named after
Him.
Condition: The Cycle Started with a Starting Node, and visit all the Nodes in the Graph
(Not necessary to visit in sequential Order and not creating edge that is not given) And
Stop at The Starting Point/Node.
Hamiltonian Cycle
• The Backtracking Approach
The Algorithm First Check the Starting Node, if there is any edge to the next node. If
yes, then the Algorithm will check that node for the edge to the next Node. It will Also
Check If any Node is visited twice by the previous Node. If there is any then the
Algorithm Will Ignore One and Choose the Optimal One for the Solution.
 The Important thing is the tour must finish at the starting point.
Hamiltonian Cycle
Algorithm Hamilton_Cycle(k){
Repeat{
NextVal(k);
If(x[k]==0) then
Return;
If (k ==n) then
Write (x[1:n]);
Else
Hamilton_Cycle(k+1);
}
Until (false);
}
AlgortihmNextVal(k){
Repeat{
X[k] = (x[k]+1) mod (n+1);
If(x[k]=0) then return;
If (G[x[k-1],x[k]] != 0 ) then{
For j = 1 to k-1 do
If(x[j]=x[k]) then
Break;
If(j = k) then
If ((k<n or k=n) && G[x[n],x[1]] != 0)
Then return;
}
}
Until (false);
}
Hamiltonian Cycle
Sudoku Puzzle
• The Word ‘Sudoku’ is a Japanese Word. But The Sudoku Puzzle Was First
Invented in Switzerland
• In a N X N Square Board, The Numbers 1 to N to be Placed in a way that:
– All the Number from 1 to N can be Placed in each row.
– All the Number from 1 to N can be Placed in each Column.
– All The Number from 1 to N Can be Placed in Sub Square boxes of the given box.
Sudoku Puzzle
• Backtracking Approach
The Algorithm Will Check Each Box’s value if the value is in the same
row, or same column or same sub-square box. If not,then it placed the value
in the box. And go to the next box for the next value, and check the Above
Condition. If there is any duplicate value, then The Algorithm check for the
next value.
Sudoku Puzzle
Algorithm Sudoku_Solver(canvas, row,
col){
If(anyEmptyLocation(canvas, row, col))
Return true;
For I = 1 to n do, {
If (find_location(canvas, row,col, i))
{
Canvas[row][col] = i;
If (Sudoku_Solver(canvas))
Return true;
Canvas [row][col] = -1;
}
}
Return false;
}
Sum of Subset
• The Sum of Subset Problem is, there will be a set of distinct positive
Numbers X and a given Number N. Now, we have to find all the
combination of numbers from X that sum up to N. Make a Set of
those Number.
W = {4,5,6,3}
M = 13
Sum of Subset
Sum of Subset
• Backtracking Approach
First, organize the numbers in non decreasing order. Then generating a tree, we
can find the solution by adding the weight of the nodes. Note that, here more than
necessary nodes can be generated. The algorithm will search for the weighted amount
of the nodes. If it goes beyond given Number N, then it stops generating nodes and
move to other parent nodes for finding solution.
Algorithm SumOfSubset(s,k,y){
X[k] = 1;
If(s+w[k] = m)
Write (x[1:n]);
Else if((s+w[k] + w[k+1]) <= m)
SumOfSubset(s+w[k], k+1, y-w[k]);
If ((s+ y-w[k]>=m) &&(s =w[k+1] <=m)) {
X[k] =0;
SumOfSubset(s,k+1,y-w[k]);
}
}
Sum of Subset
Here M = 53
W = {8,9,14,15,16,22}
References
• Chapter 6, Backtracking, Design and Analysis of Algorithms – V.V. Muniswami
• Chapter – 4, Non- Chronological Backtracking, Handbook on Constraint Programming – F.
Rossi, Van Beek
• web.cse.ohio-state.edu/~gurari/course/cis680/cis680Ch19.html
• www.classle.net/faq/comparisons-divide-and-conquergreedy-methoddynamic-
programmingbacktracking-and-branch-and-bound-
• Backtracking algorithms for constraint satisfaction problems; a survey
R. Dechter, D. Frost, in Constraints, International Journal, 1998.
• Bessiere C., Maestre A., Meseguer P., Distributed dynamic backtracking, in M.C. Silaghi, editor,
Proceedings of the IJCAI’01 workshop on Distributed Constraint Reasoning, Seattle WA,
2001, pp. 9–16.
• A First Look at Graph Theory – Jhon Clark, Allan Holton
• Principles and Practice of Constraint Programming- CP 2001: 7th International Conference,
CP 2001, Paphos, Cyprus, November 26 - December 1, 2001
Thank you!!

More Related Content

What's hot

The n Queen Problem
The n Queen ProblemThe n Queen Problem
The n Queen Problem
Sukrit Gupta
 
Problems, Problem spaces and Search
Problems, Problem spaces and SearchProblems, Problem spaces and Search
Problems, Problem spaces and Search
BMS Institute of Technology and Management
 
sum of subset problem using Backtracking
sum of subset problem using Backtrackingsum of subset problem using Backtracking
sum of subset problem using Backtracking
Abhishek Singh
 
8 queen problem
8 queen problem8 queen problem
8 queen problem
NagajothiN1
 
Backtracking Algorithm.ppt
Backtracking Algorithm.pptBacktracking Algorithm.ppt
Backtracking Algorithm.ppt
SalmIbrahimIlyas
 
State Space Representation and Search
State Space Representation and SearchState Space Representation and Search
State Space Representation and Search
Hitesh Mohapatra
 
Minmax Algorithm In Artificial Intelligence slides
Minmax Algorithm In Artificial Intelligence slidesMinmax Algorithm In Artificial Intelligence slides
Minmax Algorithm In Artificial Intelligence slides
SamiaAziz4
 
search strategies in artificial intelligence
search strategies in artificial intelligencesearch strategies in artificial intelligence
search strategies in artificial intelligence
Hanif Ullah (Gold Medalist)
 
Informed and Uninformed search Strategies
Informed and Uninformed search StrategiesInformed and Uninformed search Strategies
Informed and Uninformed search Strategies
Amey Kerkar
 
Greedy Algorihm
Greedy AlgorihmGreedy Algorihm
Greedy Algorihm
Muhammad Amjad Rana
 
Hill climbing algorithm in artificial intelligence
Hill climbing algorithm in artificial intelligenceHill climbing algorithm in artificial intelligence
Hill climbing algorithm in artificial intelligence
sandeep54552
 
And or graph
And or graphAnd or graph
And or graph
Ali A Jalil
 
Problem reduction AND OR GRAPH & AO* algorithm.ppt
Problem reduction AND OR GRAPH & AO* algorithm.pptProblem reduction AND OR GRAPH & AO* algorithm.ppt
Problem reduction AND OR GRAPH & AO* algorithm.ppt
arunsingh660
 
A* Algorithm
A* AlgorithmA* Algorithm
A* Algorithm
Dr. C.V. Suresh Babu
 
daa-unit-3-greedy method
daa-unit-3-greedy methoddaa-unit-3-greedy method
daa-unit-3-greedy method
hodcsencet
 
Divide and conquer
Divide and conquerDivide and conquer
Divide and conquer
Dr Shashikant Athawale
 
Greedy algorithms
Greedy algorithmsGreedy algorithms
Greedy algorithms
sandeep54552
 
Artificial Intelligence Searching Techniques
Artificial Intelligence Searching TechniquesArtificial Intelligence Searching Techniques
Artificial Intelligence Searching Techniques
Dr. C.V. Suresh Babu
 
Lecture 21 problem reduction search ao star search
Lecture 21 problem reduction search ao star searchLecture 21 problem reduction search ao star search
Lecture 21 problem reduction search ao star search
Hema Kashyap
 

What's hot (20)

The n Queen Problem
The n Queen ProblemThe n Queen Problem
The n Queen Problem
 
Problems, Problem spaces and Search
Problems, Problem spaces and SearchProblems, Problem spaces and Search
Problems, Problem spaces and Search
 
sum of subset problem using Backtracking
sum of subset problem using Backtrackingsum of subset problem using Backtracking
sum of subset problem using Backtracking
 
8 queen problem
8 queen problem8 queen problem
8 queen problem
 
Backtracking Algorithm.ppt
Backtracking Algorithm.pptBacktracking Algorithm.ppt
Backtracking Algorithm.ppt
 
State Space Representation and Search
State Space Representation and SearchState Space Representation and Search
State Space Representation and Search
 
Minmax Algorithm In Artificial Intelligence slides
Minmax Algorithm In Artificial Intelligence slidesMinmax Algorithm In Artificial Intelligence slides
Minmax Algorithm In Artificial Intelligence slides
 
Hill climbing
Hill climbingHill climbing
Hill climbing
 
search strategies in artificial intelligence
search strategies in artificial intelligencesearch strategies in artificial intelligence
search strategies in artificial intelligence
 
Informed and Uninformed search Strategies
Informed and Uninformed search StrategiesInformed and Uninformed search Strategies
Informed and Uninformed search Strategies
 
Greedy Algorihm
Greedy AlgorihmGreedy Algorihm
Greedy Algorihm
 
Hill climbing algorithm in artificial intelligence
Hill climbing algorithm in artificial intelligenceHill climbing algorithm in artificial intelligence
Hill climbing algorithm in artificial intelligence
 
And or graph
And or graphAnd or graph
And or graph
 
Problem reduction AND OR GRAPH & AO* algorithm.ppt
Problem reduction AND OR GRAPH & AO* algorithm.pptProblem reduction AND OR GRAPH & AO* algorithm.ppt
Problem reduction AND OR GRAPH & AO* algorithm.ppt
 
A* Algorithm
A* AlgorithmA* Algorithm
A* Algorithm
 
daa-unit-3-greedy method
daa-unit-3-greedy methoddaa-unit-3-greedy method
daa-unit-3-greedy method
 
Divide and conquer
Divide and conquerDivide and conquer
Divide and conquer
 
Greedy algorithms
Greedy algorithmsGreedy algorithms
Greedy algorithms
 
Artificial Intelligence Searching Techniques
Artificial Intelligence Searching TechniquesArtificial Intelligence Searching Techniques
Artificial Intelligence Searching Techniques
 
Lecture 21 problem reduction search ao star search
Lecture 21 problem reduction search ao star searchLecture 21 problem reduction search ao star search
Lecture 21 problem reduction search ao star search
 

Similar to BackTracking Algorithm: Technique and Examples

Unit 4 jwfiles
Unit 4 jwfilesUnit 4 jwfiles
Unit 4 jwfiles
Nv Thejaswini
 
Data Analysis and Algorithms Lecture 1: Introduction
 Data Analysis and Algorithms Lecture 1: Introduction Data Analysis and Algorithms Lecture 1: Introduction
Data Analysis and Algorithms Lecture 1: Introduction
TayyabSattar5
 
module5_backtrackingnbranchnbound_2022.pdf
module5_backtrackingnbranchnbound_2022.pdfmodule5_backtrackingnbranchnbound_2022.pdf
module5_backtrackingnbranchnbound_2022.pdf
Shiwani Gupta
 
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
varun arora
 
backtracking 8 Queen.pptx
backtracking 8 Queen.pptxbacktracking 8 Queen.pptx
backtracking 8 Queen.pptx
JoshipavanEdduluru1
 
unit-4-dynamic programming
unit-4-dynamic programmingunit-4-dynamic programming
unit-4-dynamic programming
hodcsencet
 
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 20Kumar
 
Branch and bound
Branch and boundBranch and bound
Branch and bound
Acad
 
AAC ch 3 Advance strategies (Dynamic Programming).pptx
AAC ch 3 Advance strategies (Dynamic Programming).pptxAAC ch 3 Advance strategies (Dynamic Programming).pptx
AAC ch 3 Advance strategies (Dynamic Programming).pptx
HarshitSingh334328
 
5.5 back track
5.5 back track5.5 back track
5.5 back track
Krish_ver2
 
Optimization problems
Optimization problemsOptimization problems
Optimization problems
Ruchika Sinha
 
Parallel_Algorithms_In_Combinatorial_Optimization_Problems.ppt
Parallel_Algorithms_In_Combinatorial_Optimization_Problems.pptParallel_Algorithms_In_Combinatorial_Optimization_Problems.ppt
Parallel_Algorithms_In_Combinatorial_Optimization_Problems.ppt
BinayakMukherjee4
 
Undecidable Problems - COPING WITH THE LIMITATIONS OF ALGORITHM POWER
Undecidable Problems - COPING WITH THE LIMITATIONS OF ALGORITHM POWERUndecidable Problems - COPING WITH THE LIMITATIONS OF ALGORITHM POWER
Undecidable Problems - COPING WITH THE LIMITATIONS OF ALGORITHM POWER
muthukrishnavinayaga
 
Knapsack problem using fixed tuple
Knapsack problem using fixed tupleKnapsack problem using fixed tuple
Knapsack problem using fixed tuple
Mohanlal Sukhadia University (MLSU)
 
Unit 3- Greedy Method.pptx
Unit 3- Greedy Method.pptxUnit 3- Greedy Method.pptx
Unit 3- Greedy Method.pptx
MaryJacob24
 
Undecidable Problems and Approximation Algorithms
Undecidable Problems and Approximation AlgorithmsUndecidable Problems and Approximation Algorithms
Undecidable Problems and Approximation Algorithms
Muthu Vinayagam
 
Parallel_Algorithms_In_Combinatorial_Optimization_Problems.ppt
Parallel_Algorithms_In_Combinatorial_Optimization_Problems.pptParallel_Algorithms_In_Combinatorial_Optimization_Problems.ppt
Parallel_Algorithms_In_Combinatorial_Optimization_Problems.ppt
dakccse
 
Sudoku
SudokuSudoku
Sudoku
Yara Ali
 
N-queens.pptx
N-queens.pptxN-queens.pptx
N-queens.pptx
anoop2708
 

Similar to BackTracking Algorithm: Technique and Examples (20)

algorithm Unit 4
algorithm Unit 4 algorithm Unit 4
algorithm Unit 4
 
Unit 4 jwfiles
Unit 4 jwfilesUnit 4 jwfiles
Unit 4 jwfiles
 
Data Analysis and Algorithms Lecture 1: Introduction
 Data Analysis and Algorithms Lecture 1: Introduction Data Analysis and Algorithms Lecture 1: Introduction
Data Analysis and Algorithms Lecture 1: Introduction
 
module5_backtrackingnbranchnbound_2022.pdf
module5_backtrackingnbranchnbound_2022.pdfmodule5_backtrackingnbranchnbound_2022.pdf
module5_backtrackingnbranchnbound_2022.pdf
 
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
 
backtracking 8 Queen.pptx
backtracking 8 Queen.pptxbacktracking 8 Queen.pptx
backtracking 8 Queen.pptx
 
unit-4-dynamic programming
unit-4-dynamic programmingunit-4-dynamic programming
unit-4-dynamic programming
 
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
 
Branch and bound
Branch and boundBranch and bound
Branch and bound
 
AAC ch 3 Advance strategies (Dynamic Programming).pptx
AAC ch 3 Advance strategies (Dynamic Programming).pptxAAC ch 3 Advance strategies (Dynamic Programming).pptx
AAC ch 3 Advance strategies (Dynamic Programming).pptx
 
5.5 back track
5.5 back track5.5 back track
5.5 back track
 
Optimization problems
Optimization problemsOptimization problems
Optimization problems
 
Parallel_Algorithms_In_Combinatorial_Optimization_Problems.ppt
Parallel_Algorithms_In_Combinatorial_Optimization_Problems.pptParallel_Algorithms_In_Combinatorial_Optimization_Problems.ppt
Parallel_Algorithms_In_Combinatorial_Optimization_Problems.ppt
 
Undecidable Problems - COPING WITH THE LIMITATIONS OF ALGORITHM POWER
Undecidable Problems - COPING WITH THE LIMITATIONS OF ALGORITHM POWERUndecidable Problems - COPING WITH THE LIMITATIONS OF ALGORITHM POWER
Undecidable Problems - COPING WITH THE LIMITATIONS OF ALGORITHM POWER
 
Knapsack problem using fixed tuple
Knapsack problem using fixed tupleKnapsack problem using fixed tuple
Knapsack problem using fixed tuple
 
Unit 3- Greedy Method.pptx
Unit 3- Greedy Method.pptxUnit 3- Greedy Method.pptx
Unit 3- Greedy Method.pptx
 
Undecidable Problems and Approximation Algorithms
Undecidable Problems and Approximation AlgorithmsUndecidable Problems and Approximation Algorithms
Undecidable Problems and Approximation Algorithms
 
Parallel_Algorithms_In_Combinatorial_Optimization_Problems.ppt
Parallel_Algorithms_In_Combinatorial_Optimization_Problems.pptParallel_Algorithms_In_Combinatorial_Optimization_Problems.ppt
Parallel_Algorithms_In_Combinatorial_Optimization_Problems.ppt
 
Sudoku
SudokuSudoku
Sudoku
 
N-queens.pptx
N-queens.pptxN-queens.pptx
N-queens.pptx
 

Recently uploaded

做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样
做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样
做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样
axoqas
 
一比一原版(QU毕业证)皇后大学毕业证成绩单
一比一原版(QU毕业证)皇后大学毕业证成绩单一比一原版(QU毕业证)皇后大学毕业证成绩单
一比一原版(QU毕业证)皇后大学毕业证成绩单
enxupq
 
Investigate & Recover / StarCompliance.io / Crypto_Crimes
Investigate & Recover / StarCompliance.io / Crypto_CrimesInvestigate & Recover / StarCompliance.io / Crypto_Crimes
Investigate & Recover / StarCompliance.io / Crypto_Crimes
StarCompliance.io
 
一比一原版(CU毕业证)卡尔顿大学毕业证成绩单
一比一原版(CU毕业证)卡尔顿大学毕业证成绩单一比一原版(CU毕业证)卡尔顿大学毕业证成绩单
一比一原版(CU毕业证)卡尔顿大学毕业证成绩单
yhkoc
 
Criminal IP - Threat Hunting Webinar.pdf
Criminal IP - Threat Hunting Webinar.pdfCriminal IP - Threat Hunting Webinar.pdf
Criminal IP - Threat Hunting Webinar.pdf
Criminal IP
 
Malana- Gimlet Market Analysis (Portfolio 2)
Malana- Gimlet Market Analysis (Portfolio 2)Malana- Gimlet Market Analysis (Portfolio 2)
Malana- Gimlet Market Analysis (Portfolio 2)
TravisMalana
 
一比一原版(NYU毕业证)纽约大学毕业证成绩单
一比一原版(NYU毕业证)纽约大学毕业证成绩单一比一原版(NYU毕业证)纽约大学毕业证成绩单
一比一原版(NYU毕业证)纽约大学毕业证成绩单
ewymefz
 
一比一原版(CBU毕业证)不列颠海角大学毕业证成绩单
一比一原版(CBU毕业证)不列颠海角大学毕业证成绩单一比一原版(CBU毕业证)不列颠海角大学毕业证成绩单
一比一原版(CBU毕业证)不列颠海角大学毕业证成绩单
nscud
 
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单
ewymefz
 
【社内勉強会資料_Octo: An Open-Source Generalist Robot Policy】
【社内勉強会資料_Octo: An Open-Source Generalist Robot Policy】【社内勉強会資料_Octo: An Open-Source Generalist Robot Policy】
【社内勉強会資料_Octo: An Open-Source Generalist Robot Policy】
NABLAS株式会社
 
Innovative Methods in Media and Communication Research by Sebastian Kubitschk...
Innovative Methods in Media and Communication Research by Sebastian Kubitschk...Innovative Methods in Media and Communication Research by Sebastian Kubitschk...
Innovative Methods in Media and Communication Research by Sebastian Kubitschk...
correoyaya
 
Best best suvichar in gujarati english meaning of this sentence as Silk road ...
Best best suvichar in gujarati english meaning of this sentence as Silk road ...Best best suvichar in gujarati english meaning of this sentence as Silk road ...
Best best suvichar in gujarati english meaning of this sentence as Silk road ...
AbhimanyuSinha9
 
Empowering Data Analytics Ecosystem.pptx
Empowering Data Analytics Ecosystem.pptxEmpowering Data Analytics Ecosystem.pptx
Empowering Data Analytics Ecosystem.pptx
benishzehra469
 
Sample_Global Non-invasive Prenatal Testing (NIPT) Market, 2019-2030.pdf
Sample_Global Non-invasive Prenatal Testing (NIPT) Market, 2019-2030.pdfSample_Global Non-invasive Prenatal Testing (NIPT) Market, 2019-2030.pdf
Sample_Global Non-invasive Prenatal Testing (NIPT) Market, 2019-2030.pdf
Linda486226
 
Predicting Product Ad Campaign Performance: A Data Analysis Project Presentation
Predicting Product Ad Campaign Performance: A Data Analysis Project PresentationPredicting Product Ad Campaign Performance: A Data Analysis Project Presentation
Predicting Product Ad Campaign Performance: A Data Analysis Project Presentation
Boston Institute of Analytics
 
Tabula.io Cheatsheet: automate your data workflows
Tabula.io Cheatsheet: automate your data workflowsTabula.io Cheatsheet: automate your data workflows
Tabula.io Cheatsheet: automate your data workflows
alex933524
 
哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样
哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样
哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样
axoqas
 
Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...
Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...
Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...
John Andrews
 
一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单
一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单
一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单
ewymefz
 
Business update Q1 2024 Lar España Real Estate SOCIMI
Business update Q1 2024 Lar España Real Estate SOCIMIBusiness update Q1 2024 Lar España Real Estate SOCIMI
Business update Q1 2024 Lar España Real Estate SOCIMI
AlejandraGmez176757
 

Recently uploaded (20)

做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样
做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样
做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样
 
一比一原版(QU毕业证)皇后大学毕业证成绩单
一比一原版(QU毕业证)皇后大学毕业证成绩单一比一原版(QU毕业证)皇后大学毕业证成绩单
一比一原版(QU毕业证)皇后大学毕业证成绩单
 
Investigate & Recover / StarCompliance.io / Crypto_Crimes
Investigate & Recover / StarCompliance.io / Crypto_CrimesInvestigate & Recover / StarCompliance.io / Crypto_Crimes
Investigate & Recover / StarCompliance.io / Crypto_Crimes
 
一比一原版(CU毕业证)卡尔顿大学毕业证成绩单
一比一原版(CU毕业证)卡尔顿大学毕业证成绩单一比一原版(CU毕业证)卡尔顿大学毕业证成绩单
一比一原版(CU毕业证)卡尔顿大学毕业证成绩单
 
Criminal IP - Threat Hunting Webinar.pdf
Criminal IP - Threat Hunting Webinar.pdfCriminal IP - Threat Hunting Webinar.pdf
Criminal IP - Threat Hunting Webinar.pdf
 
Malana- Gimlet Market Analysis (Portfolio 2)
Malana- Gimlet Market Analysis (Portfolio 2)Malana- Gimlet Market Analysis (Portfolio 2)
Malana- Gimlet Market Analysis (Portfolio 2)
 
一比一原版(NYU毕业证)纽约大学毕业证成绩单
一比一原版(NYU毕业证)纽约大学毕业证成绩单一比一原版(NYU毕业证)纽约大学毕业证成绩单
一比一原版(NYU毕业证)纽约大学毕业证成绩单
 
一比一原版(CBU毕业证)不列颠海角大学毕业证成绩单
一比一原版(CBU毕业证)不列颠海角大学毕业证成绩单一比一原版(CBU毕业证)不列颠海角大学毕业证成绩单
一比一原版(CBU毕业证)不列颠海角大学毕业证成绩单
 
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单
 
【社内勉強会資料_Octo: An Open-Source Generalist Robot Policy】
【社内勉強会資料_Octo: An Open-Source Generalist Robot Policy】【社内勉強会資料_Octo: An Open-Source Generalist Robot Policy】
【社内勉強会資料_Octo: An Open-Source Generalist Robot Policy】
 
Innovative Methods in Media and Communication Research by Sebastian Kubitschk...
Innovative Methods in Media and Communication Research by Sebastian Kubitschk...Innovative Methods in Media and Communication Research by Sebastian Kubitschk...
Innovative Methods in Media and Communication Research by Sebastian Kubitschk...
 
Best best suvichar in gujarati english meaning of this sentence as Silk road ...
Best best suvichar in gujarati english meaning of this sentence as Silk road ...Best best suvichar in gujarati english meaning of this sentence as Silk road ...
Best best suvichar in gujarati english meaning of this sentence as Silk road ...
 
Empowering Data Analytics Ecosystem.pptx
Empowering Data Analytics Ecosystem.pptxEmpowering Data Analytics Ecosystem.pptx
Empowering Data Analytics Ecosystem.pptx
 
Sample_Global Non-invasive Prenatal Testing (NIPT) Market, 2019-2030.pdf
Sample_Global Non-invasive Prenatal Testing (NIPT) Market, 2019-2030.pdfSample_Global Non-invasive Prenatal Testing (NIPT) Market, 2019-2030.pdf
Sample_Global Non-invasive Prenatal Testing (NIPT) Market, 2019-2030.pdf
 
Predicting Product Ad Campaign Performance: A Data Analysis Project Presentation
Predicting Product Ad Campaign Performance: A Data Analysis Project PresentationPredicting Product Ad Campaign Performance: A Data Analysis Project Presentation
Predicting Product Ad Campaign Performance: A Data Analysis Project Presentation
 
Tabula.io Cheatsheet: automate your data workflows
Tabula.io Cheatsheet: automate your data workflowsTabula.io Cheatsheet: automate your data workflows
Tabula.io Cheatsheet: automate your data workflows
 
哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样
哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样
哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样
 
Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...
Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...
Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...
 
一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单
一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单
一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单
 
Business update Q1 2024 Lar España Real Estate SOCIMI
Business update Q1 2024 Lar España Real Estate SOCIMIBusiness update Q1 2024 Lar España Real Estate SOCIMI
Business update Q1 2024 Lar España Real Estate SOCIMI
 

BackTracking Algorithm: Technique and Examples

  • 1. Backtracking: Technique & Examples By, Fahim Ferdous Back Track Yes Solution No Solution
  • 2. Backtracking History • ‘Backtrack’ the Word was first introduced by Dr. D.H. Lehmer in 1950s. • R.J Walker Was the First man who gave algorithmic description in 1960. • Later developed by S. Golamb and L. Baumert.
  • 3. Backtracking • What is Backtracking? ----- Backtracking is nothing but the modified process of the brute force approach. where the technique systematically searches for a solution to a problem among all available options. It does so by assuming that the solutions are represented by vectors (v1, ..., in) of values and by traversing through the domains of the vectors until the solutions is found.
  • 4. Backtracking • The Algorithmic Approach – Backtracking systematically try and search possibilities to find the solution. Also it is an important process for solving constraint satisfaction problem like crossword, Sudoku and many other puzzles. It can be more continent technique for parsing other combinatorial optimization problem. – Basically the process is used when the problem has a number of option and just one solution have to be selected. After having a new option set means recursion, the procedure is repeated over and over until final stage.
  • 5. Backtracking Algorithm Backtrack (v1,Vi) If (V1,……., Vi) is a Solution Then Return (V1,…, Vi) For each v DO If (V1,…….,Vi) is acceptable vector THEN Sol = try (V1,…,Vi, V) If sol != () Then RETURN sol End End Return ( )
  • 6. Backtracking • Advantages – Comparison with the Dynamic Programming, Backtracking Approach is more effective in some cases. – Backtracking Algorithm is the best option for solving tactical problem. – Also Backtracking is effective for constraint satisfaction problem. – In greedy Algorithm, getting the Global Optimal Solution is a long procedure and depends on user statements but in Backtracking It Can Easily getable. – Backtracking technique is simple to implement and easy to code. – Different states are stored into stack so that the data or Info can be usable anytime. – The accuracy is granted.
  • 7. Backtracking • Disadvantages – Backtracking Approach is not efficient for solving strategic Problem. – The overall runtime of Backtracking Algorithm is normally slow – To solve Large Problem Sometime it needs to take the help of other techniques like Branch and bound. – Need Large amount of memory space for storing different state function in the stack for big problem. – Thrashing is one of the main problem of Backtracking. – The Basic Approach Detects the conflicts too late.
  • 8. Backtracking • Application of Backtracking • Optimization and tactical problems • Constraints Satisfaction Problem • Electrical Engineering • Robotics • Artificial Intelligence • Genetic and bioinformatics Algorithm • Materials Engineering • Network Communication • Solving puzzles and path
  • 9. Backtracking • Some Problem Solved with Backtracking Technique – N- Queens Problem – Sum of Subset – Sudoku Puzzle – Maze Generation – Hamiltonian Cycle
  • 10. N-Queens Problem • History: First Introduced in 1848 which was known as 8- queens Puzzle. Surprisingly, The First Solution was created in 1950 by Franz Nauck. Nauck made an 8X8 Chessboard to find the first Feasible Solution.
  • 11. N-Queens Problem • Problem Description In a NxN square board N – number of queens need to be placed considering three Condition --- • No two Queens can be placed in same row. • No two Queens Can be places in same Column • No two queens Can be placed in same Diagonal.
  • 12. N-Queens Problem • Backtracking approach for solution - - The Algorithm will check each position [i , j] for each queens . If any Suitable places found , It will place a queen on that position. If not Algorithm will try same approach for next position. Algorithm Nqueen(K,n){ For i= 1 to n { If Place(K,i){ X[k] = I; If(k = n) then Write x[1:n]; Else Nqueen(k+1, n) ; } } } Place(k,i){ For j=1 to k-1{ If((x[j] = i) or abs(x[j] – 1 = abs(j-k))) Return false; } Return true; }
  • 14. Maze Generation Problem Description A N X N board is made in a way So that 1 or 0 can be placed in each box where 1 is for valid path for moving towards exit and 0 is the Closed path. Now, by using Backtracking Algorithm The path to the exit need to be find.
  • 15. Maze Generation • -- Algorithm will try to follow the box which has the value 1 and generate a path. Again, it will check for 1 at the next box. If not found it will go through next box. If entire row is complete, then it will move to the next row and look for 1.
  • 16. Maze Generation • Solution Using Backtracking Technique Algorithm Maze_Gen(graph){ If(Maze_operator(graph, x,y, canvas) == false) Write (“No result”); Return false; Print_Result(canvas); Return true; } Algorithm Maze_operator(graph, x,y, canvas){ If(x ==N-1 && y == N-1){ Canvas[x][y] = 1; Return true; } If(IsSafe(graph, x,y) == true){ Canvas[x][y] = 1; If(Maze_operator(graph, x+1,y, canvas)) Return true; If(Maze_operator(graph, x,y+1, canvas)) Return true; Canvas [x][y] = 0; Return true; } Return false; }
  • 18. Hamiltonian Cycle Hamiltonian Cycle is a graph theory problem where the graph cycle through a graph can visit each node only once. The puzzle was first devised by Sir William Rowan Hamilton and the Problem is named after Him. Condition: The Cycle Started with a Starting Node, and visit all the Nodes in the Graph (Not necessary to visit in sequential Order and not creating edge that is not given) And Stop at The Starting Point/Node.
  • 19. Hamiltonian Cycle • The Backtracking Approach The Algorithm First Check the Starting Node, if there is any edge to the next node. If yes, then the Algorithm will check that node for the edge to the next Node. It will Also Check If any Node is visited twice by the previous Node. If there is any then the Algorithm Will Ignore One and Choose the Optimal One for the Solution.  The Important thing is the tour must finish at the starting point.
  • 20. Hamiltonian Cycle Algorithm Hamilton_Cycle(k){ Repeat{ NextVal(k); If(x[k]==0) then Return; If (k ==n) then Write (x[1:n]); Else Hamilton_Cycle(k+1); } Until (false); } AlgortihmNextVal(k){ Repeat{ X[k] = (x[k]+1) mod (n+1); If(x[k]=0) then return; If (G[x[k-1],x[k]] != 0 ) then{ For j = 1 to k-1 do If(x[j]=x[k]) then Break; If(j = k) then If ((k<n or k=n) && G[x[n],x[1]] != 0) Then return; } } Until (false); }
  • 22. Sudoku Puzzle • The Word ‘Sudoku’ is a Japanese Word. But The Sudoku Puzzle Was First Invented in Switzerland • In a N X N Square Board, The Numbers 1 to N to be Placed in a way that: – All the Number from 1 to N can be Placed in each row. – All the Number from 1 to N can be Placed in each Column. – All The Number from 1 to N Can be Placed in Sub Square boxes of the given box.
  • 23. Sudoku Puzzle • Backtracking Approach The Algorithm Will Check Each Box’s value if the value is in the same row, or same column or same sub-square box. If not,then it placed the value in the box. And go to the next box for the next value, and check the Above Condition. If there is any duplicate value, then The Algorithm check for the next value.
  • 24. Sudoku Puzzle Algorithm Sudoku_Solver(canvas, row, col){ If(anyEmptyLocation(canvas, row, col)) Return true; For I = 1 to n do, { If (find_location(canvas, row,col, i)) { Canvas[row][col] = i; If (Sudoku_Solver(canvas)) Return true; Canvas [row][col] = -1; } } Return false; }
  • 25. Sum of Subset • The Sum of Subset Problem is, there will be a set of distinct positive Numbers X and a given Number N. Now, we have to find all the combination of numbers from X that sum up to N. Make a Set of those Number. W = {4,5,6,3} M = 13
  • 27. Sum of Subset • Backtracking Approach First, organize the numbers in non decreasing order. Then generating a tree, we can find the solution by adding the weight of the nodes. Note that, here more than necessary nodes can be generated. The algorithm will search for the weighted amount of the nodes. If it goes beyond given Number N, then it stops generating nodes and move to other parent nodes for finding solution. Algorithm SumOfSubset(s,k,y){ X[k] = 1; If(s+w[k] = m) Write (x[1:n]); Else if((s+w[k] + w[k+1]) <= m) SumOfSubset(s+w[k], k+1, y-w[k]); If ((s+ y-w[k]>=m) &&(s =w[k+1] <=m)) { X[k] =0; SumOfSubset(s,k+1,y-w[k]); } }
  • 28. Sum of Subset Here M = 53 W = {8,9,14,15,16,22}
  • 29. References • Chapter 6, Backtracking, Design and Analysis of Algorithms – V.V. Muniswami • Chapter – 4, Non- Chronological Backtracking, Handbook on Constraint Programming – F. Rossi, Van Beek • web.cse.ohio-state.edu/~gurari/course/cis680/cis680Ch19.html • www.classle.net/faq/comparisons-divide-and-conquergreedy-methoddynamic- programmingbacktracking-and-branch-and-bound- • Backtracking algorithms for constraint satisfaction problems; a survey R. Dechter, D. Frost, in Constraints, International Journal, 1998. • Bessiere C., Maestre A., Meseguer P., Distributed dynamic backtracking, in M.C. Silaghi, editor, Proceedings of the IJCAI’01 workshop on Distributed Constraint Reasoning, Seattle WA, 2001, pp. 9–16. • A First Look at Graph Theory – Jhon Clark, Allan Holton • Principles and Practice of Constraint Programming- CP 2001: 7th International Conference, CP 2001, Paphos, Cyprus, November 26 - December 1, 2001