220 likes | 295 Views
Minimum Clique Partition Problem with Constrained Weight for Interval Graphs. Jianping Li Department of Mathematics Yunnan University Jointed by M.X. Chen , J.B. Li, W.D. Li and L.S. Wang. Outline. Introduction Completeness of the MCPCW Problem
E N D
Minimum Clique Partition Problem with Constrained Weight for Interval Graphs Jianping Li Department of Mathematics Yunnan University Jointed by M.X. Chen, J.B. Li, W.D. Li and L.S. Wang
Outline • Introduction • Completeness of the MCPCW Problem • Some Approximation Algorithms for the MCPCW Problem • Linear Algorithm for the Special Case of the MCPCW Problem • Conclusion
1. Introduction 1.1 Interval Graph A graph G=(V,E) is called as an interval graph if each vertex v of G can be represented as an open interval Iv on the real line such that any pair of distinct vertices u, v ∈V are connected by an edge in E if and only if Iu ∩Iv≠∮. The family { Iv}v∈ V is called as an interval representation of G.
1.2 Applications • Benzer invented interval graphs to study analysis of DNA chains, i.e., the linearity of the chain for higher organisms, and interval graph aids in locating genes along the DNA sequence. • Waterman and Griggs utilized interval graphs to study an important representation of DNA called restriction maps.
Papadimitriou and Yannakakis utilized interval graphs to study the scheduling interval-order tasks. • Roberts utilized interval graphs to consider the problem of timing of traffic lights to optimize some criterion such as average waiting time. • Other applications of interval graphs shall be found in the papers or books of Carlisle, Golumbic, Schrijver and West et al.
1.3 Definition Minimum Clique Partition Problem with Constrained Weight for Interval Graphs (MCPCW) Instance: a weighted interval graph G=(V,E;w) with intervals I1, …, In, possessing weights w1, …, wn, and a bound B; Question: Find a partition of these n intervals into the smallest number of cliques, such that sum of weights in each clique is not beyond B.
In this paper, we prove that this MCPCW problem remains NP-hard in a strong sense and then design some approximation algorithms for it, each possessing constant ratios. Finally, we design an optimal algorithm to solve the problem in linear-time for the special version, where each interval has the same weight.
2. Completeness of the MCPCW Problem Theorem 1. The MCPCW problem is NP-hard in a strong sense. (Reduction is from 3-Partition Problem) Theorem 2. For any epsilon >0, there is no approximation algorithm having a factor 3/2-epsilon for the MCPCW problem, unless P=NP. (Reduction is from Partition Problem)
3 Some Approximation Algorithms for MCPCW Problem For any intervals Ii withits weight wi, denote integers o(i) and d(i), respectively, as the left endpoint and the right endpoint, located on the real line from left to right. We give a linear order `≦' on G: for any two intervals Ii, Ij of G: denote Ii ≦ Ij if and only if (1) either d(i)< d(j), or (2) d(i)= d(j) and o(i)< o(j), or (3) d(i)= d(j), o(i)= o(j) and wi ≦ wj
In order to simply describe our two approximation algorithms for the MCPCW problem, we utilize an optimal algorithm of Tarjan to compute a maximum cardinality independent set in such an interval graph, and this optimal algorithm runs in time O(n). Tarjan’s algorithm is denoted as Max-Set.
Algorithm Clique-Partition I Step 1 Use Max-Set to compute a maximum independent set I={Ii_1,Ii_2,… , Ii_r} in G; Step2 Use the Greedy method to obtain r `maximal’ disjoint cliques C1, … , Cr in theconsecutive process, where Ct contains the interval Ii_t, for each 1≦t ≦ r, such that {C1, C2,…, Cr} is a partition of these n intervals; Step 3 For each clique Cj={Ij_1,Ij_2,…, Ij_{m_j}}, where 1≦ j ≦ r and Ij_1=Ii_j, choose some suitable cliques as follows: for 1≦ t ≦ mj and the `alive cliques' Cj1, … , Cjk containing the intervals Ij_1,…, Ij_{t-1} , add the current interval Ij_t into some `alive clique' Cjk' if the total weight sum of Ij_t and the intervals in the original clique Cjk' is not beyond B, where 1 ≦ k' ≦ k, otherwise open a new `alive clique' as Cjk+1 to contain the current interval Ij_t as the first interval, until t>mj; Step 4 Output all cliques obtained from the step 3.
Algorithm Clique-Partition II Step 1 Use Max-Set to compute a maximum independent set I={Ii_1,Ii_2,… , Ii_r} in G; Step2 Use the Greedy method to obtain r disjoint cliques C1, … , Cr, as in the last algorithm; Step 3 For each clique Cj={Ij_1,Ij_2,…, Ij_{m_j}}, where 1≦ j ≦ r and Ij_1=Ii_j, index these mj intervals into the decrease order according to their weights, i.e., w(Ij_1) ≧ w(Ij_2) ≧ … ≧ w(Ij_{m_j}), then choose some suitable cliques as the sequl: for 1≦ t ≦ mj and the `alive cliques' Cj1, … , Cjk containing the intervals Ij_1,…, Ij_{t-1} , add the current interval Ij_t into some `alive clique' Cjk' if the total weight sum of Ij_t and the intervals in the original clique Cjk' is not greater than B, where 1 ≦ k' ≦ k, otherwise open a new `alive clique' as Cjk+1 to contain the current interval Ij_t as the first interval, until t>mj; Step 4 Output all cliques obtained from the step 3.
For convention, the interval is called as a large interval if this interval has its weight greater than B/2, otherwise the interval is called as a small interval. Algorithm Clique-Partition III Step 1 Put each a large interval Ii into a clique Ci, and then remove all large intervals from G (the current interval graph G only contains small intervals);
Step 2 Sort all small intervals according to the precede rules (1) and (2), i.e, the small intervals in G are sorted as I1, …, In' ; Step 3 Depending on the linear order `≦' on G, choose a `smallest’ element, Imin, in the current graph G as the alive interval; and find the `maximal’ clique C from the current graph G to contain such an alive interval Imin, all intervals in such a clique C are Ii, Ii+1, …, Ij, where Ii=Imin;
Step 4 Use the similar method at the step 3 in the algorithm Clique-Partition I, and then obtain mi disjoint cliques Ci_1, Ci_2, … , Ci_{m_i-1} from the current alive clique C, the cliques Ci_1, Ci_2, … , Ci_{m_i-1} must have weights greater than B/2: Step 4.1: If the clique Ci_{m_i} has its weight greater than B/2, then put G:=G-∪t=1m_i Ci_t and produce the mi cliques Ci_1, Ci_2, … , Ci_{m_i};
Step 4.2: If mi≧ 2 and the clique Ci_{m_i} has its weight not greater than B/2, then put G:=G-∪t=1m_i-1 Ci_t and produce the mi -1 cliques Ci_1, Ci_2, … , Ci_{m_i-1}; Step 4.3: If mi =1 and the clique Ci_{m_i} has its weight not greater than B/2, then put G:=G- C and produce the clique C; Step 5 Continue to execute the step~3 until G=∮; Step 6 Output all cliques obtained from the steps 1 and 4.
Theorem 3 The algorithm Clique-Partition I is an approximation algorithm with a factor 3 for the MCPCW problem, its time complexity is O(n2). Theorem 4 The algorithm Clique-Partition II is an approximation algorithm with a factor 5/2 for the CCPI problem, its time complexity is O(nlog n). Theorem 5 The algorithm Clique-Partition III is an approximation algorithm with a factor 2 for the MCPCW problem, its time complexity is O(n2).
4. Linear Algorithm for the Special Case of the MCPCW Problem Now we study the MCPCW problem in the version where all intervals have the same weight 1. When we utilize the algorithms Clique-Partition I, II or III on this special version, we obtain a feasible solution whose value is not greater than 3, 5/2 or 2 times that of optimal solution. But when we modify the algorithm Clique-Partition II in some ways, we design an optimal algorithm in the linear-time for the MCPCW problem for the special version.
Algorithm Clique-Partition VI Step 1 Sort all intervals of G according to the precede rules~1-2 of the linear order `≦' on G; Step 2 Choose the smallest element, Imin, in G as the alive interval; and find the maximal clique C from G to contain such an alive interval Imin, and then sort all intervals in C according to the precede rules 1-2, all intervals in C are sorted as Ii_1, Ii_2, … , Ii_r, here Ci_1= Imin;
Step 3 For the current alive clique C={Ii_1, Ii_2, … , Ii_r}, choose the new cliques from C, depending on the following choice regulations: Step 3.1 If r< B, i.e., |C| < B, then output the alive clique C only containing these r intervals; and put G:=G-{Ii_1, Ii_2, … , Ii_r}; Step 3.2 If r≧B, set r=sB +r0, where s=[r/B] and 0≦r0<B, then output the s cliques C1={Ii_1, …, Ii_{B}}, C2={Ii_{B+1}, …, Ii_{2B}},…, Cs={Ii_{(s-1)B+1},…,Ii_{sB}}; and G:=G-{Ii_1, …, Ii_{B}, …, Ii_{(s-1)B+1}}, …,Ii_{sB}}
Step 4 Continue to execute the step 2 until G=∮; Step 5 Output all cliques at the step 3. Theorem 6 The algorithm Clique-Partition VI is a linear optimal algorithm for the special version of the MCPCW problem, where all intervals have the same weight 1.
5. Conclusion • we study the MCPCW problem, and we proved that this problem is NP-hard in a strong sense and it cannot be approximated within a factor 3/2-epsilon in polynomial-time for any epsilon >0, then we have designed an approximation algorithm with factors 3, 5/2, 2. • For further work, we would design some approximation algorithms for the MCPCW problem with factors lower than 2, improving main results. On the other way, we would design some approximation algorithms to possess lower running time.