ISRN Discrete MathematicsVolume 2011 (2011), Article ID 213084, 10 pagesdoi:10.5402/2011/213084

Research Article

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

Akul Rana,¹ Anita Pal,² and Madhumangal Pal³

¹Department of Mathematics, Narajole Raj College, Paschim Medinipur Narajole 721 211, India²Department of Mathematics, National Institute of Technology, Durgapur 713209, India³Department 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 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 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, 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 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 for all , for all , and the coverage radius , a fixed positive integer 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 , , , and which represent the top left, top right, bottom left, and bottom right corner points of the trapezoid , respectively. Let denote the set of trapezoids in the trapezoid diagram for a trapezoid graph with . For trapezoid , and 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 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 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 .

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 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 dynamic programming algorithm. In an another article, Horne and Smith [12] considered weighted cost CCP on tree graphs and presented an 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 algorithm for the same. They also propose an 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 and uniform vertex costs. An 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 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 time.

is the highest trapezoid intersecting the trapezoid such that or if such trapezoid does not exist.

is the trapezoid with highest bottom right point intersecting the trapezoid such that or if such trapezoid does not exist.

For example, as occurred in Figure 1, , , , , and so forth.

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

Proof. Let us consider the case and . By the ordering of trapezoids, as . Then . Therefore, in the corresponding trapezoid representation, the trapezoid intersects the trapezoid , so is adjacent to in . Now consider the case when and . In this case, and . Therefore in trapezoid representation, the chord joining the corner points and 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 . This is possible only when either or 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 . The condition implies that either or . Therefore any trapezoid , satisfying the inequality , 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 and .

Proof. Let and . Since always , and holds. It follows that and . 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, and . 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 . Let , be the and let be the where is the trapezoid whose top right point is . Initially, we scan the points on the top channel between and and on the bottom channel between and . 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 , , , , and until all points are scanned. Let be , , be the previous top right point before , and where corresponds to the trapezoid whose top right point is .Clearly, algorithm TOP takes time to compute all , .Similarly, all , 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 . 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 . 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:

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.

Figure 2: The caterpillar of the graph of Figure 1.

If then we define , . The elements of the set are the leaves of , . 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 then .

Lemma 3.2. If such that then .

Proof. Let and be two arbitrary vertices of such that . Observe that there exists a vertex in between and such that . Then there are two cases that may arise.Case 1. . In this case , since else implies that which contradicts Lemma 3.1. Hence .Case 2. . It is clear that . Then, since (Lemma 3.1) and , in the trapezoid diagram lie on the right of . Therefore .

Lemma 3.3. If and such that then .

Proof. Without loss of generality, let and where . Then . There exists a path in such that .Since is adjacent to , if is adjacent to then has highest top right and bottom right point intersecting in the trapezoid diagram. But 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 such that then .

Lemma 3.5. If such that then .

Proof. There are four cases that may arise.Case 1. . Since 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 , 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 , , and , respectively such that . If then, .

Observe that, if such that and then there does not exist , with . Also, there does not exist , 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 , the possible paths from to are and . Therefore, the distance between and is minimum along , that is, the lemma is true for . For , the possible paths from to are , , and . That is, the lemma is true for also.Let the lemma be true for . Then a shortest path from to is . Since may adjacent to the leaves and , the possible shortest paths from to are and . Hence 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.

Input: A trapezoid graph with a trapezoid diagram and coverage radius .

Output: A conditional covering set in .

    Initially and .

Step : Compute the sets , and for each vertex .

Step : Construct the caterpillar. Compute the vertices of the spine and the sets for

            ; where is the highest length of the caterpillar.

Step : Compute .

            If , and for all then

                     such that is maximum, replace by , , goto Step 4;

            elseif or for all then

                    , replace by , , goto Step 5;

            else , replace by , , goto Step 5;

            endif

Step : If then

                 such that and finish;

            elseif then

                 and finish;

            else go to step 6;

            endif;

Step : If then

                 such that and finish;// is the latest selected member

                                                                                                                     of //

            elseif then and finish;

            else go to step 6;

            endif;

Step : If , and for all then

                     such that is maximum, replace by , , goto Step 7;

            elseif or for all then

                    , replace by , , goto Step 7;

            else , replace by , , goto Step 7;

            endif;

Step : If then

                 is the required solution;

            elseif then

                    If or for all then

                             is the required solution;

                    else and finish;

                    endif;

            else go to Step 8;

            endif;

Step : If , and for all and then

                     and finish;

            elseif then

                     and stop;

            elseif and or for all then

                     and stop;

            else goto next Step;

            endif;

Step : If , for all then

                 replace by and goto Step 3;

            else replace by and goto Step 3;

            endif;

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 . Now, if a vertex be chosen as a member of instead of such that 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 time.

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

5. Concluding Remarks

To date no algorithms have been proposed for CCP on trapezoid graphs. In this paper, we proposed an 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 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

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.

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.

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.

F. Cheah and D. G. Corneil, “On the structure of trapezoid graphs,” Discrete Applied Mathematics, vol. 66, no. 2, pp. 109–133, 1996.

T. H. Ma and J. P. Spinrad, “On the -chain subgraph cover and related problems,” Journal of Algorithms, vol. 17, no. 2, pp. 251–268, 1994.

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.

S. S. Chaudhry, “New heuristics for the conditional covering problem,” Opsearch, vol. 30, pp. 42–47, 1993.

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.

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.

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.

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.

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.

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.

B. Sivan, S. Harini, and C. Pandu Rangan, “On conditional covering problem,” Mathematics in Computer Science, vol. 3, no. 1, pp. 97–107, 2010.

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.

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.

M. C. Golumbic, Algorithmic Graph Theory and Perfect Graphs, Academic Press, New York, NY, USA, 1980.