Polynomial variants of the densest/heaviest k

Polynomial variants of the densest/heaviest
k-subgraph problem
Maria Liazi1
joint work with
Ioannis Milis2
1 Department
Vassilis Zissimopoulos1
of Informatics and Telecommunications
National and Kapodistrian University of Athens (NKUA)
2 Department of Informatics
Athens University of Economics and Business (AUEB)
British Combinatorial Conference, 2005
Maria Liazi
Polynomial variants of the DkS/HkS problem
I
Densest k-subgraph (DkS):
Input: A graph G = (V , E ), |V | = n, and an integer k, k ≤ n
Output: Find a k vertices subgraph of G with the maximum
number of edges
I
Heaviest k-subgraph (HkS):
Input: A weighted graph G = (V , E ), |V | = n, and an
integer k, k ≤ n
Output: Find a k vertices subgraph of G with the maximum
total edge weight
Maria Liazi
Polynomial variants of the DkS/HkS problem
I
Densest k-subgraph (DkS):
Input: A graph G = (V , E ), |V | = n, and an integer k, k ≤ n
Output: Find a k vertices subgraph of G with the maximum
number of edges
I
Heaviest k-subgraph (HkS):
Input: A weighted graph G = (V , E ), |V | = n, and an
integer k, k ≤ n
Output: Find a k vertices subgraph of G with the maximum
total edge weight
Maria Liazi
Polynomial variants of the DkS/HkS problem
I
DkS is strongly NP-hard as generalization of the CLIQUE
problem.
I
The problem remain strongly NP-hard even for:
I
bipartite graphs, comparability graphs, chordal graphs
[Corneil and Perl, DAM, 1984]
I
planar graphs
[Keil and Brecht, JCMCC, 1991]
I
bipartite graphs even of maximal degree three regular graphs
[Feige and Seltser, T.R. CS97-16, Weizmann Inst., 1997]
Maria Liazi
Polynomial variants of the DkS/HkS problem
I
DkS is strongly NP-hard as generalization of the CLIQUE
problem.
I
The problem remain strongly NP-hard even for:
I
bipartite graphs, comparability graphs, chordal graphs
[Corneil and Perl, DAM, 1984]
I
planar graphs
[Keil and Brecht, JCMCC, 1991]
I
bipartite graphs even of maximal degree three regular graphs
[Feige and Seltser, T.R. CS97-16, Weizmann Inst., 1997]
Maria Liazi
Polynomial variants of the DkS/HkS problem
I
Approximation algorithms
1.
2.
3.
4.
5.
6.
7.
8.
9.
[Kortsarz and Peleg, FOCS, 1993]
[Feige and Seltser, T.R. CS97 Weizmann Inst., 1997]
[Srivastav and Wolf, APPROX, 1998; Erratum: TR U. Kiel 1999]
[Ye and Zang, T.R. U. Iowa, 1999]
[Asahiro et al., J. of Algorithms, 2000]
[Feige et. al., Algorithmica, 2001]
[Feige and Langberg, J. of Algorithms, 2001]
[Han et al., Math. Progr., 2002]
[Billionnet and Roupin, T.R. 486 Cedric-CNAM, 2004]
1
I
Best known approximation ratio for the DkS → O(n 3 ), [6]
I
No one of them achieves a constant approximation ratio
Maria Liazi
Polynomial variants of the DkS/HkS problem
I
Approximation algorithms
1.
2.
3.
4.
5.
6.
7.
8.
9.
[Kortsarz and Peleg, FOCS, 1993]
[Feige and Seltser, T.R. CS97 Weizmann Inst., 1997]
[Srivastav and Wolf, APPROX, 1998; Erratum: TR U. Kiel 1999]
[Ye and Zang, T.R. U. Iowa, 1999]
[Asahiro et al., J. of Algorithms, 2000]
[Feige et. al., Algorithmica, 2001]
[Feige and Langberg, J. of Algorithms, 2001]
[Han et al., Math. Progr., 2002]
[Billionnet and Roupin, T.R. 486 Cedric-CNAM, 2004]
1
I
Best known approximation ratio for the DkS → O(n 3 ), [6]
I
No one of them achieves a constant approximation ratio
Maria Liazi
Polynomial variants of the DkS/HkS problem
I
There is no a PTAS for the DkS problem [Khot, FOCS, 2004]
I
There is not known inapproximability result for some
approximation ratio
I
There are constant approximation algorithms for special cases
of the problems:
I
A PTAS for dense graphs [Arora et al., JCSS, 1999]:
- of minimum degree Ω(n)
- of Ω(n2 ) edges when k is Ω(n)
I
Constant approximation algorithms for complete graphs where
the weights satisfy the triangle inequality:
- 4-approximation [Ravi et al., Oper. Res., 1994]
- 2-approximation [Hassin et al., Oper. Res. Letters, 1997]
Maria Liazi
Polynomial variants of the DkS/HkS problem
I
There is no a PTAS for the DkS problem [Khot, FOCS, 2004]
I
There is not known inapproximability result for some
approximation ratio
I
There are constant approximation algorithms for special cases
of the problems:
I
A PTAS for dense graphs [Arora et al., JCSS, 1999]:
- of minimum degree Ω(n)
- of Ω(n2 ) edges when k is Ω(n)
I
Constant approximation algorithms for complete graphs where
the weights satisfy the triangle inequality:
- 4-approximation [Ravi et al., Oper. Res., 1994]
- 2-approximation [Hassin et al., Oper. Res. Letters, 1997]
Maria Liazi
Polynomial variants of the DkS/HkS problem
I
There is no a PTAS for the DkS problem [Khot, FOCS, 2004]
I
There is not known inapproximability result for some
approximation ratio
I
There are constant approximation algorithms for special cases
of the problems:
I
A PTAS for dense graphs [Arora et al., JCSS, 1999]:
- of minimum degree Ω(n)
- of Ω(n2 ) edges when k is Ω(n)
I
Constant approximation algorithms for complete graphs where
the weights satisfy the triangle inequality:
- 4-approximation [Ravi et al., Oper. Res., 1994]
- 2-approximation [Hassin et al., Oper. Res. Letters, 1997]
Maria Liazi
Polynomial variants of the DkS/HkS problem
I
DkS is trivial on trees,
I
connected HkS on trees can be solved optimally by a dynamic
programming algorithm:
I
[Perl and Shiloach, SIAM J. Alg. Discr. Methods, 1983]
I
[Fischetti et al., Networks, 1994]
I
[Goldschmidt and Hochbaum, DAM, 1997]
Maria Liazi
Polynomial variants of the DkS/HkS problem
I
DkS is trivial on trees,
I
connected HkS on trees can be solved optimally by a dynamic
programming algorithm:
I
[Perl and Shiloach, SIAM J. Alg. Discr. Methods, 1983]
I
[Fischetti et al., Networks, 1994]
I
[Goldschmidt and Hochbaum, DAM, 1997]
Maria Liazi
Polynomial variants of the DkS/HkS problem
A generalization of the algorithm(s) yielding a connected solution
I
T = (V , E ): a weighted tree rooted at some arbitrary vertex s
I
Tu : the subtree of T rooted at vertex u, u ∈ V − {s}
I
Cu1 (j): the value of an optimal solution to HjS on Tu
including u
I
Cu0 (j): the value of an optimal solution to HjS on Tu
excluding u
I
Cu (j) = max{Cu0 (j), Cu1 (j)}: the value of an optimal solution
to HjS on Tu
I
The optimal solution is Cs (k)
Maria Liazi
Polynomial variants of the DkS/HkS problem
A generalization of the algorithm(s) yielding a connected solution
I
T = (V , E ): a weighted tree rooted at some arbitrary vertex s
I
Tu : the subtree of T rooted at vertex u, u ∈ V − {s}
I
Cu1 (j): the value of an optimal solution to HjS on Tu
including u
I
Cu0 (j): the value of an optimal solution to HjS on Tu
excluding u
I
Cu (j) = max{Cu0 (j), Cu1 (j)}: the value of an optimal solution
to HjS on Tu
I
The optimal solution is Cs (k)
Maria Liazi
Polynomial variants of the DkS/HkS problem
A generalization of the algorithm(s) yielding a connected solution
I
T = (V , E ): a weighted tree rooted at some arbitrary vertex s
I
Tu : the subtree of T rooted at vertex u, u ∈ V − {s}
I
Cu1 (j): the value of an optimal solution to HjS on Tu
including u
I
Cu0 (j): the value of an optimal solution to HjS on Tu
excluding u
I
Cu (j) = max{Cu0 (j), Cu1 (j)}: the value of an optimal solution
to HjS on Tu
I
The optimal solution is Cs (k)
Maria Liazi
Polynomial variants of the DkS/HkS problem
A generalization of the algorithm(s) yielding a connected solution
I
T = (V , E ): a weighted tree rooted at some arbitrary vertex s
I
Tu : the subtree of T rooted at vertex u, u ∈ V − {s}
I
Cu1 (j): the value of an optimal solution to HjS on Tu
including u
I
Cu0 (j): the value of an optimal solution to HjS on Tu
excluding u
I
Cu (j) = max{Cu0 (j), Cu1 (j)}: the value of an optimal solution
to HjS on Tu
I
The optimal solution is Cs (k)
Maria Liazi
Polynomial variants of the DkS/HkS problem
A generalization of the algorithm(s) yielding a connected solution
I
T = (V , E ): a weighted tree rooted at some arbitrary vertex s
I
Tu : the subtree of T rooted at vertex u, u ∈ V − {s}
I
Cu1 (j): the value of an optimal solution to HjS on Tu
including u
I
Cu0 (j): the value of an optimal solution to HjS on Tu
excluding u
I
Cu (j) = max{Cu0 (j), Cu1 (j)}: the value of an optimal solution
to HjS on Tu
I
The optimal solution is Cs (k)
Maria Liazi
Polynomial variants of the DkS/HkS problem
A generalization of the algorithm(s) yielding a connected solution
I
T = (V , E ): a weighted tree rooted at some arbitrary vertex s
I
Tu : the subtree of T rooted at vertex u, u ∈ V − {s}
I
Cu1 (j): the value of an optimal solution to HjS on Tu
including u
I
Cu0 (j): the value of an optimal solution to HjS on Tu
excluding u
I
Cu (j) = max{Cu0 (j), Cu1 (j)}: the value of an optimal solution
to HjS on Tu
I
The optimal solution is Cs (k)
Maria Liazi
Polynomial variants of the DkS/HkS problem
I
The algorithm recursively computes the values Cu1 (j) and
Cu0 (j)
-i.e. it solves all HjS problems, j = 1, 2, ..., k, for each
u∈V
I
Consider a vertex u ∈ V :
I
u1 , u2 , ..., ut : the children of u in arbitrary order
I
wi : the weight of the edge (u, ui ), i = 1, 2, ..., t
I
∈ {0, 1}
Maria Liazi
Polynomial variants of the DkS/HkS problem
I
The algorithm recursively computes the values Cu1 (j) and
Cu0 (j)
-i.e. it solves all HjS problems, j = 1, 2, ..., k, for each
u∈V
I
Consider a vertex u ∈ V :
I
u1 , u2 , ..., ut : the children of u in arbitrary order
I
wi : the weight of the edge (u, ui ), i = 1, 2, ..., t
I
∈ {0, 1}
Maria Liazi
Polynomial variants of the DkS/HkS problem
Calculation of Cu (j):
I
First, calculate Cu (j) taking into account two children of u
Cu (j) =
I
max
{Cu11 (k1 ) + Cu22 (k2 ) + 1 · · w1 + 2 · · w2 }
k1 +k2 =j−,
1 ,2 ∈{0,1}
Then, update Cu (j) for each one of the rest of the children
Cu (j) = max {Cu (k1 ) + Cuii (k2 ) + · i · wi }
k1 +k2 =j,
i ∈{0,1}
Theorem
There is an O(nk 2 ) algorithm for the HkS problem on a tree
Corollary (1)
There is an O(nk) algorithm for the HkS problem on a chain
Maria Liazi
Polynomial variants of the DkS/HkS problem
Calculation of Cu (j):
I
First, calculate Cu (j) taking into account two children of u
Cu (j) =
I
max
{Cu11 (k1 ) + Cu22 (k2 ) + 1 · · w1 + 2 · · w2 }
k1 +k2 =j−,
1 ,2 ∈{0,1}
Then, update Cu (j) for each one of the rest of the children
Cu (j) = max {Cu (k1 ) + Cuii (k2 ) + · i · wi }
k1 +k2 =j,
i ∈{0,1}
Theorem
There is an O(nk 2 ) algorithm for the HkS problem on a tree
Corollary (1)
There is an O(nk) algorithm for the HkS problem on a chain
Maria Liazi
Polynomial variants of the DkS/HkS problem
Calculation of Cu (j):
I
First, calculate Cu (j) taking into account two children of u
Cu (j) =
I
max
{Cu11 (k1 ) + Cu22 (k2 ) + 1 · · w1 + 2 · · w2 }
k1 +k2 =j−,
1 ,2 ∈{0,1}
Then, update Cu (j) for each one of the rest of the children
Cu (j) = max {Cu (k1 ) + Cuii (k2 ) + · i · wi }
k1 +k2 =j,
i ∈{0,1}
Theorem
There is an O(nk 2 ) algorithm for the HkS problem on a tree
Corollary (1)
There is an O(nk) algorithm for the HkS problem on a chain
Maria Liazi
Polynomial variants of the DkS/HkS problem
Corollary (2)
There is an O(nk) algorithm for the HkS problem on a cycle
Let a cycle C : u1 , u2 , ..., un , u1 , remove an edge of C , say
e = (un , u1 ) and consider the chain P : u1 , u2 , ..., un
I
Solve the HkS on the chain P
-Let OPT1 (excludes e) be its optimal solution
-If both u1 and un belong to OPT1 :
OPT = OPT1 + w (e)
I
Otherwise:
- Solve the HkS problem on the chain P imposing the
algorithm to include both u1 and un and the weight w (e)
- Let OPT2 be its optimal solution (OPT2 includes edge e)
I
OPT = max{OPT1 , OPT2 }
Maria Liazi
Polynomial variants of the DkS/HkS problem
Corollary (2)
There is an O(nk) algorithm for the HkS problem on a cycle
Let a cycle C : u1 , u2 , ..., un , u1 , remove an edge of C , say
e = (un , u1 ) and consider the chain P : u1 , u2 , ..., un
I
Solve the HkS on the chain P
-Let OPT1 (excludes e) be its optimal solution
-If both u1 and un belong to OPT1 :
OPT = OPT1 + w (e)
I
Otherwise:
- Solve the HkS problem on the chain P imposing the
algorithm to include both u1 and un and the weight w (e)
- Let OPT2 be its optimal solution (OPT2 includes edge e)
I
OPT = max{OPT1 , OPT2 }
Maria Liazi
Polynomial variants of the DkS/HkS problem
Corollary (2)
There is an O(nk) algorithm for the HkS problem on a cycle
Let a cycle C : u1 , u2 , ..., un , u1 , remove an edge of C , say
e = (un , u1 ) and consider the chain P : u1 , u2 , ..., un
I
Solve the HkS on the chain P
-Let OPT1 (excludes e) be its optimal solution
-If both u1 and un belong to OPT1 :
OPT = OPT1 + w (e)
I
Otherwise:
- Solve the HkS problem on the chain P imposing the
algorithm to include both u1 and un and the weight w (e)
- Let OPT2 be its optimal solution (OPT2 includes edge e)
I
OPT = max{OPT1 , OPT2 }
Maria Liazi
Polynomial variants of the DkS/HkS problem
Corollary (2)
There is an O(nk) algorithm for the HkS problem on a cycle
Let a cycle C : u1 , u2 , ..., un , u1 , remove an edge of C , say
e = (un , u1 ) and consider the chain P : u1 , u2 , ..., un
I
Solve the HkS on the chain P
-Let OPT1 (excludes e) be its optimal solution
-If both u1 and un belong to OPT1 :
OPT = OPT1 + w (e)
I
Otherwise:
- Solve the HkS problem on the chain P imposing the
algorithm to include both u1 and un and the weight w (e)
- Let OPT2 be its optimal solution (OPT2 includes edge e)
I
OPT = max{OPT1 , OPT2 }
Maria Liazi
Polynomial variants of the DkS/HkS problem
Let gi = (Vi , Ei ), |Vi | = ni , 1 ≤ i ≤ m,, the connected components
of G (gi is either a cycle or a path)
Our algorithm is in two steps:
1. Solve all HjS problems, 1 ≤ j ≤ min{ni , k}, for each
gi , 1 ≤ i ≤ m, by:
Corollary 1, if gi is a chain, Corollary 2, if gi is a cycle
P
Complexity: For all gi ’s, 1 ≤ i ≤ m: O(k m
i=1 ni ) = O(kn).
Maria Liazi
Polynomial variants of the DkS/HkS problem
Let gi = (Vi , Ei ), |Vi | = ni , 1 ≤ i ≤ m,, the connected components
of G (gi is either a cycle or a path)
Our algorithm is in two steps:
1. Solve all HjS problems, 1 ≤ j ≤ min{ni , k}, for each
gi , 1 ≤ i ≤ m, by:
Corollary 1, if gi is a chain, Corollary 2, if gi is a cycle
P
Complexity: For all gi ’s, 1 ≤ i ≤ m: O(k m
i=1 ni ) = O(kn).
Maria Liazi
Polynomial variants of the DkS/HkS problem
Let gi = (Vi , Ei ), |Vi | = ni , 1 ≤ i ≤ m,, the connected components
of G (gi is either a cycle or a path)
Our algorithm is in two steps:
1. Solve all HjS problems, 1 ≤ j ≤ min{ni , k}, for each
gi , 1 ≤ i ≤ m, by:
Corollary 1, if gi is a chain, Corollary 2, if gi is a cycle
P
Complexity: For all gi ’s, 1 ≤ i ≤ m: O(k m
i=1 ni ) = O(kn).
Maria Liazi
Polynomial variants of the DkS/HkS problem
2. Solve the HkS problem on G :
Select a set of optimal solutions to the HjS problems on gi ’s such
that:
- at most one solution (for some value of j) is selected for each gi
- the total number of their vertices is k, and
- their total cost is maximized
I
Cij , 1 ≤ i ≤ m, 1 ≤ j ≤ k: the cost of the optimal solution to
the HjS problem on gi
I
For gi ’s where k > ni : set Cij = 0 for j > ni
Maria Liazi
Polynomial variants of the DkS/HkS problem
2. Solve the HkS problem on G :
Select a set of optimal solutions to the HjS problems on gi ’s such
that:
- at most one solution (for some value of j) is selected for each gi
- the total number of their vertices is k, and
- their total cost is maximized
I
Cij , 1 ≤ i ≤ m, 1 ≤ j ≤ k: the cost of the optimal solution to
the HjS problem on gi
I
For gi ’s where k > ni : set Cij = 0 for j > ni
Maria Liazi
Polynomial variants of the DkS/HkS problem
2. Solve the HkS problem on G :
Select a set of optimal solutions to the HjS problems on gi ’s such
that:
- at most one solution (for some value of j) is selected for each gi
- the total number of their vertices is k, and
- their total cost is maximized
I
Cij , 1 ≤ i ≤ m, 1 ≤ j ≤ k: the cost of the optimal solution to
the HjS problem on gi
I
For gi ’s where k > ni : set Cij = 0 for j > ni
Maria Liazi
Polynomial variants of the DkS/HkS problem
A generalization of the KNAPSACK problem:
-items are partitioned into groups and we have to select at most
one item from each group
Using a binary variable yij our problem is formulated as following:
max
m X
k
X
Cij yij
i=1 j=1
k
X
yij ≤ 1,
1≤i ≤m
j=1
m X
k
X
jyij ≤ k
i=1 j=1
yij ∈ {0, 1}, 1 ≤ i ≤ m, 1 ≤ j ≤ k
Maria Liazi
Polynomial variants of the DkS/HkS problem
A generalization of the KNAPSACK problem:
-items are partitioned into groups and we have to select at most
one item from each group
Using a binary variable yij our problem is formulated as following:
max
m X
k
X
Cij yij
i=1 j=1
k
X
yij ≤ 1,
1≤i ≤m
j=1
m X
k
X
jyij ≤ k
i=1 j=1
yij ∈ {0, 1}, 1 ≤ i ≤ m, 1 ≤ j ≤ k
Maria Liazi
Polynomial variants of the DkS/HkS problem
Complexity:
-this problem can be solved in O(mk 2 ) time by a dynamic
programming algorithm [Laoutaris et al., IPL, 2004]
- O(nk 2 ) time for the second step
Combining the two steps of our algorithm we obtain
Theorem
There is an O(nk 2 ) algorithm for the HkS problem on
graphs of maximal degree two
Maria Liazi
Polynomial variants of the DkS/HkS problem
Complexity:
-this problem can be solved in O(mk 2 ) time by a dynamic
programming algorithm [Laoutaris et al., IPL, 2004]
- O(nk 2 ) time for the second step
Combining the two steps of our algorithm we obtain
Theorem
There is an O(nk 2 ) algorithm for the HkS problem on
graphs of maximal degree two
Maria Liazi
Polynomial variants of the DkS/HkS problem
I
Interval graph G = (V , E ) : to each vertex u ∈ V can be
assigned an interval IT
u on the real line such that
(u, v ) ∈ E ⇐⇒ I (u) I (v ) 6= ∅
I
Clique Graph of G : A weighted graph such that:
- its vertices correspond to maximal cliques, Ui , of G
- there is an edge (Ui , Uj ) iff Ui ∩ Uj 6= ∅
- w (Ui , Uj ) = |Ui ∩ Uj |
I
Clique Tree of G : a maximum weight spanning tree of its
clique graph
I
All the maximal cliques of an interval graph (and its Clique
Graph and Clique Tree) can be found in linear time
[Gilmore and Hoffman, Canad. J. Math., 1964]
I
The Clique tree of an interval graph is a simple path
Maria Liazi
Polynomial variants of the DkS/HkS problem
I
Interval graph G = (V , E ) : to each vertex u ∈ V can be
assigned an interval IT
u on the real line such that
(u, v ) ∈ E ⇐⇒ I (u) I (v ) 6= ∅
I
Clique Graph of G : A weighted graph such that:
- its vertices correspond to maximal cliques, Ui , of G
- there is an edge (Ui , Uj ) iff Ui ∩ Uj 6= ∅
- w (Ui , Uj ) = |Ui ∩ Uj |
I
Clique Tree of G : a maximum weight spanning tree of its
clique graph
I
All the maximal cliques of an interval graph (and its Clique
Graph and Clique Tree) can be found in linear time
[Gilmore and Hoffman, Canad. J. Math., 1964]
I
The Clique tree of an interval graph is a simple path
Maria Liazi
Polynomial variants of the DkS/HkS problem
I
Interval graph G = (V , E ) : to each vertex u ∈ V can be
assigned an interval IT
u on the real line such that
(u, v ) ∈ E ⇐⇒ I (u) I (v ) 6= ∅
I
Clique Graph of G : A weighted graph such that:
- its vertices correspond to maximal cliques, Ui , of G
- there is an edge (Ui , Uj ) iff Ui ∩ Uj 6= ∅
- w (Ui , Uj ) = |Ui ∩ Uj |
I
Clique Tree of G : a maximum weight spanning tree of its
clique graph
I
All the maximal cliques of an interval graph (and its Clique
Graph and Clique Tree) can be found in linear time
[Gilmore and Hoffman, Canad. J. Math., 1964]
I
The Clique tree of an interval graph is a simple path
Maria Liazi
Polynomial variants of the DkS/HkS problem
I
Interval graph G = (V , E ) : to each vertex u ∈ V can be
assigned an interval IT
u on the real line such that
(u, v ) ∈ E ⇐⇒ I (u) I (v ) 6= ∅
I
Clique Graph of G : A weighted graph such that:
- its vertices correspond to maximal cliques, Ui , of G
- there is an edge (Ui , Uj ) iff Ui ∩ Uj 6= ∅
- w (Ui , Uj ) = |Ui ∩ Uj |
I
Clique Tree of G : a maximum weight spanning tree of its
clique graph
I
All the maximal cliques of an interval graph (and its Clique
Graph and Clique Tree) can be found in linear time
[Gilmore and Hoffman, Canad. J. Math., 1964]
I
The Clique tree of an interval graph is a simple path
Maria Liazi
Polynomial variants of the DkS/HkS problem
I
Interval graph G = (V , E ) : to each vertex u ∈ V can be
assigned an interval IT
u on the real line such that
(u, v ) ∈ E ⇐⇒ I (u) I (v ) 6= ∅
I
Clique Graph of G : A weighted graph such that:
- its vertices correspond to maximal cliques, Ui , of G
- there is an edge (Ui , Uj ) iff Ui ∩ Uj 6= ∅
- w (Ui , Uj ) = |Ui ∩ Uj |
I
Clique Tree of G : a maximum weight spanning tree of its
clique graph
I
All the maximal cliques of an interval graph (and its Clique
Graph and Clique Tree) can be found in linear time
[Gilmore and Hoffman, Canad. J. Math., 1964]
I
The Clique tree of an interval graph is a simple path
Maria Liazi
Polynomial variants of the DkS/HkS problem
U1
U2
C1
Ui−1
C2
Q1
Ui
Uz
Ui+1
1111111111
0000000000
0000000000
1111111111
C
C
0000000000
1111111111
0000000000
1111111111
Q
Q
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
i
Ci−1
Cz
i+1
Q2
i
i−1
c
Qz−1
Qz
a
d
b
Our subclass: interval graphs whose the clique graph is a simple path
I
U1 , ..., Uz : the maximal cliques of G
I
Qi = Ui ∩ Ui+1 , i = 1, ..., z − 1
I
Qz is a single vertex in Uz − Qz−1
I
C1 = U1 − Q1 , Ci = Ui − Qi − Qi−1 , i = 2, ..., z
Maria Liazi
Polynomial variants of the DkS/HkS problem
U1
U2
C1
Ui−1
C2
Q1
Ui
Uz
Ui+1
1111111111
0000000000
0000000000
1111111111
C
C
0000000000
1111111111
0000000000
1111111111
Q
Q
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
i
Ci−1
Cz
i+1
Q2
i
i−1
c
Qz−1
Qz
a
d
b
I
Gi : the subgraph U1 , U2 , ..., Ui of G
I
ui : a vertex in Qi , i = 1, ..., z (the ”last” vertex of Gi )
I
fui (j): the value of an optimal solution to DjS on Gi
I
it is sufficient to examine only one vertex per Qi , i = 1, ..., z:
the value fui (j) is the same for all the vertices of Qi
Maria Liazi
Polynomial variants of the DkS/HkS problem
U1
U2
C1
Ui−1
C2
Q1
Ui
Uz
Ui+1
1111111111
0000000000
0000000000
1111111111
C
C
0000000000
1111111111
0000000000
1111111111
Q
Q
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
i
Ci−1
Cz
i+1
Q2
i
i−1
c
Qz−1
Qz
a
d
b
I
fui (j, 0): the value of an optimal solution to DjS on Gi
not including vertices of Qi ,
I
fui (j, a): the value of an optimal solution to DjS on Gi
including exactly a vertices of Qi , where 1 ≤ a ≤ |Qi |,
fui (j) = max {fui (j, a)}
I
0≤a≤|Qi |
Maria Liazi
Polynomial variants of the DkS/HkS problem
U1
U2
C1
Ui−1
C2
Q1
Ui
Uz
Ui+1
1111111111
0000000000
0000000000
1111111111
C
C
0000000000
1111111111
0000000000
1111111111
Q
Q
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
i
Ci−1
Cz
i+1
Q2
i
i−1
c
Qz−1
Qz
a
d
b
I
fui (j, 0): the value of an optimal solution to DjS on Gi
not including vertices of Qi ,
I
fui (j, a): the value of an optimal solution to DjS on Gi
including exactly a vertices of Qi , where 1 ≤ a ≤ |Qi |,
fui (j) = max {fui (j, a)}
I
0≤a≤|Qi |
Maria Liazi
Polynomial variants of the DkS/HkS problem
U1
U2
C1
Ui−1
C2
Q1
Ui
Uz
Ui+1
1111111111
0000000000
0000000000
1111111111
C
C
0000000000
1111111111
0000000000
1111111111
Q
Q
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
i
Ci−1
Cz
i+1
Q2
i
i−1
c
Qz−1
Qz
a
d
b
I
fui (j, 0): the value of an optimal solution to DjS on Gi
not including vertices of Qi ,
I
fui (j, a): the value of an optimal solution to DjS on Gi
including exactly a vertices of Qi , where 1 ≤ a ≤ |Qi |,
fui (j) = max {fui (j, a)}
I
0≤a≤|Qi |
Maria Liazi
Polynomial variants of the DkS/HkS problem
U1
U2
C1
Ui−1
C2
Q1
Ui
Uz
Ui+1
1111111111
0000000000
0000000000
1111111111
C
C
0000000000
1111111111
0000000000
1111111111
Q
Q
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
i
Ci−1
Cz
i+1
Q2
i
i−1
c
Qz−1
Qz
a
d
b
I
the algorithm computes recursively the values fui (j)
for each i = 1, 2, ..., z and each j = 1, 2, ..., k
I
the optimal solution is fuz (k) = maxa=0,1 {fuz (k, a)}, since |Qz | = 1.
Maria Liazi
Polynomial variants of the DkS/HkS problem
For ui ∈ Qi , 2 ≤ i ≤ z, 1 ≤ j ≤ k
I
For a = 0:
fui (j, a) = fui−1 (j)
I
For 1 ≤ a ≤ |Qi |:
fui (j, a) =

 j(j − 1)/2,
if j ≤ |Ui − Qi | + a
a + b
max {fui−1 (c + d, c) +
+ c(a + b)}, otherwise

a+b+c+d=j
2
where 0 ≤ b ≤ |Ci |, 1 ≤ c ≤ |Qi−1 |, 0 ≤ d ≤ |
Maria Liazi
Si−1
i=1 Ui
− Qi−1 |
Polynomial variants of the DkS/HkS problem
For ui ∈ Qi , 2 ≤ i ≤ z, 1 ≤ j ≤ k
I
For a = 0:
fui (j, a) = fui−1 (j)
I
For 1 ≤ a ≤ |Qi |:
fui (j, a) =

 j(j − 1)/2,
if j ≤ |Ui − Qi | + a
a + b
max {fui−1 (c + d, c) +
+ c(a + b)}, otherwise

a+b+c+d=j
2
where 0 ≤ b ≤ |Ci |, 1 ≤ c ≤ |Qi−1 |, 0 ≤ d ≤ |
Maria Liazi
Si−1
i=1 Ui
− Qi−1 |
Polynomial variants of the DkS/HkS problem
Theorem
There is an O(nk 4 ) algorithm for the connected DkS problem on
interval graphs whose the clique graph is a simple path
Time to compute all fui (j):
- for each combination of a, b, c, d such that
a + b + c + d = j ≤ k: O(k 3 )
- for all j’s, j = 1, 2, ..., k: O(k 4 )
- for all ui ’s, i = 1, 2, ..., z ≤ n: O(nk 4 )
Maria Liazi
Polynomial variants of the DkS/HkS problem
I
What is the complexity of the DkS problem on:
I
I
I
I
Approximation algorithms for special graph classes:
I
I
I
I
I
I
I
Interval graphs
Proper interval graphs
Permutation graphs
Bipartite graphs
Comparability graphs
Chordal graphs
Planar graphs
Bounded degree graphs, (even bipartite)
Regular graphs
Better approximation algorithms for arbitrary graphs
Maria Liazi
Polynomial variants of the DkS/HkS problem