• 沒有找到結果。

k-neighborhood-covering and -independence problems for chordal graphs

N/A
N/A
Protected

Academic year: 2021

Share "k-neighborhood-covering and -independence problems for chordal graphs"

Copied!
11
0
0

加載中.... (立即查看全文)

全文

(1)

k-NEIGHBORHOOD-COVERING AND -INDEPENDENCE

PROBLEMS FOR CHORDAL GRAPHS

SHIOW-FEN HWANG AND GERARD J. CHANG

Abstract. Suppose G = (V, E) is a simple graph and k is a fixed positive integer. A

ver-tex z covers an edge (x, y) if d(z, x) ≤ k and d(z, y) ≤ k. A k-neighborhood-covering set is a set C of vertices such that every edge in E is k-neighborhood-covered by some vertex in C. A k-neighborhood-independent set is a set of edges in which no two distinct edges can be neighborhood-covered by the same vertex in V . In this paper we first prove that the k-neighborhood-covering and the k-neighborhood-independence problems are NP-complete for chordal graphs. We then present a linear-time algorithm for finding a minimum k-neighborhood-covering set and a maximum k-neighborhood-independent set for a strongly chordal graph provided that a strong elimination ordering is given in advance.

Key words. k-neighborhood-covering, k-neighborhood-independence, chordal graph, strongly

chordal graph, strong elimination order

AMS subject classifications. 05C80, 05C70, 68R10, 68Q20 PII. S0895480193244322

1. Introduction. Domination is a natural model for location problems in op-erations research. This paper studies a variant of the domination problem we call

k-neighborhood-covering. All graphs in this paper are simple, i.e., finite, undirected,

loopless, and without multiple edges. In a graph G = (V, E), the length of a path is the number of edges in the path. The distance d(x, y) from vertex x to vertex y is the minimum length of a path from x to y; d(x, y) = ∞ if there is no path from x to y. A vertex x k-dominates another vertex y if d(x, y) ≤ k. A vertex z

k-neighborhood-covers an edge (x, y) if d(z, x) ≤ k and d(z, y) ≤ k, or, equivalently, z k-dominates

both x and y. A vertex set C ⊆ V is a k-neighborhood-covering set if every edge in E is k-neighborhood-covered by some vertex in C. The k-neighborhood-covering

number ρN(G, k) of G is the minimum cardinality of a k-neighborhood-covering set.

An edge set I ⊆ E is a k-neighborhood-independent set if no two distinct edges in I are

k-neighborhood-covered by the same vertex in V . The k-neighborhood-independence number αN(G, k) of G is the maximum cardinality of a k-neighborhood-independent

set.

For any graph G and any positive integer k, αN(G, k) and ρN(G, k) are related

by the following obvious max-min inequality:

αN(G, k) ≤ ρN(G, k).

For k = 1, Lehel and Tuza [11] proved that the above inequality is in fact an equality for odd-sun-free chordal graphs G and presented a linear-time algorithm for computing

αN(G, 1) = ρN(G, 1) for interval graphs. Wu [17] presented an O(|V |3)-time algorithm

for determining ρN(G, 1) = αN(G, 1) for a strongly chordal graph G. Chang, Farber,

Received by the editors February 16, 1993; accepted for publication (in revised form) September

6, 1997; published electronically September 1, 1998. http://www.siam.org/journals/sidma/11-4/24432.html

Department of Computer Science, Fen Chia University, Taichung 40724, Taiwan.

Department of Applied Mathematics, National Chiao Tung University, Hsinchu 30050, Taiwan

([email protected]). The research of this author was supported in part by the National Science Council under grant NSC81-0208-M009-26 and in part by DIMACS.

633

(2)

and Tuza [6] presented linear-time algorithms for computing αN(G, 1) = ρN(G, 1)

for a strongly chordal graph G provided that a strong elimination order is known in advance. The purpose of this paper is to study αN(G, k) and ρN(G, k) for chordal

graphs.

A graph is chordal (or triangulated) if every cycle of length greater than three has a chord, which is an edge joining two noncontiguous vertices in the cycle. In a graph

G = (V, E), the neighborhood N(v) of a vertex v is the set of all vertices adjacent to v and the closed neighborhood N[v] = N(v) ∪ {v}. A vertex v is simplicial if N[v] is

a clique. It is well known that a graph G = (V, E) is chordal if and only if it has a

perfect elimination order, i.e., an ordering [v1, v2, . . . , vn] of V such that each vi is a

simplicial vertex of the subgraph Gi induced by {vi, vi+1, . . . , vn} (see [8]).

An s-sun (or incomplete trampoline of order s) is a chordal graph having 2s vertices a1, a2, . . . , as, b1, b2, . . . , bs such that (a1, a2, . . . , as, a1) is a cycle and each

bi has exactly two neighbors aiand ai+1, where an+1= a1. A graph is sun-free (resp.,

odd-sun-free) if it contains no s-sun as a subgraph for all s ≥ 3 (resp., for all odd s ≥ 3) (see [4, 5]). Sun-free chordal graphs are called strongly chordal graphs in [7].

A vertex is simple if the set {N[u]: u ∈ N[v]} can be linearly ordered by inclusion. Farber [7] proved that a graph G = (V, E) is strongly chordal if and only if it has a simple elimination order, i.e., an ordering [v1, v2, . . . , vn] of V such that each vi

is a simple vertex of Gi. A strong elimination order is a simple elimination order

such that NGi[vj] ⊆ NGi[vk] whenever i ≤ j ≤ k and vj, vk ∈ NGi[vi]. Anstee and

Farber [2] presented an O(|V |3)-time algorithm, Hoffman, Kolen, and Sakarovitch

[9] presented an O(|V |3)-time algorithm, Lubiw [12] presented an O(L log2L)-time

algorithm where L = |V | + |E|, Paige and Tarjan [13] presented an O(L log L)-time algorithm, and Spinrad [16] presented an O(|V |2)-time algorithm for finding a strong

elimination order of a strongly chordal graph G = (V, E).

The contents of this paper are as follows. In section 2, we prove that the

k-neighborhood-covering and the k-neighborhood-independence problems are

NP-complete for chordal graphs. Section 3 gives a linear-time algorithm for computing

αN(G, k) and ρN(G, k) for a strongly chordal graph G provided that a strong

elimina-tion ordering is given in advance. Secelimina-tion 4 verifies the correctness of the algorithm. The algorithm in fact gives a k-neighborhood-covering set C∗and a

k-neighborhood-independent set I∗ with |C| = |I|. Consequently, C and I are optimal and

αN(G, k) = ρN(G, k) for any strongly chordal graph G.

In the rest of this section, we discuss the k-neighborhood-covering problem by means of the integer-linear programming method. The k-neighborhood-covering prob-lem for a graph G is precisely the integer-linear programming probprob-lem

(ILP) min {1·x: Mx ≥ 1 and x ≥ 0 integral},

where M is the 0-1 matrix whose rows are indexed by the edges of G and whose columns are indexed by the vertices and which possesses an entry of 1 for row e and column v if and only if v is within distance k of both ends of e. The k-neighborhood-independence problem is the following integer dual of (ILP):

(ID) max {y·1: yM ≤ 1 and y ≥ 0 integral}.

We now claim that if G is strongly chordal, then matrix M is totally balanced. First, the 0-1 matrix Ak, with rows and columns both indexed by vertices of G and with a 1

for row u and column v if and only if u and v are within distance k, is totally balanced [12]. Second, the property of being totally balanced is preserved by the operation of

(3)

adding a new row which is the intersection of two existing rows [1]. Thus for each edge (u, v) we can add a row which is the intersection of row u and row v—this new row has 1’s for precisely the vertices x that are within distance k of both u and v. Finally, deleting the rows corresponding to vertices yields the matrix M.

Since M is totally balanced, the integrality conditions in (ILP) and (ID) can be dropped, thus giving a min-max equality and a polynomial-time algorithm by means of a greedy method [9]. This method also works for the weighted cases of the problems. The drawback of the method is that it takes more than linear-time to compute M. The main effort of this paper is to give a linear-time algorithm to solve these problems without explicit computation of M. This is similar to the case of solving the k-domination problem in strongly chordal graphs in linear-time without taking the k-power of the graph; see [3].

2. NP-completeness for chordal graphs. In this section we show that for any fixed k, the k-neighborhood-covering and the k-neighborhood-independence problems are NP-complete for chordal graphs. We shall do this by reducing the problems with

k = 1 for split graphs, which are known to be NP-complete in [6], to the problems for

chordal graphs. A graph G = (V, E) is split if its vertex set V is the disjoint union of a clique C and an independent set S. Split graphs are chordal.

Theorem 2.1. For any fixed positive integer k, the k-neighborhood-covering and

the k-neighborhood-independence problems are NP-complete for chordal graphs. Proof. For any split graph G = (V, E), whose vertex set V is the disjoint union of

a clique C and an independent set S, construct the graph Gk= (Vk, Ek) by attaching

a path s ≡ s1, s2, . . . , sk of length k − 1 to each vertex s in S. In other words,

Vk = C ∪ {si: s ∈ S and 1 ≤ i ≤ k} and Ek= E ∪ {(si, si+1): 1 ≤ i ≤ k − 1},

where s1 is considered to be the same as s, Gk is clearly a chordal graph. We shall

prove that ρN(Gk, k) = ρN(G, 1) and αN(Gk, k) = αN(G, 1). If these two equalities

hold, then the theorem follows from the fact that the 1-neighborhood-covering and the 1-neighborhood-independence problems are NP-complete for split graphs (see [6]). Suppose D is a minimum 1-neighborhood-covering set of G. Any edge in E is 1-neighborhood-covered and so k-neighborhood-covered by some vertex in D. For any edge (si, si+1) ∈ Ek− E, there exists some x ∈ D such that d(x, s) ≤ 1. So

d(x, si) ≤ i < k and d(x, si+1) ≤ i + 1 ≤ k, i.e., x k-neighborhood-covers (si, si+1).

Therefore D is a k-neighborhood-covering set of Gk. This gives ρN(Gk, k) ≤ ρN(G, 1).

Conversely, suppose D is a minimum k-neighborhood-covering set of Gk. We can

assume that D ⊆ C, otherwise any si in D can be replaced by a vertex adjacent to

s ≡ s1in C to form a new minimum k-neighborhood-covering set. Consider any edge

(x, y) in E. If x and y are both in C, then (x, y) is clearly 1-neighborhood-covered by any vertex in D. Suppose x ∈ C and y ∈ S. Since D is a k-neighborhood-covering set of Gk, there exists some vertex z in D that k-neighborhood-covers (yk−1, yk). Both

z ∈ C and d(z, yk) ≤ k imply that z is adjacent to y and so z 1-neighborhood-covers

(x, y). Therefore D is a 1-neighborhood-covering set of G. This gives ρN(Gk, k) ≥

ρN(G, 1). Together these inequalities imply that ρN(Gk, k) = ρN(G, 1).

Suppose I is a minimum 1-neighborhood-independent set of G. It must be the case that each edge of I has one end in C and the other end in S. Also S0 = {s ∈ S:

there is some (x, s) ∈ I} is a 2-independent set; i.e., no two distinct vertices of S0have

a common neighbor. So I0 = {(s

k−1, sk): s ∈ S0} is a k-neighborhood-independent

set of Gk. This gives αN(Gk, k) ≥ αN(G, 1).

(4)

Conversely, suppose I0 is a minimum k-neighborhood-independent set G

k. Each

edge of I0 must be of the form (s

k−1, sk) for some s ∈ S. Also S0 = {s ∈ S: some

(sk−1, sk) ∈ I0} is a 2-independent set. For any s ∈ S0, choose a neighbor s0 of s

in C. Then I = {(s0, s): s ∈ S0} is a 1-neighborhood-independent set of G. This gives

αN(Gk, k) ≤ αN(G, 1). Together these inequalities imply that αN(Gk, k) =

αN(G, 1).

3. The algorithm for strongly chordal graphs. In this section we set forth a linear-time algorithm for the covering and the k-neighborhood-independence problems for a strongly chordal graph G provided that a strong elimi-nation ordering is given in advance. Without loss of generality, we may assume that

G has no isolated vertices. The algorithm in fact gives a k-neighborhood-covering set C∗and a k-neighborhood-independent set Iwith |C| = |I|. By definitions and the

max-min inequality,

|C∗| = |I| ≤ α

N(G, k) ≤ ρN(G, k) ≤ |C∗|.

Hence all inequalities are equalities. Consequently, C∗ and I are optimal and

αN(G, k) = ρN(G, k) for any strongly chordal graph G.

Suppose G = (V, E) is a strongly chordal graph for which a strong elimination order [v1, v2, . . . , vn] is given. Note that this is also a perfect elimination order of the

chordal graph G. For simplicity we identify vertex vi as i, and hence [1, 2, . . . , n] is a

strong elimination order. For any vertices i and j, i ≤ j, let

Ni(j) = {l ∈: (j, l) ∈ E and l ≥ i} and

Ni[j] = Ni(j) ∪ {j}.

As in [7], we use N+(i) for N

i(i) and N+[i] for Ni[i]. A useful property of a chordal

graph G, in which [1, 2, . . . , n] is a perfect elimination order, is that (3.1) N+[i] is a clique for any i.

A useful property of a strongly chordal graph G, in which [1, 2, . . . , n] is a strong elimination order, is that

(3.2) j, l ∈ N+[i] and i ≤ j ≤ l imply N

i[j] ⊆ Ni[l].

(3.2) states that in the graph Gi induced by {i, i + 1, . . . , n}, the maximum neighbor

of i has the largest closed neighborhood among all neighbors of i. So, the maximum neighbor is a most powerful dominating vertex. This is important to the development that follows. (3.1) and (3.2) are also used frequently in the proofs of lemmas and theorems in section 4.

The idea behind our algorithm for the k-neighborhood-covering and the k-neighbor-hood-independence problems is analogous to, but much more complicated than, that behind the algorithms for the k-domination problem (see [3, 15]). In fact, a (k − 1)-dominating set is a k-neighborhood-covering set. However, the converse is not true. Note that a vertex set C is a k-neighborhood-covering set if and only if for any edge

e in G, either one end vertex of e is (k − 1)-dominated by some vertex in C, or both

end vertices of e are exactly k-distant from the same vertex in C. So our algorithm retains the spirit of the (k − 1)-domination problem with special attention to cases in which a critical edge e occurs; i.e., both end vertices of e are exactly k-distant from

(5)

the same vertex in C. To handle critical edges, we employ some of the ideas in [6] for 1-neighborhood-covering and -independence.

The algorithm processes vertices in the order 1, 2, . . . , n. Initially the k-neighbor-hood-covering set C and the k-neighborhood-independent set I are empty. In iteration

i, the algorithm determines whether vertex i must be put into C. If the answer is

positive, the algorithm also finds an edge to put into I. After processing, vertex i is deleted from the graph and i + 1 becomes a simple vertex of the remaining graph.

For technical reasons, we associate each vertex i with two nonnegative integers

a(i) and b(i), two vertices A(i) and s(i), and a subset N+

0 (i) of N+(i). The meanings

of these items are as follows. For each vertex i the algorithm must eventually include some vertex that is within distance a(i) from i in the k-neighborhood-covering set C. At any time, there is a vertex in the current C that is within distance b(i) from i. Both a(i) and b(i) keep decreasing as the algorithm proceeds. a(i) decreases when i is the maximum neighbor of a smaller vertex i0 that is not properly

neighborhood-covered by a vertex of C within distance a(i0) in iteration i0. In this case, a(i) is set

to a(i0) − 1. Similarly, in a previous iteration, a(i0) was set to a(i00) − 1. Continuing

this argument, there exists a smallest vertex i∗ that forces . . . , i00, i0, i to decrease

their a(·) values, although a(i∗) never changes. We use A(i) to denote this initial

vertex i∗from which a(i) decreases. s(i) is the optimal candidate for j such that (i, j)

is put into I. N+

0 (i) is a set of candidates for s(i). More precisely, N0+(i) contains

those j ∈ N+(i) such that there is no vertex i0 1-neighborhood-covering (i, j) and

i0 itself is (k − 1)-dominated by a vertex in the current C. s(i) is chosen to be min

N+

0 (i) in iteration i. If in iteration i the algorithm determines that i should be put

into C, it will also put the edge (A(i), s(A(i))) into I. Initially, a(i) = k, b(i) = ∞,

A(i) = i, s(i) = ∞, and N+

0(i) = N+(i) for all i ∈ V . The algorithm processes vertex

i according to one of the following cases.

When a(i) = 0, vertex i must be put into C. When a(i) < b(i) and N+(i) = ∅,

all vertices in the current C are farther than distance a(i) from i and no vertex j > i is adjacent to i. So, we need to put i into C. In these two cases, we also put the edge (A(i), s(A(i))) into I. Since i is now in C, b(i) is set to 0.

Suppose a(j) ≥ a(i) and b(j) ≥ a(i) for all j ∈ N+(i). When 0 < a(i) < b(i) and

N+(i) 6= ∅, all vertices in the current C are farther than distance a(i) from i. In this

case, we need to find a vertex no farther than a(i) − 1 from the maximum neighbor m of i, since for any vertex j > i there is a shortest path from j to i that passes through

m. When a(i) = b(i) = k and N+

0 (i) 6= ∅, there is one vertex in the current C that

is k-distant from vertex i. However, this vertex does not k-neighborhood-cover any edge (i, j) with j ∈ N+

0(i). Again, we need to find a vertex that (k − 1)-dominates m

and so k-neighborhood-covers all edges (i, j) with j ∈ N0+(i).

When a(i) ≥ b(i) and k > b(i), there is a vertex in the current C that is within distance a(i) from i. This vertex in fact (k − 1)-dominates i and so k-neighborhood-covers all edges incident to i. When a(i) = b(i) = k and N+

0 (i) = ∅, by the definition

of N+

0 (i), any edge (i, j) with j ∈ N+(i) is k-neighborhood-covered by some vertex in

C. When a(j) < a(i) or b(j) < a(i) for some j ∈ N+(i), a vertex of C that is within

distance a(j) from j must be within distance a(i) from i. In these three cases, we do not need to do anything.

Finally, we need to update b(j) and N+

0 (j) for all vertices j ∈ N+(i).

We can summarize the procedure described above in the following algorithm: Algorithm CI.

Input. A strongly chordal graph G = (V, E) without isolated vertices and in which

(6)

[1, 2, . . . , n] is a strong elimination order.

Output. A minimum covering set C and a maximum k-neighborhood-independent set I of G.

Method.

1. C ←− ∅; I ←− ∅;

2. for all i ∈ V do

3. [a(i) ←− k; b(i) ←− ∞; A(i) ←− i; s(i) ←− ∞; N+

0 (i) ←− N+(i)];

4. for i = 1 to n do

5. Case 1: a(i) = 0 or (a(i) < b(i) and N+(i) = ∅)

6. C ←− C ∪ {i};

7. I ←− I ∪ {(A(i), s(A(i)))};

8. b(i) ←− 0;

9. Case 2: ((0 < a(i) < b(i) and N+(i) 6= ∅) or (a(i) = b(i) = k

N+

0 (i) 6= ∅)) and (a(j) ≥ a(i) and b(j) ≥ a(i) for all j ∈ N+(i))

11. m ←− max N+(i);

12. a(m) ←− a(i) − 1;

13. A(m) ←− A(i);

14. s(i) ←− min N0+(i); {where min ∅ = ∞}

15. Case 3: (a(i) ≥ b(i) and k > b(i)) or (a(i) = b(i) = k and N+ 0(i) = ∅)

16. or (a(j) < a(i) or b(j) < a(i) for all j ∈ N+(i))

17. do nothing;

18. for all j ∈ N+(i) do b(j) ←− min{b(j), b(i) + 1};

19. R ←− {j ∈ N+

0 (i) : a(j) = b(j) = b(i) + 1 = k};

20. for all j ∈ R do N+

0 (j) ←− N0+(j) − R;

21. end for.

4. Correctness of the algorithm. This section proves the correctness of Al-gorithm CI. First, we note that during the execution of the alAl-gorithm, a(i), b(i), A(i),

s(i), C, and I are updated. We shall denote their final values by a∗(i), b(i), A(i),

s∗(i), C, and I, respectively. Note that a(i), b(i), and A(i) keep decreasing and

stay at their final values from the beginning of iteration i. s(i) only changes from ∞ to min N+

0 (i) in iteration i when Case 2 of the algorithm holds.

Our proof of the correctness of Algorithm CI is based on proving that C∗ is

a k-neighborhood-covering set (Theorem 4.4), I∗ is a k-neighborhood-independent

set (Theorem 4.11), and |C∗| = |I| (Theorem 4.7). If these conditions hold, C is a

minimum k-neighborhood-covering set, I∗is a maximum k-neighborhood-independent

set, and αN(G, k) = ρN(G, k).

Lemma 4.1. For any vertex x ∈ V , there exists some y ∈ C∗ such that d(x, y) ≤

b∗(x).

Proof. We claim that in any iteration, for any vertex x ∈ V , there exists some y ∈ C such that d(x, y) ≤ b(x). Initially, b(x) = ∞ and C = ∅. The claim holds

if we interpret it to be miny∈Cd(x, y) ≤ b(x) and min ∅ = ∞. b(x) only changes

its value in lines 8 and 18. If b(x) is reset to 0 in line 8, then x is added to C in line 6. So d(x, x) = 0 = b(x) for x ∈ C. Suppose b(x) is reset to b(i) + 1 in line 18 for x ∈ N+(i) and b(x) > b(i) + 1; it then follows from the induction

hypothesis that there must be some y ∈ C such that d(i, y) ≤ b(i). Therefore,

d(x, y) ≤ d(x, i) + d(i, y) ≤ 1 + b(i) < b(x). This proves the claim. Consequently, the

lemma holds.Lemma 4.2. For any vertex x ∈ V , one of the following three statements holds. (1) b∗(x) ≤ a(x).

(2) b∗(j) < a(x) for some j ∈ N+(x).

(7)

(3) a∗(j) < a(x) for some j ∈ N+(x).

Proof. We shall prove the lemma by considering the following cases in iteration x.

If Case 1 of the algorithm holds, then b∗(x) = 0 ≤ a(x); i.e., (1) holds.

If Case 2 of the algorithm holds, then there exists j = max N+(x) such that

a(j) = a(x) − 1 and so a∗(j) ≤ a(j) < a(x) = a(x); i.e., (3) holds.

If Case 3 of the algorithm holds, then b(x) ≤ a(x) or there exists j ∈ N+(x) such

that a(j) < a(x) or b(j) < a(x). For the first case, b∗(x) ≤ b(x) ≤ a(x) = a(x); i.e.,

(1) holds. For the second case, a∗(j) ≤ a(j) < a(x) = a(x); i.e., (3) holds. For the

third case, b∗(j) ≤ b(j) < a(x) = a(x); i.e., (2) holds.

Lemma 4.3. For any vertex x ∈ V , there exists some y ∈ C∗ such that d(x, y) ≤

a∗(x).

Proof. Repeatedly apply Lemma 4.2 to get a sequence x ≡ x0, x1, . . . , xr−1, xr

such that xi∈ N+(xi−1) for 1 ≤ i ≤ r and

b∗(x

r) ≤ a∗(xr) < a∗(xr−1) < · · · < a∗(x1) < a∗(x0) = a∗(x)

or b∗(x

r) < a∗(xr−1) < · · · < a∗(x1) < a∗(x0) = a∗(x).

Then r + b∗(x

r) ≤ a∗(x). By Lemma 4.1, there exists some y ∈ C∗ such that

d(xr, y) ≤ b∗(xr). Hence d(x, y) ≤ d(x, xr) + d(xr, y) ≤ r + b∗(xr) ≤ a∗(x).

Theorem 4.4. C∗ is a k-neighborhood-covering set of G.

Proof. Suppose (x, z) is an edge with x < z, i.e., z ∈ N+(x). We shall prove the

theorem according to (1), (2), and (3) of Lemma 4.2.

(1) b∗(x) ≤ a(x). By Lemma 4.1, there exists some y ∈ C such that d(x, y) ≤

b∗(x) ≤ a(x) ≤ k. If d(x, y) ≤ k − 1, then y k-neighborhood-covers (x, z). So we

may assume that d(x, y) = b∗(x) = a(x) = k. Since Lemma 4.2 (1) holds only when

Case 2 of the algorithm does not, N+

0 (x) = ∅ in iteration x. By z ∈ N+(x) and the

updating rule for N+

0(j) in lines 18 and 19, there exists an i such that x, z ∈ N0+(i)

and b(i) = k − 1 in iteration i. By Lemma 4.1, there exists some y ∈ C∗ such that

d(i, y) ≤ b(i) = k −1. Hence y (k −1)-dominates i and i 1-neighborhood-covers (x, z);

i.e., y k-neighborhood-covers (x, z).

(2) b∗(j) < a(x) for some j ∈ N+(x). By Lemma 4.1, there exists some y ∈ C

such that d(j, y) ≤ b∗(y) < a(x) ≤ k; i.e., y (k − 1)-dominates j. Since z, j ∈ N+(x),

j 1-neighborhood-covers (x, z) by (3.1). So y k-neighborhood-covers (x, z).

(3) a∗(j) < a(x) for some j ∈ N+(x). By Lemma 4.3, there exists some y ∈ C

such that d(j, y) ≤ a∗(y) < a(x) ≤ k; i.e., y (k − 1)-dominates j. Since z, j ∈ N+(x),

j 1-neighborhood-covers (x, z) by (3.1). So y k-neighborhood-covers (x, z).

Lemma 4.5. If y ∈ C∗, then a(y) < k.

Proof. Since y ∈ C∗, Case 1 of the algorithm holds in iteration y, i.e., a(y) = 0 or

a(y) < b(y) with N+(y) = ∅. For the former case, clearly, a(y) < k. For the latter

case, since G has no isolated vertex, there exists a largest neighbor w of y. Note that

y ∈ N+(w). Suppose N+(w) contains a vertex y0 other than y. Then by (3.1) y0 is

adjacent to y. So y0 is a neighbor of y that is larger than w, which is a contradiction.

Thus N+(w) = {y} and y = max N+(w). We now consider the following cases in

iteration w.

If Case 1 of the algorithm holds, then by line 8 b(w) = 0 and so, by line 18,

b(y) ≤ 1. Thus b(y) ≤ 1 in iteration y and so a∗(y) ≤ a(y) < b(y) ≤ 1 ≤ k.

If Case 2 of the algorithm holds, then a∗(y) ≤ a(y) = a(w) − 1 < k.

If Case 3 of the algorithm holds, then b(w) < k or a(w) = b(w) = k with

N+

0 (w) = ∅ or a(y) < a(w) or b(y) < a(w). For the first case, b(y) ≤ k by line 18.

(8)

b(y) ≤ k still holds in iteration y and so a∗(y) ≤ a(y) < b(y) ≤ k. For the second case,

by the updating rule in lines 19 and 20, there exists some i such that w, y ∈ N+ 0 (i) and

a(y) = b(y) = k in iteration i. Thus b(y) ≤ k still holds in iteration y and so a∗(y) ≤

a(y) < b(y) ≤ k. For the third case, a∗(y) ≤ a(y) < a(w) ≤ k. For the fourth case,

b(y) < a(w) still holds in iteration y and so a∗(y) ≤ a(y) < b(y) < a(w) ≤ k.

Lemma 4.6. For any ¯x ∈ C∗ with A(¯x) = x, there exists a unique increasing path

x ≡ ¯x0, ¯x1, . . . , ¯xu ≡ ¯x from x to ¯x (with u ≥ 1) such that ¯xi = max N+(¯xi−1) for

1 ≤ i ≤ u and A∗(¯x

i) = x and a∗(¯xi) = k − i for 0 ≤ i ≤ u. Furthermore, s∗(x) 6= ∞

and A∗(y) 6= A(¯x) for any y ∈ C− {¯x}. Also, u = k when N+(¯x) 6= ∅.

Proof. Let u = k − a∗(¯x) and ¯x

u= ¯x, i.e., a∗(¯xu) = k − u. By Lemma 4.5, u ≥ 1.

Note that a∗(¯x

u) is initially k and decreases only when Case 2 of the algorithm holds

in some iteration i and ¯xu = max N+(i). There may be several such i. Let ¯xu−1 be

the maximum of all such i. In this case, ¯xu = max N+(¯xu−1), A∗(¯xu) = A∗(¯xu−1),

and a∗(¯xu−1) = a(¯xu) + 1 = k − (u − 1). Continuing the same argument, we get an

increasing path x ≡ ¯x0, ¯x1, . . . , ¯xu ≡ ¯x such that ¯xi = max N+(¯xi−1) for 1 ≤ i ≤ u,

A∗(¯x0) = A(¯x1) = . . . = A(¯xu), and a(¯xi) = k − i for 0 ≤ i ≤ k. Since a(¯x0) = k,

A∗(¯x0) keeps its original value x, i.e., A(¯xi) = x for all 0 ≤ i ≤ u.

Furthermore, since ¯xi is uniquely determined by ¯xi−1, such a path is unique and

there is no y ∈ C∗− {¯x} with A(y) = A(¯x).

Since a∗(x) = k, a(x) = k at any time. In iteration x, Case 2 holds, i.e., 0 <

a(x) < b(x) with N+(x) 6= ∅ or a(x) = b(x) = k with N+

0 (x) 6= ∅. For the latter case,

s∗(x) 6= ∞ by line 14. For the former case, b(x) > k in iteration x and so b(x) > k

in any previous iteration. By the definition of R in line 18, x /∈ R in any previous iteration. Hence by line 19, N+

0(x) = N+(x) 6= ∅ in iteration x. Again, s∗(x) 6= ∞.

If N+(¯x) 6= ∅, then a(¯x) = 0 in line 5 in iteration ¯x. So, k −u = a(¯x

u) = a∗(¯x) =

0, i.e., u = k.

We shall call the unique path x ≡ ¯x0, ¯x1, . . . , ¯xu ≡ ¯x from x to ¯x (with u ≥ 1)

in Lemma 4.6 the maximum path for ¯x. For any ¯x ∈ C∗, the corresponding edge

(x, x0) ∈ I, where x = A(¯x) and x0 = s(x). Note that Case 2 holds in iteration ¯x i

for 0 ≤ i ≤ u − 1 and Case 1 holds in iteration ¯xu≡ ¯x. Also, in Lemma 4.6, instead

of saying a∗(¯xi) = k − i, we can say a(¯xi) = k − i in iteration ¯xi−1 when line 12 is

executed for 1 ≤ i ≤ u. ¯x1, x0 ∈ N+(x) imply that d(¯x1, x0) ≤ 1 by (3.1) and so ¯x1

1-neighborhood-covers (x, x0). This together with d(¯x1, ¯xp) ≤ p − 1 implies that ¯xp

p-neighborhood-covers (x, x0) for 1 ≤ p ≤ u.

Theorem 4.7. |C∗| = |I|.

Proof. By Lemma 4.6, for any two distinct vertices y, y0 ∈ C, A(y) 6= A(y0),

s(A∗(y)) 6= ∞, and s(A(y0)) 6= ∞. Hence the theorem holds, because each time a

new vertex is added to C in line 6 a new edge is added to I in line 7.

Lemma 4.8. If vertex z k-neighborhood-covers an edge (x, x0), then there exists

a shortest x-z path x ≡ x0, x1, . . . , xr ≡ z such that r ≤ k and each xp (k −

1)-neighborhood-covers (x, x0) for 1 ≤ p ≤ r − 1.

Proof. The lemma is easy when d(x, z) = 1 + d(x0, z) or d(x0, z) = 1 + d(x, z). For

the case in which d(x, z) = d(x0, z) ≤ k, the lemma follows from the fact that there

exists a vertex w adjacent to both x and x0 such that d(w, z) = d(x, z) − 1. (See [10,

Lemma 1 (d)].)

Lemma 4.9. Any shortest x0-xr path x0, x1, . . . , xr is unimodal, i.e., x0< x1<

· · · < xi−1< xi and xi> xi+1> · · · > xr for some 0 ≤ i ≤ r.

Proof. If the sequence is not unimodal, then xi−1, xi+1∈ N+(xi) for some i with

1 ≤ i ≤ r − 1. By Property (3.1), xi−1xi−1∈ E and so x0, x1, . . . , xris not a shortest

(9)

path.

Lemma 4.10. If y0, y1, . . . , yr is an increasing path and y0∈ C∗, then b(yi) ≤ i

after iteration yi−1 for 1 ≤ i ≤ r. Consequently, b(yi) ≤ i in and after iteration yi

for 0 ≤ i ≤ r.

Proof. We shall prove the lemma by induction on i. If i = 1, then in iteration y0, b(y0) = 0 by line 8 of the algorithm and so b(y1) ≤ 1 by line 18. Suppose

i ≥ 2 and b(yi−1) ≤ i − 1 after iteration yi−2. In iteration yi−1, by line 18, we have

b(yi) ≤ b(yi−1) + 1 ≤ i. Hence the lemma holds.

Theorem 4.11. I∗ is a k-neighborhood-independent set of G.

Proof. Suppose I∗ is not k-neighborhood-independent; i.e., there exists some

vertex z ∈ V that k-neighborhood-covers two distinct edges (x, x0) and (y, y0) in I,

where x0 = s(x) and y0 = s(y). Without loss of generality, we may assume that z

is set as large as possible.

By the algorithm, there exist ¯x, ¯y ∈ C∗ such that x = A(¯x) and y = A(¯y).

Let x ≡ ¯x0, ¯x1, . . . , ¯xu ≡ ¯x be the maximum path for ¯x and y ≡ ¯y0, ¯y1, . . . , ¯yv ≡ ¯y

the maximum path for ¯y. Since x 6= y, ¯x 6= ¯y by Lemma 4.6. Also, each ¯xp

p-neighborhood-covers (x, x0) for 1 ≤ p ≤ u and each ¯yq q-neighborhood-covers (y, y0)

for 1 ≤ q ≤ v.

By Lemma 4.8, there exists a shortest x-z path P : x ≡ x0, x1, . . . , xr ≡ z

with r ≤ k and a shortest y-z path y ≡ y0, y1, . . . , yt ≡ z with t ≤ k such that

each xp (k − 1)-neighborhood-covers (x, x0) for 1 ≤ p ≤ r − 1 and each yq (k −

1)-neighborhood-covers (y, y0) for 1 ≤ q ≤ t − 1. By Lemma 4.9, x

0 < x1 < · · · < xi

and xi > xi+1 > · · · > xr for some 0 ≤ i ≤ r and y0 < y1 < · · · < yj and

yj > yj+1> · · · > ytfor some 0 ≤ j ≤ t.

Let i∗ be the largest index such that x

p = ¯xp for 0 ≤ p ≤ i∗. We may

as-sume that i∗ is as large as possible. Note that i ≤ i. For the case of i+ 1 ≤ i,

i∗ + 1 ≤ u, otherwise u < i + 1 would imply that u < i ≤ r ≤ k, but x i+1

N+(¯xu) = N+(¯x) contradicts the last statement of Lemma 4.6. Since xi+1¯xi+1

N+(xi), by (3.1) xi+1¯xi+1 ∈ E. By the fact that ¯xi+1 = max N+(¯xi), we have

xi∗+1< ¯xi+1. Now i∗+ 1 = i, otherwise i∗+ 2 ≤ i would imply that ¯xi+1, xi+2 N+(x

i∗+1), which in turn implies ¯xi+1xi+2 ∈ E and so P0: ¯x0, . . . , ¯xi∗, xi+1, xi∗+2, xi+3. . . , xr is a path with i∗(P0) > i∗(P ). In conclusion, either xp =

¯xp for 0 ≤ p ≤ i (when i = i∗) or xp = ¯xp for 0 ≤ p ≤ i − 1 with ¯xi−1 <

xi < ¯xi form a clique of 3 vertices (when i = i∗ + 1). Similarly, we may

as-sume that either yq = ¯yq for 0 ≤ q ≤ j (when j = j∗) or yq = ¯yq for 0 ≤

q ≤ j − 1 with ¯yj−1 < yj < ¯yj form a clique of 3 vertices (when j = j∗ +

1).

We now claim that z 6= ¯y. Suppose, to the contrary, z = ¯y ∈ C∗. Suppose

i∗ = i = r. Since ¯x

u = ¯x 6= ¯y = z = xr= ¯xr∗, r∗≤ u − 1. But ¯xr ∈ C implies that

Case 1 holds in iteration ¯xi∗, in contradiction to the fact that Case 2 holds in iteration

¯xp for 0 ≤ p ≤ u − 1. Therefore, either i∗+ 1 ≤ i = r or i < r. In any case, r > 0.

Suppose i = 0. Consider the increasing path z ≡ xr, xr−1, . . . , x1, x0 ≡ x ≡ ¯x0. By

Lemma 4.10, b(x1) ≤ r − 1 in iteration x1 and so, by line 18, b(x0) ≤ b(x1) + 1 ≤ r

in iteration x1. Then b(x) ≤ r ≤ k in iteration x. On the other hand, by Lemma

4.6, a∗(x) = a(¯x

0) = k and so, a(x) = k in any iteration. Then a(x) = b(x) = k in

iteration x, since Case 2 of the algorithm holds. Thus, b(x1) = k − 1 and b(x) = k in

iteration x1, and a(x) = b(x) = k = r in iteration x. By line 19, x ∈ R in iteration

x1. Now, d(z, x) = r = k. Since x0 > x, we also have d(z, x0) = k. By Lemma 4.8, we

may assume that x0is adjacent to x

1. By line 18, b(x0) ≤ b(x1) + 1 ≤ k in iteration x1

(10)

and hence b(x0) ≤ k in iteration x. Since Case 2 holds in iteration x, a(x0) ≥ a(x) = k

and b(x0) ≥ a(x) = k. So, a(x0) = b(x0) = k in iterations x and x

1. By line 19, x0∈ R

in iteration x1. Therefore, by line 20, x0 /∈ N0+(x) after iteration x1 is completed. In

iteration x, it is impossible that x0= s(x) ≡ N+

0 (x). Thus i ≥ 1.

First, consider the case of i∗ + 1 ≤ i = r, i.e., x

i = z = ¯y = ¯yv ∈ C∗. If

¯xi−1≤ ¯yv−1, then ¯yv−1∈ N¯xi−1[xi]. By (3.2), N¯xi−1[xi] ⊆ N¯xi−1[¯xi]. Thus, ¯yv−1 is

adjacent to ¯xi > xi = ¯yv, in contradiction to ¯yv = max N+[¯yv−1]. So, ¯yv−1 < ¯xi−1.

In iteration ¯yv−1, a(¯yv) = k − v by line 12 of the algorithm and Lemma 4.6. Also,

N+(¯y

v) 6= ∅ since it contains ¯xi. By Lemma 4.6, v = k. Then, a(¯yv) = 0 in and

after iteration ¯yv−1. In particular, a(¯yv) = 0 in iteration ¯xi−1. But, in iteration ¯xi−1,

Case 2 holds. By line 9, 0 < a(¯xi−1), but, by line 10, 0 = a(¯yv) ≥ a(¯xi−1), which is a

contradiction.

Next, consider the case of i < r. If ¯xi−1 ≤ xi+1, then xi+1 is adjacent to ¯xi

by (3.2). Consider the increasing path z ≡ xr, xr−1, . . . , xi+1, ¯xi. By Lemma 4.10,

b(¯xi) ≤ r − i ≤ k − i = a∗(¯xi) in iteration ¯xi. When Case 1 holds in iteration

¯xi, a∗(¯xi) = 0 and so k = r = i, which contradicts i < r. When Case 2 holds in

iteration ¯xi, a(¯xi) = b(¯xi) = k and so i = 0, which contradicts i ≥ 1. If ¯xi−1> xi+1,

then b(xi) ≤ k − i after iteration xi+1 by Lemma 4.10. In particular, b(xi) ≤ k − i

in iteration ¯xi−1. But Case 2 of the algorithm holds in iteration ¯xi−1. By line 10,

k − (i − 1) = a(¯xi−1) ≤ b(xi) ≤ k − i, which is a contradiction.

So, in any case z 6= ¯y, i.e., z < ¯y. Similarly, z < ¯x. Consider the two increasing paths P1 and P2, where P1 is z ≡ xr, xr−1, . . . , xi, ¯xi∗, ¯xi+1, . . . , ¯xu ≡ ¯x (with ¯xi

omitted when xi = ¯xi∗ and i = i∗) and P2is z ≡ yt, yt−1, . . . , yj, ¯yj∗, ¯yj+1, . . . , ¯yv≡ ¯y

(with ¯yj∗ omitted when yj = ¯yj and j = j∗). By (3.1), (α, β) ∈ E, where α is the

second vertex of P1 and β the second vertex of P2. Note that α = xp with p ≤ r − 1

or α = ¯xpwith p ≤ u, and β = yq with q ≤ t − 1 or β = ¯yq with q ≤ v. By Lemma 4.8

and the sentence just before Theorem 4.7, α (k − 1)-neighborhood-covers (x, x0) or β

(k − 1)-neighborhood-covers (y, y0), and so α or β k-neighborhood-covers both (x, x0)

and (y, y), contradicting the choice of z, except when u = v = k, α = ¯xu, β = ¯yv,

and |P1| = |P2| = 1. For the exceptional case, since either i = i∗ with xi = ¯xi or

i = i∗+ 1 with ¯x

i−1< xi < ¯xi form a clique, we have r = i = i∗ = u − 1 = k − 1

or r = i = i∗+ 1 = u = k and so ¯xk−1 ≤ z < ¯xk, i.e., z, ¯xk ∈ N+[¯xk−1]. Similarly,

z, ¯yk ∈ N+[¯yk−1]. Without loss of generality, assume ¯xk−1 ≤ ¯yk−1. Then, by (3.2),

¯yk−1 is adjacent to ¯xk. Now, ¯xk k-neighborhood-covers (x, x0). Also, ¯yk−1 (k −

1)-neighborhood-covers (y, y0) and so ¯xk k-neighborhood-covers (y, y0). So we have ¯xk >

z and ¯xk k-neighborhood-covers both (x, x0) and (y, y0), which is a contradiction to

the choice of z.

Theorem 4.12. Algorithm CI finds a minimum k-neighborhood-covering set

C∗ and a maximum k-neighborhood-independent set I of a strongly chordal graph

G = (V, E) in linear-time if a strong elimination order is given.

Proof. The correctness of the algorithm follows from Theorems 4.4, 4.7, and 4.11.

The algorithm is linear, since iteration i costs only O(|N+(i)|) time excepting line 20,

and line 20 in the whole algorithm costs at most O(|E|) time.

Acknowledgments. The authors thank referees for many constructive sugges-tions on the revision of this paper. In particular, one referee suggested the linear programming viewpoint as added at the end of section 1. A significant simplification of the proofs in section 4 was made after their comments.

(11)

REFERENCES

[1] R. P. Anstee, Properties of (0,1)-matrices without certain configurations, J. Combin. Theory Ser. A, 31 (1981), pp. 256–269.

[2] R. P. Anstee and M. Farber, Characterization of totally balanced matrices, J. Algorithms, 5 (1984), pp. 215–230.

[3] G. J. Chang, Labeling algorithms for the domination problems in sun-free chordal graphs, Discrete Appl. Math., 22 (1988/89), pp. 21–34.

[4] G. J. Chang and G. L. Nemhauser, The k-domination and k-stability problems on sun-free

chordal graphs, SIAM J. Algebraic Discrete Methods, 5 (1984), pp. 332–345.

[5] G. J. Chang and G. L. Nemhauser, Covering, packing and generalized perfection, SIAM J. Algebraic Discrete Methods, 6 (1985), pp. 109–132.

[6] G. J. Chang, M. Farber, and Z. Tuza, Algorithmic aspects of neighborhood numbers, SIAM J. Discrete Math., 6 (1993), pp. 24–29.

[7] M. Farber, Characterizations of strongly chordal graphs, Discrete Math., 43 (1983), pp. 173– 189.

[8] M. C. Golumbic, Algorithmic Graph Theory and Perfect Graphs, Academic Press, New York, 1980.

[9] A. J. Hoffman, A. W. J. Kolen, and M. Sakarovitch, Totally balanced and greedy matrices, SIAM J. Algebraic Discrete Methods, 6 (1985), pp. 721–730.

[10] R. Laskar and D. Shier, Construction of (r, d)-invariant chordal graphs, Congressus Numer-antium, 33 (1981), pp. 155–165.

[11] J. Lehel and Z. Tuza, Neighborhood perfect graphs, Discrete Math., 61 (1986), pp. 93–101. [12] A. Lubiw, Doubly lexical ordering of matrices, SIAM J. Comput., 16 (1987), pp. 854–879. [13] R. Paige and R. E. Tarjan, Three partition refinement algorithms, SIAM J. Comput., 16

(1987), pp. 973–989.

[14] E. Sampathkumar and P. S. Neeralagi, The neighborhood number of a graph, Indian J. Pure Appl. Math., 16 (1985), pp. 126–132.

[15] P. J. Slater, R-domination in graphs, J. Assoc. Comput. Mach., 23 (1976), pp. 446–450. [16] J. P. Spinrad, Doubly lexical ordering of dense 0-1 matrices, Inform. Process. Lett., 45 (1993),

pp. 229–235.

[17] J. Wu, Neighborhood-Covering and Neighborhood-Independence in Strongly Chordal Graphs, manuscript.

參考文獻

相關文件

Based on [BL], by checking the strong pseudoconvexity and the transmission conditions in a neighborhood of a fixed point at the interface, we can derive a Car- leman estimate for

Breu and Kirk- patrick [35] (see [4]) improved this by giving O(nm 2 )-time algorithms for the domination and the total domination problems and an O(n 2.376 )-time algorithm for

Includes activity plans mainly for junior and high school students, covering topics such as stigma related to mental health problems, managing stress, and

In this talk, we introduce a general iterative scheme for finding a common element of the set of solutions of variational inequality problem for an inverse-strongly monotone mapping

A derivative free algorithm based on the new NCP- function and the new merit function for complementarity problems was discussed, and some preliminary numerical results for

3: Calculated ratio of dynamic structure factor S(k, ω) to static structure factor S(k) for &#34;-Ge at T = 1250K for several values of k, plotted as a function of ω, calculated

The Hilbert space of an orbifold field theory [6] is decomposed into twisted sectors H g , that are labelled by the conjugacy classes [g] of the orbifold group, in our case

In this work, for a locally optimal solution to the nonlin- ear SOCP (4), under Robinson’s constraint qualification, we show that the strong second-order sufficient condition