问题、模型与解决方法

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 NPhard 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 with its 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 MaxSet.
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 the consecutive 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_{t1} , 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.