UFDC Home |   Help  |   RSS

 Group Title: Department of Computer and Information Science and Engineering Technical Reports Title: NP-hard network upgrading problems
CITATION PDF VIEWER THUMBNAILS PAGE IMAGE ZOOMABLE
Full Citation
STANDARD VIEW MARC VIEW
 Material Information Title: NP-hard network upgrading problems Alternate Title: Department of Computer and Information Science and Engineering Technical Report ; 92-029 Physical Description: Book Language: English Creator: Sahni, SartajPaik, Doowon Affiliation: University of FloridaUniversity of Minnesota Publisher: Department of Computer and Information Sciences, University of Florida Place of Publication: Gainesville, Fla. Copyright Date: 1991
 Record Information Bibliographic ID: UF00095101 Volume ID: VID00001 Source Institution: University of Florida Holding Location: University of Florida Rights Management: All rights reserved by the source institution and holding location.

199126 ( PDF )

Full Text

Doowon Paik Sartaj Sahni

University of Minnesota University of Florida

University of Florida Technical Report 91-29

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 NP-hard.

Keywords And Phrases

Network performance, performance enhancement, vertex upgrades, NP-hard

+ This research was supported, in part, by the National Science Foundation under grant MIP86-17374.

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:

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 NP-hard, 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 NP-hard for gen-

eral dags but polynomially solvable for tree and series-parallel 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 series-parallel dags, the problem was NP-hard

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 NP-hard 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 pseudo-polynomial

time for trees, series-parallel dags, and general series-parallel 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 NP-complete.

The four problems defined above are considered in Sections 2 through 5, respectively. The

discussion of these sections makes use of the following known NP-hard 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 V-V 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 3-Sets (X3C)

Input: SetXwith X = 3q and a collection C = {C, C2, ..., Cm} of three element subsets of X
m
such that U C, = X.
1-i

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'.

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

Theorem 1: LinkDelay(x,8) is NP-hard 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 NP-hard. 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 NP-hard.

Proof : We shall use the exact cover by 3-sets 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 NP-hard.

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 NP-hard 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 NP-hard 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

Lemma 4 : ShortestPath(0,6) is NP-hard 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 NP-hard 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 NP-hard 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 NP-hard 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

NP-hard 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 non-satellite 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 NP-hard.

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 non-satellite 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 NP-hard formulation of the max clique problem does not restrict k to be > 3, it

is easy to see that the problem remains NP-hard under this restriction. So, Satellite(l) is NP-hard.

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 NP-hard.

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 NP-hard 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 NP-hard. Assume that Satellite(6) is NP-hard 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 non-satellite

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 NP-hard.

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 NP-hard 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 NP-hard 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 in-degree 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 NP-hard for 6 > 0. O

Theorem 4:

q-1 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 NP-hard 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 NP-hard:

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 Library-Specific Sizing Of Combinational Logic",

Proc. 27th DAC Conf, 1990 pp. 353-356.

[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, 87-57,1987.

[KRIS79] M. Krishnamoorthy and N. Deo, "Node deletion NP-complete problems", SIAM Jr

on Computing, Vol 8, No 4, 1979, pp 619-625.

[MCGE901

P. McGeer, R. Brayton, R. Rudell, and A. Sangiovanni-Vincentelli, "Extended

Stuck-fault 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, 90-34,1990.

[PAIK91a] D. Paik, S. Reddy, and S. Sahni, "Deleting Verticies To Bound Path Lengths",

University of Florida, Technical Report, 91-4, 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, Series-Parallel Digraphs And

General Series-Parallel Digraphs To Bound Path Length", University of Florida,

Technical Report, 1991.