Introduction to Algorithms, Third Edition


Lemma 24.17 (Predecessor-subgraph property)



Download 4,84 Mb.
Pdf ko'rish
bet448/618
Sana07.04.2022
Hajmi4,84 Mb.
#534272
1   ...   444   445   446   447   448   449   450   451   ...   618
Bog'liq
Introduction-to-algorithms-3rd-edition

Lemma 24.17 (Predecessor-subgraph property)
Let
G
D
.V; E/
be a weighted, directed graph with weight function
w
W
E
!
R
,
let
s
2
V
be a source vertex, and assume that
G
contains no negative-weight cycles
that are reachable from
s
. Let us call I
NITIALIZE
-S
INGLE
-S
OURCE
.G; s/
and then
execute any sequence of relaxation steps on edges of
G
that produces
:
d
D
ı.s; /
for all
2
V
. Then, the predecessor subgraph
G
is a shortest-paths tree rooted
at
s
.
Proof
We must prove that the three properties of shortest-paths trees given on
page 647 hold for
G
. To show the first property, we must show that
V
is the set
of vertices reachable from
s
. By definition, a shortest-path weight
ı.s; /
is finite
if and only if
is reachable from
s
, and thus the vertices that are reachable from
s
are exactly those with finite
d
values. But a vertex
2
V
f
s
g
has been assigned
a finite value for
:
d
if and only if
:
¤
NIL
. Thus, the vertices in
V
are exactly
those reachable from
s
.
The second property follows directly from Lemma 24.16.
It remains, therefore, to prove the last property of shortest-paths trees: for each
vertex
2
V
, the unique simple path
s
p
;
in
G
is a shortest path from
s
to
in
G
. Let
p
D h
0

1
; : : : ; 
k
i
, where
0
D
s
and
k
D
. For
i
D
1; 2; : : : ; k
,
we have both
i
:
d
D
ı.s; 
i
/
and
i
:
d
i
1
:
d
C
w.
i
1

i
/
, from which we
conclude
w.
i
1

i
/
ı.s; 
i
/
ı.s; 
i
1
/
. Summing the weights along path
p
yields
w.p/
D
k
X
i
D
1
w.
i
1

i
/
k
X
i
D
1
.ı.s; 
i
/
ı.s; 
i
1
//
D
ı.s; 
k
/
ı.s; 
0
/
(because the sum telescopes)
D
ı.s; 
k
/
(because
ı.s; 
0
/
D
ı.s; s/
D
0
) .
Thus,
w.p/
ı.s; 
k
/
. Since
ı.s; 
k
/
is a lower bound on the weight of any path
from
s
to
k
, we conclude that
w.p/
D
ı.s; 
k
/
, and thus
p
is a shortest path
from
s
to
D
k
.
Exercises
24.5-1
Give two shortest-paths trees for the directed graph of Figure 24.2 (on page 648)
other than the two shown.


24.5
Proofs of shortest-paths properties
677
24.5-2
Give an example of a weighted, directed graph
G
D
.V; E/
with weight function
w
W
E
!
R
and source vertex
s
such that
G
satisfies the following property: For
every edge
.u; /
2
E
, there is a shortest-paths tree rooted at
s
that contains
.u; /
and another shortest-paths tree rooted at
s
that does not contain
.u; /
.
24.5-3
Embellish the proof of Lemma 24.10 to handle cases in which shortest-path
weights are
1
or
1
.
24.5-4
Let
G
D
.V; E/
be a weighted, directed graph with source vertex
s
, and let
G
be initialized by I
NITIALIZE
-S
INGLE
-S
OURCE
.G; s/
. Prove that if a sequence of
relaxation steps sets
s:
to a non-
NIL
value, then
G
contains a negative-weight
cycle.
24.5-5
Let
G
D
.V; E/
be a weighted, directed graph with no negative-weight edges. Let
s
2
V
be the source vertex, and suppose that we allow
:
to be the predecessor
of
on
any
shortest path to
from source
s
if
2
V
f
s
g
is reachable from
s
,
and
NIL
otherwise. Give an example of such a graph
G
and an assignment of
values that produces a cycle in
G
. (By Lemma 24.16, such an assignment cannot
be produced by a sequence of relaxation steps.)
24.5-6
Let
G
D
.V; E/
be a weighted, directed graph with weight function
w
W
E
!
R
and no negative-weight cycles. Let
s
2
V
be the source vertex, and let
G
be initial-
ized by I
NITIALIZE
-S
INGLE
-S
OURCE
.G; s/
. Prove that for every vertex
2
V
,
there exists a path from
s
to
in
G
and that this property is maintained as an
invariant over any sequence of relaxations.
24.5-7
Let
G
D
.V; E/
be a weighted, directed graph that contains no negative-weight
cycles. Let
s
2
V
be the source vertex, and let
G
be initialized by I
NITIALIZE
-
S
INGLE
-S
OURCE
.G; s/
. Prove that there exists a sequence of
j
V

1
relaxation
steps that produces
:
d
D
ı.s; /
for all
2
V
.
24.5-8
Let
G
be an arbitrary weighted, directed graph with a negative-weight cycle reach-
able from the source vertex
s
. Show how to construct an infinite sequence of relax-
ations of the edges of
G
such that every relaxation causes a shortest-path estimate
to change.


678
Chapter 24
Single-Source Shortest Paths
Problems
24-1
Yen’s improvement to Bellman-Ford
Suppose that we order the edge relaxations in each pass of the Bellman-Ford al-
gorithm as follows. Before the first pass, we assign an arbitrary linear order
1

2
; : : : ; 
j
V
j
to the vertices of the input graph
G
D
.V; E/
. Then, we parti-
tion the edge set
E
into
E
f
[
E
b
, where
E
f
D f
.
i

j
/
2
E
W
i < j
g
and
E
b
D f
.
i

j
/
2
E
W
i > j
g
. (Assume that
G
contains no self-loops, so that every
edge is in either
E
f
or
E
b
.) Define
G
f
D
.V; E
f
/
and
G
b
D
.V; E
b
/
.
a.
Prove that
G
f
is acyclic with topological sort
h
1

2
; : : : ; 
j
V
j
i
and that
G
b
is
acyclic with topological sort
h
j
V
j

j
V
j
1
; : : : ; 
1
i
.
Suppose that we implement each pass of the Bellman-Ford algorithm in the fol-
lowing way. We visit each vertex in the order
1

2
; : : : ; 
j
V
j
, relaxing edges of
E
f
that leave the vertex. We then visit each vertex in the order
j
V
j

j
V
j
1
; : : : ; 
1
,
relaxing edges of
E
b
that leave the vertex.
b.
Prove that with this scheme, if
G
contains no negative-weight cycles that are
reachable from the source vertex
s
, then after only
dj
V
j
=2
e
passes over the
edges,
:
d
D
ı.s; /
for all vertices
2
V
.
c.
Does this scheme improve the asymptotic running time of the Bellman-Ford
algorithm?
24-2
Nesting boxes
A
d
-dimensional box with dimensions
.x
1
; x
2
; : : : ; x
d
/
nests
within another box
with dimensions
.y
1
; y
2
; : : : ; y
d
/
if there exists a permutation
on
f
1; 2; : : : ; d
g
such that
x
.1/
< y
1
,
x
.2/
< y
2
, . . . ,
x
.d /
< y
d
.
a.
Argue that the nesting relation is transitive.
b.
Describe an efficient method to determine whether or not one
d
-dimensional
box nests inside another.
c.
Suppose that you are given a set of
n d
-dimensional boxes
f
B
1
; B
2
; : : : ; B
n
g
.
Give an efficient algorithm to find the longest sequence
h
B
i
1
; B
i
2
; : : : ; B
i
k
i
of
boxes such that
B
i
j
nests within
B
i
j
C
1
for
j
D
1; 2; : : : ; k
1
. Express the
running time of your algorithm in terms of
n
and
d
.


Problems for Chapter 24
679
24-3
Arbitrage
Arbitrage
is the use of discrepancies in currency exchange rates to transform one
unit of a currency into more than one unit of the same currency. For example,
suppose that
1
U.S. dollar buys
49
Indian rupees,
1
Indian rupee buys
2
Japanese
yen, and
1
Japanese yen buys
0:0107
U.S. dollars. Then, by converting currencies,
a trader can start with
1
U.S. dollar and buy
49
2
0:0107
D
1:0486
U.S. dollars,
thus turning a profit of
4:86
percent.
Suppose that we are given
n
currencies
c
1
; c
2
; : : : ; c
n
and an
n
n
table
R
of
exchange rates, such that one unit of currency
c
i
buys
RŒi; j 
units of currency
c
j
.
a.
Give an efficient algorithm to determine whether or not there exists a sequence
of currencies
h
c
i
1
; c
i
2
; : : : ; c
i
k
i
such that
RŒi
1
; i
2
RŒi
2
; i
3
RŒi
k
1
; i
k
RŒi
k
; i
1
> 1 :
Analyze the running time of your algorithm.
b.
Give an efficient algorithm to print out such a sequence if one exists. Analyze
the running time of your algorithm.
24-4
Gabow’s scaling algorithm for single-source shortest paths
A
scaling
algorithm solves a problem by initially considering only the highest-
order bit of each relevant input value (such as an edge weight). It then refines the
initial solution by looking at the two highest-order bits. It progressively looks at
more and more high-order bits, refining the solution each time, until it has exam-
ined all bits and computed the correct solution.
In this problem, we examine an algorithm for computing the shortest paths from
a single source by scaling edge weights. We are given a directed graph
G
D
.V; E/
with nonnegative integer edge weights
w
. Let
W
D
max
.u;/
2
E
f
w.u; /
g
. Our
goal is to develop an algorithm that runs in
O.E
lg
W /
time. We assume that all
vertices are reachable from the source.
The algorithm uncovers the bits in the binary representation of the edge weights
one at a time, from the most significant bit to the least significant bit. Specifically,
let
k
D d
lg
.W
C
1/
e
be the number of bits in the binary representation of
W
,
and for
i
D
1; 2; : : : ; k
, let
w
i
.u; /
D
w.u; /=2
k
i
˘
. That is,
w
i
.u; /
is the
“scaled-down” version of
w.u; /
given by the
i
most significant bits of
w.u; /
.
(Thus,
w
k
.u; /
D
w.u; /
for all
.u; /
2
E
.) For example, if
k
D
5
and
w.u; /
D
25
, which has the binary representation
h
11001
i
, then
w
3
.u; /
D
h
110
i D
6
. As another example with
k
D
5
, if
w.u; /
D h
00100
i D
4
, then
w
3
.u; /
D h
001
i D
1
. Let us define
ı
i
.u; /
as the shortest-path weight from
vertex
u
to vertex
using weight function
w
i
. Thus,
ı
k
.u; /
D
ı.u; /
for all
u; 
2
V
. For a given source vertex
s
, the scaling algorithm first computes the


680
Chapter 24
Single-Source Shortest Paths
shortest-path weights
ı
1
.s; /
for all
2
V
, then computes
ı
2
.s; /
for all
2
V
,
and so on, until it computes
ı
k
.s; /
for all
2
V
. We assume throughout that
j
E
j j
V

1
, and we shall see that computing
ı
i
from
ı
i
1
takes
O.E/
time, so
that the entire algorithm takes
O.kE/
D
O.E
lg
W /
time.
a.
Suppose that for all vertices
2
V
, we have
ı.s; /
j
E
j
. Show that we can
compute
ı.s; /
for all
2
V
in
O.E/
time.
b.
Show that we can compute
ı
1
.s; /
for all
2
V
in
O.E/
time.
Let us now focus on computing
ı
i
from
ı
i
1
.
c.
Prove that for
i
D
2; 3; : : : ; k
, we have either
w
i
.u; /
D
2w
i
1
.u; /
or
w
i
.u; /
D
2w
i
1
.u; /
C
1
. Then, prove that

i
1
.s; /
ı
i
.s; /

i
1
.s; /
C j
V

1
for all
2
V
.
d.
Define for
i
D
2; 3; : : : ; k
and all
.u; /
2
E
,
y
w
i
.u; /
D
w
i
.u; /
C

i
1
.s; u/

i
1
.s; / :
Prove that for
i
D
2; 3; : : : ; k
and all
u; 
2
V
, the “reweighted” value
y
w
i
.u; /
of edge
.u; /
is a nonnegative integer.
e.
Now, define
y
ı
i
.s; /
as the shortest-path weight from
s
to
using the weight
function
y
w
i
. Prove that for
i
D
2; 3; : : : ; k
and all
2
V
,
ı
i
.s; /
D y
ı
i
.s; /
C

i
1
.s; /
and that
y
ı
i
.s; /
j
E
j
.
f.
Show how to compute
ı
i
.s; /
from
ı
i
1
.s; /
for all
2
V
in
O.E/
time, and
conclude that we can compute
ı.s; /
for all
2
V
in
O.E
lg
W /
time.

Download 4,84 Mb.

Do'stlaringiz bilan baham:
1   ...   444   445   446   447   448   449   450   451   ...   618




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish