• 沒有找到結果。

An optimal algorithm for finding locally connected spanning trees on circular-arc graphs

N/A
N/A
Protected

Academic year: 2021

Share "An optimal algorithm for finding locally connected spanning trees on circular-arc graphs"

Copied!
9
0
0

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

全文

(1)

An Optimal Algorithm for Finding Locally

Connected Spanning Trees on Circular-Arc Graphs

Ching-Chi Lin

Gerard J. Chang

†∗

Gen-Huey Chen

Department of Computer Science and Information Engineering

National Taiwan University, Taipei, Taiwan

Email:

{d91018,ghchen}@csie.ntu.edu.tw

Department of Mathematics

National Taiwan University, Taipei, Taiwan

Email: [email protected]

Abstract

Suppose that T is a spanning tree of a graph G. T is called a locally connected spanning tree of G if for every vertex of T , the set of all its neighbors in T induces a connected subgraph of G. In this paper, given an intersection model of a circular-arc graph, an O(n)-time algorithm is proposed that can determine whether the circular-arc graph con-tains a locally connected spanning tree or not, and produce one if it exists.

1

Introduction

A communication network is conveniently rep-resented with a graph G. The vertex set of G, de-noted by V (G), represents the set of nodes in the network, and the edge set of G, denoted by E(G), represents the set of communication links. In this paper, we use xy to represent the edge connecting vertices x and y. When a data packet is required to be transmitted from a node to another node in a communication network, it will be carried through a path that consists of many communication links. Thus, it is cost effective to build a communication network as a tree network. However, such a tree

Supported in part by the National Science Council

un-der grant NSC-95-2221-E-002-125-MY3. Taida Institute for Mathematical Sciences, National Taiwan University, Taipei 10617, Taiwan. National Center for Theoretical Sci-ences, Taipei Office.

network is fragile to any fault, node fault or link fault, because its connectivity is only one. In order to enhance the fault tolerance, Farley [8, 9] intro-duced the concept of isolated failure immune (IFI) networks.

A set of node failures (i.e., node faults) is iso-lated if every two of them are not adjacent. A connected network is immune to a set of node fail-ures if it remains connected after removing these node failures. An IFI network is immune to any isolated set of node failures. In [2], Cai suggested an instance of IFI networks. Let T be a spanning tree of G and NT(v) be the set of all neighboring

vertices of v in T . If for every v∈ V (G), the sub-graph of G induced by NT(v) is connected, then T

is called a locally connected spanning tree (LCST) of G. Figure 1 shows two spanning trees, T1 and T2, of a graph G, where T1is an LCST. Since the subgraph of G induced by NT2(u) (and NT2(v))

is not connected, T2 is not an LCST. A network containing an LCST is an IFI network.

In [3], the problem of determining whether a planar graph or a split graph contains an LCST was shown to be NP-complete. Moreover, two al-gorithms, requiring O(|V (G)|+|E(G)|) time, were proposed to find an LCST in a 2-connected di-rected path graph [6] and to produce an LCST from a spanning tree of a given graph by

(2)

augment-T1 T2

v

u

Figure 1: Two spanning trees (dotted edges) of G.

ing fewest edges, respectively. In [17], the authors presented two algorithms to find an LCST in a 2-connected strongly chordal graph [4, 7, 20] and an LCST in a proper circular-arc graph, respectively, also in O(|V (G)| + |E(G)|) time.

Circular-arc graphs, which are a superfamily of proper circular-arc graphs, are a natural gener-alization of interval graphs. A lot of optimiza-tion problems, e.g., the maximum independent set problem [11–14, 16, 18], the minimum clique cover problem [12, 14], the minimum cut problem [16, 21], and the minimum dominating set problem [5, 14, 15], have been studied on circular-arc graphs. These problems are all NP-complete if they are de-fined on general graphs, and solvable in O(|V (G)|+ |E(G)|) time if they are defined on circular-arc graphs. So, it is interesting to investigate whether the LCST problem is NP-complete or polynomial time solvable when it is defined on circular-arc graphs.

In this paper, we show that the LCST problem on a circular-arc graph G is polynomial time solv-able. To say more concretely, given an intersection model F of G, an O(|V (G)|) time algorithm is pro-posed that can determine whether G contains an LCST or not, and produce it if it exists.

2

Preliminaries

G = (V (G), E(G)) is a circular-arc graph [10, 19, 22] if there is a one-to-one correspondence be-tween V (G) and a set of arcs so that (u, v)∈ E(G) if and only if the corresponding arc of u overlaps with the corresponding arc of v. In the rest of this

paper, we let n =|V (G)| and m = |E(G)|. Mc-Connell [19] gave an O(n + m)-time algorithm to recognize a circular-arc graph G, and as a byprod-uct, an intersection model of G can be obtained simultaneously. In the rest of this paper, we de-note the intersection model by F , and assume that F is available to G.

For each v ∈ V (G), let a(v) denote the corre-sponding arc of v in F . Further, for any subset W of V (G), we define a(W ) ={a(v)| v ∈ W }. Each arc is represented with [h(v), t(v)], where h(v) is the head of a(v), t(v) is the tail of a(v), and h(v) precedes t(v) in a counterclockwise traversal. We assume that all arc endpoints (i.e., h(v) and t(v)) are distinct and no arc covers the entire circle.

Let d(v) denote the density of a(v), which is the number of arcs (including a(v)) in F that con-tain h(v). A segment of a circle is a continuous part between two endpoints. We use [s, t] to de-note a segment from endpoint s to endpoint t in a counterclockwise traversal. Similarly, we use (s, t) ((s, t] and [s, t), respectively) to denote the same segment, but excluding s and t (s and t, respec-tively).

A subset S of V (G) is a separating set of G if the subgraph of G induced by V (G)− S contains more than one connected component (component for short). When S ={v}, v is called a cut vertex of G. If G contains no separating set of size smaller than k, then G is k-connected. In subsequent dis-cussion, we use G[S] to denote the subgraph of G induced by a subset S of V (G).

Lemma 1 ([3]) If G has an LCST, then G is 2-connected and for every separating set S of G,

(3)

G[S] contains at least one edge of the LCST.

Lemma 2 ([17]) If G is a circular-arc graph with d(v)≤ 2 for four or more distinct vertices v, then G has no LCST.

Lemma 3 ([17]) If there is a separating set{x, y} of G and a component H of G− {x, y} so that H contains no common neighbor of x and y, then G has no LCST.

We use G1 ∪ G2 to denote the union of two graphs G1and G2, which is the graph with vertex set V (G1)∪ V (G2) and edge set E(G1)∪ E(G2).

Lemma 4 Suppose that T1is an LCST of G1and T2 is an LCST of G2. If V (T1)∩ V (T2) ={x, y} and E(T1)∩ E(T2) = {xy}, then T1∪ T2 is an LCST of G1∪ G2.

Proof. Let T = T1∪ T2 and G = G1∪ G2. It suffices to show that both G[NT(x)] and G[NT(y)]

are connected. Since G1[NT1(x)] and G2[NT2(x)]

are connected and y∈ NT1(x)∩ NT2(x), G[NT(x)]

is connected. Similarly, G[NT(y)] is connected.

In the rest of this section, we let G be an inter-val graph [1] with V (G) ={v1, v2, . . . , vn}, where

n≥ 3. Since an interval graph is also a circular-arc graph, we use a(v) to denote the corresponding in-terval of v. It is assumed that the left endpoint of a(vi) is on the left of the left endpoint of a(vi+1),

where 1 ≤ i ≤ n − 1. In [17], the authors pre-sented an O(n+m) time algorithm, i.e., Algorithm Strongly-Chordal, that can construct an LCST in a 2-connected strongly chordal graph.

Algorithm Strongly-Chordal selects an incident edge for each vertex so that the collection of all selected edges forms an LCST. However, with F , O(n) time is sufficient to construct an LCST in an interval graph G, as explained below. Suppose that vivi∗ is the edge to be selected for vertex vi.

We set v1∗ = v2 and for 2≤ i ≤ n, determine vi∗

so that a(vi∗) has the rightmost right endpoint

among a(W ), where W ={vk| vk ∈ NG(vi) and

k < i}. Since vi∗ is vi−1or v(i−1)∗, all edges vivi∗

can be determined in O(n) time. The collection of all edges vivi∗ forms an LCST of G, with the

same arguments as Algorithm Strongly-Chordal. Therefore, the following lemma is immediate.

Lemma 5 Suppose that G is a 2-connected inter-val graph. Then, an LCST containing v1v2 can be obtained in O(n) time.

Suppose vx∈ NG(v1). The following algorithm

can find an LCST of G, if it exists, that contains v1vx.

Algorithm LCST-Interval.

(1) If G contains a cut vertex or G contains a vertex vs such that{v1, vs} and {vx, vs} are

two separating sets of G, then stop. /* No LCST exists in G. */

(2) Let h = max{i| v1vi∈ E(G)}. If h = n,

then let T ={v1v2, v1v3, . . . , v1vn} and

per-form step (8).

(3) Let W ={vk| vk∈ NG(v1)−{vx} and {v1, vk}

is not a separating set of G}. Find the ver-tex vp of W so that a(vp) has the rightmost

right endpoint among a(W ).

(4) Let W = {vl| vl∈ NG(v1)− {vp}}. Find

the vertex vq of W so that a(vq) has the

rightmost right endpoint among a(W).

(5) Let T1={v1v2, . . . , v1vp−1, v1vp+1, . . . , v1vh}

∪ {vpvq}.

(6) Construct an LCST T2in G[{vp, vq, vh+1, vh+2,

. . . , vn}] with vpvq∈ E(T2).

(7) Let T = T1∪ T2.

(8) Output T . /* T is an LCST of G that con-tains v1vx. */

In the following discussion, we let G1= G[{v1, v2, . . . , vh}] and G2= G[{vp, vq}∪{vh+1, vh+2, . . . , vn}].

Notice that V (G1)∩ V (G2) ={vp, vq}.

Lemma 6 Suppose that G is 2-connected and h < n. If G contains no vertex vs, then G2is 2-connected. Proof. Let vα, vβ and vγ denote the three

ver-tices in NG(v1) so that a(vα), a(vβ) and a(vγ) have

the rightmost, the second rightmost and the third rightmost right endpoints, respectively, among

(4)

a(NG(v1)). Suppose conversely that G contains no

vertex vs and G2is not 2-connected. If{vp, vq} =

{vα, vβ}, then G2 is 2-connected, for otherwise G is not 2-connected, a contradiction. This contra-dicts to our assumption that G2is not 2-connected. Therefore, we have{vp, vq} = {vα, vβ}.

As a consequence of step (4), we have vq

{vα, vβ}, which implies vp ∈ {vα, vβ}. Again, as a

consequence of step (3), both{v1, vα} and {v1, vβ}

are separating sets of G, or one of vαand vβis vx

and the other together with v1forms a separating set of G. Notice that the former is not true unless G is not 2-connected. Therefore, the latter holds, i.e., vα = vx or vβ = vx. Without loss of

gener-ality, we assume vα= vx (and hence{v1, vβ} is a

separating set of G).

Let rG(vi) be the number of intervals

in a(NG(vi)) which contain the right endpoint of

a(vi). Since G is 2-connected and h < n, we have

rG(v1)≥ 2. If rG(v1) = 2, then a(vα) and a(vβ)

are the two intervals that contain the right end-point of a(v1), i.e., {vα, vβ} is a separating sets

of G. However, this contradicts to our assump-tion about vs, because vα= vx and {v1, vβ} is a

separating set of G (i.e., vs= vβ).

On the other hand, if rG(v1) > 2, then a(vα),

a(vβ) and a(vγ) exist. And, a(vα), a(vβ) and a(vγ)

contain the right endpoint of a(v1). Notice that both{v1, vβ} and {v1, vγ} are not separating sets

of G similarly, which implies{v1, vγ} is not a

sep-arating set of G. Hence, we have vp= vγas a

con-sequence of step (3), and vq = vαas a consequence

of step (4). Now that G2is not 2-connected, there exists a vertex vt∈ V (G2) with rG2(vt) < 2.

Recall that G2is 2-connected provided{vp, vq}

={vα, vβ}. It implies rG[V (G2)∪{vβ}](vt)≥ 2, i.e.,

the right endpoint of a(vt) is contained in a(vβ)

(and hence in a(vα)). Since rG2(vt) < 2, the right

endpoint of a(vt) is not contained in a(vγ). Hence,

rG(vt) = 2, which implies that{vα, vβ} is a

sepa-rating set of G. Similarly, there is a contradiction to our assumption about vs.

Lemma 7 There is an LCST of G that contains

v1vx if and only if Algorithm LCST-Interval

out-puts T . Moreover, T is such an LCST, which can be obtained in O(n) time.

Proof. According to Lemma 1, G has no LCST if G has a cut vertex, and G has no LCST containing v1vx if both {v1, vs} and {vx, vs} are separating

sets of G. Therefore, we need only to consider the situation that G is 2-connected and no vs exists

in G. When h = n, T = {v1v2, v1v3, . . . , v1vn}

is clearly an LCST of G that contains v1vx. In

subsequent discussion, h < n is assumed.

Since vp = vx, we have v1vx∈ E(T1). Clearly, V (G1)∪ V (G2) = V (G) and E(G1)∪ E(G2) E(G). If T = T1∪ T2is an LCST of G1∪ G2, then T is an LCST of G as well. Since V (T1)∩V (T2) = {vp, vq} and E(T1)∩E(T2) ={vpvq}, by Lemma 4

we only need to show that T1 is an LCST of G1 and to construct an LCST, i.e., T2, of G2 with vpvq ∈ E(T2) below.

In order to show that T1 is an LCST of G1, it suffices to show that vpvq ∈ E(G1) and both

G1[NT1(v1)] and G1[NT1(vq)] are connected. By

Lemma 6, G2 is 2-connected, which implies that both a(vp) and a(vq) contain the left endpoint of

a(vh+1), i.e., vpvq ∈ E(G). Since {v1, vp} is not a

separating set of G, G[{v2, . . . , vp−1, vp+1, . . . , vn}]

is connected, which further implies that G[{v2, . . ., vp−1, vp+1, . . ., vh}] = G1[NT1(v1)] is connected.

Since vp ∈ NG(v1) and NT1(vq) = {v1, vp}, we

know that G1[NT1(vq)] is connected. On the other

hand, according to Lemma 5 and Lemma 6, T2can be obtained in O(n) time.

Next we show that Algorithm LCST-Interval runs in O(n) time. With F , step (1) can be com-pleted in O(n) time. The vertex vs can be

ob-tained by taking the intersection of the two sets {vc| {v1, vc} is a separating set of G} and {vd| {vx

, vd} is a separating set of G}, which requires O(n)

time by the aid of F . The other steps can be com-pleted also in O(n) time.

Since Algorithm LCST-Interval outputs T if and only if the if-condition of step (1) is not satisfied,

(5)

Lemma 7 can be rewritten as follows.

Lemma 8 There is an LCST of G that contains v1vx if and only if G is 2-connected and there is

no vertex vs in G such that {v1, vs} and {vx, vs}

are two separating sets of G. Moreover, the LCST can be obtained in O(n) time.

If a circular-arc graph G has d(v) = 1 for some vertex v∈ V (G), then G is also an interval graph. Hence, an LCST of G can be found, if it exists, according to the work of [3]. Moreover, accord-ing to Lemma 2, G has no LCST provided G has d(v) = 2 for four or more distinct vertices v. In Sections 3, an O(n)-time algorithm is proposed for the situation when no vertex v with d(v) = 2. The algorithm can determine whether G contains an LCST or not, and produce one if it exists. We omit the three situations: exactly three vertices v, exactly two vertices v and exactly one vertex v with d(v) = 2 due to the limitation in the num-ber of pages. We suppose V (G) ={v1, v2, . . . , vn},

where n≥ 3 in the following discussion.

3

No vertex v with d(v) = 2

Suppose that G has no vertex v with d(v) = 2. An algorithm is proposed in this section, which can produce an LCST of G, if it exists. To begin with, the algorithm finds an ordering vp(1), vp(2), . . . , vp(n)of vertices in order to construct an LCST of G. Define Sq={vh| a(vh) contains q}, where q

is a point of the circle in F , and Kx,y={vk| vk∈

NG(vx)− {vy}, {vx, vk} is a separating set of G,

and there exists one component C of G− {vx, vk}

so that all arcs of a(V (C)) are contained in the seg-ment (h(vx), h(vy)) in F}. The selection of vp(1) and vp(2) requires that a(vp(1))∩ a(vp(2)) is not empty and satisfies the following two conditions.

(C1) There exists a point q of the circle in F so that t(vp(1)) and t(vp(2)) are the last two tails encountered among all the correspond-ing tails of Sq in F if a counterclockwise

traversal from q is made.

(C2) Kp(1),p(2) is empty.

Then, vp(3), vp(4), . . . , vp(n) are determined so that h(vp(i+1)) immediately succeeds h(vp(i)) in a counterclockwise traversal, where 2≤ i ≤ n − 1. There is an LCST of G if and only if such an or-dering can be found.

Suppose that H is a subgraph of G. For each vl ∈ V (H), define ˜NH(vl) = {vk| vk ∈ NH(vl)

and a(vk) contains h(vl)}, i.e., ˜NH(vl) is the set

of neighbors of vlin H whose corresponding arcs

contain h(vl) in F . Also let ˜vl,Hdenote the vertex

of ˜NH(vl) whose corresponding tail in F is

encoun-tered last among all vertices of ˜NH(vl) if a

counter-clockwise traversal from h(vl) is made. Let Gp(i)= G[{vp(1), vp(2), . . . , vp(i)}], where 1 ≤ i ≤ n. Fig-ure 2 shows an example, where ˜NGp(4)(vp(4)) =

{vp(1), vp(2)} and ˜vp(4),Gp(4) = vp(2).

The following is a formal description of the al-gorithm.

Algorithm LCST-Circular-Arc-0.

(1) Arbitrarily select a point q of the circle in F and determine two vertices vx and vy from

Sq so that t(vx) and t(vy) are the last two

tails encountered among all the correspond-ing tails of Sq in F if a counterclockwise

traversal from q is made. Without loss of generality, suppose that a(vx) contains h(vy).

(2) Set s0= x, s1= y, m0= x, and m1= y.

(3) Repeat

If Km0,m1 is not empty, then

(3.1) Determine vd ∈ Km0,m1 so that

a(vd) is the last arc encountered

among all the corresponding arcs of Km0,m1 in F if a clockwise

traversal from h(vm1) is made.

(3.2) If a(vd) contains h(vm0), then set

(m0, m1) = (d, m0). Otherwise, set m1= d. Until Km0,m1is empty or (m0, m1) = (s0, s1). (4) If (m0, m1) = (s0, s1), then stop. /* No LCST exists in G. */ (5) Determine vp(1) = vm0, vp(2) = vm1, and

vp(3), vp(4), . . ., vp(n)so that h(vp(i+1)) imme-diately succeeds h(vp(i)) in a counterclock-wise traversal, where 2≤ i ≤ n − 1.

(6)

5 10 6 1 9 2 3 4 7 8 i : a(vp(i))

Figure 2: An example with ˜NGp(4)(vp(4)) ={vp(1), vp(2)} and ˜vp(4),Gp(4) = vp(2).

(6) Set T(2)={vp(1)vp(2)}.

(7) For i = 3 to n, perform the following steps.

(7.1) If | ˜NGp(i)(vp(i))| = 2 and h(vp(i))

(h(vp(1)), h(vp(2))), set T(n)= T(i−1)∪ {vp(1)vp(i), vp(1)vp(i+1), . . . , vp(1)vp(n)} and go to step (8).

(7.2) Set T(i) = T(i−1)∪ {v

p(i)v˜p(i),Hp(i)},

where Hp(i)= Gp(i)−{vp(1)} if h(vp(i))

∈ (h(vp(1)), h(vp(2))) and Hp(i)= Gp(i) else.

(8) Output T(n).

Steps (1) to (3) try to find vp(1)and vp(2), i.e., p(1) = m0 and p(2) = m1 if vm0 and vm1 satisfy

(C1) and (C2). Step (3) starts with (vm0, vm1) =

(vs0, vs1) and traverses the circle clockwise until

finding a feasible pair of vm0and vm1 or returning

to (vs0, vs1). There is no LCST in G for the latter

case. If the current pair of vm0 and vm1 do not

satisfy (C2), then the next pair of vm0 and vm1

are determined according to steps (3.1) and (3.2). Notice that the first pair of vm0 and vm1 satisfy

(C1), and each subsequent pair of vm0 and vm1

also satisfy (C1), as explained below.

Refer to Figure 3 for an illustrative example, where vm0 and vm1 denote the next pair of vm0

and vm1. We have Km0,m1 ={vk1, vk2} and vd =

vk2. Notice that {vc1}({vc2}) is one component

of G− {vm0, vk1}(G − {vm0, vk2}). If a(vd)

con-tains h(vm0), shift vm0 to vd and vm1 to vm0, i.e.,

m0= d and m1= m0(refer to Figure 3(a)). Oth-erwise, shift vm1 to vd(vm0 unchanged ) (refer to

Figure 3(b)). Let q = h(vm

1). Since {vm0, vd} =

{vm0, vm1} is a separating set of G, t(vm0) and

t(vm1) are the last two tails as required by (C1).

At step (3.1), vd is selected to be the last arc,

for otherwise Km0,m1 is not empty. For the

exam-ple of Figure 3, if vd= vk1, then vk2 ∈ Km

0,m1(=

Km0,k1). Also notice that if a(vd) does not

con-tain h(vm0) (refer to Figure 3(b)), then Km0,m1(=

Kd,m0) is empty and the execution will proceed

with step (4) after one more iteration. At step (7.2), we augment T(i−1)with an edge v

p(i)˜vp(i),Hp(i) . Since vp(i)vp(1) is not selected by our construc-tion method as | ˜NGp(i)(vp(i))| > 2 and h(vp(i)) (h(vp(1)), h(vp(2))), we exclude vp(1)from Hp(i)for this case.

Lemma 9 T(i) obtained at step (7.2) contains an edge that connects ˜vp(i),Hp(i) with another vertex

in ˜NHp(i)(vp(i)).

Proof. We first show | ˜NGp(i)(vp(i))| ≥ 2 for i ≥ 3 as follows. Notice that d(vp(i)) ≥ 3. If | ˜NGp(i)(vp(i))| < 2, then there exists a(vp(t)) with

t > i that contains h(vp(i)). Besides, both a(vp(1))

(7)

i : a(vi) m1= m0 k1 c1 c2 m1 m0= d = k2 (b) k1 m0= m0 c2 c1 m1= d = k2 m1 (a)

Figure 3: A feasible pair of vm0 and vm1. (a) When a(vd) contains h(vm0). (b) When a(vd) does not

contain h(vm0).

of generality, suppose that a(vp(2)) does not

con-tain h(vp(i)). Then, a(vp(t)) contains a(vp(2)), which

is a contradiction to (C1).

Notice that | ˜NGp(i)(vp(i))| ≥ 3 (| ˜NHp(i)(vp(i))| ≥ 2) or h(vp(i)) ∈ (h(vp(1)), h(vp(2))) at step (7.2).

When h(vp(i)) ∈ (h(vp(1)), h(vp(2))), we can see

that| ˜NHp(i)(vp(i))| = | ˜NGp(i)(vp(i))| ≥ 2. Assume vp(s) = ˜vp(i),Hp(i) , and let vp(t) ∈ ˜NHp(i)(vp(i)) {vp(s)}. We first consider the situation of s < t(< i). If h(vp(i)) ∈ (h(vp(1)), h(vp(2))), then h(vp(t)) (h(vp(1)), h(vp(2))). So, we have Hp(i) = Gp(i) and Hp(t) = Gp(t), which further implies vp(s) = ˜

vp(t),Hp(t). If h(vp(i)) ∈ (h(vp(1)), h(vp(2))), then vp(s)= ˜vp(t),Hp(t)(because vp(s) = vp(1)). We have vp(t)v˜p(t),Hp(t) = vp(t)vp(s), which is contained in

T(t)⊂ T(i).

Then we consider the situation of t < s(< i). If h(vp(i)) ∈ (h(vp(1)), h(vp(2))), then we have Hp(i)= Gp(i) and Hp(s)= Gp(s) similarly. The latter can assure that ˜vp(s),Hp(s)= vp(t) or a(˜vp(s),Hp(s)) con-tains t(vp(t)), which further implies ˜vp(s),Hp(s)

˜

NGp(i)(vp(i)) = ˜NHp(i)(vp(i)). If h(vp(i))∈ (h(vp(1)), h(vp(2))), then vp(s) = vp(1) and vp(t) = vp(1), which implies ˜vp(s),Hp(s) ∈ ˜NHp(i)(vp(i)). We have vp(s)˜vp(s),Hp(s) contained in T(s)⊂ T(i).

Lemma 10 There is an LCST of G if and only if Algorithm LCST-Circular-Arc-0 outputs T(n). Moreover, T(n) is such an LCST, which can be obtained in O(n) time.

Proof. We first assume that the algorithm ter-minates without producing T(n), i.e., (m0, m1) = (s0, s1) holding at step (4), and there are r iter-ations executed for step (3). By m(i)0 and m(i)1 we

denote the m0 and m1 used in the ith iteration, where 1 ≤ i ≤ r. The m0 and m1 generated at step (3.2) in the ith iteration will serve as (i+1)m0

and (i+1)m1 in the (i + 1)th iteration. We also use

Km(i)0,m1 and v

(i)

d to denote the Km0,m1 and vd in

the ith iteration. Now that Km(i+1)0,m1 is not empty,

a(v(i)d ) contains h(v(i)m0), i.e., v

(i+1) m1 = v (i) m0(K (i+1) m0,m1

is empty if a(vd(i)) does not contain h(vm(i)0)).

Construct a graph D with V (D) ={v(i)m0, v

(i)

m1|

1 ≤ i ≤ r} and E(D) = {(v(i)m0, v

(i)

m1)| 1 ≤ i ≤

r}. Since vm(i+1)1 = v

(i)

m0 for all 1 ≤ i ≤ r and

v(r)m0 = v (r+1) m1 = vs1 = v (1) m1, D forms a cycle (vm(1)1, v (2) m1, . . . , v (r) m1, v (1)

m1) of length r. Notice that

(vm(i+1)0 , v (i+1) m1 ) = (v (i) d , v (i) m0) is a separating set of

G for all 1 ≤ i ≤ r, where (v(r+1)m0 , v

(r+1)

m1 ) =

(vs0, vs1) = (v

(1)

m0, vm(1)1). It is implied by Lemma 1

that every edge of the cycle is an edge of any LCST of G, a contradiction.

Next we assume that the algorithm outputs T(n). We first show by induction that T(i) obtained at step (7.2) is an LCST of Gp(i), where 3≤ i ≤ n.

Initially, T(2) obtained at step (6) is an LCST of Gp(2). Suppose that T(i−1)is an LCST of Gp(i−1).

In order to show that T(i) is an LCST of G

p(i), it suffices to show that both Gp(i)[NT(i)(vp(i))] and Gp(i)[NT(i)vp(i),Hp(i))] are connected. Since vp(i) is a leaf vertex in T(i), Gp(i)[NT(i)(vp(i))] is

(8)

con-nected. According to Lemma 9, T(i) contains an edge that connects ˜vp(i),Hp(i) with a neighbor of

vp(i)in Hp(i). Since T(i−1) is an LCST of Gp(i−1),

Gp(i−1)[NT(i−1)vp(i),Hp(i))] is connected. It fol-lows that Gp(i)[NT(i)vp(i),Hp(i))] is connected.

We then show that T(n) obtained at step (7.1) is also an LCST of Gp(n). Now that vp(1)vp(2) E(T(n)), it suffices to show G[{vp(2), vp(i), vp(i+1), . . . , vp(n)}] is connected. Since | ˜NGp(i)(vp(i))| = 2 and h(vp(i))∈ (h(vp(1)), h(vp(2))), we have vp(1)

˜

NGp(i)(vp(i)). Besides, h(vp(i+1)), h(vp(i+2)), . . . , h(vp(n)) all belong to (h(vp(1)), h(vp(2))). Assume

that vp(f ) is the other vertex in ˜NGp(i)(vp(i)). If

vp(f ) = vp(2), G[{vp(2), vp(i), vp(i+1), . . . , vp(n)}] is connected, as a consequence of d(v)≥ 3 for every v ∈ V (G). If vp(f ) = vp(2), then G[{vp(2), vp(i), vp(i+1), . . . , vp(n)}] is also connected, for otherwise there is a contradiction to (C2).

Finally, we discuss the time complexity of the algorithm. With F , steps (1) and (5) can be com-pleted in O(n) time. Notice that vk ∈ Km0,m1

if and only if there exist two vertices va and vb

with d(va) = d(vb) = 3 satisfying that h(va)

(h(vm0), h(vm1)), h(vb)∈ (h(vm0), h(vm1)) and

h(va), h(vb)∈ a(vm0)∩ a(vk). The worst case of

step (3) happens as the circle is traversed clock-wise, starting from the pair of a(vs0) and a(vs1),

and then returning to the original pair. Through-out the execution of step (3), O(n) arcs are exam-ined in order to find Km0,m1, vp(1)and vp(2). Since ˜

vp(i),Hp(i) = ˜vp(i−1),Hp(i−1) or ˜vp(i),Hp(i) = vp(i−1) for i ≥ 4, ˜vp(i),Hp(i) can be easily determined in O(1) time in each iteration of step (7). Hence, it takes O(n) time to complete step (7). The other steps can be completed in O(1) time.

4

Conclusion

In this paper, we have presented an optimal al-gorithm that can determine whether a circular-arc graph G contains an LCST or not, and construct it, if it exists. Given an intersection model of G, the algorithm requires O(n) time and O(n) space.

It was shown in [3, 17] that an interval graph has an LCST if and only if it is 2-connected. In order to construct an LCST of G, it is natural to divide G into 2-connected interval subgraphs such that their LCSTs can collectively form an LCST of G. Since G having d(v) = 1 for some vertex v is an interval graph, we only need to consider G with d(v)≥ 2 for all vertices v. Further, according to Lemma 2, only G that has d(v) = 2 for at most three vertices v has to be considered.

It is known that a 2-connected interval graph has d(v) = 2 for exactly one vertex v. In other words, if an interval graph has d(v) = 2 for two or more vertices v, then it has no LCST. So, each 2-connected interval subgraph of G should have d(v) = 2 for exactly one vertex v, and dividing G into 2-connected interval subgraphs heavily relies on the number of vertices v in G that have d(v) = 2. As a consequence, we considered four situations when G has d(v) = 2 for 0, 3, 2 and 1 vertex v, respectively.

References

[1] K. S. Booth and G. S. Lueker. Testing for the con-secutive ones property, interval graphs, and graph planarity using P Q-tree algorithms. J. Comput.

System Sci., 13(3):335–379, 1976.

[2] L. Cai. On spanning 2-trees in a graph. Discrete

Appl. Math., 74(3):203–216, 1997.

[3] L. Cai. The complexity of the locally connected spanning tree problem. Discrete Appl. Math.,

131(1):63–75, 2003.

[4] G. Chang and G. Nemhauser. The k-domination and k-stability problems on sun-free chordal graphs. SIAM J. Algebraic Discrete Methods,

5:332–345, 1984.

[5] M.-S. Chang. Efficient algorithms for the domina-tion problems on interval and circular-arc graphs.

SIAM J. Comput., 27(6):1671–1694, 1998.

[6] P. F. Dietz. Intersection graph algorithms. PhD thesis, Comp. Sci. Dept., Cornell University, Ithaca, NY, 1984.

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

[8] A. M. Farley. Networks immune to isolated fail-ures. Networks, 11(3):255–268, 1981.

(9)

[9] A. M. Farley and A. Proskurowski. Networks immune to isolated line failures. Networks,

12(4):393–403, 1982.

[10] M. C. Golumbic. Algorithmic graph theory and

perfect graphs, volume 57 of Annals of Discrete Mathematics. Elsevier Science B.V., Amsterdam,

second edition, 2004. With a foreword by Claude Berge.

[11] M. C. Golumbic and P. L. Hammer. Stability in circular arc graphs. J. Algorithms, 9(3):314–320, 1988.

[12] U. I. Gupta, D. T. Lee, and J. Y.-T. Leung. Effi-cient algorithms for interval graphs and circular-arc graphs. Networks, 12(4):459–467, 1982.

[13] W. L. Hsu and J. P. Spinrad. Independent sets in circular-arc graphs. J. Algorithms, 19(2):145–160, 1995.

[14] W. L. Hsu and K.-H. Tsai. Linear time algo-rithms on circular-arc graphs. Inform. Process.

Lett., 40(3):123–129, 1991.

[15] J. M. Keil and D. Schaefer. An optimal algo-rithm for finding dominating cycles in circular-arc graphs. Discrete Appl. Math., 36(1):25–34, 1992.

[16] D. T. Lee, M. Sarrafzadeh, and Y. F. Wu. Mini-mum cuts for circular-arc graphs. SIAM J.

Com-put., 19(6):1041–1050, 1990.

[17] C.-C. Lin, G. J. Chang, and G.-H. Chen. Lo-cally connected spanning trees in strongly chordal graphs and proper circular-arc graphs. Discrete

Math. accepted.

[18] S. Masuda and K. Nakajima. An optimal algo-rithm for finding a maximum independent set of a circular-arc graph. SIAM J. Comput., 17(1):41– 52, 1988.

[19] R. M. McConnell. Linear-time recognition of circular-arc graphs. Algorithmica, 37(2):93–147, 2003.

[20] R. Paige and R. E. Tarjan. Tree partition refine-ment algorithms. SIAM J. Comput., 16:973–989, 1987.

[21] K. H. Tsai and D. T. Lee. k best cuts for circular-arc graphs. Algorithmica, 18(2):198–216, 1997.

[22] A. Tucker. An efficient test for circular-arc graphs. SIAM J. Comput., 9(1):1–24, 1980.

數據

Figure 1: Two spanning trees (dotted edges) of G.
Figure 2: An example with ˜ N G p(4) (v p(4) ) = {v p(1) , v p(2) } and ˜v p(4),G p(4) = v p(2) .

參考文獻

相關文件

In particular, we present a linear-time algorithm for the k-tuple total domination problem for graphs in which each block is a clique, a cycle or a complete bipartite graph,

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

In this paper, we have shown that how to construct complementarity functions for the circular cone complementarity problem, and have proposed four classes of merit func- tions for

In this paper, we develop a novel volumetric stretch energy minimization algorithm for volume-preserving parameterizations of simply connected 3-manifolds with a single boundary

We will give a quasi-spectral characterization of a connected bipartite weighted 2-punctually distance-regular graph whose halved graphs are distance-regular.. In the case the

From all the above, φ is zero only on the nonnegative sides of the a, b-axes. Hence, φ is an NCP function.. Graph of g functions given in Example 3.9.. Graphs of generated NCP

We give a quasi- spectral characterization of a connected bipartite weighted 2-punctually distance- regular graph whose halved graphs are distance-regular.. In the case the

The well-known halting problem (a decision problem), which is to determine whether or not an algorithm will terminate with a given input, is NP-hard, but