SlideShare a Scribd company logo
Algorithms L18.1
LECTURE 18
Shortest Paths II
• Bellman-Ford algorithm
• Linear programming and
difference constraints
• VLSI layout compaction
Algorithms
Algorithms L18.2
Negative-weight cycles
Recall: If a graph G = (V, E) contains a negative-
weight cycle, then some shortest paths may not
exist.Example:
uu vv
…
< 0
Algorithms L18.3
Negative-weight cycles
Recall: If a graph G = (V, E) contains a negative-
weight cycle, then some shortest paths may not
exist.Example:
uu vv
…
< 0
Bellman-Ford algorithm: Finds all shortest-path
lengths from a source s ∈ V to all v ∈ V or
determines that a negative-weight cycle exists.
Algorithms L18.4
Bellman-Ford algorithm
d[s] ← 0
for each v ∈ V – {s}
do d[v] ← ∞
for i ← 1 to |V| – 1
do for each edge (u, v) ∈ E
do if d[v] > d[u] + w(u, v)
then d[v] ← d[u] + w(u, v)
for each edge (u, v) ∈ E
do if d[v] > d[u] + w(u, v)
then report that a negative-weight cycle exists
initialization
At the end, d[v] = δ(s, v), if no negative-weight cycles.
Time = O(VE).
relaxation
step
Algorithms L18.5
Example of Bellman-Ford
AA
BB
EE
CC DD
–1
4
1
2
–3
2
5
3
Algorithms L18.6
Example of Bellman-Ford
AA
BB
EE
CC DD
–1
4
1
2
–3
2
5
3
∞
0 ∞
∞ ∞
Initialization.
Algorithms L18.7
Example of Bellman-Ford
AA
BB
EE
CC DD
–1
4
1
2
–3
2
5
3
∞
0 ∞
∞ ∞
1
2
3
4
5
7
8
Order of edge relaxation.
6
Algorithms L18.8
Example of Bellman-Ford
AA
BB
EE
CC DD
–1
4
1
2
–3
2
5
3
∞
0 ∞
∞ ∞
1
2
3
4
5
7
8
6
Algorithms L18.9
Example of Bellman-Ford
AA
BB
EE
CC DD
–1
4
1
2
–3
2
5
3
∞
0 ∞
∞ ∞
1
2
3
4
5
7
8
6
Algorithms L18.10
Example of Bellman-Ford
AA
BB
EE
CC DD
–1
4
1
2
–3
2
5
3
∞
0 ∞
∞ ∞
1
2
3
4
5
7
8
6
Algorithms L18.11
∞−1
Example of Bellman-Ford
AA
BB
EE
CC DD
–1
4
1
2
–3
2
5
3
0 ∞
∞ ∞
1
2
3
4
5
7
8
6
Algorithms L18.12
∞4
−1
Example of Bellman-Ford
AA
BB
EE
CC DD
–1
4
1
2
–3
2
5
3
0 ∞
∞
1
2
3
4
5
7
8
6
Algorithms L18.13
4
−1
Example of Bellman-Ford
AA
BB
EE
CC DD
–1
4
1
2
–3
2
5
3
0 ∞
∞
1
2
3
4
5
7
8
6
Algorithms L18.14
42
−1
Example of Bellman-Ford
AA
BB
EE
CC DD
–1
4
1
2
–3
2
5
3
0 ∞
∞
1
2
3
4
5
7
8
6
Algorithms L18.15
2
−1
Example of Bellman-Ford
AA
BB
EE
CC DD
–1
4
1
2
–3
2
5
3
0 ∞
∞
1
2
3
4
5
7
8
6
Algorithms L18.16
2
−1
Example of Bellman-Ford
AA
BB
EE
CC DD
–1
4
1
2
–3
2
5
3
0 ∞
∞
1
2
3
4
5
7
8
End of pass 1.
6
Algorithms L18.17
∞1
2
−1
Example of Bellman-Ford
AA
BB
EE
CC DD
–1
4
1
2
–3
2
5
3
0
∞
1
2
3
4
5
7
8
6
Algorithms L18.18
1
2
−1
Example of Bellman-Ford
AA
BB
EE
CC DD
–1
4
1
2
–3
2
5
3
0
∞
1
2
3
4
5
7
8
6
Algorithms L18.19
∞1
1
2
−1
Example of Bellman-Ford
AA
BB
EE
CC DD
–1
4
1
2
–3
2
5
3
0
1
2
3
4
5
7
8
6
Algorithms L18.20
1
1
2
−1
Example of Bellman-Ford
AA
BB
EE
CC DD
–1
4
1
2
–3
2
5
3
0
1
2
3
4
5
7
8
6
Algorithms L18.21
1
1
2
−1
Example of Bellman-Ford
AA
BB
EE
CC DD
–1
4
1
2
–3
2
5
3
0
1
2
3
4
5
7
8
6
Algorithms L18.22
1
1
2
−1
Example of Bellman-Ford
AA
BB
EE
CC DD
–1
4
1
2
–3
2
5
3
0
1
2
3
4
5
7
8
6
Algorithms L18.23
1
1
2
−1
Example of Bellman-Ford
AA
BB
EE
CC DD
–1
4
1
2
–3
2
5
3
0
1
2
3
4
5
7
8
6
Algorithms L18.24
1−2
1
2
−1
Example of Bellman-Ford
AA
BB
EE
CC DD
–1
4
1
2
–3
2
5
3
0
1
2
3
4
5
7
8
6
Algorithms L18.25
−2
1
2
−1
Example of Bellman-Ford
AA
BB
EE
CC DD
–1
4
1
2
–3
2
5
3
0
1
2
3
4
5
7
8
6
End of pass 2 (and 3 and 4).
Algorithms L18.26
Correctness
Theorem. If G = (V, E) contains no negative-
weight cycles, then after the Bellman-Ford
algorithm executes, d[v] = δ(s, v) for all v ∈ V.
Algorithms L18.27
Correctness
Theorem. If G = (V, E) contains no negative-
weight cycles, then after the Bellman-Ford
algorithm executes, d[v] = δ(s, v) for all v ∈ V.
Proof. Let v ∈ V be any vertex, and consider a shortest
path p from s to v with the minimum number of edges.
v1
v1
v2
v2
v3
v3 vk
vk
v0
v0
…
s
v
p:
Since p is a shortest path, we have
δ(s, vi) = δ(s, vi–1) + w(vi–1, vi) .
Algorithms L18.28
Correctness (continued)
v1
v1
v2
v2
v3
v3 vk
vk
v0
v0
…
s
v
p:
Initially, d[v0] = 0 = δ(s, v0), and d[v0] is unchanged by
subsequent relaxations (because of the lemma from
Lecture 14 that d[v] ≥ δ(s, v)).
• After 1 pass through E, we have d[v1] = δ(s, v1).
• After 2 passes through E, we have d[v2] = δ(s, v2).

• After k passes through E, we have d[vk] = δ(s, vk).
Since G contains no negative-weight cycles, p is simple.
Longest simple path has ≤ |V| – 1 edges.
Algorithms L18.29
Detection of negative-weight
cycles
Corollary. If a value d[v] fails to converge after
|V| – 1 passes, there exists a negative-weight
cycle in G reachable from s.
Algorithms L18.30
Linear programming
Let A be an m×n matrix, b be an m-vector, and c
be an n-vector. Find an n-vector x that maximizes
cT
x subject to Ax ≤ b, or determine that no such
solution exists.
. ≤ .maximizingm
n
A x ≤ b cT
x
Algorithms L18.31
Linear-programming
algorithms
Algorithms for the general problem
• Simplex methods — practical, but worst-case
exponential time.
• Interior-point methods — polynomial time and
competes with simplex.
Algorithms L18.32
Linear-programming
algorithms
Algorithms for the general problem
• Simplex methods — practical, but worst-case
exponential time.
• Interior-point methods — polynomial time and
competes with simplex.
Feasibility problem: No optimization criterion.
Just find x such that Ax ≤ b.
• In general, just as hard as ordinary LP.
Algorithms L18.33
Solving a system of difference
constraints
Linear programming where each row of A contains
exactly one 1, one –1, and the rest 0’s.
Example:
x1 – x2 ≤ 3
x2 – x3 ≤ –2
x1 – x3 ≤ 2
xj – xi ≤ wij
Algorithms L18.34
Solving a system of difference
constraints
Linear programming where each row of A contains
exactly one 1, one –1, and the rest 0’s.
Example:
x1 – x2 ≤ 3
x2 – x3 ≤ –2
x1 – x3 ≤ 2
xj – xi ≤ wij
Solution:
x1 = 3
x2 = 0
x3 = 2
Algorithms L18.35
Solving a system of difference
constraints
Linear programming where each row of A contains
exactly one 1, one –1, and the rest 0’s.
Example:
x1 – x2 ≤ 3
x2 – x3 ≤ –2
x1 – x3 ≤ 2
xj – xi ≤ wij
Solution:
x1 = 3
x2 = 0
x3 = 2
Constraint graph:
vj
vjvi
vixj – xi ≤ wij
wij
(The “A”
matrix has
dimensions
|E| × |V|.)
Algorithms L18.36
Unsatisfiable constraints
Theorem. If the constraint graph contains
a negative-weight cycle, then the system of
differences is unsatisfiable.
Algorithms L18.37
Unsatisfiable constraints
Theorem. If the constraint graph contains
a negative-weight cycle, then the system of
differences is unsatisfiable.
Proof. Suppose that the negative-weight cycle is
v1 → v2 →  → vk → v1. Then, we have
x2 – x1 ≤ w12
x3 – x2 ≤ w23

xk – xk–1 ≤ wk–1, k
x1 – xk ≤ wk1
Algorithms L18.38
Unsatisfiable constraints
Theorem. If the constraint graph contains
a negative-weight cycle, then the system of
differences is unsatisfiable.
Proof. Suppose that the negative-weight cycle is
v1 → v2 →  → vk → v1. Then, we have
x2 – x1 ≤ w12
x3 – x2 ≤ w23

xk – xk–1 ≤ wk–1, k
x1 – xk ≤ wk1
Therefore, no
values for the xi
can satisfy the
constraints.
0 ≤ weight of cycle
< 0
Algorithms L18.39
Satisfying the constraints
Theorem. Suppose no negative-weight cycle
exists in the constraint graph. Then, the
constraints are satisfiable.
Algorithms L18.40
Satisfying the constraints
Theorem. Suppose no negative-weight cycle
exists in the constraint graph. Then, the
constraints are satisfiable.
Proof. Add a new vertex s to V with a 0-weight edge
to each vertex vi ∈ V.
v1
v1
v4
v4
v7
v7
v9
v9
v3
v3
Algorithms L18.41
Satisfying the constraints
Theorem. Suppose no negative-weight cycle
exists in the constraint graph. Then, the
constraints are satisfiable.
Proof. Add a new vertex s to V with a 0-weight edge
to each vertex vi ∈ V.
v1
v1
v4
v4
v7
v7
v9
v9
v3
v3
s
0 Note:
No negative-weight
cycles introduced ⇒
shortest paths exist.
Algorithms L18.42
The triangle inequality gives us δ(s,vj) ≤ δ(s, vi) + wij.
Since xi = δ(s, vi) and xj = δ(s, vj), the constraint xj – xi
≤ wij is satisfied.
Proof (continued)
Claim: The assignment xi = δ(s, vi) solves the constraints.
ss
vj
vj
vi
vi
δ(s, vi)
δ(s, vj) wij
Consider any constraint xj – xi ≤ wij, and consider the
shortest paths from s to vj and vi:
Algorithms L18.43
Bellman-Ford and linear
programming
Corollary. The Bellman-Ford algorithm can
solve a system of m difference constraints on n
variables in O(mn) time.
Single-source shortest paths is a simple LP
problem.
In fact, Bellman-Ford maximizes x1 + x2 +  + xn
subject to the constraints xj – xi ≤ wij and xi ≤ 0
(exercise).
Bellman-Ford also minimizes maxi{xi} – mini{xi}
(exercise).
Algorithms L18.44
Application to VLSI layout
compaction
Integrated
-circuit
features:
Problem: Compact (in one dimension) the
space between the features of a VLSI layout
without bringing any features too close together.
minimum separation λ
Algorithms L18.45
VLSI layout compaction
11
x1 x2
2
d1
Constraint: x2 – x1 ≥ d1 + λ
Bellman-Ford minimizes maxi{xi} – mini{xi},
which compacts the layout in the x-dimension.

More Related Content

PPT
SINGLE-SOURCE SHORTEST PATHS
PPTX
Bellman ford algorithm
PPTX
Bellman ford Algorithm
PPTX
Traveling salesman problem
PDF
Bellman ford algorithm
PPT
Single source stortest path bellman ford and dijkstra
PPTX
Kruskal Algorithm
PPT
Asymptotic notation
SINGLE-SOURCE SHORTEST PATHS
Bellman ford algorithm
Bellman ford Algorithm
Traveling salesman problem
Bellman ford algorithm
Single source stortest path bellman ford and dijkstra
Kruskal Algorithm
Asymptotic notation

What's hot (20)

PPTX
Greedy algorithms
PPTX
Dijkstra s algorithm
PPTX
Three Address code
PPTX
Dijkstra’s algorithm
PPT
Minimum spanning tree
PPT
The Floyd–Warshall algorithm
PDF
P, NP, NP-Complete, and NP-Hard
PPTX
Job sequencing with deadline
PPTX
Bellman ford algorithm
PPTX
Coin change Problem (DP & GREEDY)
PPTX
Bfs and Dfs
PPTX
Dijkstra’S Algorithm
DOC
Unit 3 daa
PPT
SINGLE SOURCE SHORTEST PATH.ppt
PPT
Sum of subsets problem by backtracking 
PDF
All pairs shortest path algorithm
PPTX
Asymptotic notations
PPT
Np cooks theorem
PPTX
Single source Shortest path algorithm with example
PPT
Graph coloring problem
Greedy algorithms
Dijkstra s algorithm
Three Address code
Dijkstra’s algorithm
Minimum spanning tree
The Floyd–Warshall algorithm
P, NP, NP-Complete, and NP-Hard
Job sequencing with deadline
Bellman ford algorithm
Coin change Problem (DP & GREEDY)
Bfs and Dfs
Dijkstra’S Algorithm
Unit 3 daa
SINGLE SOURCE SHORTEST PATH.ppt
Sum of subsets problem by backtracking 
All pairs shortest path algorithm
Asymptotic notations
Np cooks theorem
Single source Shortest path algorithm with example
Graph coloring problem
Ad

Similar to Bellman Ford's Algorithm (20)

PDF
Improving EV Lateral Dynamics Control Using Infinity Norm Approach with Close...
PPT
bellman-ford dynamic algorithm in data structures.ppt
PPT
bellman-ford Theorem.ppt
PPTX
Single sourceshortestpath by emad
PPT
about power system operation and control13197214.ppt
PPTX
ECE476_2016_Lect 12.pptx
PPTX
Lec2-review-III-svm-logreg_for the beginner.pptx
PPTX
Lec2-review-III-svm-logregressionmodel.pptx
PDF
Cooperative Collision Avoidance via Proximal Message Passing
PDF
Random Matrix Theory and Machine Learning - Part 3
PPTX
Regression.pptx
PPTX
Regression.pptx
PPT
Lecture 10
PPT
Newton Raphson method for load flow analysis
PDF
lec-10-perceptron-upload.pdf
PPTX
Greedy Strategy.pptxbfasjbjfn asnfn anjn
PPTX
Greedy algorithms -Making change-Knapsack-Prim's-Kruskal's
PDF
smtlecture.6
PPT
Lecture_10_Parallel_Algorithms_Part_II.ppt
PPT
e048b527dca76980222bf258a30545f8_MIT15_082JF10_lec16.ppt
Improving EV Lateral Dynamics Control Using Infinity Norm Approach with Close...
bellman-ford dynamic algorithm in data structures.ppt
bellman-ford Theorem.ppt
Single sourceshortestpath by emad
about power system operation and control13197214.ppt
ECE476_2016_Lect 12.pptx
Lec2-review-III-svm-logreg_for the beginner.pptx
Lec2-review-III-svm-logregressionmodel.pptx
Cooperative Collision Avoidance via Proximal Message Passing
Random Matrix Theory and Machine Learning - Part 3
Regression.pptx
Regression.pptx
Lecture 10
Newton Raphson method for load flow analysis
lec-10-perceptron-upload.pdf
Greedy Strategy.pptxbfasjbjfn asnfn anjn
Greedy algorithms -Making change-Knapsack-Prim's-Kruskal's
smtlecture.6
Lecture_10_Parallel_Algorithms_Part_II.ppt
e048b527dca76980222bf258a30545f8_MIT15_082JF10_lec16.ppt
Ad

Recently uploaded (20)

PPTX
human mycosis Human fungal infections are called human mycosis..pptx
PDF
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
PDF
Business Ethics Teaching Materials for college
PPTX
Renaissance Architecture: A Journey from Faith to Humanism
PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PDF
102 student loan defaulters named and shamed – Is someone you know on the list?
PPTX
Institutional Correction lecture only . . .
PDF
Origin of periodic table-Mendeleev’s Periodic-Modern Periodic table
PPTX
Week 4 Term 3 Study Techniques revisited.pptx
PPTX
Cell Types and Its function , kingdom of life
PDF
Anesthesia in Laparoscopic Surgery in India
PDF
Pre independence Education in Inndia.pdf
PPTX
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PDF
Microbial disease of the cardiovascular and lymphatic systems
PDF
Insiders guide to clinical Medicine.pdf
PDF
Basic Mud Logging Guide for educational purpose
PPTX
Pharma ospi slides which help in ospi learning
PPTX
BOWEL ELIMINATION FACTORS AFFECTING AND TYPES
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
human mycosis Human fungal infections are called human mycosis..pptx
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
Business Ethics Teaching Materials for college
Renaissance Architecture: A Journey from Faith to Humanism
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
102 student loan defaulters named and shamed – Is someone you know on the list?
Institutional Correction lecture only . . .
Origin of periodic table-Mendeleev’s Periodic-Modern Periodic table
Week 4 Term 3 Study Techniques revisited.pptx
Cell Types and Its function , kingdom of life
Anesthesia in Laparoscopic Surgery in India
Pre independence Education in Inndia.pdf
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
Final Presentation General Medicine 03-08-2024.pptx
Microbial disease of the cardiovascular and lymphatic systems
Insiders guide to clinical Medicine.pdf
Basic Mud Logging Guide for educational purpose
Pharma ospi slides which help in ospi learning
BOWEL ELIMINATION FACTORS AFFECTING AND TYPES
STATICS OF THE RIGID BODIES Hibbelers.pdf

Bellman Ford's Algorithm

  • 1. Algorithms L18.1 LECTURE 18 Shortest Paths II • Bellman-Ford algorithm • Linear programming and difference constraints • VLSI layout compaction Algorithms
  • 2. Algorithms L18.2 Negative-weight cycles Recall: If a graph G = (V, E) contains a negative- weight cycle, then some shortest paths may not exist.Example: uu vv … < 0
  • 3. Algorithms L18.3 Negative-weight cycles Recall: If a graph G = (V, E) contains a negative- weight cycle, then some shortest paths may not exist.Example: uu vv … < 0 Bellman-Ford algorithm: Finds all shortest-path lengths from a source s ∈ V to all v ∈ V or determines that a negative-weight cycle exists.
  • 4. Algorithms L18.4 Bellman-Ford algorithm d[s] ← 0 for each v ∈ V – {s} do d[v] ← ∞ for i ← 1 to |V| – 1 do for each edge (u, v) ∈ E do if d[v] > d[u] + w(u, v) then d[v] ← d[u] + w(u, v) for each edge (u, v) ∈ E do if d[v] > d[u] + w(u, v) then report that a negative-weight cycle exists initialization At the end, d[v] = δ(s, v), if no negative-weight cycles. Time = O(VE). relaxation step
  • 5. Algorithms L18.5 Example of Bellman-Ford AA BB EE CC DD –1 4 1 2 –3 2 5 3
  • 6. Algorithms L18.6 Example of Bellman-Ford AA BB EE CC DD –1 4 1 2 –3 2 5 3 ∞ 0 ∞ ∞ ∞ Initialization.
  • 7. Algorithms L18.7 Example of Bellman-Ford AA BB EE CC DD –1 4 1 2 –3 2 5 3 ∞ 0 ∞ ∞ ∞ 1 2 3 4 5 7 8 Order of edge relaxation. 6
  • 8. Algorithms L18.8 Example of Bellman-Ford AA BB EE CC DD –1 4 1 2 –3 2 5 3 ∞ 0 ∞ ∞ ∞ 1 2 3 4 5 7 8 6
  • 9. Algorithms L18.9 Example of Bellman-Ford AA BB EE CC DD –1 4 1 2 –3 2 5 3 ∞ 0 ∞ ∞ ∞ 1 2 3 4 5 7 8 6
  • 10. Algorithms L18.10 Example of Bellman-Ford AA BB EE CC DD –1 4 1 2 –3 2 5 3 ∞ 0 ∞ ∞ ∞ 1 2 3 4 5 7 8 6
  • 11. Algorithms L18.11 ∞−1 Example of Bellman-Ford AA BB EE CC DD –1 4 1 2 –3 2 5 3 0 ∞ ∞ ∞ 1 2 3 4 5 7 8 6
  • 12. Algorithms L18.12 ∞4 −1 Example of Bellman-Ford AA BB EE CC DD –1 4 1 2 –3 2 5 3 0 ∞ ∞ 1 2 3 4 5 7 8 6
  • 13. Algorithms L18.13 4 −1 Example of Bellman-Ford AA BB EE CC DD –1 4 1 2 –3 2 5 3 0 ∞ ∞ 1 2 3 4 5 7 8 6
  • 14. Algorithms L18.14 42 −1 Example of Bellman-Ford AA BB EE CC DD –1 4 1 2 –3 2 5 3 0 ∞ ∞ 1 2 3 4 5 7 8 6
  • 15. Algorithms L18.15 2 −1 Example of Bellman-Ford AA BB EE CC DD –1 4 1 2 –3 2 5 3 0 ∞ ∞ 1 2 3 4 5 7 8 6
  • 16. Algorithms L18.16 2 −1 Example of Bellman-Ford AA BB EE CC DD –1 4 1 2 –3 2 5 3 0 ∞ ∞ 1 2 3 4 5 7 8 End of pass 1. 6
  • 17. Algorithms L18.17 ∞1 2 −1 Example of Bellman-Ford AA BB EE CC DD –1 4 1 2 –3 2 5 3 0 ∞ 1 2 3 4 5 7 8 6
  • 18. Algorithms L18.18 1 2 −1 Example of Bellman-Ford AA BB EE CC DD –1 4 1 2 –3 2 5 3 0 ∞ 1 2 3 4 5 7 8 6
  • 19. Algorithms L18.19 ∞1 1 2 −1 Example of Bellman-Ford AA BB EE CC DD –1 4 1 2 –3 2 5 3 0 1 2 3 4 5 7 8 6
  • 20. Algorithms L18.20 1 1 2 −1 Example of Bellman-Ford AA BB EE CC DD –1 4 1 2 –3 2 5 3 0 1 2 3 4 5 7 8 6
  • 21. Algorithms L18.21 1 1 2 −1 Example of Bellman-Ford AA BB EE CC DD –1 4 1 2 –3 2 5 3 0 1 2 3 4 5 7 8 6
  • 22. Algorithms L18.22 1 1 2 −1 Example of Bellman-Ford AA BB EE CC DD –1 4 1 2 –3 2 5 3 0 1 2 3 4 5 7 8 6
  • 23. Algorithms L18.23 1 1 2 −1 Example of Bellman-Ford AA BB EE CC DD –1 4 1 2 –3 2 5 3 0 1 2 3 4 5 7 8 6
  • 24. Algorithms L18.24 1−2 1 2 −1 Example of Bellman-Ford AA BB EE CC DD –1 4 1 2 –3 2 5 3 0 1 2 3 4 5 7 8 6
  • 25. Algorithms L18.25 −2 1 2 −1 Example of Bellman-Ford AA BB EE CC DD –1 4 1 2 –3 2 5 3 0 1 2 3 4 5 7 8 6 End of pass 2 (and 3 and 4).
  • 26. Algorithms L18.26 Correctness Theorem. If G = (V, E) contains no negative- weight cycles, then after the Bellman-Ford algorithm executes, d[v] = δ(s, v) for all v ∈ V.
  • 27. Algorithms L18.27 Correctness Theorem. If G = (V, E) contains no negative- weight cycles, then after the Bellman-Ford algorithm executes, d[v] = δ(s, v) for all v ∈ V. Proof. Let v ∈ V be any vertex, and consider a shortest path p from s to v with the minimum number of edges. v1 v1 v2 v2 v3 v3 vk vk v0 v0 … s v p: Since p is a shortest path, we have δ(s, vi) = δ(s, vi–1) + w(vi–1, vi) .
  • 28. Algorithms L18.28 Correctness (continued) v1 v1 v2 v2 v3 v3 vk vk v0 v0 … s v p: Initially, d[v0] = 0 = δ(s, v0), and d[v0] is unchanged by subsequent relaxations (because of the lemma from Lecture 14 that d[v] ≥ δ(s, v)). • After 1 pass through E, we have d[v1] = δ(s, v1). • After 2 passes through E, we have d[v2] = δ(s, v2).  • After k passes through E, we have d[vk] = δ(s, vk). Since G contains no negative-weight cycles, p is simple. Longest simple path has ≤ |V| – 1 edges.
  • 29. Algorithms L18.29 Detection of negative-weight cycles Corollary. If a value d[v] fails to converge after |V| – 1 passes, there exists a negative-weight cycle in G reachable from s.
  • 30. Algorithms L18.30 Linear programming Let A be an m×n matrix, b be an m-vector, and c be an n-vector. Find an n-vector x that maximizes cT x subject to Ax ≤ b, or determine that no such solution exists. . ≤ .maximizingm n A x ≤ b cT x
  • 31. Algorithms L18.31 Linear-programming algorithms Algorithms for the general problem • Simplex methods — practical, but worst-case exponential time. • Interior-point methods — polynomial time and competes with simplex.
  • 32. Algorithms L18.32 Linear-programming algorithms Algorithms for the general problem • Simplex methods — practical, but worst-case exponential time. • Interior-point methods — polynomial time and competes with simplex. Feasibility problem: No optimization criterion. Just find x such that Ax ≤ b. • In general, just as hard as ordinary LP.
  • 33. Algorithms L18.33 Solving a system of difference constraints Linear programming where each row of A contains exactly one 1, one –1, and the rest 0’s. Example: x1 – x2 ≤ 3 x2 – x3 ≤ –2 x1 – x3 ≤ 2 xj – xi ≤ wij
  • 34. Algorithms L18.34 Solving a system of difference constraints Linear programming where each row of A contains exactly one 1, one –1, and the rest 0’s. Example: x1 – x2 ≤ 3 x2 – x3 ≤ –2 x1 – x3 ≤ 2 xj – xi ≤ wij Solution: x1 = 3 x2 = 0 x3 = 2
  • 35. Algorithms L18.35 Solving a system of difference constraints Linear programming where each row of A contains exactly one 1, one –1, and the rest 0’s. Example: x1 – x2 ≤ 3 x2 – x3 ≤ –2 x1 – x3 ≤ 2 xj – xi ≤ wij Solution: x1 = 3 x2 = 0 x3 = 2 Constraint graph: vj vjvi vixj – xi ≤ wij wij (The “A” matrix has dimensions |E| × |V|.)
  • 36. Algorithms L18.36 Unsatisfiable constraints Theorem. If the constraint graph contains a negative-weight cycle, then the system of differences is unsatisfiable.
  • 37. Algorithms L18.37 Unsatisfiable constraints Theorem. If the constraint graph contains a negative-weight cycle, then the system of differences is unsatisfiable. Proof. Suppose that the negative-weight cycle is v1 → v2 →  → vk → v1. Then, we have x2 – x1 ≤ w12 x3 – x2 ≤ w23  xk – xk–1 ≤ wk–1, k x1 – xk ≤ wk1
  • 38. Algorithms L18.38 Unsatisfiable constraints Theorem. If the constraint graph contains a negative-weight cycle, then the system of differences is unsatisfiable. Proof. Suppose that the negative-weight cycle is v1 → v2 →  → vk → v1. Then, we have x2 – x1 ≤ w12 x3 – x2 ≤ w23  xk – xk–1 ≤ wk–1, k x1 – xk ≤ wk1 Therefore, no values for the xi can satisfy the constraints. 0 ≤ weight of cycle < 0
  • 39. Algorithms L18.39 Satisfying the constraints Theorem. Suppose no negative-weight cycle exists in the constraint graph. Then, the constraints are satisfiable.
  • 40. Algorithms L18.40 Satisfying the constraints Theorem. Suppose no negative-weight cycle exists in the constraint graph. Then, the constraints are satisfiable. Proof. Add a new vertex s to V with a 0-weight edge to each vertex vi ∈ V. v1 v1 v4 v4 v7 v7 v9 v9 v3 v3
  • 41. Algorithms L18.41 Satisfying the constraints Theorem. Suppose no negative-weight cycle exists in the constraint graph. Then, the constraints are satisfiable. Proof. Add a new vertex s to V with a 0-weight edge to each vertex vi ∈ V. v1 v1 v4 v4 v7 v7 v9 v9 v3 v3 s 0 Note: No negative-weight cycles introduced ⇒ shortest paths exist.
  • 42. Algorithms L18.42 The triangle inequality gives us δ(s,vj) ≤ δ(s, vi) + wij. Since xi = δ(s, vi) and xj = δ(s, vj), the constraint xj – xi ≤ wij is satisfied. Proof (continued) Claim: The assignment xi = δ(s, vi) solves the constraints. ss vj vj vi vi δ(s, vi) δ(s, vj) wij Consider any constraint xj – xi ≤ wij, and consider the shortest paths from s to vj and vi:
  • 43. Algorithms L18.43 Bellman-Ford and linear programming Corollary. The Bellman-Ford algorithm can solve a system of m difference constraints on n variables in O(mn) time. Single-source shortest paths is a simple LP problem. In fact, Bellman-Ford maximizes x1 + x2 +  + xn subject to the constraints xj – xi ≤ wij and xi ≤ 0 (exercise). Bellman-Ford also minimizes maxi{xi} – mini{xi} (exercise).
  • 44. Algorithms L18.44 Application to VLSI layout compaction Integrated -circuit features: Problem: Compact (in one dimension) the space between the features of a VLSI layout without bringing any features too close together. minimum separation λ
  • 45. Algorithms L18.45 VLSI layout compaction 11 x1 x2 2 d1 Constraint: x2 – x1 ≥ d1 + λ Bellman-Ford minimizes maxi{xi} – mini{xi}, which compacts the layout in the x-dimension.