About this Journal Submit a Manuscript Table of Contents
ISRN Discrete Mathematics
VolumeΒ 2011Β (2011), Article IDΒ 213084, 10 pages
http://dx.doi.org/10.5402/2011/213084
Research Article

An Efficient Algorithm to Solve the Conditional Covering Problem on Trapezoid Graphs

1Department of Mathematics, Narajole Raj College, Paschim Medinipur Narajole 721 211, India
2Department of Mathematics, National Institute of Technology, Durgapur 713209, India
3Department of Applied Mathematics with Oceanology and Computer Programming, Vidyasagar University, Midnapore 721 102, India

Received 16 July 2011; Accepted 29 August 2011

Academic Editors: Q.Β Gu, U. A.Β Rozikov, and R.Β Yeh

Copyright Β© 2011 Akul Rana et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Abstract

Let 𝐺=(𝑉,𝐸) be a simple connected undirected graph. Each vertex π‘£βˆˆπ‘‰ has a cost 𝑐(𝑣) and provides a positive coverage radius 𝑅(𝑣). A distance 𝑑uv is associated with each edge {𝑒,𝑣}∈𝐸, and 𝑑(𝑒,𝑣) is the shortest distance between every pair of vertices 𝑒,π‘£βˆˆπ‘‰. A vertex 𝑣 can cover all vertices that lie within the distance 𝑅(𝑣), except the vertex itself. The conditional covering problem is to minimize the sum of the costs required to cover all the vertices in 𝐺. This problem is NP-complete for general graphs, even it remains NP-complete for chordal graphs. In this paper, an 𝑂(𝑛2) time algorithm to solve a special case of the problem in a trapezoid graph is proposed, where 𝑛 is the number of vertices of the graph. In this special case, 𝑑uv=1 for every edge {𝑒,𝑣}∈𝐸, 𝑐(𝑣)=𝑐 for every π‘£βˆˆπ‘‰(𝐺), and 𝑅(𝑣)=𝑅, an integer >1, for every π‘£βˆˆπ‘‰(𝐺). A new data structure on trapezoid graphs is used to solve the problem.

1. Introduction

Let 𝐺=(𝑉,𝐸) be a finite, connected, undirected, and simple graph where 𝑉={1,2,…,𝑛} is the set of vertices and 𝐸 is the set of edges with |𝐸|=π‘š. A distance 𝑑𝑒𝑣 is associated with each edge {𝑒,𝑣}∈𝐸, and 𝑑(𝑒,𝑣) is the shortest distance between every pair of vertices 𝑒,π‘£βˆˆπ‘‰. Each vertex π‘£βˆˆπ‘‰ has a cost 𝑐(𝑣) and provides a positive coverage radius 𝑅(𝑣). The vertex π‘’βˆˆπ‘‰ is covered by a vertex π‘£βˆˆπ‘‰ if and only if 𝑣≠𝑒 and 𝑑(𝑣,𝑒)≀𝑅(𝑣). The conditional covering problem (CCP, for short) is to minimize the sum of the costs of the vertices required to cover all the vertices in 𝑉. One closely related problem to the CCP is the total dominating set problem, which is a special case of the CCP in which all distances and coverage radii are equal to 1. The total dominating set problem is NP-complete even on bipartite graphs [1]. Since the total dominating set is a special case of CCP, the CCP is also NP-complete for general graphs.

In this paper a special case of CCP on trapezoid graphs is considered. For the case, we take 𝑑𝑒𝑣=1 for all {𝑒,𝑣}∈𝐸, 𝑐(𝑣)=𝑐 for all π‘£βˆˆπ‘‰, and the coverage radius 𝑅(𝑣)=𝑅, a fixed positive integer >1 for all π‘£βˆˆπ‘‰. That is, all edge weights are unity, coverage radii are uniform, and vertex costs are constant.

Trapezoid graphs were first investigated in [2, 3]. Trapezoid graphs are the intersection graphs of finite collections of trapezoids between two parallel lines [3]. Both the interval graphs and the permutation graphs form subclasses of the trapezoid graphs [3] and trapezoid graphs are subclasses of cocomparability graphs [4].

A trapezoid diagram consists of two horizontal lines (top channel and bottom channel) and a set of trapezoids. A trapezoid 𝑖 between these lines has four corner points tl(𝑖), tr(𝑖), bl(𝑖), and br(𝑖) which represent the top left, top right, bottom left, and bottom right corner points of the trapezoid 𝑖, respectively. Let 𝑇=1,2,…,𝑛 denote the set of trapezoids in the trapezoid diagram for a trapezoid graph 𝐺=(𝑉,𝐸) with |𝑉|=𝑛. For trapezoid 𝑖, tl(𝑖)<tr(𝑖) and bl(𝑖)<br(𝑖) holds. A graph, 𝐺=(𝑉,𝐸), is a trapezoid graph when a trapezoid diagram exists with trapezoid set 𝑇, such that each vertex π‘–βˆˆπ‘‰ corresponds to a trapezoid π‘–βˆˆπ‘‡ and an edge {𝑖,𝑗}∈𝐸 if and only if trapezoids 𝑖 and 𝑗 intersect within the trapezoid diagram. There is an 𝑂(𝑛2) time recognition algorithm for trapezoid graphs [5]. Moreover, this algorithm also computes a trapezoid diagram, if the given graph 𝐺 is a trapezoid graph. Any trapezoid diagram can be transformed into another trapezoid diagram with all corner points distinct, when the two representations still correspond to the same trapezoid graph. Without loss of generality, it is assumed that no two trapezoids share a common endpoint. The points on each horizontal line of the trapezoid diagram are labeled with distinct integers between 1 and 2𝑛 from left to right. The terms vertex and trapezoid are used interchangeably whenever the context is unambiguous. In this paper, it is assumed that a trapezoid diagram is given and the trapezoids are labeled in increasing order of their top right corner point, that is, 𝑖<𝑗 if and only if tr(𝑖)<tr(𝑗).

As mentioned earlier, the CCP on arbitrary graphs is NP-complete. Several important graph problems that are NP-hard in general case have polynomial time algorithms for trapezoid graphs. Solving these problems on special graphs is of great importance because solutions to a problem on special classes of graphs might shed new light on solutions for the problem on general graphs. Also, solutions to problems on special graphs can be used to approximate solutions to the problems on general graphs. Many real world problems can be modeled as special graphs, and hence simpler solutions are needed compared to the ones for general graphs.

1.1. Review of Previous Work

Moon and Chaudhry [6] were the first to address CCP as constrained facility location model. They present an integer programming model for this problem. Efficient heuristic algorithms for the CCP have been extensively studied in [7–10]. Moon and Papayanopoulos [11] consider one variation of CCP on trees. Complexity issues regarding the placement of facilities in CCP were considered in [1, 12, 13]. For the CCP on a path graph with uniform coverage radii, Lunday et al. [13] presented a linear time algorithm to solve the unweighted cost CCP and an 𝑂(𝑛2) dynamic programming algorithm to solve the weighted cost CCP. Horne and Smith [1] studied the weighted cost CCP on path and extended star graphs with nonuniform coverage radius and developed an 𝑂(𝑛2) dynamic programming algorithm. In an another article, Horne and Smith [12] considered weighted cost CCP on tree graphs and presented an 𝑂(𝑛4) dynamic programming algorithm. Recently, Sivan et al. [14] have shown that algorithm for CCP on paths, presented by Horne and Smith, is erroneous and further present a correct 𝑂(𝑛3) algorithm for the same. They also propose an 𝑂(𝑛2) algorithm for the CCP on paths when all vertices are assigned unit costs and further extend this algorithm to interval graphs without an increase in time complexity. In our previous work [15], we solved the CCP on unweighted interval graphs with uniform coverage radius which runs in 𝑂(𝑛) time.

1.2. Application

Trapezoid graphs are applied in various fields, including modeling channel routing problems in VLSI design [3] and identifying the optimal chain of nonoverlapping fragments in bioinformatics [16]. See also [17] for other practical applications of trapezoid graphs. The application area of the CCP includes locating facilities in distribution systems, emergency systems, communication systems, energy supply systems, and so forth.

1.3. Main Result

To the best of our knowledge, no algorithm is available to solve the CCP on trapezoid graphs. In this paper, a special case of the CCP on trapezoid graphs is considered with unit edge weights, uniform coverage radius 𝑅>1 and uniform vertex costs. An 𝑂(𝑛2) time algorithm is designed to solve the problem.

1.4. Organization of the Paper

The rest of this paper is organized as follows. Section 2 establishes basic notations and some properties of trapezoid graphs. In Section 3, a new data structure, called caterpillar, is constructed and important properties of caterpillar are proved. In Section 4, an 𝑂(𝑛2) time algorithm is designed for solving conditional covering problem on a trapezoid graph. The time complexity is also calculated in this section. Finally, Section 5 contains some conclusions.

2. Preliminaries

This section presents the preliminaries on which the desired algorithm depends.

A trapezoid 𝑖 is left to the trapezoid 𝑗 if 𝑖<𝑗 and 𝑖 does not intersect 𝑗 in the trapezoid diagram. Similarly, a trapezoid 𝑖 is right to the trapezoid 𝑗 if 𝑖>𝑗 and 𝑖 does not intersect 𝑗 in the trapezoid diagram.

For a vertex π‘£βˆˆπ‘‰ of a graph 𝐺=(𝑉,𝐸), the open neighborhood of 𝑣 are defined as 𝑁(𝑣)={π‘’βˆΆ{𝑒,𝑣}∈𝐸}. For each π‘£βˆˆπ‘‰, 𝑁(𝑣) can be computed in 𝑂(𝑛2) time.

𝑇(𝑖) is the highest trapezoid intersecting the trapezoid 𝑖 such that tr(𝑇(𝑖))>tr(𝑖) or 𝑇(𝑖)=𝑖 if such trapezoid does not exist.

𝐡(𝑖) is the trapezoid with highest bottom right point intersecting the trapezoid 𝑖 such that br(𝐡(𝑖))>br(𝑖) or 𝐡(𝑖)=𝑖 if such trapezoid does not exist.

For example, as occurred in Figure 1, 𝑇(1)=2, 𝑇(3)=6, 𝐡(1)=1, 𝐡(2)=3, and so forth.

213084.fig.001
Figure 1: A trapezoid graph and one of its trapezoid representation.

The symbol π‘₯βˆΌπ‘¦ is used to indicate the adjacency between the vertices π‘₯ and 𝑦, that is, there is an edge between π‘₯ and 𝑦. It should be noted that π‘₯βˆΌπ‘¦ implies π‘¦βˆΌπ‘₯.

The following properties of trapezoid graphs are useful for our proofs.

Lemma 2.1. For 𝑖<𝑗 two vertices 𝑖 and 𝑗 are adjacent in 𝐺 if and only if either tl(𝑗)<tr(𝑖) or bl(𝑗)<br(𝑖).

Proof. Let us consider the case 𝑖<𝑗 and tl(𝑗)<tr(𝑖). By the ordering of trapezoids, tr(𝑖)<tr(𝑗) as 𝑖<𝑗. Then tl(𝑗)<tr(𝑖)<tr(𝑗). Therefore, in the corresponding trapezoid representation, the trapezoid 𝑖 intersects the trapezoid 𝑗, so 𝑖 is adjacent to 𝑗 in 𝐺. Now consider the case when 𝑖<𝑗 and bl(𝑗)<br(𝑖). In this case, bl(𝑗)<br(𝑖) and π‘‘π‘Ÿ(𝑖)<tr(𝑗). Therefore in trapezoid representation, the chord joining the corner points bl(𝑗) and tr(𝑗) of 𝑗 always intersects 𝑖, that is, the trapezoids 𝑖 and 𝑗 have a nonempty intersection in the trapezoid representation and hence 𝑖 is adjacent to 𝑗 in 𝐺. Conversely, let 𝑖 is adjacent to 𝑗 in 𝐺 and 𝑖<𝑗. Therefore in the trapezoid representation 𝑖 and 𝑗 have a nonempty intersection and tr(𝑖)<tr(𝑗). This is possible only when either tl(𝑗)<tr(𝑖) or bl(𝑗)<br(𝑖) or both. Hence the lemma holds.

Lemma 2.2. For any three vertices 𝑒,𝑣,π‘€βˆˆπ‘‰, if 𝑒<𝑣<𝑀 and {𝑒,𝑀}∈𝐸 then either, {𝑒,𝑣}∈𝐸 or {𝑣,𝑀}∈𝐸.

Proof. As 𝑒<𝑣<𝑀, so by the ordering of trapezoids we have tr(𝑒)<tr(𝑣)<tr(𝑀). The condition {𝑒,𝑀}∈𝐸 implies that either tl(𝑀)<tr(𝑒) or bl(𝑀)<br(𝑒). Therefore any trapezoid 𝑣, satisfying the inequality tr(𝑒)<tr(𝑣)<tr(𝑀), either intersects 𝑒 or 𝑀 or both, that is, either {𝑒,𝑣}∈𝐸 or {𝑣,𝑀}∈𝐸.

The following result is used to test whether two trapezoids are adjacent or not.

Lemma 2.3. For 𝑖<𝑗 two vertices 𝑖 and 𝑗 of the trapezoid graph G are not adjacent if and only if tr(𝑖)<tl(𝑗) and br(𝑖)<bl(𝑗).

Proof. Let tr(𝑖)<tl(𝑗) and br(𝑖)<bl(𝑗). Since always tl(𝑖)<tr(𝑖),bl(𝑖)<br(𝑖),tl(𝑗)<tr(𝑗), and bl(𝑗)<br(𝑗) holds. It follows that tl(𝑖)<tr(𝑖)<tl(𝑗)<tr(𝑗) and bl(𝑖)<br(𝑖)<bl(𝑗)<br(𝑗). This means that in the trapezoid representation, the trapezoid 𝑖 lie on the left of the trapezoid 𝑗, implying that in the graph the vertices 𝑖 and 𝑗 are not adjacent. Conversely, in the trapezoid graph the vertices 𝑖 and 𝑗 are nonadjacent only when in the trapezoid representation the trapezoids 𝑖 and 𝑗 have no common region, that is, only when 𝑖 is completely on the left of 𝑗, that is, tr(𝑖)<tl(𝑗) and br(𝑖)<bl(𝑗). Hence the lemma follows.

To compute all 𝑇(𝑖), the trapezoids on the top and bottom channels of the matching diagram are scanned. The following lemma computes all 𝑇(𝑖).

Lemma 2.4. For all π‘’βˆˆπ‘‰, 𝑇(𝑒) can be computed in 𝑂(𝑛) time.

Proof. Recall that 𝑇(𝑒) is the trapezoid having highest top right point among all trapezoids intersecting the trapezoid 𝑒. Let 𝑑 be the last top right point in the trapezoid representation. Then 𝑑=2𝑛. Let 𝑑1=𝑏1=2𝑛, 𝑑2 be the tl(π‘˜) and let 𝑏2 be the bl(π‘˜) where π‘˜ is the trapezoid whose top right point is 𝑑. Initially, we scan the points on the top channel between 𝑑2 and 𝑑1 and on the bottom channel between 𝑏2 and 𝑏1. For each such point 𝑝, let 𝑖 be its corresponding trapezoid. If 𝑇(𝑖) is not found yet, then 𝑇(𝑖) is π‘ž, where π‘ž corresponds to the trapezoid whose top right point is 𝑑. Continue the same process with the following adjustment on 𝑑, 𝑑1, 𝑏1, 𝑑2, and 𝑏2 until all points are scanned. Let 𝑑1 be 𝑑2βˆ’1, 𝑏1=𝑏2βˆ’1, 𝑑 be the previous top right point before 𝑑, 𝑑2=min{𝑑2,tl(π‘˜)} and 𝑏2=min{𝑏2,bl(π‘˜)} where π‘˜ corresponds to the trapezoid whose top right point is 𝑑.
Clearly, algorithm TOP takes 𝑂(𝑛) time to compute all 𝑇(𝑖), 𝑖=1,2,…,𝑛.
Similarly, all 𝐡(𝑖), 𝑖=1,2,…,𝑛 can be computed in 𝑂(𝑛) time.

The difficulty of the problem comes from the fact that the neighbor of a vertex of trapezoid graphs can be spread everywhere in the two channels of the trapezoid diagram. To overcome this difficulty a caterpillar is constructed from the given trapezoid diagram.

3. Scheme to Construct a Caterpillar

A caterpillar is a tree in which a single path is incident to every edge. The single path is called the spine of the caterpillar. The vertices not on the spine of a caterpillar are leaves of the caterpillar.

The caterpillar π‘‡βˆ—(𝐺) from a given trapezoid diagram is constructed as follows.

First, compute two arrays 𝑇(𝑖) and 𝐡(𝑖) for all π‘–βˆˆπ‘‰. Then construct a path such that in the path the distance between any two vertices in the trapezoid graph is shortest. Initialize 𝑖=1. If 𝑇(𝑖)=𝑛 or 𝐡(𝑇(𝑖)))≠𝐡(𝑖) or 𝐡𝑇𝐡𝑇(𝑖)≠𝐡𝑇𝐡(𝑖) (𝐡𝑇𝐡𝑇(𝑖) is the composition of 𝐡 and 𝑇, that is, 𝐡𝑇𝐡𝑇(𝑖)=𝐡(𝑇(𝐡(𝑇(𝑖))))) then 𝑖 is adjacent to 𝑇(𝑖), otherwise 𝑖 is adjacent to 𝐡(𝑖). Let 𝑖 be adjacent to the vertex 𝑑 (either 𝑇(𝑖) or 𝐡(𝑖)). Replace 𝑖 by 𝑑 and repeat the process until 𝑑 is adjacent to 𝑛. This path is the spine of the caterpillar. Let 𝑃(𝐺) be the spine of the caterpillar. The length of a vertex 𝑒 in the spine is the number of edges in the path from the vertex 1 to 𝑒 and is denoted by dist1(𝑒). We define the length of the vertex 1 as 0. The vertex on the spine at length 𝑙 is denoted by π‘’βˆ—π‘™. The set of leaves of the caterpillar at length 𝑙 is denoted by 𝑋𝑙. Next, compute the leaves of the caterpillar as follows: 𝑋𝑙𝑒=π‘βˆ—π‘™ξ€Έβˆ’ξ€½π‘’βˆ—π‘™βˆ’1ξ€Ύ,π‘‹π‘™βˆ’1𝑒=π‘βˆ—π‘™βˆ’1ξ€Έβˆ’ξ€½π‘’βˆ—π‘™βˆ’2,π‘’βˆ—π‘™ξ€Ύβˆͺ𝑋𝑙,π‘‹π‘™βˆ’π‘–ξ€·π‘’=π‘βˆ—π‘™βˆ’π‘–ξ€Έβˆ’ξ‚†π‘’βˆ—π‘™βˆ’(𝑖+1),π‘’βˆ—π‘™βˆ’(π‘–βˆ’1)βˆͺπ‘‹π‘™βˆ’(π‘–βˆ’1)βˆͺπ‘‹π‘™βˆ’(π‘–βˆ’2)𝑋,for𝑖=2,3,…,π‘™βˆ’1,0𝑒=𝑁(1)βˆ’βˆ—1ξ€Ύβˆͺ𝑋1βˆͺ𝑋2.(3.1)

Finally, connect 𝑒 and π‘’βˆ—π‘– by an edge, for all π‘’βˆˆπ‘‹π‘–. The resulting graph is the caterpillar π‘‡βˆ—(𝐺). The caterpillar π‘‡βˆ—(𝐺) for the graph of Figure 1 is shown in Figure 2.

213084.fig.002
Figure 2: The caterpillar of the graph of Figure 1.

If π‘’βˆˆπ‘‹π‘– then we define dist1(𝑒)=𝑖, 𝑖=0,1,…,𝑙. The elements of the set 𝑋𝑖 are the leaves of π‘’βˆ—π‘–, 𝑖=0,1,…,𝑙. Let 𝑣𝑖 be any leave at length 𝑖 and and π‘Œπ‘– be the collection of elements of the caterpillar at length 𝑖, That is, π‘£π‘–βˆˆπ‘‹π‘– and π‘Œπ‘–=𝑋𝑖βˆͺ{π‘’βˆ—π‘–}.

Lemma 3.1. The caterpillar π‘‡βˆ—(𝐺) of a connected trapezoid graph 𝐺 exists and is unique for a given trapezoid diagram.

Proof. The existence of the caterpillar π‘‡βˆ—(𝐺) follows from the construction of caterpillar. Since for a given trapezoid diagram the order of a vertex π‘–βˆˆπ‘‰ is unique, 𝐡(𝑖) and 𝑇(𝑖) are also unique. Thus the caterpillar is unique for any trapezoid graph 𝐺.

3.1. Properties of the Caterpillar

The vertices of 𝑃(𝐺) satisfy the following results.

By the construction of the caterpillar it is easy to see that, if 𝑒,π‘£βˆˆπ‘ƒ(𝐺) such that |dist1(𝑒)βˆ’dist1(𝑣)|>1 then {𝑒,𝑣}βˆ‰πΈ.

Lemma 3.2. If 𝑒,π‘£βˆˆπ‘ƒ(𝐺) such that dist1(𝑒)βˆ’dist1(𝑣)>1 then 𝑒>𝑣.

Proof. Let 𝑒 and 𝑣 be two arbitrary vertices of 𝑃(𝐺) such that dist1(𝑒)βˆ’dist1(𝑣)>1. Observe that there exists a vertex π‘€βˆˆπ‘ƒ(𝐺) in between 𝑒 and 𝑣 such that π‘£βˆΌπ‘€. Then there are two cases that may arise.
Case 1. {𝑀,𝑒}∈𝐸. In this case tr(𝑒)>tr(𝑣), since else tr(𝑒)<tr(𝑣) implies that {𝑣,𝑒}∈𝐸 which contradicts Lemma 3.1. Hence 𝑒>𝑣.
Case 2. {𝑀,𝑒}βˆ‰πΈ. It is clear that dist1(𝑣)<dist1(𝑀)<dist1(𝑒). Then, since {𝑒,𝑣}βˆ‰πΈ (Lemma 3.1) and {𝑣,𝑀}∈𝐸, in the trapezoid diagram 𝑒 lie on the right of 𝑣. Therefore 𝑒>𝑣.

Lemma 3.3. If π‘’βˆˆπ‘ƒ(𝐺) and π‘£βˆˆπ‘‹π‘– such that dist1(𝑣)βˆ’dist1(𝑒)>2 then {𝑒,𝑣}βˆ‰πΈ.

Proof. Without loss of generality, let 𝑒=π‘’βˆ—π‘™ and π‘£βˆˆπ‘‹π‘™+𝑖 where 𝑖>2. Then (𝑣,π‘’βˆ—π‘™+𝑖)∈𝐸. There exists a path in π‘‡βˆ—(𝐺) such that π‘’βˆ—π‘™βˆΌπ‘’βˆ—π‘™+1βˆΌβ‹―βˆΌπ‘’βˆ—π‘™+π‘–βˆΌπ‘£.
Since 𝑣 is adjacent to π‘’βˆ—π‘™+𝑖, if 𝑣 is adjacent to π‘’βˆ—π‘™ then 𝑣 has highest top right and bottom right point intersecting π‘’βˆ—π‘™ in the trapezoid diagram. But π‘’βˆ—π‘™+1 has highest top right or bottom right point intersecting π‘’βˆ—π‘™, a contradiction.
Hence 𝑣 is not adjacent to π‘’βˆ—π‘™ and the lemma follows.

The following lemma can be proved by arguments similar to those used in the above lemma.

Lemma 3.4. If π‘’βˆˆπ‘‹π‘™ and π‘£βˆˆπ‘‹π‘™+3 such that {𝑒,𝑣}∈𝐸 then {𝑣,π‘’βˆ—π‘™+1}∈𝐸.

Lemma 3.5. If 𝑒,π‘£βˆˆπ‘‡βˆ—(𝐺) such that dist1(𝑒)βˆ’dist1(𝑣)>3 then {𝑒,𝑣}βˆ‰πΈ.

Proof. There are four cases that may arise.
Case 1. 𝑒,π‘£βˆˆπ‘ƒ(𝐺). Since dist1(𝑒)βˆ’dist1(𝑣)>3 and 𝑒,π‘£βˆˆπ‘ƒ(𝐺), by the construction of the caterpillar, it follows that {𝑒,𝑣}βˆ‰πΈ.
Case 2. 𝑒,π‘£βˆ‰π‘ƒ(𝐺). If {𝑒,𝑣}βˆ‰πΈ, then 𝑒 or 𝑣 must be a member of 𝑃(𝐺) which is a contradiction.
Case 3. π‘’βˆˆπ‘ƒ(𝐺) and π‘£βˆ‰π‘ƒ(𝐺). Since dist1(𝑒)>dist1(𝑣), π‘’βˆˆπ‘ƒ(𝐺) and π‘£βˆ‰π‘ƒ(𝐺), therefore {𝑒,𝑣}βˆ‰πΈ.
Case 4. π‘’βˆˆπ‘ƒ(𝐺) and π‘£βˆ‰π‘ƒ(𝐺). If {𝑒,𝑣}βˆ‰πΈ, then 𝑣 must be a member of 𝑃(𝐺) which is a contradiction. Hence the lemma follows.

The following lemma follows from the properties of the caterpillar.

Lemma 3.6. If 𝑒, 𝑣, and 𝑀 be three vertices of the caterpillar of length 𝑙1, 𝑙2, and 𝑙3, respectively such that 𝑙1<𝑙2<𝑙3. If 𝑑(𝑒,𝑀)≀𝑅 then, 𝑑(𝑣,𝑀)≀𝑅.

Observe that, if {𝑒,𝑣}∈𝐸 such that π‘’βˆˆπ‘‹π‘– and π‘£βˆˆπ‘‹π‘–+3 then there does not exist π‘€βˆˆπ‘‹π‘–βˆ’π‘—, 𝑗>2 with {𝑀,𝑒}∈𝐸. Also, there does not exist π‘‘βˆˆπ‘‹π‘–+𝑗, 𝑗>2 with {𝑣,𝑑}∈𝐸.

Lemma 3.7. For any two vertices 𝑒,π‘£βˆˆπ‘ƒ(𝐺), the distance between 𝑒 and 𝑣 is minimum along 𝑃(𝐺).

Proof. Let 𝑒 and 𝑣 be two arbitrary vertex of 𝑃(𝐺) such that 𝑑(𝑒,𝑣)=π‘š. We will show that there does not exist any path from 𝑒 to 𝑣 with 𝑑(𝑒,𝑣)<π‘š. Without loss of generality let 𝑒=π‘’βˆ—π‘– and 𝑣=π‘’βˆ—π‘–+π‘š. For π‘š=1, the possible paths from 𝑒 to 𝑣 are π‘’βˆ—π‘–βˆΌπ‘’βˆ—π‘–+1 and π‘’βˆ—π‘–βˆΌπ‘£π‘–βˆΌπ‘£π‘–+1βˆΌπ‘’βˆ—π‘–+1. Therefore, the distance between 𝑒 and 𝑣 is minimum along 𝑃(𝐺), that is, the lemma is true for π‘š=1. For π‘š=2, the possible paths from 𝑒 to 𝑣 are π‘’βˆ—π‘–βˆΌπ‘’βˆ—π‘–+1βˆΌπ‘’βˆ—π‘–+2,π‘’βˆ—π‘–βˆΌπ‘£π‘–βˆΌπ‘£π‘–+1βˆΌπ‘’βˆ—π‘–+1βˆΌπ‘’βˆ—π‘–+2, π‘’βˆ—π‘–βˆΌπ‘£π‘–βˆΌπ‘£π‘–+1βˆΌπ‘£π‘–+2βˆΌπ‘’βˆ—π‘–+2, and π‘’βˆ—π‘–βˆΌπ‘£π‘–βˆΌπ‘£π‘–+2βˆΌπ‘’βˆ—π‘–+2. That is, the lemma is true for π‘š=2 also.
Let the lemma be true for π‘š=π‘˜. Then a shortest path from 𝑒 to 𝑣 is π‘’βˆ—π‘–βˆΌπ‘’βˆ—π‘–+1βˆΌβ‹―βˆΌπ‘’βˆ—π‘–+π‘˜. Since 𝑣𝑖+π‘˜+1 may adjacent to the leaves 𝑣𝑖+π‘˜,𝑣𝑖+π‘˜βˆ’1 and 𝑣𝑖+π‘˜βˆ’2, the possible shortest paths from 𝑒 to 𝑣 are π‘’βˆ—π‘–βˆΌπ‘’βˆ—π‘–+1βˆΌβ‹―βˆΌπ‘’βˆ—π‘–+π‘˜βˆΌπ‘’βˆ—π‘–+π‘˜+1 and π‘’βˆ—π‘–βˆΌπ‘’βˆ—π‘–+1βˆΌβ‹―βˆΌπ‘’βˆ—π‘–+π‘˜βˆ’2βˆΌπ‘£π‘–+π‘˜βˆ’2βˆΌπ‘£π‘–+π‘˜+1βˆΌπ‘’βˆ—π‘–+π‘˜+1. Hence π‘’βˆ—π‘–βˆΌπ‘’βˆ—π‘–+1βˆΌβ‹―βˆΌπ‘’βˆ—π‘–+π‘˜βˆΌπ‘’βˆ—π‘–+π‘˜+1 is a shortest path.

The following definitions are crucial in designing our algorithm.

Definition 3.8. Two vertices 𝑒, 𝑣  (𝑒<𝑣) in a set form a dominating pair if and only if 𝑑(𝑒,𝑣)≀𝑅 and there is no other vertex 𝑀 in the set with 𝑑(𝑣,𝑀)≀𝑅.

Definition 3.9. Three vertices 𝑒, 𝑣, and 𝑀  (𝑒<𝑣<𝑀) in a set form a dominating triple if and only if 𝑑(𝑒,𝑣)≀𝑅, 𝑑(𝑣,𝑀)≀𝑅 and and there is no other vertex 𝑀 in the set with 𝑑(𝑣,𝑀)≀𝑅.

4. Minimum Cardinality Conditional Covering

The algorithm proceeds by covering the vertices of the caterpillar from left to right. The algorithm selects the members of conditional covering set in such a way that each member belongs to a dominating pair or a dominating triple.

A formal algorithm is presented in Algorithm 1.

alg1
Algorithm 1: Algorithm CCP.

4.1. Proof of Correctness

By the process of computation of 𝐷, it is easy to see that every vertex of the caterpillar is covered by a vertex in 𝐷. Also, any member of 𝐷 is included in a dominating pair or triple. Therefore each vertex of the induced subgraph of 𝐷 in 𝐺 is covered by at least one other vertex in 𝐷.

Observe that the set 𝐷 consists entirely of dominating pairs and triples of vertices. If not, then there exists a minimum cardinality conditional covering set 𝐷 that does not contain entirely is covering pairs and triples. So, there must exists a set of four vertices π‘₯,𝑦,𝑧,𝑀 such that 𝑑(π‘₯,𝑦)≀𝑅, 𝑑(𝑦,𝑧)≀𝑅 and d(𝑧,𝑀)≀𝑅. Now, if a vertex 𝑑 be chosen as a member of 𝐷 instead of 𝑧 such that dist1(𝑑)>dist1(𝑀) and 𝑑(𝑑,𝑀)≀𝑅 then also each vertex of the induced subgraph of 𝐷 in 𝐺 is covered by at least one other vertex in 𝐷. Again, the set of vertices covered by π‘₯,𝑦,𝑧,𝑀 is a proper subset of the set of vertices covered by π‘₯,𝑦,𝑀,𝑑. Since the aim is to minimize |𝐷|, later selection is better. Again, at each stage, the algorithm selects the member of 𝐷 of maximum length of the caterpillar, such that the newly selected member covers the vertices of maximum length on the right and covers all uncovered vertices on the left. Therefore the solution set 𝐷 is of minimum cardinality.

Theorem 4.1. Algorithm 1 finds a minimum cardinality conditional covering set on trapezoidgraphs in 𝑂(𝑛2) time.

Proof. Step 1 can be computed using 𝑂(𝑛) time. Step 2 requires 𝑂(𝑛2) time. Step 3 can be done in constant time. So the caterpillar is constructed in 𝑂(𝑛2) time. In worst case Step 4 is to be repeated for 𝑂(𝑛) time. Therefore, the total running time of the algorithm CCP is 𝑂(𝑛2).

5. Concluding Remarks

To date no algorithms have been proposed for CCP on trapezoid graphs. In this paper, we proposed an 𝑂(𝑛2) time algorithm for solving CCP on trapezoid graphs. The proposed algorithm was designed based on the strategy: first, construct the caterpillar and then solve the problem on the constructed caterpillar. Since the class of permutation graphs is a subclass of trapezoid graphs, this problem on permutation graphs can also be solved in 𝑂(𝑛2) time by our algorithm. It would be interesting to develop more efficient algorithms of low complexity for these problems. A future study could also continue to examine one of several practical variations of the CCP.

References

  1. J. A. Horne and J. C. Smith, β€œDynamic programming algorithms for the conditional covering problem on path and extended star graphs,” Networks, vol. 46, no. 4, pp. 177–185, 2005. View at Publisher Β· View at Google Scholar Β· View at Zentralblatt MATH Β· View at MathSciNet
  2. D. G. Corneil and P. A. Kamula, β€œExtensions of permutation and interval graphs,” in Proceedings of the 18th Southeastern International Conference on Combinatorics, Graph Theory, and Computing (Boca Raton, Fla., 1987), Congr. Numer. 58, pp. 267–275, 1987. View at Zentralblatt MATH
  3. I. Dagan, M. C. Golumbic, and R. Y. Pinter, β€œTrapezoid graphs and their coloring,” Discrete Applied Mathematics, vol. 21, no. 1, pp. 35–46, 1988. View at Publisher Β· View at Google Scholar Β· View at Zentralblatt MATH Β· View at MathSciNet
  4. F. Cheah and D. G. Corneil, β€œOn the structure of trapezoid graphs,” Discrete Applied Mathematics, vol. 66, no. 2, pp. 109–133, 1996. View at Publisher Β· View at Google Scholar Β· View at Zentralblatt MATH Β· View at MathSciNet Β· View at Scopus
  5. T. H. Ma and J. P. Spinrad, β€œOn the 2-chain subgraph cover and related problems,” Journal of Algorithms, vol. 17, no. 2, pp. 251–268, 1994. View at Publisher Β· View at Google Scholar Β· View at MathSciNet
  6. I. D. Moon and S. S. Chaudhry, β€œAn analysis of network location problems with distance constraints,” Management Science, vol. 30, no. 3, pp. 290–307, 1984.
  7. S. S. Chaudhry, β€œNew heuristics for the conditional covering problem,” Opsearch, vol. 30, pp. 42–47, 1993.
  8. S. S. Chaudhry, I. D. Moon, and S. T. McCormick, β€œConditional covering: greedy heuristics and computational results,” Computers & Operations Research, vol. 14, no. 1, pp. 11–18, 1987. View at Publisher Β· View at Google Scholar Β· View at Zentralblatt MATH Β· View at MathSciNet
  9. V. Lotfi and I. D. Moon, β€œHybrid heuristics for conditional covering problems,” International Journal of Modelling and Simulation, vol. 17, no. 3, pp. 185–190, 1997.
  10. I. D. Moon, β€œConditional covering: worst case analysis of greedy heuristics,” Journal of the Korean Operations Research and Management Science Society, vol. 15, no. 2, pp. 97–104, 1990.
  11. I. D. Moon and L. Papayanopoulos, β€œFacility location on a tree with maximum distance constraints,” Computers & Operations Research, vol. 22, no. 9, pp. 905–914, 1995.
  12. J. A. Horne and J. C. Smith, β€œA dynamic programming algorithm for the conditional covering problem on tree graphs,” Networks, vol. 46, no. 4, pp. 186–197, 2005. View at Publisher Β· View at Google Scholar Β· View at Zentralblatt MATH Β· View at MathSciNet Β· View at Scopus
  13. B. J. Lunday, J. C. Smith, and J. B. Goldberg, β€œAlgorithms for solving the conditional covering problem on paths,” Naval Research Logistics, vol. 52, no. 4, pp. 293–301, 2005. View at Publisher Β· View at Google Scholar Β· View at Zentralblatt MATH Β· View at MathSciNet
  14. B. Sivan, S. Harini, and C. Pandu Rangan, β€œOn conditional covering problem,” Mathematics in Computer Science, vol. 3, no. 1, pp. 97–107, 2010. View at Publisher Β· View at Google Scholar Β· View at Zentralblatt MATH
  15. A. Rana, A. Pal, and M. Pal, β€œThe conditional covering problem on unweighted interval graphs,” Journal of Applied Mathematics and Informatics, vol. 28, pp. 1–11, 2010.
  16. M. I. Abouelhoda and E. Ohlebusch, β€œChaining algorithms for multiple genome comparison,” Journal of Discrete Algorithms, vol. 3, no. 2–4, pp. 321–341, 2005. View at Publisher Β· View at Google Scholar Β· View at Zentralblatt MATH Β· View at MathSciNet
  17. M. C. Golumbic, Algorithmic Graph Theory and Perfect Graphs, Academic Press, New York, NY, USA, 1980.