NPHard Network Upgrading Problems+
Doowon Paik Sartaj Sahni
University of Minnesota University of Florida
University of Florida Technical Report 9129
Abstract
Graphs with delays associated with their edges are often used to model communication and sig
nal flow networks. Network performance can be improved by upgrading the network vertices.
Such an improvement reduces the edge delays and comes at a cost. We study different formula
tions of this network performance improvement problem and show that these are NPhard.
Keywords And Phrases
Network performance, performance enhancement, vertex upgrades, NPhard
+ This research was supported, in part, by the National Science Foundation under grant MIP8617374.
1 Introduction
A communication network can be modeled as an undirected connected graph in which the edge
delays ( 2 0) represent the time taken to communicate between a pair of vertices that are directly
connected. Two vertices that are not directly connected can communicate by using a series of
edges that form a path from one vertex to the other. The total delay along the communication
path is the sum of the delays on each of the edges on the path. With respect to this undirected
graph model, we define the following problems:
1. LinkDelay(x, 6)
In this problem, it is possible to upgrade each of the vertices in the undirected graph. If vertex v
is upgraded, then the delay of each edge incident to v reduces by a factor x, 0 < x < 1 So, if edge
(v,w) has delay d before the upgrade, its delay is x*d following the upgrade. If both v and w are
upgraded, its delay becomes x2*d. The problem is to upgrade the smallest number of vertices so
that following the upgrades, no edge has delay > 6 .
2. i,, i, ,iPath(x,6)
Upgrading a vertex has the same effect on edge delays as in LinkDelay(x, 6 ). This time, how
ever, we seek to upgrade the smallest number of vertices so that following the upgrade there is no
pair of vertices u and v for which the shortest path between them has delay > 6 .
3. Satellite(6)
When a vertex is upgraded, a satellite up link and down link are placed there. Two vertices with
satellite links can communicate in zero time. Let dist (x, y) be the length of the shortest commun
ication path between vertices x and y. Let CommTime(G) be max { dist (x, y) } where V(G) is
x, y e V(G)
the set of vertices in G. The objective is to upgrade the smallest number of vertices so that
CommTime(G) < 6. Note that there is always a shortest communication path between two ver
tices that uses either 0 or 2 satellite vertices (to use a satellite link there must be a send and a
receive vertex; further there is no advantage to using more than one satellite link in any commun
ication).
Directed acyclic graphs (dags) are often used to model signal flow in electronic circuits
[CHAN90, GHAN87, MCGE90]. Vertices represent circuit modules and directed edges represent
signal flow. In a simplistic model, each has a delay of one. A module can be upgraded by
replacing it with a functionally equivalent one using a superior technology. This reduces the
delay of all edges incident to/from the module by a multiplicative factor x, 0 < x < 1. In a simplis
tic model, this reduction factor is the same for all circuit modules. The cost of the upgrade is
reflected in the weight associated with the vertex. Again, in a simplistic model, each vertex has
unit weight (i.e., all vertices cost the same to upgrade). Since signals can travel along any of the
paths of the dag, the performance of the circuit is governed by the length of the longest path in
the dag. We wish to meet certain performance requirements by upgrading the fewest possible
number of vertices. This is stated formally below :
4. LongestPath(x, 6)
Given a dag G = (VE) with positive edge delays upgrade the smallest number of vertices so that
the longest path in the upgraded graph has delay < 6 When a vertex is upgraded, all edges
incident to/from it have their delay changed by the multiplicative factor x .
Each of the four problems stated above is a simplified version of a more realistic problem.
The more realistic problem has different costs associated with the upgrade of different vertices
and the upgrade factor also varies from vertex to vertex. Since, in this paper, we are mainly con
cerned with showing that these problems are NPhard, the complexity results obtained for the
simpler models apply to the more realistic problems also.
Network performance enhancement through vertex upgrades has been considered before.
Paik, Reddy, and Sahni [PAIK90] modeled the optimal placement of scan registers in a dag as a
vertex splitting problem in a dag. The objective was to split the fewest number of vertices so that
the resulting dag had no path of length > 6. They showed that this problem was NPhard for gen
eral dags but polynomially solvable for tree and seriesparallel dags. In [PAIK91a], Paik,
Reddy, and Sahni showed that the problem of upgrading circuit modules so as to control signal
loss can be modeled as a dag vertex deletion problem in which one seeks to delete the fewest
number of vertices so that the resulting dag has no path of length > 6. They showed that while
this could be done in polynomial time for tree and seriesparallel dags, the problem was NPhard
for general dags.
LongestPath(0,6) was studied by Paik and Sahni [PAIK 91b] for dags with vertex upgrade
cost (weight). They showed that the problem is polynomially solvable for dags with unit vertex
weights and unit vertex delays, and is NPhard for dags with unit vertex weights but arbitrary
edge delays except when 8 =1. They also proposed several heuristics for LongestPath(0,6) for
dags with non unit weights and delays. LongestPath(0,6) can be solved in pseudopolynomial
time for trees, seriesparallel dags, and general seriesparallel dags [PAIK91c]. The pseudo
polynomial time algorithms apply to dags with arbitrary vertex weights and edge delays.
Related vertex deletion problems were studied by Krishnamoorthy and Deo [KRIS79].
They showed that several interesting vertex deletion problems are NPcomplete.
The four problems defined above are considered in Sections 2 through 5, respectively. The
discussion of these sections makes use of the following known NPhard problems [GARE79].
1. Vertex Cover
Input: An undirected graph G = (V, E) and a positive integer k < 
Output: "Yes" iff there is a subset V c V with V' < k such that for each edge (u,v) EE at least
one ofu and v belongs to V.
2. Dominating Set
Input: An undirected graph G = (V, E) and a positive integer k < 
Output: "Yes" iff there is a subset V' c Vwith V' < k such that for u e VV there is a v e V
for which (u, v) E E.
3. Maximum Clique
Input: A connected undirected graph G = (V, E) and a positive integer k 1
Output: "Yes" iffthere is a subset V' c Vwith IV' > k such that two vertices in V' are joined by
an edge in E.
4. Exact Cover By 3Sets (X3C)
Input: SetXwith X = 3q and a collection C = {C, C2, ..., Cm} of three element subsets of X
m
such that U C, = X.
1i
Output: "Yes" iffC contains an exact cover for X, i.e., a subcollection C' c C such that every
element ofX appears in exactly one member of C'.
2 LinkDelay(x,6)
When 6 = 0 and x > 0, LinkDelay(x,6) can be solved in linear time. In case G has an edge with
delay > 0, then the link costs cannot be made 0 by upgrading any subset of the vertices. If G has
no edge with delay > 0, then no vertex needs to be upgraded. For all other combinations of 6 and
x, LinkDelay(x,8) is NPhard.
Theorem 1: LinkDelay(x,8) is NPhard whenever 6 0 orx = 0.
Proof: We shall use the vertex cover problem for this proof. Let G = (V, E) be an instance of this
problem. We obtain from G, an instance G' of LinkDelay(x,6) by associating a delay with each
edge of G. If 6 = 0, this delay is one and if 6 > 0 this delay is any number in the range (6, 6/x]
(in case x = 0, the range is (0, )). Since 0 < x < 1, upgrading vertex setA results in all links hav
ing a delay < 6 iffA is a vertex cover of links in G' and hence of the edges in G. So, G' has an
upgrading vertex set of size < k iffG has a vertex cover of size < k. O
3 ShortestPath(x,6)
First, we show that ShortestPath(0,0) is NPhard. We note that while at first glance Shortest
Path(0,0) appears to be identical to the vertex cover problem, this is not so. Consider the graph
of Figure 1. If the vertices {1,3} are upgraded, all shortest paths have a delay/cost of zero. How
ever, {1,3} is not a vertex cover. ShortestPath(0,0) is also not the same as the dominating set
problem in which one is seeking a vertex set A with the property that all vertices of the graph are
either in A or adjacent to a vertex in A. Consider the graph of Figure 1 with edge (2,4) omitted.
{1,4} is a dominating set of this graph. However upgrading vertices 1 and 4 does not result in all
shortest paths having a zero cost (the shortest path between 2 and 3 has cost equal to that of the
edge (2,3) which might well be > 0 ).
1 2 3 4
Figure 1: An Example.
Lemma 1: ShortestPath(0,0) is NPhard.
Proof : We shall use the exact cover by 3sets problem for this proof. LetX, q, C, and m be as in
the definition of X3C. Construct an instance G = (V, E) of ShortestPath(0,0) as below:
a) G is a three level graph with a root vertex r. This is the only vertex on level 1 of the graph.
b) The root has m + q + 2 children labeled C1, C2, ..., Cm, Z, Z2, ..., Zq+2. These are the level 2
nodes of the graph. Child C, represents set C,, 1 < i < m while child Z, is just a dummy node
in G.
c) The graph G has 3q nodes on level 3. These are labeled 1, 2, ..., 3q. Node i represents ele
ment i ofX, 1 < i < 3q.
d) Each node C, on level 2 has edges to exactly three nodes on level 3. These are to the nodes
that represent the members of C,, 1 < i m.
C1 = {1,2,3},C2= {1, 4,5},C3= {2,3,6}
Figure 2: Construction of G for Lemma 1.
An example of the construction is given in Figure 2. We shall show that the input X3C
instance has answer "yes" iff the ShortestPath(0,0) instance G has an upgrade sets of size < q + 1.
First, suppose that the answer to the X3C instance is "yes". Then there is a C' c C such that C' is
an exact cover ofX. Since X = 3q and IC, =3, 1 < i
ify that S is an upgrade set for G and IS = q + 1.
Next, suppose that G has an upgrade set S of size < q + 1. If r v S, then the shortest path
from r to at least one of the Z,'s has length > 0 as at least one of the q + 2 Z,'s is not in S and
every r to Z, path must use the edge (r, Z,). So, r E S. When the vertices in S are upgraded, every
vertex in G must have at least one zero length edge incident to it as otherwise the shortest paths
to it have length 2 1. In particular, this must be the case for all 3q level three vertices.
Upgrading the root r does not result in any of these 3q vertices having a zero length edge incident
to it. So, this is accomplished by the remaining < q vertices in S. The only way this can be
accomplished by an upgrade of q vertices is if these remaining vertices are a subset of {C1, C2,
..., Cm} and this subset is an exact cover of X (this would, of course, require S = q + 1). So, S 
{r} is an exact cover of the input X3C instance.
Hence, the X3C instance has output "yes" iffG has an upgrade set of size < q + 1. E
Lemma 2: ShortestPath(O,1) is NPhard.
Proof : Once again, we use the X3C problem. The construction is similar to that of Lemma 1
except that we add the chain uvr to the root of G (see Figure 3).
Figure 3: Construction of G for Lemma 2.
If the answer to the X3C instance is "yes", then there is a subset C' that is an exact cover of X.
Clearly, since X = 3q and each C, is of size three, C' = q. One may verify that if the vertices in S
= {r} u C' are upgraded, then the shortest path between every pair of vertices has length < 1. So,
S is a vertex upgrade set for G. Hence, if the X3C instance has answer "yes", then G has an
upgrade set of size < q + 1.
Next, suppose that G has an upgrade set S of size q + 1. Suppose that r v S. Since ISI < q
+ 1 and there are q + 2 Z,'s, at least one Z, is not in S. Let Zj be such that Zj v S. If there is
another Zk, k # j, Zk V S, then the shortest path between Zj and Zk has length 2 following the
upgrade. This violates the requirement that S is an upgrade set. So, there is no k, k #j, such that
Zk V S. This implies that S = {Z, Z2, ..., Zq+2} {Zj} which in turn implies that the shortest path
from Zj to each of the vertices not in S has length 2 2. This again contradicts the assumption that
S is an upgrade set for the constructed ShortestPath(0,1) instance. So, r E S.
Following the upgrade, each vertex in {1,2, ..., 3q} (i.e., each level 3 vertex) must have at
least one zero length edge incident to it. To see this, first suppose there are two vertices, a, b, a
b, a, b { 1, 2 ..., 3q} that have no zero length edge incident to them. Since all paths between a
and b include an edge incident to a and an edge incident to b and since there is no single edge
incident to both a and b, the shortest path between a and b has length 2 2. This contradicts the
assumption that S is an upgrade set for G. Now suppose there is exactly one level three vertex a
that has no zero length edge incident to it following the upgrade. Then each of the remaining 3q
 1 level three vertices has at least one zero length edge incident to it. Each of the < q vertices in
S {r} causes 0, 1, or 3 level three vertices of G to have a zero length edge incident to it. So, to
have 3q 1 level three vertices with zero length edges incident to them, we must have IS {r} = q
and S{r} c {C,, C2, ..., Cm} (only the C,'s result in three level three vertices having a zero length
edge incident to them). But then, the shortest path from u to a has length > 2. So, there is no
level three vertex a that has no zero length edge incident to it.
The above reasoning now implies that S {r} c {C1, C2, ..., C,}, IS{r}l = q, and each of
the 3q level three vertices has at least one zero length edge incident to it. Hence, S {r} is an
exact cover ofX. So, if G has an upgrade set of size q + 1, then the answer to the X3C instance
is "yes". 0
To show that ShortestPath(0,6) is NPhard for every 6, 8 > 1, we need to introduce a special
graph that we call a daisy graph. Let C,, q 2 3, denote the cycle graph with q vertices (Figure
4(a)). Assume that all edge costs are 1. All shortest paths in this graph have length < [ q/2 J. Let
H(q, p) be the graph that results when p cycles Cq are joined at a common vertex p (Figure 4(b)).
H(q, p) is a daisy graph with p cycles of size q. Figure 4(c) shows the schematic for H(q, p). All
shortest paths in H(q, p) have length < 2 [ q/2 J.
0
(a) C5
V
0
(b) H(5, 3)
H(5, 3)
(c) Schematic
Figure 4: Example cycle and daisy graphs
Let H'(q, p) be the graph that results when vertex v of H(q, p) is upgraded. All shortest
paths in H'(q, p) that end at vertex v have length < [ q/2 J 1. Consequently, all shortest paths
in H'(q, p) have length < 2 [ q/2 J 2. In order to ensure that all shortest paths in H'(q, p) that
end at v have length < [ q/2 1, q 2 4, it is necessary to upgrade at least p + 1 vertices (includ
ing v). To see this, note that at least two vertices in each Cq need to be upgraded for this and only
one of these (i.e., v) can be common amongst the C,'s.
Lemma 3 : ShortestPath(0,6) is NPhard for 8 > 1 and even.
Proof : G (V, E) be an instance of ShortestPath(0,0) in which all edge costs are 1. Construct G'
by connecting a copy of H(6+2,n +1), n = 11, to each vertex u of G. This is done by adding an
edge from the v vertex of H(8+2,n +1) to vertex u (Figure 5). This construction takes polynomial
time in the size of G (we assume that 6 is a constant).
H(6+2,n +1)
Figure 5: Construction of G' from G in Lemma 3.
We shall show that G has an upgrade vertex set A of size < k < n (with respect to Shortest
Path(0,0) ) iff G' has one of size < k + n (with respect to ShortestPath(0,6)). Suppose that A is an
upgrade vertex set for G and ,. II k. Then B =A u {x x is the v vertex of an H(6+2,n +1) graph of
G' } is an upgrade set for G'. To see this, observe that the length of the shortest path between all
pairs of vertices i andj such that i andj are also vertices of G is 0 (as A is an upgrade set for G). If
neither i nor j is a vertex of G, then the shortest path between them has length < 2( [(8+2)/2] 1)
= 6 ( note that when i and j are in different daisy graphs a path of length zero is used to go from
the v vertex of one daisy graph to that of the other, also note that 6 is even). Clearly, IB = ,. I + n
kk+n.
Next, let B be an upgrade set for G' such that IBI k + n < 2n. Let G" be the graph that
results when the vertices in B are upgraded. LetA = B r V(G). IA < IBI n < k as B must contain
at least one vertex from each of the n daisy graphs (otherwise, there is at least one daisy graph
which has a pair of vertices for which the shortest path has length 2 [(8+2)/2j = 6 + 2). IfA is not
a vertex upgrade set for G then there is a pair of vertices i, j in G and hence G' for which the
shortest path has length > 0 following the upgrade. Let 1, (j1) be the length of the longest shortest
path from a vertex in the daisy graph attached to i (j) to vertex i (/). Then there is a shortest path
in G" with length 2 1, + Il + 1. Also, 1, 2 [(8+2)/2] 1 = 6/2 and I, 2 6/2 (as to have 1, (1) < 6/2 at
least n + 2 vertices from the daisy graph attached to i (/) need to be upgraded; this is not possible
as after accounting for the fact that B contains at least one vertex from each daisy graph, at most
k < n vertices remain while an additional n + 1 are needed ). So, G" has a shortest path of length
2 6 + 1 which contradicts the assumption that B is an upgrade set for G'. Hence A is a vertex
upgrade set for G. O
Lemma 4 : ShortestPath(0,6) is NPhard for 6 > 0 and odd.
Proof : Same as that of Lemma 3 except that we begin with an instance G of ShortestPath(0,1).
The proof shows that G has a vertex upgrade set of size < k (with respect to ShortestPath(0,1)) iff
G' has one of size < k + n (with respect to ShortestPath(0,6)). O
Lemma 5 : ShortestPath(x,6) is NPhard for every pair (x,6), 0 < x < 1, 6 > 0.
Proof : Simply use the construction of Lemma 1. This time each edge of G of the form (r, Z,) has
delay 6/(2x) and the remaining edges have delay 6/(2x). O
Theorem 2 : ShortestPath(x,6) is NPhard whenever x = 0 or 6 > 0.
Proofs : Follows from Lemmas 1 through 5. Note that even though Lemmas 1 through 4 only
show that ShortestPath(0,6) is NPhard for integer 6, when 6 is real, it may be replaced by 6' =
[8 ] as the construction of Lemmas 1 through 4 use only unit delay edges. E
4 Satellite(6)
Satellite(O) is trivially solved. First, zero length edges are eliminated by combining their end
points u and v into a single vertex uv. Remaining edges previously incident to u or v are now
incident to uv. Duplicate edges are replaced by a single edge with the lower cost. If the resulting
communication graph has at most one vertex, no satellite links are needed. When the number of
vertices exceeds one, each vertex must be a satellite vertex. We shall show that Satellite(6) is
NPhard for every 6, 6 > 0.
Lemma 6 : Let G be a communication graph. Let S be the subset of vertices of G that are satel
lite vertices and let Nbe the remaining vertices (i.e., the nonsatellite vertices). CommTime(G) <
1 iffthe following are true:
(a) The vertices ofN define a clique of G.
(b) Each vertex ofN is adjacent to a vertex of S (i.e., S is a dominating set of G) unless S= 0.
Proof: IfN contains two vertices that are not adjacent in G, then the shortest path between them
is of length at least two regardless of whether or not this shortest path utilizes satellites. So, the
subgraph of G induced by the vertices of N is a clique. For (b), assume that S # 0. IfN contains a
vertex v that is not adjacent to at least one satellite vertex then v is at least distance two from
every satellite vertex s e S. Hence, CommTime(G) > 1. O
Lemma 7: Satellite(l) is NPhard.
Proof : We shall use the max clique problem for this proof. Let G be a connected undirected
graph with n vertices. Let G' be the graph obtained by adding to G n edges of the type (i, i')
where i is a vertex of G and i' is a new vertex (Figure 6). The number of vertices in G' is 2n. All
edges of G' have unit cost. We claim that G has a clique of size > k, for any k 2 3 iffG' has a ver
tex subset S, IS < 2n k < 2n 3, such that by making the vertices of S satellite vertices,
CommTime(G')=l. To see this, let A, ,. l 2 3, be any subset of vertices in G. IfA forms a clique in
G, then by making all vertices of G' except those in A satellites, the communication time in G'
becomes at most one as the vertices of A satisfy the conditions of Lemma 6 on nonsatellite ver
tices. So, if G has a clique of size > k, then G' has a satellite subset S of size I 2n k. Next,
suppose that G' has a satellite subset S of size < 2n k < 2n 3. Let N be the remaining vertices
of G'. IfN contains a vertex i' that is not in G, then from Lemma 6 it follows that IN1 < 2 as the
largest clique in G' that includes vertex i' has only two vertices in it (the other vertex being ver
tex i). In this case, ISI > 2n 2. So, N contains no vertex that is not in G. Since N forms a clique
in G' (Lemma 6), it forms a clique in G. Hence, if ISI < 2n k < 2n 3, G contains a clique of size
2 k 2 3. While the NPhard formulation of the max clique problem does not restrict k to be > 3, it
is easy to see that the problem remains NPhard under this restriction. So, Satellite(l) is NPhard.
1 2 2 2'
3 4 3 3 4 4'
(a) G (b) G'
Figure 6: Construction of Lemma 7.
For Satellite(2), we first observe that selecting the satellite vertices S so that S is a vertex
cover or a dominating set results in CommTime(G) < 2. However, the reverse is not true. For
example, if G is a star graph then CommTime(G) = 2 with S = 0 (Figure 7(a)) while S = 0 is nei
ther a vertex cover nor a dominating set for G. If G is the complete graph, K,, on n vertices, then
G has no vertex cover of size < n 1 However S = 0 results in CommTime(G) = 1. Consider the
graph G of Figure 7(b). S={a,b} results in CommTime(G) = 2. But, G has no dominating set of
size < 3. So, there is no apparent direct connection between vertex sets S that result in
CommTime(G) < 2 and either vertex covers or dominating sets of G.
0
(a) Star graph
a (
(b) An example
Figure 7: Example graphs.
Lemma 8: Satellite(2) is NPhard.
Proof : This proof utilizes the vertex cover problem. Let G be an instance of this problem.
Assume that G has n vertices, n > 30, and that no vertex has degree > 5. Construct an instance G'
of Satellite(2) by replacing each edge of G by the triangle graph of Figure 8.
a
a O b
Figure 8: Figure for Lemma 8.
We claim that G has a vertex cover of size < k for any given k < n iffG' has a vertex set S of size <
k such that making the vertices in S satellite vertices results in CommTime(G') < 2. As noted ear
lier, selecting S so that S is a vertex cover results in CommTime(G) < 2. Each vertex of G' that is
not in G is unit distance from at least one vertex of S. Hence making the vertices in S satellites
results in CommTime(G') < 2. So, if G has a vertex cover of size < k, G' has a satellite set of size
< k.
Next, let S be a satellite set for G' such that S < k. If, for every (a,b) E G, at least one of a
or b is in S, then S is a vertex cover of G. If, for every (a,b) E G such that a e S and b V S, c (i.e.,
the new vertex introduced when triangulating (a,b)) is in S, replace c by a in S. The resulting S
has the same size as the original S and is a vertex cover of G. If there is an (a,b) E G such that
none of a, b, and c is in S, then S 2 n. To see this, letA = V {u u=a or u=b or u is adjacent to a or
b } where Vis the set of vertices in G. Since no vertex of G has degree > 5, ,. 11 n 10 Let B
be the set of vertices not in G that are adjacent (in G') to the vertices of A. Since G may be
assumed to be connected, each vertex ofA has at least one edge incident to it. So, IBI 2 (n 10)/2.
Let C =A u B. IC1 21.5 (n 10). Let w be a vertex in C. Ifw v S, then the shortest path from c
to w has length 2 3. This is so as if the path utilizes satellites, then c is at least 2 units from its
nearest satellite and w is at least 1 units from its nearest satellite. If the path does not utilize
satellites, then its length is 2 3 as w is not adjacent to either a or b. So, C c S and IS C IC 1.5*(n
 10) 2 n for n 2 30. This contradicts the assumption that IS1 < k < n. So, the case when none of
a,b, and c is in S does not arise. The lemma now follows from the further observation that the ver
tex cover problem limited to connected graphs of degree 5 and number of vertices 2 30 is NP
hard [GARE79]. O
Theorem 3: Satellite(6) is NPhard for 6 2 1.
Proof : For integer 6, the proof is by induction on 6. For the induction base, Lemmas 7 and 8
show that Satellite(l) and Satellite(2) are NPhard. Assume that Satellite(6) is NPhard for 6, 1 <
8 m, where m is an arbitrary natural number greater than or equal to two. For 6 = m + 1, let G be
an instance of Satellite(m 1). Let n, n > 1, be the number of vertices in G. Obtain an instance G'
of Satellite(m+1) by attaching to each vertex of G, the complete graph Kn+1 on n +1 vertices, n > 1
(Figure 9). Each Kn+I has a vertex in common with G. All edge delays are one. G has a satellite
set of size < k < n (we may assume that k < n as the case k = n is trivially solvable in 0 (1) time) iff
G' has one of size < k < n. To see this, let S be a satellite set for G. Since the distance between
any two vertices in K, 1 is one, S is a satellite set for G' (the distance between vertices of G' that
are also vertices of G is < m 1, between a vertex of G and one that is not in G, it is < m, and
between two vertices not in G, it is < m + 1).
Next, let S' be a satellite set for G' such that IS'l k < n. If S' contains only vertices that are
in G, then S is a satellite set for G. To see this, note that if the shortest distance between two ver
tices x and y of G is > m 1 after the vertices in S' have been made satellites, then the shortest
distance in G' between a non satellite vertex x' # x in the Kn+I attached to x and a nonsatellite
vertex y' #y in the K,+1 attached toy is > m + 1. Also note that x' and y' must exist as S' k< < n
and a K+1 has n +1 vertices.
(a) G
(b) G'
Figure 9: Construction for Theorem 3.
Suppose S' contains a vertex x that is not in G. x is a vertex of some K,~ X. Let y be the
vertex of this K,+1 that is also in G. Let S" = S' {x} + {y}. Clearly, IS"I IS'. Let G'1 (G'2)
denote G' with the vertices in S' (S") being satellite up link and down links. Let i and j be any
two vertices of G'. The shortest path, P, between i and j in G', has length < m + 1. If this path
does not utilize the satellite link at x, then its length in G'2 is also < m + 1. Suppose that the
satellite link at x is used. Ifj # x, then change this path to use the satellite in G'2 aty. I.e., if the
old path is P = i, ..., x, ... j where 1 and x are the satellite vertices, the new path is i, ..., 1, y,j in
case j Xand i, ..., l, y, S(P) where S(P) is the suffix ofP that goes from y to j. Such a suffix must
exist as we may assume (1, x) is the only satellite link used on P and the only way to exit X
without using a satellite is via vertexy. The length of the new path is < that of the old one. Ifj =
x, then consider a vertex z, z z y, ofXthat is not in S'. Such a z must exist as IS'l k < n and Xhas
n +1 vertices. The shortest path, Q = i, ..., w, z in G'i from i to z has length < m + 1. To see this,
note that if this path does not go through vertex x, then Q' = i, ..., w, x is a path of length < m + 1 in
G'2. So, the shortest i to x path in G'2 has length < m + 1. If Q goes through x, then the prefix of Q
from i to x has length < m + 1 in G'i. If this prefix does not use the satellite link at x, its length in
G'2 is also < m + 1. If it does, then by redirecting the satellite transmission to y and using the
edge (non satellite link) from y to x we get an i to x path in G'2 that has length < m + 1. So, in all
cases moving the satellite links from x to y preserves the property that all shortest paths have
length < m + 1.
By repeating this transformation on S' several times, we obtain a vertex set T such that I TI
< iS' I < k < n, all vertices of T are in G, and T is a satellite set for G'. So, T is a satellite set for G.
When 8 is non integer, replace 6 by 6' = [8 1. Since our construction uses only unit delay
edges, every solution for Satellite(6) is also one for Satellite(6') and vice versa. o
5 LongestPath(x,8)
Lemma 9: LongestPath (0,0) is NPhard.
Proof: Let G be a connected undirected graph. We shall construct an instance G' of Longest
Path(0,0) such that G has a vertex cover of size k < n iffG' has a vertex upgrade set A' of size <
k < n. To get G', orient the edges of G to begin at a higher index vertex. I.e., if (i, j), i < j, is an
edge of G, then is a directed edge of G' (Figure 10). All edges of G' have unit delay. It is
easy to see that G' is a dag and that A is a vertex cover of G iffA' = A is a vertex upgrade set of
the LongestPath(0,0) instance G'. O
(a) G' (b) G
Figure 10: Construction for Lemma 6.
To show that LongestPath(x,6) is NPhard for x = 0 and 6 > 0, we use the subgraph J, (Fig
ure 11) which is comprised of n directed chains of size q that share a common vertex r. This set
of n chains is connected to a two vertex directed chain . Each edge of J, has unit delay.
We see that the longest path in J,,, has length q and that by upgrading the single vertex r, we can
make the delay of this subgraph q 2. However, to reduce the delay to q 3, we need to upgrade
at least n + 1 vertices.
Lemma 10: LongestPath(x,6) is NPhard for 6 > 0.
Proof: Let G be any instance of LongestPath(0,0) in which all edge delays are one. A
corresponding instance G' of LongestPath(x,6) is obtained by attaching a copy of J,, a +2 in case
x = 0 and Q, (Figure 12) in case x > 0 to each vertex v of G that has indegree zero. This is done
by identifying the s vertex ofJ,, a +2 with vertex v (i.e., these two vertices are the same). Note
that n is the number of vertices in G. Let m be the number of vertices in G that have zero in
degree. One may verify that for any k, k < n, G has an upgrade set of size < k iffG' has one of size
< m + k. Hence, LongestPath(x,6) is NPhard for 6 > 0. O
Theorem 4:
q1 vertices
0 0  0
n chains r
Figure 11: Jnq.
l/x
(n chain)
n chains r l
Figure 12: Q,.
(a) Longest Path (x,6) is NPhard when x = 0 and 8 = 0 and also when x 2 0 and 6 > 0.
(b) Longest Path (x,6) is polynomially solvable when x > 0 and 6 = 0.
Proof: (a) has been proved in Lemmas 9 and 10. For (b), if the dag has an edge with delay > 0,
then it has no vertex upgrade set. If there is no such edge, then no vertex needs to be upgraded to
ensure that the longest path has zero length. O
6 Conclusions
In this paper, we have shown that the following problems are NPhard:
1. LinkDelay(x, 6) for 6 # 0 or x = 0
2. ShortestPath(x,8) for x = 0 or 6 > 0
3. Satellite(6) for 6 > 1
4. Longest Path (x,8) for x = 0 and 6 = 0 and for x 2 0 and 6 > 0.
7 References
[CHAN90]
P. K. Chan, "Algorithms For LibrarySpecific Sizing Of Combinational Logic",
Proc. 27th DAC Conf, 1990 pp. 353356.
[GARE79] M. R. Garey, and D. S. Johnson, "Computers and Intractability", W. H. Freeman
and Company, San Francisco, 1979.
[GHAN87] S. Ghanta, H. C. Yen, and H. C. Du, "Timing Analysis Algorithms For Large
Designs", University of Minnesota, Technical Report, 8757,1987.
[KRIS79] M. Krishnamoorthy and N. Deo, "Node deletion NPcomplete problems", SIAM Jr
on Computing, Vol 8, No 4, 1979, pp 619625.
[MCGE901
P. McGeer, R. Brayton, R. Rudell, and A. SangiovanniVincentelli, "Extended
Stuckfault Testability For Combinational Networks", Proc. of the 6th MIT
Conference on Advanced Research in VLSI, MIT Press, April 1990.
[PAIK90] D. Paik, S. Reddy, and S. Sahni, "Vertex Splitting In Dags And Applications To
Partial Scan Designs And Lossy Circuits", University of Florida, Technical
Report, 9034,1990.
[PAIK91a] D. Paik, S. Reddy, and S. Sahni, "Deleting Verticies To Bound Path Lengths",
University of Florida, Technical Report, 914, 1991.
[PAIK91b] D. Paik, and S. Sahni, "Upgrading Circuit Modules To Improve Performance",
University of Florida, Technical Report, 1991.
[PAIK91c] D. Paik, and S. Sahni, "Upgrading Vertices In Trees, SeriesParallel Digraphs And
General SeriesParallel Digraphs To Bound Path Length", University of Florida,
Technical Report, 1991.
