SlideShare a Scribd company logo
1 of 74
UNIT II
OPTIMISATION ALGORITHMS
Optimization Problems-Graph Search Algorithms-Generic Search-Breadth-First
Search Dijkstra’s Shortest-Weighted-Path -Depth-First Search-Recursive Depth-First
Search-Linear Ordering of a Partial Order- Network Flows and Linear Programming-
Hill Climbing-Primal Dual Hill Climbing- Steepest Ascent Hill Climbing-Linear
Programming-Recursive Backtracking-Developing Recursive Backtracking
Algorithm- Pruning Branches-Satisfiability
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 1
Optimization Problems-Graph
Search Algorithms
• Generic Search
• Breadth First Search
• Dijkstra's Shortest Paths Algorithm
• Depth First Search
• Linear Order
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 2
Graph
a
c
b Node ~ city or computer
Edge ~ road or network
Undirected or Directed
A surprisingly large number of problems
in computer science can be expressed
as a graph theory problem.
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 3
Generic Search-Graph Search
Specification: Reachability-from-single-source s
•<preCond>:
The input is a graph G
(either directed or undirected)
and a source node s.
•<postCond>:
Output all the nodes u that are
reachable by a path in G from s.
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 4
Graph Search
Basic Steps:
s
u
• Suppose you know that u is reachable from s & there is an edge
from u to v
• You know that v is reachable from s
• Build up a set of reachable nodes.
v
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 5
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 6
Graph Search
EndingInitial ConditionsMake Progress
Maintain Loop InvDefine Exit ConditionDefine Step
Define Measure of ProgressDefine Loop InvariantsDefine Problem
km∞
79 km
to school
Exit
Exit
79 km 75 km
Exit
Exit
0 km Exit
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 7
Breadth First Search(BFS)
<preCond> &<postCond>
Algorithm
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 8
BFS
What order are the nodes found?
So far, the nodes have been found in order of length from s.
<postCond>: Finds a shortest path from s
to each node v and its length.
To prove path is shortest:
Prove there is a path of this length.
Prove there are no shorter paths.
Give a path
(witness)
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 9
Basic Steps:
s
u
• The shortest path to u has length d & there is an edge from u to v
• There is a path to v with length d+1.
v
BFS
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 10
BFS
• What order are the nodes found?
• So far, the nodes have been found in order of length from s.
• <postCond>:
• Finds a shortest path from s to each node v and its length.
• Prove there are no shorter paths.
• When we find v, we know
there isn't a shorter path to it because ?
• Otherwise, we would have found it already.
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 11
BFS
Data structure for storing tree:
•For each node v, store π(v) to be parent of v.
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 12
Basic Steps:
s
u
v
Parent of v is
π(v)
π(v) = u.
BFS
Path to u & there is an edge from u to v
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 13
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 14
Dijkstra's Shortest-Weighted Paths
• Specification: Dijkstra's Shortest-Weighted Paths
• Reachability-from-single-source s
•<preCond>:
The input is a graph G
(either directed or undirected)
with positive edge weights
and a source node s.
•<postCond>:
Finds a shortest weighted path from s
to each node v and its length.
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 15
Dijkstra's Shortest-Weighted Paths
s
u
v
100
1
1
1
1
w
r
• Length of shortest path from s to u?
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 16
• So far, the nodes have been found in order of length from
s.
• Is the same true for Dijkstra's Algorithm?
BFS
s
u
v
100
1
1
1
1
w
r
Which node is found first?
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 17
• So far, the nodes have been found in order of length from s.
• Is the same true for Dijkstra's Algorithm?
s
u
v
100
1
1
1
1
w
r
• Which node is found first?
• It has the longest path from s.
BFS
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 18
• So far, the nodes have been found in order of length from s.
handled
• In what order do we handle the foundNotHandled nodes?
s
u
v
100
1
1
1
1
w
r
Dijkstra's
Handle node that “seems” to be closest to s.
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 19
Dijkstra's
• So far, the nodes have been handled in order of length from s.
<postCond>:
• Finds a shortest weighted path
from s to each node v and its length.
• To prove path is shortest:
• Prove there is a path of this length.
• Prove there are no shorter paths.
• Give a path (witness)
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 20
Dijkstra's
• So far, the nodes have been handled in order of length from s.
• <postCond>:
• Finds a shortest weighted path
from s to each node v and its length.
• To prove path is shortest:
• Prove there is a path of this length.
• Prove there are no shorter paths.
• When we handle v, we know
there isn't a shorter path to it because?
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2
21
Dijkstra's
Handle node that “seems” to be closest to s.
Need to keep approximate shortest distances.
•Path that we have “seen so far” will
be called handled paths.
•Let d(v) the length of the shortest
such path to v.
Basic Steps:
u vs
Which is
further?
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 22
Basic Steps:
u
Dijkstra's
w<u,v>
v
s
The shortest of handled paths to v has length d(v)
• The shortest of handled paths to u has length d(u) & there is an edge
from u to v
• The shortest known path to v has length
min( d(v), d(u)+w<u,v> ).
Updating d(u).
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 23
…
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 24
Dijkstra's
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 25
Dijkstra's
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 26
Depth First Search
• Breadth first search makes a lot of sense for dating in general
actually.
• It suggests dating a bunch of people casually before getting
serious rather than having a series of five year relationships.
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 27
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 28
Recursive
Depth First
Search
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 29
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 30
Linear Order of a Partial Order
underwear
pants
socks
shoes
underwear
pants
socks
shoes
socks
underwear
pants
shoes
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 31
Linear Order
underwear
pants
socks
shoes
?
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 32
Linear Order
a
b h
c i
d j
e k
f l
g
<preCond>:
A Directed Acyclic
Graph(DAG)
<postCond>:
Find one valid linear order
….. l
Algorithm:
•Find a sink
•Put it last in order.
•Delete & Repeat
?
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 33
Linear Order
a
b h
c i
d j
e k
f l
g
<preCond>:
A Directed Acyclic Graph(DAG)
<postCond>:
Find one validlinear order
….. l
Algorithm:
•Find a sink.
•Put it last in
order.
•Delete &
Repeat
Θ(n)
Θ(n2
)
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 34
Optimization Problems
•Ingredients:
•Instances: The possible inputs to the
problem.
•Solutions for Instance: Each instance
has an exponentially large set of
solutions.
•Cost of Solution: Each solution has an
easy to compute cost or value.
•Specification
•Preconditions: The input is one instance.
•Postconditions: An valid solution with
optimal cost. (minimum or maximum)
Network Flow & Linear Programming
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 35
•Instance:
•A Network is a directed graph G
•Edges represent pipes that carry
flow
•Each edge <u,v> has a maximum
capacity c<u,v>
•A source node s out of which flow
leaves
•A sink node t into which flow arrives
•Goal: Max Flow
Network Flow
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 36
Network Flow
• For some edges/pipes, it is not clear which direction the flow
should go
in order to maximize the flow from s to t.
• Hence we allow flow in both directions.
• Solution:
• The amount of flow F<u,v> through each edge.
• Flow F<u,v> can't exceed capacity c<u,v>.
• No leaks, no extra flow.
For each node v: flow in = flow out
∑u F<u,v> = ∑w F<v,w>
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 37
- ∑v F<v,s>
• Value of Solution:
• Flow from s into the network
– minus flow from the network back into s.
– rate(F) = ∑u F<s,u>
• Goal: Max Flow
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 38
•Value Solution C=<U,V>:
cap(C) = how much can flow from U to V
= ∑u∈U,v∈V c<u,v>
Min Cut
s
t
U
V
u
v
Goal: Min Cut
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 39
Max Flow = Min Cut
• Theorem:
• For all Networks MaxF rate(F) = MinC cap(C)
• Prove: ∀ F,C rate(F) ≤ cap(C)
• Prove: ∀ flow F, alg either
• finds a better flow F
• or finds cut C such that rate(F) = cap(C)
• Algotiyhm stops with an F and C for which rate(F) = cap(C)
• F witnesses that the optimal flow can't be less
• C witnesses that it can't be more.
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 40
An Application: Matching
Sam Mary
Bob Beth
John Sue
Fred Ann
Who likes whom?
Who should be matched with whom?
so as many as possible matched
and nobody matched twice?
3 matches
Can we do better?
4 matches
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 41
An Application: Matching
s t
c<s,u> = 1
•Total flow out of u = flow into u ≤ 1
•Boy u matched to at most one girl.
1
c<v,t> = 1
•Total flow into v = flow out of v ≤ 1
•Girl v matched to at most one boy.
1
u v
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 42
Hill Climbing
Problems:
Can our Network Flow
Algorithm get stuck
in a local maximum?
Local Max
Global Max
No!
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 43
Hill Climbing
Problems:
Running time?
If you take small step,
could be exponential time.
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 44
Hill Climbing
Problems:
Running time?
•If each iteration you take the biggest
step possible,
•Algorithm is poly time
• in number of nodes
• and number of bits in capacities.
• If each iteration you take path with the
fewest edges
•Algorithm is poly time
•in number of nodes
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 45
Taking the biggest step possible
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 46
Linear Programming
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 47
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 48
Primal
Dual
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 49
Linear Programming
Linear Program:
•An optimization problem whose constraints and cost function are
linear functions
•Goal: Find a solution which optimizes the cost.
E.g.
Maximize Cost Function :
21x1 - 6x2 – 100x3 - 100x4
Constraint Functions:
5x1 + 2x2 +31x3 - 20x4 ≤ 21
1x1 - 4x2 +3x3 + 10x1 ³ 56
6x1 + 60x2 - 31x3 - 15x4 ≤ 200
…..
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 50
Primal-Dual Hill Climbing
Mars settlement has hilly landscape
and many layers of roofs.
Primal Problem:
•Exponential # of locations to stand.
•Find a highest one.
Dual problem:
•Exponential # of roofs.
•Find a lowest one.
Prove:
•Every roof is above every location to
stand.
∀ R ∀ L height(R) ≥ height(L)
⇒ height(Rmin) ≥ height(Lmax)
•Is there a gap?
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 51
• Prove:
• For every location to stand either:
• the alg takes a step up or
• the alg gives a reason that explains why not
by giving a ceiling of equal height.
– i.e. ∀ L [∃ L’height(L’) ≥ height(L) or
∃ R height(R) = height(L)]
• But ∀ R ∀ L height(R) ≥ height(L)
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 52
Recursive Backtracking
• The brute force algorithm for an optimization problem is to simply
compute the cost or value of each of the exponential number of
possible solutions and return the best.
• A key problem with this algorithm is that it takes exponential time.
• Another (not obviously trivial) problem is how to write code that
enumerates over all possible solutions.
• Often the easiest way to do this is recursive backtracking.
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 53
An Algorithm as a Sequence of Decisions:
• An algorithm for finding an optimal solution for your instance
must make a sequence of small decisions about the solution
• “Do we include the first object in the solution or not?”
• “Do we include the second?”
• “The third?” . . . , or “At the first fork in the road, do we go
left or right?”
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 54
• “At the second fork which direction do we go?” “At the
third?” . . . .
• As one stack frame in the recursive algorithm, our task is to
deal only with the first of these decisions.
• A recursive friend will deal with the rest
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 55
Searching for the Best Animal
• Searching through a large set of objects, say for the best
animal at the zoo.
• we break the search into smaller searches, each of which we
delegate to a friend.
• We might ask one friend for the best vertebrate and another for
the best invertebrate.
• We will take the better of these best as our answer.
• This algorithm is recursive.
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 56
• The friend with the vertebrate task asks a friend to find the best
mammal, another for the best bird, and another for the best reptile.
A Classification Tree of Solutions:
• This algorithm unwinds into the tree of stack frames that directly
mirrors the taxonomy tree that classifies animals.
• Each solution is identified with a leaf.
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 57
Classification Tree of Animals
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 58
The Little Bird Abstraction:
•A little bird abstraction to help focus on two of the most difficult
and creative parts of designing a recursive backtracking algorithm.
A Flock of Stupid Birds vs.wise Little Bird:
A Flock of Stupid Birds:
•whether the optimal solution is a mammal, a bird, or a reptile has K
different answers
•Giving her the benefit of doubt, we ask a friend to give us the
optimal solution from among those that are consistent with this
answer.
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 59
• At least one of these birds must have been telling us the truth.
Wise Little Bird:
• If little bird answers correctly, designing an algorithm would be a
lot easier
• Ask the little bird “Is the best animal a bird, a mammal, a reptile, or
a fish?”
• Little Bird tells us a mammal.
• Just ask our friend for the best mammal.
• Trusting the little bird and the friend, we give this as the best
animal.
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 60
Developing a Recursive Backtracking Algorithm
Objectives:
•Understand backtracking algorithms and use them to solve
problems
•Use recursive functions to implement backtracking algorithms
•How the choice of data structures can affect the efficiency of a
program?
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 61
Backtracking
• Backtracking
– A strategy for guessing at a solution and backing up when an
impasse is reached
• Recursion and backtracking can be combined to solve problems
• Eight-Queens Problem
– Place eight queens on the chessboard so that no queen can
attack any other queen
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 62
The Eight Queens Problem
• One strategy: guess at a solution
– There are 4,426,165,368 ways to arrange 8 queens on a
chessboard of 64 squares
• An observation that eliminates many arrangements from
consideration
– No queen can reside in a row or a column that contains
another queen
• Now: only 40,320 (8!) arrangements of queens to be
checked for attacks along diagonals
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 63
• Providing organization for the guessing strategy
– Place queens one column at a time
– If you reach an impasse, backtrack to the previous
column
A solution to the Eight Queens problem
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 64
The Eight Queens Problem
• A recursive algorithm that places a queen in a column
– Base case
• If there are no more columns to consider
– You are finished
– Recursive step
• If you successfully place a queen in the current column
– Consider the next column
• If you cannot place a queen in the current column
– You need to backtrack
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 65
The Eight Queens Problem
a)Five queens that cannot attack each other,
but that can attack all of column 6;
b)Backtracking to column 5 to try another
square for the queen;
c)Backtracking to column 4 to try another
square for the queen and then considering
column 5 again
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 66
Pruning Branches
• The typical reasons why an entire branch of the solution
classification tree can be pruned off.
Invalid Solutions:
• It happens partway down the tree the algorithm has already received
enough information about the solution
• Then it determine that it contains a conflict or defect making any
such solution invalid.
• The algorithm can stop recursing at this point and backtrack.
• This effectively prunes off the entire subtree of solutions rooted at
this node in the tree.
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 67
No Highly Valued Solutions:
•The algorithm arrives at the root of a subtree, it might realize that no
solutions within this subtree are rated sufficiently high to be optimal
•Perhaps because the algorithm has already found a solution
probably better than all of these.
•Again, the algorithm can prune this entire subtree from its search.
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 68
Greedy Algorithms:
•Greedy algorithms are effectively recursive backtracking
algorithms with extreme pruning.
•Whenever the algorithm has a choice as to which little bird’s
answer to take
•Then it looks best according to some greedy criterion.
Modifying Solutions:
•Modifying any possible solution that is not consistent with the
latest choice into onethat has at least as good value and is consistent
with this choice.
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 69
Satisfiability
• A famous optimization problem is called satisfiability.
• The recursive backtracking algorithm is referred to as the
Davis–Putnam algorithm.
• An example of an algorithm whose running time is
exponential for worst case inputs
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 70
Satisfiability Problem
Instances:
•An instance (input) consists of a set of constraints on the assignment
to the binary variables x1, x2, . . . , xn.
•A typical constraint might be x1 or x3 or x8, equivalently that either
x1 is true, x3 is false, or x8 is true.
Solutions:
•Each of the 2n assignments is a possible solution.
•An assignment is valid for the given instance if it satisfies all of the
constraints.
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 71
Measure of Success:
• An assignment is assigned the value one if it satisfies all of the
constraints, and the value zero otherwise.
Goal:
•Given the constraints, the goal is to find a satisfying assignment.
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 72
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 73
Running Time:
•If no pruning is done, then the running time is (2n), as all 2n
assignments are tried.
•Considerable pruning needs to occur to make the algorithm
polynomial-time.
•Certainly in the worst case, the running time is 2(n).
IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 74

More Related Content

Similar to OPTIMIZATION ALGORITHMS-GRAPH SEARCH, DIJKSTRA, DFS

Day 5 application of graph ,biconnectivity fdp on ds
Day 5 application of graph ,biconnectivity fdp on dsDay 5 application of graph ,biconnectivity fdp on ds
Day 5 application of graph ,biconnectivity fdp on dsGUNASUNDARISAPIIICSE
 
Sequential and parallel algorithm to find maximum flow on extended mixed netw...
Sequential and parallel algorithm to find maximum flow on extended mixed netw...Sequential and parallel algorithm to find maximum flow on extended mixed netw...
Sequential and parallel algorithm to find maximum flow on extended mixed netw...csandit
 
SEQUENTIAL AND PARALLEL ALGORITHM TO FIND MAXIMUM FLOW ON EXTENDED MIXED NETW...
SEQUENTIAL AND PARALLEL ALGORITHM TO FIND MAXIMUM FLOW ON EXTENDED MIXED NETW...SEQUENTIAL AND PARALLEL ALGORITHM TO FIND MAXIMUM FLOW ON EXTENDED MIXED NETW...
SEQUENTIAL AND PARALLEL ALGORITHM TO FIND MAXIMUM FLOW ON EXTENDED MIXED NETW...cscpconf
 
Session 13 - Single Source Shortest Path Method.pptx
Session 13 - Single Source Shortest Path Method.pptxSession 13 - Single Source Shortest Path Method.pptx
Session 13 - Single Source Shortest Path Method.pptxSATHWIKCHAKRI
 
A study on_contrast_and_comparison_between_bellman-ford_algorithm_and_dijkstr...
A study on_contrast_and_comparison_between_bellman-ford_algorithm_and_dijkstr...A study on_contrast_and_comparison_between_bellman-ford_algorithm_and_dijkstr...
A study on_contrast_and_comparison_between_bellman-ford_algorithm_and_dijkstr...Khoa Mac Tu
 
470614683-CHAPTER-7-Project-Management-and-Network-Analysis-ppt.ppt
470614683-CHAPTER-7-Project-Management-and-Network-Analysis-ppt.ppt470614683-CHAPTER-7-Project-Management-and-Network-Analysis-ppt.ppt
470614683-CHAPTER-7-Project-Management-and-Network-Analysis-ppt.pptNitin137794
 
Distance_Vector_Routing.pptx
Distance_Vector_Routing.pptxDistance_Vector_Routing.pptx
Distance_Vector_Routing.pptxFernandoMM1
 
Lec 09 network scheduling_techniques
Lec 09 network scheduling_techniquesLec 09 network scheduling_techniques
Lec 09 network scheduling_techniquesSAJID ALI RUK
 
Node Unique Label Cover
Node Unique Label CoverNode Unique Label Cover
Node Unique Label Covermsramanujan
 
APznzaZLM_MVouyxM4cxHPJR5BC-TAxTWqhQJ2EywQQuXStxJTDoGkHdsKEQGd4Vo7BS3Q1npCOMV...
APznzaZLM_MVouyxM4cxHPJR5BC-TAxTWqhQJ2EywQQuXStxJTDoGkHdsKEQGd4Vo7BS3Q1npCOMV...APznzaZLM_MVouyxM4cxHPJR5BC-TAxTWqhQJ2EywQQuXStxJTDoGkHdsKEQGd4Vo7BS3Q1npCOMV...
APznzaZLM_MVouyxM4cxHPJR5BC-TAxTWqhQJ2EywQQuXStxJTDoGkHdsKEQGd4Vo7BS3Q1npCOMV...KUSHDHIRRA2111026030
 
Algorithm Design and Complexity - Course 7
Algorithm Design and Complexity - Course 7Algorithm Design and Complexity - Course 7
Algorithm Design and Complexity - Course 7Traian Rebedea
 
Single sourceshortestpath by emad
Single sourceshortestpath by emadSingle sourceshortestpath by emad
Single sourceshortestpath by emadKazi Emad
 

Similar to OPTIMIZATION ALGORITHMS-GRAPH SEARCH, DIJKSTRA, DFS (20)

9_graphs2.v4.ppt
9_graphs2.v4.ppt9_graphs2.v4.ppt
9_graphs2.v4.ppt
 
Day 5 application of graph ,biconnectivity fdp on ds
Day 5 application of graph ,biconnectivity fdp on dsDay 5 application of graph ,biconnectivity fdp on ds
Day 5 application of graph ,biconnectivity fdp on ds
 
Sequential and parallel algorithm to find maximum flow on extended mixed netw...
Sequential and parallel algorithm to find maximum flow on extended mixed netw...Sequential and parallel algorithm to find maximum flow on extended mixed netw...
Sequential and parallel algorithm to find maximum flow on extended mixed netw...
 
SEQUENTIAL AND PARALLEL ALGORITHM TO FIND MAXIMUM FLOW ON EXTENDED MIXED NETW...
SEQUENTIAL AND PARALLEL ALGORITHM TO FIND MAXIMUM FLOW ON EXTENDED MIXED NETW...SEQUENTIAL AND PARALLEL ALGORITHM TO FIND MAXIMUM FLOW ON EXTENDED MIXED NETW...
SEQUENTIAL AND PARALLEL ALGORITHM TO FIND MAXIMUM FLOW ON EXTENDED MIXED NETW...
 
Session 13 - Single Source Shortest Path Method.pptx
Session 13 - Single Source Shortest Path Method.pptxSession 13 - Single Source Shortest Path Method.pptx
Session 13 - Single Source Shortest Path Method.pptx
 
A study on_contrast_and_comparison_between_bellman-ford_algorithm_and_dijkstr...
A study on_contrast_and_comparison_between_bellman-ford_algorithm_and_dijkstr...A study on_contrast_and_comparison_between_bellman-ford_algorithm_and_dijkstr...
A study on_contrast_and_comparison_between_bellman-ford_algorithm_and_dijkstr...
 
Project Management Techniques
Project Management TechniquesProject Management Techniques
Project Management Techniques
 
470614683-CHAPTER-7-Project-Management-and-Network-Analysis-ppt.ppt
470614683-CHAPTER-7-Project-Management-and-Network-Analysis-ppt.ppt470614683-CHAPTER-7-Project-Management-and-Network-Analysis-ppt.ppt
470614683-CHAPTER-7-Project-Management-and-Network-Analysis-ppt.ppt
 
Distance_Vector_Routing.pptx
Distance_Vector_Routing.pptxDistance_Vector_Routing.pptx
Distance_Vector_Routing.pptx
 
Cpmprt
CpmprtCpmprt
Cpmprt
 
Lec 09 network scheduling_techniques
Lec 09 network scheduling_techniquesLec 09 network scheduling_techniques
Lec 09 network scheduling_techniques
 
06_AJMS_334_21.pdf
06_AJMS_334_21.pdf06_AJMS_334_21.pdf
06_AJMS_334_21.pdf
 
Node Unique Label Cover
Node Unique Label CoverNode Unique Label Cover
Node Unique Label Cover
 
L08.pdf
L08.pdfL08.pdf
L08.pdf
 
Lecture#9
Lecture#9Lecture#9
Lecture#9
 
Lecture set 5
Lecture set 5Lecture set 5
Lecture set 5
 
APznzaZLM_MVouyxM4cxHPJR5BC-TAxTWqhQJ2EywQQuXStxJTDoGkHdsKEQGd4Vo7BS3Q1npCOMV...
APznzaZLM_MVouyxM4cxHPJR5BC-TAxTWqhQJ2EywQQuXStxJTDoGkHdsKEQGd4Vo7BS3Q1npCOMV...APznzaZLM_MVouyxM4cxHPJR5BC-TAxTWqhQJ2EywQQuXStxJTDoGkHdsKEQGd4Vo7BS3Q1npCOMV...
APznzaZLM_MVouyxM4cxHPJR5BC-TAxTWqhQJ2EywQQuXStxJTDoGkHdsKEQGd4Vo7BS3Q1npCOMV...
 
Maxflow
MaxflowMaxflow
Maxflow
 
Algorithm Design and Complexity - Course 7
Algorithm Design and Complexity - Course 7Algorithm Design and Complexity - Course 7
Algorithm Design and Complexity - Course 7
 
Single sourceshortestpath by emad
Single sourceshortestpath by emadSingle sourceshortestpath by emad
Single sourceshortestpath by emad
 

More from praveena p

Unit 1 python (2021 r)
Unit 1 python (2021 r)Unit 1 python (2021 r)
Unit 1 python (2021 r)praveena p
 
Ooad lab manual
Ooad lab manualOoad lab manual
Ooad lab manualpraveena p
 
Ooad lab manual
Ooad lab manualOoad lab manual
Ooad lab manualpraveena p
 
Ads unit 3 ppt
Ads unit 3 pptAds unit 3 ppt
Ads unit 3 pptpraveena p
 

More from praveena p (7)

Unit 1 python (2021 r)
Unit 1 python (2021 r)Unit 1 python (2021 r)
Unit 1 python (2021 r)
 
Unit 2 python
Unit 2 pythonUnit 2 python
Unit 2 python
 
Ooad lab manual
Ooad lab manualOoad lab manual
Ooad lab manual
 
Ooad lab manual
Ooad lab manualOoad lab manual
Ooad lab manual
 
Daa cat1
Daa cat1Daa cat1
Daa cat1
 
Trees unit 3
Trees unit 3Trees unit 3
Trees unit 3
 
Ads unit 3 ppt
Ads unit 3 pptAds unit 3 ppt
Ads unit 3 ppt
 

Recently uploaded

(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlysanyuktamishra911
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxupamatechverse
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Dr.Costas Sachpazis
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations120cr0395
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordAsst.prof M.Gokilavani
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)simmis5
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college projectTonystark477637
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxpranjaldaimarysona
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Call Girls in Nagpur High Profile
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Christo Ananth
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSRajkumarAkumalla
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINESIVASHANKAR N
 

Recently uploaded (20)

(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptx
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college project
 
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINEDJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptx
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
 

OPTIMIZATION ALGORITHMS-GRAPH SEARCH, DIJKSTRA, DFS

  • 1. UNIT II OPTIMISATION ALGORITHMS Optimization Problems-Graph Search Algorithms-Generic Search-Breadth-First Search Dijkstra’s Shortest-Weighted-Path -Depth-First Search-Recursive Depth-First Search-Linear Ordering of a Partial Order- Network Flows and Linear Programming- Hill Climbing-Primal Dual Hill Climbing- Steepest Ascent Hill Climbing-Linear Programming-Recursive Backtracking-Developing Recursive Backtracking Algorithm- Pruning Branches-Satisfiability IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 1
  • 2. Optimization Problems-Graph Search Algorithms • Generic Search • Breadth First Search • Dijkstra's Shortest Paths Algorithm • Depth First Search • Linear Order IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 2
  • 3. Graph a c b Node ~ city or computer Edge ~ road or network Undirected or Directed A surprisingly large number of problems in computer science can be expressed as a graph theory problem. IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 3
  • 4. Generic Search-Graph Search Specification: Reachability-from-single-source s •<preCond>: The input is a graph G (either directed or undirected) and a source node s. •<postCond>: Output all the nodes u that are reachable by a path in G from s. IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 4
  • 5. Graph Search Basic Steps: s u • Suppose you know that u is reachable from s & there is an edge from u to v • You know that v is reachable from s • Build up a set of reachable nodes. v IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 5
  • 7. Graph Search EndingInitial ConditionsMake Progress Maintain Loop InvDefine Exit ConditionDefine Step Define Measure of ProgressDefine Loop InvariantsDefine Problem km∞ 79 km to school Exit Exit 79 km 75 km Exit Exit 0 km Exit IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 7
  • 8. Breadth First Search(BFS) <preCond> &<postCond> Algorithm IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 8
  • 9. BFS What order are the nodes found? So far, the nodes have been found in order of length from s. <postCond>: Finds a shortest path from s to each node v and its length. To prove path is shortest: Prove there is a path of this length. Prove there are no shorter paths. Give a path (witness) IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 9
  • 10. Basic Steps: s u • The shortest path to u has length d & there is an edge from u to v • There is a path to v with length d+1. v BFS IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 10
  • 11. BFS • What order are the nodes found? • So far, the nodes have been found in order of length from s. • <postCond>: • Finds a shortest path from s to each node v and its length. • Prove there are no shorter paths. • When we find v, we know there isn't a shorter path to it because ? • Otherwise, we would have found it already. IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 11
  • 12. BFS Data structure for storing tree: •For each node v, store π(v) to be parent of v. IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 12
  • 13. Basic Steps: s u v Parent of v is π(v) π(v) = u. BFS Path to u & there is an edge from u to v IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 13
  • 15. Dijkstra's Shortest-Weighted Paths • Specification: Dijkstra's Shortest-Weighted Paths • Reachability-from-single-source s •<preCond>: The input is a graph G (either directed or undirected) with positive edge weights and a source node s. •<postCond>: Finds a shortest weighted path from s to each node v and its length. IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 15
  • 16. Dijkstra's Shortest-Weighted Paths s u v 100 1 1 1 1 w r • Length of shortest path from s to u? IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 16
  • 17. • So far, the nodes have been found in order of length from s. • Is the same true for Dijkstra's Algorithm? BFS s u v 100 1 1 1 1 w r Which node is found first? IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 17
  • 18. • So far, the nodes have been found in order of length from s. • Is the same true for Dijkstra's Algorithm? s u v 100 1 1 1 1 w r • Which node is found first? • It has the longest path from s. BFS IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 18
  • 19. • So far, the nodes have been found in order of length from s. handled • In what order do we handle the foundNotHandled nodes? s u v 100 1 1 1 1 w r Dijkstra's Handle node that “seems” to be closest to s. IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 19
  • 20. Dijkstra's • So far, the nodes have been handled in order of length from s. <postCond>: • Finds a shortest weighted path from s to each node v and its length. • To prove path is shortest: • Prove there is a path of this length. • Prove there are no shorter paths. • Give a path (witness) IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 20
  • 21. Dijkstra's • So far, the nodes have been handled in order of length from s. • <postCond>: • Finds a shortest weighted path from s to each node v and its length. • To prove path is shortest: • Prove there is a path of this length. • Prove there are no shorter paths. • When we handle v, we know there isn't a shorter path to it because? IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 21
  • 22. Dijkstra's Handle node that “seems” to be closest to s. Need to keep approximate shortest distances. •Path that we have “seen so far” will be called handled paths. •Let d(v) the length of the shortest such path to v. Basic Steps: u vs Which is further? IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 22
  • 23. Basic Steps: u Dijkstra's w<u,v> v s The shortest of handled paths to v has length d(v) • The shortest of handled paths to u has length d(u) & there is an edge from u to v • The shortest known path to v has length min( d(v), d(u)+w<u,v> ). Updating d(u). IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 23
  • 27. Depth First Search • Breadth first search makes a lot of sense for dating in general actually. • It suggests dating a bunch of people casually before getting serious rather than having a series of five year relationships. IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 27
  • 29. Recursive Depth First Search IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 29
  • 31. Linear Order of a Partial Order underwear pants socks shoes underwear pants socks shoes socks underwear pants shoes IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 31
  • 33. Linear Order a b h c i d j e k f l g <preCond>: A Directed Acyclic Graph(DAG) <postCond>: Find one valid linear order ….. l Algorithm: •Find a sink •Put it last in order. •Delete & Repeat ? IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 33
  • 34. Linear Order a b h c i d j e k f l g <preCond>: A Directed Acyclic Graph(DAG) <postCond>: Find one validlinear order ….. l Algorithm: •Find a sink. •Put it last in order. •Delete & Repeat Θ(n) Θ(n2 ) IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 34
  • 35. Optimization Problems •Ingredients: •Instances: The possible inputs to the problem. •Solutions for Instance: Each instance has an exponentially large set of solutions. •Cost of Solution: Each solution has an easy to compute cost or value. •Specification •Preconditions: The input is one instance. •Postconditions: An valid solution with optimal cost. (minimum or maximum) Network Flow & Linear Programming IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 35
  • 36. •Instance: •A Network is a directed graph G •Edges represent pipes that carry flow •Each edge <u,v> has a maximum capacity c<u,v> •A source node s out of which flow leaves •A sink node t into which flow arrives •Goal: Max Flow Network Flow IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 36
  • 37. Network Flow • For some edges/pipes, it is not clear which direction the flow should go in order to maximize the flow from s to t. • Hence we allow flow in both directions. • Solution: • The amount of flow F<u,v> through each edge. • Flow F<u,v> can't exceed capacity c<u,v>. • No leaks, no extra flow. For each node v: flow in = flow out ∑u F<u,v> = ∑w F<v,w> IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 37
  • 38. - ∑v F<v,s> • Value of Solution: • Flow from s into the network – minus flow from the network back into s. – rate(F) = ∑u F<s,u> • Goal: Max Flow IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 38
  • 39. •Value Solution C=<U,V>: cap(C) = how much can flow from U to V = ∑u∈U,v∈V c<u,v> Min Cut s t U V u v Goal: Min Cut IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 39
  • 40. Max Flow = Min Cut • Theorem: • For all Networks MaxF rate(F) = MinC cap(C) • Prove: ∀ F,C rate(F) ≤ cap(C) • Prove: ∀ flow F, alg either • finds a better flow F • or finds cut C such that rate(F) = cap(C) • Algotiyhm stops with an F and C for which rate(F) = cap(C) • F witnesses that the optimal flow can't be less • C witnesses that it can't be more. IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 40
  • 41. An Application: Matching Sam Mary Bob Beth John Sue Fred Ann Who likes whom? Who should be matched with whom? so as many as possible matched and nobody matched twice? 3 matches Can we do better? 4 matches IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 41
  • 42. An Application: Matching s t c<s,u> = 1 •Total flow out of u = flow into u ≤ 1 •Boy u matched to at most one girl. 1 c<v,t> = 1 •Total flow into v = flow out of v ≤ 1 •Girl v matched to at most one boy. 1 u v IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 42
  • 43. Hill Climbing Problems: Can our Network Flow Algorithm get stuck in a local maximum? Local Max Global Max No! IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 43
  • 44. Hill Climbing Problems: Running time? If you take small step, could be exponential time. IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 44
  • 45. Hill Climbing Problems: Running time? •If each iteration you take the biggest step possible, •Algorithm is poly time • in number of nodes • and number of bits in capacities. • If each iteration you take path with the fewest edges •Algorithm is poly time •in number of nodes IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 45
  • 46. Taking the biggest step possible IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 46
  • 47. Linear Programming IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 47
  • 50. Linear Programming Linear Program: •An optimization problem whose constraints and cost function are linear functions •Goal: Find a solution which optimizes the cost. E.g. Maximize Cost Function : 21x1 - 6x2 – 100x3 - 100x4 Constraint Functions: 5x1 + 2x2 +31x3 - 20x4 ≤ 21 1x1 - 4x2 +3x3 + 10x1 ³ 56 6x1 + 60x2 - 31x3 - 15x4 ≤ 200 ….. IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 50
  • 51. Primal-Dual Hill Climbing Mars settlement has hilly landscape and many layers of roofs. Primal Problem: •Exponential # of locations to stand. •Find a highest one. Dual problem: •Exponential # of roofs. •Find a lowest one. Prove: •Every roof is above every location to stand. ∀ R ∀ L height(R) ≥ height(L) ⇒ height(Rmin) ≥ height(Lmax) •Is there a gap? IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 51
  • 52. • Prove: • For every location to stand either: • the alg takes a step up or • the alg gives a reason that explains why not by giving a ceiling of equal height. – i.e. ∀ L [∃ L’height(L’) ≥ height(L) or ∃ R height(R) = height(L)] • But ∀ R ∀ L height(R) ≥ height(L) IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 52
  • 53. Recursive Backtracking • The brute force algorithm for an optimization problem is to simply compute the cost or value of each of the exponential number of possible solutions and return the best. • A key problem with this algorithm is that it takes exponential time. • Another (not obviously trivial) problem is how to write code that enumerates over all possible solutions. • Often the easiest way to do this is recursive backtracking. IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 53
  • 54. An Algorithm as a Sequence of Decisions: • An algorithm for finding an optimal solution for your instance must make a sequence of small decisions about the solution • “Do we include the first object in the solution or not?” • “Do we include the second?” • “The third?” . . . , or “At the first fork in the road, do we go left or right?” IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 54
  • 55. • “At the second fork which direction do we go?” “At the third?” . . . . • As one stack frame in the recursive algorithm, our task is to deal only with the first of these decisions. • A recursive friend will deal with the rest IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 55
  • 56. Searching for the Best Animal • Searching through a large set of objects, say for the best animal at the zoo. • we break the search into smaller searches, each of which we delegate to a friend. • We might ask one friend for the best vertebrate and another for the best invertebrate. • We will take the better of these best as our answer. • This algorithm is recursive. IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 56
  • 57. • The friend with the vertebrate task asks a friend to find the best mammal, another for the best bird, and another for the best reptile. A Classification Tree of Solutions: • This algorithm unwinds into the tree of stack frames that directly mirrors the taxonomy tree that classifies animals. • Each solution is identified with a leaf. IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 57
  • 58. Classification Tree of Animals IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 58
  • 59. The Little Bird Abstraction: •A little bird abstraction to help focus on two of the most difficult and creative parts of designing a recursive backtracking algorithm. A Flock of Stupid Birds vs.wise Little Bird: A Flock of Stupid Birds: •whether the optimal solution is a mammal, a bird, or a reptile has K different answers •Giving her the benefit of doubt, we ask a friend to give us the optimal solution from among those that are consistent with this answer. IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 59
  • 60. • At least one of these birds must have been telling us the truth. Wise Little Bird: • If little bird answers correctly, designing an algorithm would be a lot easier • Ask the little bird “Is the best animal a bird, a mammal, a reptile, or a fish?” • Little Bird tells us a mammal. • Just ask our friend for the best mammal. • Trusting the little bird and the friend, we give this as the best animal. IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 60
  • 61. Developing a Recursive Backtracking Algorithm Objectives: •Understand backtracking algorithms and use them to solve problems •Use recursive functions to implement backtracking algorithms •How the choice of data structures can affect the efficiency of a program? IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 61
  • 62. Backtracking • Backtracking – A strategy for guessing at a solution and backing up when an impasse is reached • Recursion and backtracking can be combined to solve problems • Eight-Queens Problem – Place eight queens on the chessboard so that no queen can attack any other queen IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 62
  • 63. The Eight Queens Problem • One strategy: guess at a solution – There are 4,426,165,368 ways to arrange 8 queens on a chessboard of 64 squares • An observation that eliminates many arrangements from consideration – No queen can reside in a row or a column that contains another queen • Now: only 40,320 (8!) arrangements of queens to be checked for attacks along diagonals IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 63
  • 64. • Providing organization for the guessing strategy – Place queens one column at a time – If you reach an impasse, backtrack to the previous column A solution to the Eight Queens problem IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 64
  • 65. The Eight Queens Problem • A recursive algorithm that places a queen in a column – Base case • If there are no more columns to consider – You are finished – Recursive step • If you successfully place a queen in the current column – Consider the next column • If you cannot place a queen in the current column – You need to backtrack IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 65
  • 66. The Eight Queens Problem a)Five queens that cannot attack each other, but that can attack all of column 6; b)Backtracking to column 5 to try another square for the queen; c)Backtracking to column 4 to try another square for the queen and then considering column 5 again IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 66
  • 67. Pruning Branches • The typical reasons why an entire branch of the solution classification tree can be pruned off. Invalid Solutions: • It happens partway down the tree the algorithm has already received enough information about the solution • Then it determine that it contains a conflict or defect making any such solution invalid. • The algorithm can stop recursing at this point and backtrack. • This effectively prunes off the entire subtree of solutions rooted at this node in the tree. IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 67
  • 68. No Highly Valued Solutions: •The algorithm arrives at the root of a subtree, it might realize that no solutions within this subtree are rated sufficiently high to be optimal •Perhaps because the algorithm has already found a solution probably better than all of these. •Again, the algorithm can prune this entire subtree from its search. IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 68
  • 69. Greedy Algorithms: •Greedy algorithms are effectively recursive backtracking algorithms with extreme pruning. •Whenever the algorithm has a choice as to which little bird’s answer to take •Then it looks best according to some greedy criterion. Modifying Solutions: •Modifying any possible solution that is not consistent with the latest choice into onethat has at least as good value and is consistent with this choice. IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 69
  • 70. Satisfiability • A famous optimization problem is called satisfiability. • The recursive backtracking algorithm is referred to as the Davis–Putnam algorithm. • An example of an algorithm whose running time is exponential for worst case inputs IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 70
  • 71. Satisfiability Problem Instances: •An instance (input) consists of a set of constraints on the assignment to the binary variables x1, x2, . . . , xn. •A typical constraint might be x1 or x3 or x8, equivalently that either x1 is true, x3 is false, or x8 is true. Solutions: •Each of the 2n assignments is a possible solution. •An assignment is valid for the given instance if it satisfies all of the constraints. IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 71
  • 72. Measure of Success: • An assignment is assigned the value one if it satisfies all of the constraints, and the value zero otherwise. Goal: •Given the constraints, the goal is to find a satisfying assignment. IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 72
  • 74. Running Time: •If no pruning is done, then the running time is (2n), as all 2n assignments are tried. •Considerable pruning needs to occur to make the algorithm polynomial-time. •Certainly in the worst case, the running time is 2(n). IFETCE/M.E(CSE)/I YEAR/I SEM/CP7102/ADS/UNIT-II/PPT/VER 1.2 74