minimum clique partition problem with constrained weight for interval graphs

22
Minimum Clique Partition Minimum Clique Partition Problem with Constrained Problem with Constrained Weight for Interval Weight for Interval Graphs Graphs Jianping Li Jianping Li Department of Mathemat Department of Mathemat ics ics Yunnan University Yunnan University Jointed by Jointed by M.X. Chen M.X. Chen J.B. Li, W.D. Li and J.B. Li, W.D. Li and L.S. Wang L.S. Wang

Upload: gareth

Post on 23-Jan-2016

49 views

Category:

Documents


0 download

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Minimum Clique Partition Problem with Constrained Weight for Interval Graphs

Minimum Clique Partition Minimum Clique Partition Problem with Constrained Problem with Constrained Weight for Interval GraphsWeight for Interval Graphs

Jianping LiJianping LiDepartment of MathematicsDepartment of Mathematics

Yunnan UniversityYunnan University

Jointed by Jointed by M.X. ChenM.X. Chen , , J.B. Li, W.D. Li and L.S. WangJ.B. Li, W.D. Li and L.S. Wang

Page 2: Minimum Clique Partition Problem with Constrained Weight for Interval Graphs

OutlineOutline

IntroductionIntroduction Completeness of the MCPCW ProbleCompleteness of the MCPCW Proble

mm Some Approximation Algorithms for thSome Approximation Algorithms for th

e MCPCWe MCPCW Problem Problem Linear Algorithm for the Special Case Linear Algorithm for the Special Case

of the MCPCW Problemof the MCPCW Problem ConclusionConclusion

Page 3: Minimum Clique Partition Problem with Constrained Weight for Interval Graphs

1. Introduction1. Introduction

1.1 Interval Graph1.1 Interval Graph

A graph G=(V,E) is called as an interval gA graph G=(V,E) is called as an interval graph if each vertex v of G can be representraph if each vertex v of G can be represented as an open interval Ied as an open interval Ivv on the real line su on the real line su

ch that any pair of distinct vertices u, v ch that any pair of distinct vertices u, v ∈∈V V are connected by an edge in E if and only iare connected by an edge in E if and only if If Iu u ∩∩IIvv≠∮≠∮. The family { I. The family { Ivv}}vv∈∈ V V is called as an is called as an

interval representation of G.interval representation of G.

Page 4: Minimum Clique Partition Problem with Constrained Weight for Interval Graphs

1.2 Applications 1.2 Applications Benzer invented interval graphs to study aBenzer invented interval graphs to study a

nalysis of DNA chains, i.e., the linearity of tnalysis of DNA chains, i.e., the linearity of the chain for higher organisms, and interval he chain for higher organisms, and interval graph aids in locating genes along the DNgraph aids in locating genes along the DNA sequence.A sequence.

Waterman and Griggs utilized interval grapWaterman and Griggs utilized interval graphs to study an important representation of hs to study an important representation of DNA called restriction maps.DNA called restriction maps.

Page 5: Minimum Clique Partition Problem with Constrained Weight for Interval Graphs

Papadimitriou and Yannakakis utilized intePapadimitriou and Yannakakis utilized interval graphs to study the scheduling intervarval graphs to study the scheduling interval-order tasks.l-order tasks.

Roberts utilized interval graphs to consider Roberts utilized interval graphs to consider the problem of timing of traffic lights to optithe problem of timing of traffic lights to optimize some criterion such as average waitimize some criterion such as average waiting time.ng time.

Other applications of interval graphs shall Other applications of interval graphs shall be found in the papers or books of Carlisle,be found in the papers or books of Carlisle, Golumbic, Schrijver and West et al. Golumbic, Schrijver and West et al.

Page 6: Minimum Clique Partition Problem with Constrained Weight for Interval Graphs

1.3 Definition1.3 Definition

Minimum Clique Partition Problem withMinimum Clique Partition Problem with

Constrained Weight for Interval Graphs Constrained Weight for Interval Graphs

(MCPCW) (MCPCW)

Instance: a weighted interval graph G=(V,Instance: a weighted interval graph G=(V,E;w) with intervals IE;w) with intervals I11, …, I, …, In, possessing we, possessing we

ights wights w11, …, w, …, wnn, and a bound B;, and a bound B;

Question: Find a partition of these n intervalQuestion: Find a partition of these n intervals into the smallest number of cliques, such s into the smallest number of cliques, such that sum of weights in each clique is not bthat sum of weights in each clique is not beyond B.eyond B.

Page 7: Minimum Clique Partition Problem with Constrained Weight for Interval Graphs

In this paper, we prove that this In this paper, we prove that this MMCPCWCPCW problem remains NP-hard in a problem remains NP-hard in a strong sense and then design some astrong sense and then design some approximation algorithms for it, each ppproximation algorithms for it, each possessing constant ratios. Finally, we ossessing constant ratios. Finally, we design an optimal algorithm to solve tdesign an optimal algorithm to solve the problem in linear-time for the speche problem in linear-time for the special version, where each interval has thial version, where each interval has the same weight.e same weight.

Page 8: Minimum Clique Partition Problem with Constrained Weight for Interval Graphs

2. Completeness of the MCPCW 2. Completeness of the MCPCW ProblemProblem

Theorem 1. The MCPCW problem is NP-Theorem 1. The MCPCW problem is NP-hard in a strong sense.hard in a strong sense.

(Reduction is from 3-Partition Problem)(Reduction is from 3-Partition Problem)

Theorem 2. For any epsilon >0, there is no Theorem 2. For any epsilon >0, there is no approximation algorithm having a factor approximation algorithm having a factor 3/2-epsilon for the MCPCW problem, 3/2-epsilon for the MCPCW problem, unless P=NP.unless P=NP.

(Reduction is from Partition Problem)(Reduction is from Partition Problem)

Page 9: Minimum Clique Partition Problem with Constrained Weight for Interval Graphs

3 Some Approximation Algorithms 3 Some Approximation Algorithms for MCPCWfor MCPCW Problem Problem

For any intervals IFor any intervals Ii i withwith its weight wits weight wii, denote i, denote integers o(i) and d(i), respectively, as the lentegers o(i) and d(i), respectively, as the left endpoint and the right endpoint, located ft endpoint and the right endpoint, located on the real line from left to right. on the real line from left to right.

We give a linear order ` ' on G: for any two ≦We give a linear order ` ' on G: for any two ≦intervals Iintervals Iii, I, Ijj of G: denote I of G: denote Iii I≦ I≦ jj if and only if and only if (1) either d(i)< d(j), or (2) d(i)= d(j) and oif (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 w(i)< o(j), or (3) d(i)= d(j), o(i)= o(j) and w ii ≦ ≦wwjj

Page 10: Minimum Clique Partition Problem with Constrained Weight for Interval Graphs

In order to simply describe our two aIn order to simply describe our two approximation algorithms for the MCPCpproximation algorithms for the MCPCW problem, we utilize an optimal algoritW problem, we utilize an optimal algorithm of Tarjan to compute a maximum chm of Tarjan to compute a maximum cardinality independent set in such an inardinality independent set in such an interval graph, and this optimal algorithm terval graph, and this optimal algorithm runs in time O(n). Tarjan’s algorithm is runs in time O(n). Tarjan’s algorithm is denoted as Max-Set.denoted as Max-Set.

Page 11: Minimum Clique Partition Problem with Constrained Weight for Interval Graphs

Algorithm Clique-Partition IAlgorithm Clique-Partition IStep 1 Use Max-Set to compute a maximum independeStep 1 Use Max-Set to compute a maximum independe

nt set I={Int set I={Ii_1i_1,I,Ii_2i_2,… , I,… , Ii_ri_r} in G;} in G;Step2 Use the Greedy method to obtain r `maximal’ disjoStep2 Use the Greedy method to obtain r `maximal’ disjo

int cliques Cint cliques C11, … , C, … , Cr r in thein the consecutive process, where consecutive process, where CCtt contains the interval I contains the interval I i_ti_t, for each 1 t r, such that ≦ ≦, for each 1 t r, such that ≦ ≦{C{C11, C, C22,…, C,…, Crr} is a partition of these n intervals; } is a partition of these n intervals;

Step 3 For each clique CStep 3 For each clique C jj={I={Ij_1j_1,I,Ij_2j_2,…, I,…, Ij_{m_j}j_{m_j}}, where 1 j ≦}, where 1 j ≦ r and I≦ r and I≦ j_1j_1=I=Ii_ji_j, choose some suitable cliques as follow, choose some suitable cliques as follow

s: for 1 t m≦ ≦s: for 1 t m≦ ≦ jj and the `alive cliques' C and the `alive cliques' C jj11, … , C, … , Cjj

kk con containing the intervals Itaining the intervals I j_1j_1,…, I,…, Ij_{t-1}j_{t-1} , add the current interv , add the current interval Ial Ij_tj_t into some `alive clique' C into some `alive clique' C jj

k'k' if the total weight sum if the total weight sum of Iof Ij_tj_t and the intervals in the original clique C and the intervals in the original clique C jj

k'k' is not b is not beyond B, where 1 k' k, otherwise open a new `ali≦ ≦eyond B, where 1 k' k, otherwise open a new `ali≦ ≦ve clique' as Cve clique' as Cjj

k+1k+1 to contain the current interval I to contain the current interval I j_tj_t as t as the first interval, until t>mhe first interval, until t>m jj;;

Step 4 Output all cliques obtained from the step 3.Step 4 Output all cliques obtained from the step 3.

Page 12: Minimum Clique Partition Problem with Constrained Weight for Interval Graphs

Algorithm Clique-Partition IIAlgorithm Clique-Partition IIStep 1 Use Max-Set to compute a maximum independent Step 1 Use Max-Set to compute a maximum independent

set I={Iset I={Ii_1i_1,I,Ii_2i_2,… , I,… , Ii_ri_r} in G;} in G;Step2 Use the Greedy method to obtain r disjoint cliques Step2 Use the Greedy method to obtain r disjoint cliques

CC11, … , C, … , Crr, as in the last algorithm;, as in the last algorithm;Step 3 For each clique CStep 3 For each clique Cjj={I={Ij_1j_1,I,Ij_2j_2,…, I,…, Ij_{m_j}j_{m_j}}, where 1 j ≦ ≦}, where 1 j ≦ ≦

r and Ir and Ij_1j_1=I=Ii_ji_j, index these m, index these mjj intervals into the decrease o intervals into the decrease order according to their weights, i.e., w(Irder according to their weights, i.e., w(Ij_1j_1) w(I≧) w(I≧ j_2j_2) ≧) ≧… w(I≧… w(I≧ j_{m_j}j_{m_j}), then choose some suitable cliques as th), then choose some suitable cliques as the sequl: for 1 t m≦ ≦e sequl: for 1 t m≦ ≦ jj and the `alive cliques' C and the `alive cliques' Cjj

11, … , C, … , Cjjkk

containing the intervals Icontaining the intervals Ij_1j_1,…, I,…, Ij_{t-1}j_{t-1} , add the current int , add the current interval Ierval Ij_tj_t into some `alive clique' C into some `alive clique' Cjj

k'k' if the total weight su if the total weight sum of Im of Ij_tj_t and the intervals in the original clique C and the intervals in the original clique Cjj

k'k' is not is not greater than B, where 1 k' k, otherwise open a ne≦ ≦greater than B, where 1 k' k, otherwise open a ne≦ ≦w `alive clique' as Cw `alive clique' as Cjj

k+1k+1 to contain the current interval I to contain the current interval Ij_tj_t as the first interval, until t>mas the first interval, until t>mjj; ;

Step 4 Output all cliques obtained from the step 3.Step 4 Output all cliques obtained from the step 3.

Page 13: Minimum Clique Partition Problem with Constrained Weight for Interval Graphs

For convention, the interval is called as a For convention, the interval is called as a larlargege interval if this interval has its weight gre interval if this interval has its weight greater than B/2, otherwise the interval is callater than B/2, otherwise the interval is called as a ed as a smallsmall interval. interval.

Algorithm Clique-Partition IIIAlgorithm Clique-Partition IIIStep 1 Put each a large interval IStep 1 Put each a large interval Iii into a cliqu into a cliqu

e Ce Cii, and then remove all large intervals fro, and then remove all large intervals fro

m G (the current interval graph G only contm G (the current interval graph G only contains small intervals);ains small intervals);

Page 14: Minimum Clique Partition Problem with Constrained Weight for Interval Graphs

Step 2 Sort all small intervals according to tStep 2 Sort all small intervals according to the precede rules (1) and (2), i.e, the small he precede rules (1) and (2), i.e, the small intervals in G are sorted as Iintervals in G are sorted as I11, …, I, …, In'n' ; ;

Step 3 Depending on the linear order `Step 3 Depending on the linear order `≦≦' on ' on G, choose a `smallest’ element, IG, choose a `smallest’ element, Iminmin, in the , in the

current graph G as the alive interval; and ficurrent graph G as the alive interval; and find the `maximal’ clique C from the current nd the `maximal’ clique C from the current graph G to contain such an alive interval Igraph G to contain such an alive interval Imm

inin, all intervals in such a clique C are I, all intervals in such a clique C are I ii, I, Ii+1i+1, ,

…, I…, Ijj, where I, where Iii=I=Iminmin;;

Page 15: Minimum Clique Partition Problem with Constrained Weight for Interval Graphs

Step 4 Use the similar method at the step 3 iStep 4 Use the similar method at the step 3 in the algorithm Clique-Partition I, and then n the algorithm Clique-Partition I, and then obtain mobtain mii disjoint cliques C disjoint cliques Ci_1i_1, C, Ci_2i_2, … , C, … , Ci_{mi_{m

_i-1}_i-1} from the current alive clique C, the cliq from the current alive clique C, the cliq

ues Cues Ci_1i_1, C, Ci_2i_2, … , C, … , Ci_{m_i-1}i_{m_i-1} must have weight must have weight

s greater than B/2:s greater than B/2:

Step 4.1: If the clique CStep 4.1: If the clique Ci_{m_i}i_{m_i} has its weight g has its weight g

reater than B/2, then put G:=G-∪reater than B/2, then put G:=G-∪t=1t=1m_im_i C Ci_ti_t

and produce the mand produce the mii cliques C cliques Ci_1i_1, C, Ci_2i_2, … , , … ,

CCi_{m_i}i_{m_i};;

Page 16: Minimum Clique Partition Problem with Constrained Weight for Interval Graphs

Step 4.2: If mStep 4.2: If mii 2 and the clique C≧ 2 and the clique C≧ i_{m_i}i_{m_i} has has its weight not greater than B/2, then put G:its weight not greater than B/2, then put G:=G-∪=G-∪t=1t=1

m_i-1m_i-1 C Ci_ti_t and produce the m and produce the mii -1 cliqu -1 cliques Ces Ci_1i_1, C, Ci_2i_2, … , C, … , Ci_{m_i-1}i_{m_i-1};;

Step 4.3: If mStep 4.3: If mii =1 and the clique C =1 and the clique Ci_{m_i}i_{m_i} has it has its weight not greater than B/2, then put G:=s weight not greater than B/2, then put G:=G- C and produce the clique C;G- C and produce the clique C;

Step 5 Continue to execute the step~3 until Step 5 Continue to execute the step~3 until G= ;∮G= ;∮

Step 6 Output all cliques obtained from the sStep 6 Output all cliques obtained from the steps 1 and 4.teps 1 and 4.

Page 17: Minimum Clique Partition Problem with Constrained Weight for Interval Graphs

Theorem 3 The algorithm Clique-Partition I is Theorem 3 The algorithm Clique-Partition I is an approximation algorithm with a factor 3 fan approximation algorithm with a factor 3 for the MCPCW problem, its time complexity or the MCPCW problem, its time complexity is O(nis O(n22).).

Theorem 4 The algorithm Clique-Partition II is Theorem 4 The algorithm Clique-Partition II is an approximation algorithm with a factor 5/2 an approximation algorithm with a factor 5/2 for the CCPI problem, its time complexity is for the CCPI problem, its time complexity is O(nlog n).O(nlog n).

Theorem 5 The algorithm Clique-Partition III iTheorem 5 The algorithm Clique-Partition III is an approximation algorithm with a factor 2 s an approximation algorithm with a factor 2 for the MCPCW problem, its time complexity for the MCPCW problem, its time complexity is O(nis O(n22).).

Page 18: Minimum Clique Partition Problem with Constrained Weight for Interval Graphs

4. Linear Algorithm for the Special 4. Linear Algorithm for the Special Case of the MCPCW ProblemCase of the MCPCW Problem

Now we study the MCPCW problem in the Now we study the MCPCW problem in the version where all intervals have the same version where all intervals have the same weight 1. weight 1.

When we utilize the algorithms Clique-Partition I, II When we utilize the algorithms Clique-Partition I, II or III on this special version, we obtain a or III on this special version, we obtain a feasible solution whose value is not greater than feasible solution whose value is not greater than 3, 5/2 or 2 times that of optimal solution. But 3, 5/2 or 2 times that of optimal solution. But when we modify the algorithm Clique-Partition when we modify the algorithm Clique-Partition II in some ways, we design an optimal II in some ways, we design an optimal algorithm in the linear-time for the MCPCW algorithm in the linear-time for the MCPCW problem for the special version.problem for the special version.

Page 19: Minimum Clique Partition Problem with Constrained Weight for Interval Graphs

Algorithm Algorithm Clique-Partition VIClique-Partition VI

Step 1 Sort all intervals of G according to thStep 1 Sort all intervals of G according to the precede rules~1-2 of the linear order `e precede rules~1-2 of the linear order `≦≦' ' on G;on G;

Step 2 Choose the smallest element, IStep 2 Choose the smallest element, Iminmin, in , in

G as the alive interval; and find the maximG as the alive interval; and find the maximal clique C from G to contain such an alive al clique C from G to contain such an alive interval Iinterval Iminmin, and then sort all intervals in C , and then sort all intervals in C

according to the precede rules 1-2, all interaccording to the precede rules 1-2, all intervals in C are sorted as Ivals in C are sorted as Ii_1i_1, I, Ii_2i_2, … , I, … , Ii_ri_r, here , here

CCi_1i_1= I= Iminmin;;

Page 20: Minimum Clique Partition Problem with Constrained Weight for Interval Graphs

Step 3 For the current alive clique C={IStep 3 For the current alive clique C={I i_1i_1, I, Ii_2i_2, , … , I… , Ii_ri_r}, choose the new cliques from C, de}, choose the new cliques from C, depending on the following choice regulations: pending on the following choice regulations:

Step 3.1 If r< B, i.e., |C| < B, then output the Step 3.1 If r< B, i.e., |C| < B, then output the alive clique C only containing these r intervalive clique C only containing these r intervals; and put G:=G-{Ials; and put G:=G-{Ii_1i_1, I, Ii_2i_2, … , I, … , Ii_ri_r};};

Step 3.2 If r B, set r=sB +r≧Step 3.2 If r B, set r=sB +r≧ 00, where s=[r/B] a, where s=[r/B] and 0 r≦nd 0 r≦ 00<B, then output the s cliques C<B, then output the s cliques C11={I={Ii_i_

11, …, I, …, Ii_{B}i_{B}}, C}, C22={I={Ii_{B+1}i_{B+1}, …, I, …, Ii_{2B}i_{2B}},…, C},…, Css={I={Ii_{(s-1)Bi_{(s-1)B

+1}+1},…,I,…,Ii_{sB}i_{sB}}; and G:=G-{I}; and G:=G-{Ii_1i_1, …, I, …, Ii_{B}i_{B}, …, I, …, Ii_{(s-1)Bi_{(s-1)B

+1}+1}}, …,I}, …,Ii_{sB}i_{sB}}}

Page 21: Minimum Clique Partition Problem with Constrained Weight for Interval Graphs

Step 4 Continue to execute the step 2 until Step 4 Continue to execute the step 2 until G= ; ∮G= ; ∮

Step 5 Output all cliques at the step 3.Step 5 Output all cliques at the step 3.

Theorem 6 The algorithm Clique-Partition VI Theorem 6 The algorithm Clique-Partition VI is a linear optimal algorithm for the special is a linear optimal algorithm for the special version of the MCPCW problem, where all version of the MCPCW problem, where all intervals have the same weight 1.intervals have the same weight 1.

Page 22: Minimum Clique Partition Problem with Constrained Weight for Interval Graphs

5. Conclusion5. Conclusion we study the MCPCW problem, and we proved we study the MCPCW problem, and we proved

that this problem is NP-hard in a strong sense that this problem is NP-hard in a strong sense and it cannot be approximated within a factor and it cannot be approximated within a factor 3/2-epsilon in polynomial-time for any epsilon 3/2-epsilon in polynomial-time for any epsilon >0, then we have designed an approximation >0, then we have designed an approximation algorithm with factors 3, 5/2, 2.algorithm with factors 3, 5/2, 2.

For further work, we would design some For further work, we would design some approximation algorithms for the MCPCW approximation algorithms for the MCPCW problem with factors lower than 2, improving problem with factors lower than 2, improving main results. On the other way, we would main results. On the other way, we would design some approximation algorithms to design some approximation algorithms to possess lower running time.possess lower running time.