Thyroid Physiology_Dr.E. Muralinath_ Associate Professor
Maximum weighted edge biclique problem on bipartite graphs
1. CALDAM2020
Maximum Weighted Edge
Biclique Problem on Bipartite
Graphs
Arti Pandey, Gopika Sharma, Nivedit Jain
1
arti@iitrpr.ac.in,
2017maz0007@iitrpr.ac.in,
jain.22@iitj.ac.in
Presented By:- Nivedit Jain
(14th Feb 2020 at IIT Hyderabad)
3. What is a Biclique?
A pair of two disjoint subsets
𝐴 and 𝐵, of 𝑉 is called
Biclique, if 𝑎, 𝑏 ∈ 𝐸 ∀ 𝑎
∈ 𝐴 and 𝑏 ∈ 𝐵,
where 𝑉 denotes the set of
all vertices and 𝐸 denotes
the set of edges
3
René Peeters, The maximum edge biclique
problem is NP-complete, Discrete Applied
Mathematics, Volume 131, Issue 3,2003.
A B
4. Maximum Weighted Edge Biclique (MWEB)
Problem
4
Given a weighted graph 𝐺 = (𝑉, 𝐸, 𝜔), where each edge 𝑒 ∈
𝐸 has a weight 𝜔 𝑒 ∈ ℝ , the MWEB problem is to find a
biclique 𝐶 of 𝐺 such that sum of weights of 𝐶 is maximum.
5. 5
Maximum Weighted Edge Biclique (MWEB)
Problem
Clique Weights
-1
10
9
-11
5
6
-1
10
-11
9
6
A’
5
B
A
C
D
C’
B’
Trivial Cliques
6. 6
Maximum Weighted Edge Biclique (MWEB)
Problem
Clique Weights
-1
10
9
-11
5
6
19
-1
10
-11
9
6
A’
5
B
A
C
D
C’
B’
7. 7
Maximum Weighted Edge Biclique (MWEB)
Problem
Clique Weights
-1
10
9
-11
5
6
19
-6
-1
10
-11
9
6
A’
5
B
A
C
D
C’
B’
8. 8
Maximum Weighted Edge Biclique (MWEB)
Problem
Clique Weights
-1
10
9
-11
5
6
19
-6
-12
-1
10
-11
9
6
A’
5
B
A
C
D
C’
B’
9. 9
Maximum Weighted Edge Biclique (MWEB)
Problem
Clique Weights
-1
10
9
-11
5
6
19
-6
-12
11
-1
10
-11
9
6
A’
5
B
A
C
D
C’
B’
10. 10
Maximum Weighted Edge Biclique (MWEB)
Problem
Clique Weights
-1
10
9
-11
5
6
19
-6
-12
11
-1
10
-11
9
6
A’
5
B
A
C
D
C’
B’
11. Application
Molecular Biology
11
Nussbaum, D., Pu, S., Sack, J.R., Uno, T., Zarrabi-Zadeh, H.: Finding maximum edge
bicliques in convex bipartite graphs. Algorithmica 64(2) (2012) 311–325
12. Applications-Molecular Biology
› to capture the relationship
between genes and conditions
› to find a subset of genes 𝐺 and
a subset of conditions 𝐶 such
that the change in the
expression level of each 𝑔 ∈ 𝐺
with respect to each 𝑐 ∈ 𝐶 is
significant
12
Nussbaum, D., Pu, S., Sack, J.R., Uno, T., Zarrabi-Zadeh,
H.: Finding maximum edge bicliques in convex bipartite
graphs. Algorithmica 64(2) (2012) 311–325
14. Our Work!
› The decision version of the Maximum Weighted Edge
Biclique(MWEB) is NP-Complete even for complete
bipartite graphs
14
15. Our Work!
› The decision version of the Maximum Weighted Edge
Biclique(MWEB) is NP-Complete even for complete
bipartite graphs
› MWEB (with weights ≥ 0) can be solved for bipartite
permutation graphs in 𝑶 𝒏 𝟐 time.
15
16. Our Work!
› The decision version of the Maximum Weighted Edge
Biclique(MWEB) is NP-Complete even for complete
bipartite graphs
› MWEB (with weights ≥ 0) can be solved for bipartite
permutation graphs in 𝑶 𝒏 𝟐 time.
› MWEB (with weights ≥ 0) can be solved for chain
graphs in 𝑶 𝒏 + 𝒎 time
16
17. Literature Review
Problem was introduced in 1979 (Garey and Johnson
(1979))
17
Garey, M.R., Johnson, D.S.: A guide to the theory of np-
completeness. Computers and intractability (1979) 641–650
18. MWEB (general case of Maximum Edge Biclique Problem, or
unweighted case) is NP Complete even for bipartite graphs !!!
18
Peeters, R.: The maximum edge biclique problem is NP-
complete. Discrete Appl. Math. 131(3), 651–654 (2003)
19. Chordal bipartite graphs
𝑶(𝐦𝐢𝐧 𝒎𝒍𝒐𝒈𝒏, 𝒏 𝟐
)
19
Kloks, A. J. J., & Kratsch, D. (1992). Treewidth of chordal
bipartite graphs. (Universiteit Utrecht. UU-CS,
Department of Computer Science; Vol. 9228).
MEB problem is polynomial time solvable for
20. Convex bipartite graphs
𝑶(𝒏 𝟐
) was improved to
𝑶(𝒏𝒍𝒐𝒈 𝟑
𝒏𝒍𝒐𝒈𝒍𝒐𝒈𝒏)
20
Nussbaum, D., Pu, S., Sack, J.R., Uno, T., Zarrabi-Zadeh,
H.: Finding maximum edge bicliques in convex bipartite
graphs. Algorithmica 64(2) (2012) 311–325
MEB problem is polynomial time solvable for
21. Bipartite permutation graphs
𝑶(𝒏)
21
MEB problem is polynomial time solvable for
Nussbaum, D., Pu, S., Sack, J.R., Uno, T., Zarrabi-Zadeh,
H.: Finding maximum edge bicliques in convex bipartite
graphs. Algorithmica 64(2) (2012) 311–325
22. Biconvex graphs
𝑶(𝒏𝜶(𝒏))
22
MEB problem is polynomial time solvable for
Nussbaum, D., Pu, S., Sack, J.R., Uno, T., Zarrabi-Zadeh,
H.: Finding maximum edge bicliques in convex bipartite
graphs. Algorithmica 64(2) (2012) 311–325
23. There exists a 2-approximation algorithm for MEB
problem for dense random bipartite graphs
23
Dawande, M., Keskinocak, P., Tayur, S.: On the biclique
problem in bipartite graphs. Tech. rep., Carnegie-Mellon
University (1997)
24. Hardness Results
24
The MEB problem for bipartite graphs is R3SAT-hard to
approximate within a factor of 𝑛 𝛿
, where 0 < 𝛿 < 1 is some
constant
Feige, U.: Relations between average case complexity and
approximation complexity. In: Proceedings of the thiry-
fourth annual ACM symposium on Theory of
computing, ACM (2002) 534–543
25. Hardness Results
25
Under the random 4-SAT hardness hypothesis for bipartite
graphs, there is no polynomial time approximation algorithm
for the MEB problem within a ratio below 𝑛 𝛿
for some
constant 𝛿 > 0.
Goerdt, A., Lanka, A.: An approximation hardness result for
bipartite clique. In: Electronic Colloquium on
Computational Complexity, Report. Volume 48. (2004)
26. Hardness Results
26
There is no PTAS for MEB problem for bipartite graphs under
the assumption that the SAT problem is not solvable in
probabilistic time 2 𝑛 𝜀
, where 𝑛 is the instant size and 𝜀 > 0 is
close to 0
Ambu¨hl, C., Mastrolilli, M., Svensson, O.: Inapproximability results
for maximum edge biclique, minimum linear arrangement, and
sparsest cut. SIAM Journal on Computing 40(2) (2011) 567–596
27. Hardness Results
27
For a wide range of choices of 𝑆, no polynomial time
algorithm can approximate 𝑆-MWEB problem within a factor
of 𝑛 𝜖 for some 𝜖 > 0 unless 𝑅𝑃 = 𝑁𝑃.
Tan, J.: Inapproximability of maximum weighted edge biclique and its
applications. In: International Conference on Theory and
Applications of Models of Computation, Springer (2008) 282–293
29. Weighted Edge Biclique Decision Problem
(WEBDP)
29
Given a weighted graph 𝐺 and a positive integer 𝑘 > 0, the
WEBDP is to find a biclique 𝐶 of 𝐺 such that sum of edge
weights of 𝐶 is at least 𝑘.
31. Proof
› We know that MEB is
NP-Complete.
31
A’
B
A
C
D
C’
B’
-10
1
32. Proof
› We know that MEB is
NP-Complete.
› Take a Biclique and
Complete it by adding a
edges of a large
negative weights. Make
already existing edges
weight to be 1
32
A’
B
A
C
D
C’
B’
-10
1
33. Proof
› We know that MEB is
NP-Complete.
› Take a Biclique and
Complete it by adding a
edges of a large negative
weights. Make already
existing edges weight to
be 1
› Solving MEB≡ Solving
WEBDP(for complete
Bipartite) .
33
A’
B
A
C
D
C’
B’
-10
1
34. What is a Bipartite Permutation Graph?
34
𝑥1
𝑥2
𝑥3
𝑥4
𝑦3
𝑦2
𝑦1
A bipartite graph 𝐺 = 𝐴, 𝐵, 𝐸 is
bipartite permutation if there exists an
ordering of A or B that fulfils the
adjacency and the enclosure
properties.
35. What is a Bipartite Permutation Graph?
35
𝑥1
𝑥2
𝑥3
𝑥4
𝑦3
𝑦2
𝑦1
A bipartite graph 𝐺 = 𝐴, 𝐵, 𝐸 is
bipartite permutation if there exists an
ordering of A or B that fulfils the
adjacency and the enclosure
properties.
An ordering ≺ of B has the
adjacency property if for every
vertex 𝑎𝜖𝐴, 𝑁(𝑎) consists of vertices
that are consecutive in ordering ≺ of
B.
36. What is a Bipartite Permutation Graph?
36
𝑥1
𝑥2
𝑥3
𝑥4
𝑦3
𝑦2
𝑦1
A bipartite graph 𝐺 = 𝐴, 𝐵, 𝐸 is
bipartite permutation if there exists an
ordering of A or B that fulfils the
adjacency and the enclosure
properties.
an ordering ≺ of B has enclosure
property if for every pair of vertices
𝑎, 𝑏 ∈ 𝐴 such that 𝑁(𝑎) ⊂ 𝑁(𝑏),
vertices 𝑁(𝑎)𝑁(𝑏) occur
consecutively in the ordering ≺ of B.
37. Algorithm to Detect Maximum Biclique in a given
Bipartite Permutation Graph with non-negative edges
Let us consider this as our
permutation graph.
37
𝑋1
𝑋4
𝑋5
𝑋6
𝑋7
𝑋2
𝑋3
𝑌1
𝑌2
𝑌3
𝑌4
𝑌5
𝑌6
10
1
117
14
3
2
12
8
1710
13
38. Algorithm to Detect Maximum Biclique in a given
Bipartite Permutation Graph with non-negative edges
STEP 1: Find all safe edges of 𝑮.
STEP 2: Find psa of each vertex of 𝐺.
STEP 3: For each vertex u ∈ 𝑋,
for each 𝑣 ∈ 𝑁 𝑢 ,
if 𝑒 == 𝑢𝑣 is a safe edge
find the maximal biclique 𝐺𝑒
find 𝑊𝑒, the weight of biclique 𝐺𝑒,
using psa of vertices.
STEP 4: Output the maximal biclique 𝐺 𝑒∗ for which 𝑊𝑒∗
is maximum. 38
39. Algorithm to Detect Maximum Biclique in a given
Bipartite Permutation Graph with non-negative edges
Let 𝐺′ = (𝑋′, 𝑌′, 𝐸′) denotes a
maximal biclique of 𝐺 with 𝑋′
=
{𝑥𝑖, 𝑥𝑖+1, … , 𝑥𝑗} and 𝑌′
=
{𝑦𝑖′, 𝑦𝑖′+1,…, 𝑦𝑗′} then edge 𝑥𝑖 𝑦𝑖′ is
called Safe Edge
39
𝑋1
𝑋4
𝑋5
𝑋6
𝑋7
𝑋2
𝑋3
𝑌1
𝑌2
𝑌3
𝑌4
𝑌5
𝑌6
10
1
117
14
3
2
12
8
1710
13
40. Algorithm to Detect Maximum Biclique in a given
Bipartite Permutation Graph with non-negative edges
Let 𝐺′ = (𝑋′, 𝑌′, 𝐸′) denotes a
maximal biclique of 𝐺 with 𝑋′
=
{𝑥𝑖, 𝑥𝑖+1, … , 𝑥𝑗} and 𝑌′
=
{𝑦𝑖′, 𝑦𝑖′+1,…, 𝑦𝑗′} then edge 𝑥𝑖 𝑦𝑖′ is
called Safe Edge
40
𝑋1
𝑋4
𝑋5
𝑋6
𝑋7
𝑋2
𝑋3
𝑌1
𝑌2
𝑌3
𝑌4
𝑌5
𝑌6
10
1
117
14
3
2
12
8
1710
13
41. Algorithm to Detect Maximum Biclique in a given
Bipartite Permutation Graph with non-negative edges
Let 𝐺′ = (𝑋′, 𝑌′, 𝐸′) denotes a
maximal biclique of 𝐺 with 𝑋′
=
{𝑥𝑖, 𝑥𝑖+1, … , 𝑥𝑗} and 𝑌′
=
{𝑦𝑖′, 𝑦𝑖′+1,…, 𝑦𝑗′} then edge 𝑥𝑖 𝑦𝑖′ is
called Safe Edge
41
𝑋1
𝑋4
𝑋5
𝑋6
𝑋7
𝑋2
𝑋3
𝑌1
𝑌2
𝑌3
𝑌4
𝑌5
𝑌6
10
1
117
14
3
2
12
8
1710
13
42. Algorithm to Detect Maximum Biclique in a given
Bipartite Permutation Graph with non-negative edges
STEP 1: Find all safe edges of 𝐺.
STEP 2: Find psa of each vertex of 𝑮.
STEP 3: For each vertex u ∈ 𝑋,
for each 𝑣 ∈ 𝑁 𝑢 ,
if 𝑒 == 𝑢𝑣 is a safe edge
find the maximal biclique 𝐺𝑒
find 𝑊𝑒, the weight of biclique 𝐺𝑒,
using psa of vertices.
STEP 4: Output the maximal biclique 𝐺 𝑒∗ for which 𝑊𝑒∗
is maximum. 42
43. Algorithm to Detect Maximum Biclique in a given
Bipartite Permutation Graph with non-negative edges
Prefix sum array(psa)
𝐴3 1 = 14
𝐴3 2 = 14 + 3 = 17
𝐴3 3 = 17 + 2 = 19
43
𝑋1
𝑋4
𝑋5
𝑋6
𝑋7
𝑋2
𝑋3
𝑌1
𝑌2
𝑌3
𝑌4
𝑌5
𝑌6
10
1
117
14
3
2
12
8
1710
13
44. Algorithm to Detect Maximum Biclique in a given
Bipartite Permutation Graph with non-negative edges
STEP 1: Find all safe edges of 𝐺.
STEP 2: Find psa of each vertex of 𝐺.
STEP 3: For each vertex 𝒖 ∈ 𝑿,
for each 𝑣 ∈ 𝑁 𝑢 ,
if 𝑒 == 𝑢𝑣 is a safe edge
find the maximal biclique 𝐺𝑒
find 𝑊𝑒, the weight of biclique 𝐺𝑒,
using psa of vertices.
STEP 4: Output the maximal biclique 𝐺 𝑒∗ for which 𝑊𝑒∗
is maximum. 44
45. Algorithm to Detect Maximum Biclique in a given
Bipartite Permutation Graph with non-negative edges
STEP 1: Find all safe edges of 𝐺.
STEP 2: Find psa of each vertex of 𝐺.
STEP 3: For each vertex u ∈ 𝑋,
for each 𝑣 ∈ 𝑁 𝑢 ,
if 𝑒 == 𝑢𝑣 is a safe edge
find the maximal biclique 𝐺𝑒
find 𝑊𝑒, the weight of biclique 𝐺𝑒,
using psa of vertices.
STEP 4: Output the maximal biclique 𝑮 𝒆∗ for which
𝑾 𝒆∗ is maximum. 45
46. Algorithm to Detect Maximum Biclique in a given
Bipartite Permutation Graph with non-negative edges
STEP 1: Find all safe edges of 𝐺.
STEP 2: Find psa of each vertex of 𝐺.
STEP 3: For each vertex u ∈ 𝑋,
for each 𝑣 ∈ 𝑁 𝑢 ,
if 𝑒 == 𝑢𝑣 is a safe edge
find the maximal biclique 𝐺𝑒
find 𝑊𝑒, the weight of biclique 𝐺𝑒,
using psa of vertices.
STEP 4: Output the maximal biclique 𝐺 𝑒∗ for which 𝑊𝑒∗
is maximum. 46
𝑶(𝒎)
47. Algorithm to Detect Maximum Biclique in a given
Bipartite Permutation Graph with non-negative edges
STEP 1: Find all safe edges of 𝐺.
STEP 2: Find psa of each vertex of 𝐺.
STEP 3: For each vertex u ∈ 𝑋,
for each 𝑣 ∈ 𝑁 𝑢 ,
if 𝑒 == 𝑢𝑣 is a safe edge
find the maximal biclique 𝐺𝑒
find 𝑊𝑒, the weight of biclique 𝐺𝑒,
using psa of vertices.
STEP 4: Output the maximal biclique 𝐺 𝑒∗ for which 𝑊𝑒∗
is maximum. 47
𝑶(𝒎)
𝑶(𝒎)
48. Algorithm to Detect Maximum Biclique in a given
Bipartite Permutation Graph with non-negative edges
STEP 1: Find all safe edges of 𝐺.
STEP 2: Find psa of each vertex of 𝐺.
STEP 3: For each vertex u ∈ 𝑋,
for each 𝑣 ∈ 𝑁 𝑢 ,
if 𝑒 == 𝑢𝑣 is a safe edge
find the maximal biclique 𝐺𝑒
find 𝑊𝑒, the weight of biclique 𝐺𝑒,
using psa of vertices.
STEP 4: Output the maximal biclique 𝐺 𝑒∗ for which 𝑊𝑒∗
is maximum. 48
𝑶(𝒎)
𝑶(𝒎)
𝑶(𝒏 𝟐
)
49. Algorithm to Detect Maximum Biclique in a given
Bipartite Permutation Graph with non-negative edges
49
Runs in 𝑶(𝒏 𝟐
) time.
50. What is a Chain Graph?
A bipartite graph 𝐺 = (𝑋, 𝑌, 𝐸) is
called a Chain Graph if there
exists an ordering of vertices of
𝑋 = 𝑥1, 𝑥2, … … , 𝑥 𝑛1
and an
ordering of vertices of 𝑌 =
𝑦1, 𝑦2, … … , 𝑦 𝑛2
such that
𝑁 𝑥1 ⊆ 𝑁 𝑥2 ⊆ ⋯ ⊆ N 𝑥 𝑛1
and 𝑁 𝑦1 ⊇ 𝑁 𝑦2 ⊇ ⋯ ⊇
𝑁 𝑦 𝑛2
.
50
𝑥1
𝑥2
𝑥3
𝑥4
𝑦3
𝑦2
𝑦1
51. Algorithm to Detect Maximum Biclique in a
given Chain Graph with non-negative edges
51
𝑥1
𝑥2
𝑥3
𝑥4
𝑥5
𝑦1
𝑦2
𝑦3
𝑦4
12
10
1
4
3
13 6
17
2
16
6
19Let this be our Chain Graph
52. Algorithm to Detect Maximum Biclique in a
given Chain Graph with non-negative edges
STEP 1: Find the partitions 𝑃 = {𝑋1, 𝑋2, … … , 𝑋 𝑘} and
𝑃′ = 𝑌1, 𝑌2, … … , 𝑌𝑘 from the equivalence relation
~, say 𝑅 = < 𝑟𝑋 𝑘
, 𝑟𝑋 𝑘−1
, … , 𝑟𝑋1
>
52
53. Algorithm to Detect Maximum Biclique in a
given Chain Graph with non-negative edges
53
𝑥1
𝑥2
𝑥3
𝑥4
𝑥5
𝑦1
𝑦2
𝑦3
𝑦4
12
10
1
4
3
13 6
17
2
16
6
19
𝑢, 𝑣 ∈ X, 𝑢~𝑣 if and only if vertices 𝑢
and 𝑣 are similar.
54. Algorithm to Detect Maximum Biclique in a
given Chain Graph with non-negative edges
54
𝑥1
𝑥2
𝑥3
𝑥4
𝑥5
𝑦1
𝑦2
𝑦3
𝑦4
12
10
1
4
3
13 6
17
2
16
6
19
We define 𝑢 and 𝑣 to be similar if
𝑁 𝑢 = 𝑁(𝑣).
For a set 𝑆 ⊆ 𝑉 𝐺 , we define 𝑆 to be
a similar neighbourhood set if
every two vertices from 𝑆 are similar.
55. Algorithm to Detect Maximum Biclique in a
given Chain Graph with non-negative edges
55
𝑥1
𝑥2
𝑥3
𝑥4
𝑥5
𝑦1
𝑦2
𝑦3
𝑦4
12
10
1
4
3
13 6
17
2
16
6
19
We obtain,
𝑷 = 𝑿 𝟏, 𝑿 𝟐, … , 𝑿 𝒌 𝟏
𝑷′ = {𝒀 𝟏, 𝒀 𝟐, … , 𝒀 𝒌 𝟐
}
𝑋1
𝑋2
𝑋3
𝑋4
𝑌1
𝑌2
𝑌3
𝑌4
56. Algorithm to Detect Maximum Biclique in a
given Chain Graph with non-negative edges
56
𝑥1
𝑥2
𝑥3
𝑥4
𝑥5
𝑦1
𝑦2
𝑦3
𝑦4
12
10
1
4
3
13 6
17
2
16
6
19
Let 𝐺′ = 𝑋′, 𝑌′, 𝐸′ be a
maximal biclique of 𝐺. Then
there exists an index 1 ≤ 𝑖 ≤ 𝑘
such that
𝑋′ = 𝑋𝑖 ∪ 𝑋𝑖+1 ∪ ⋯ ∪ 𝑋 𝑘 and
𝑌′
= 𝑁(𝑟𝑋 𝑖
)
𝑋1
𝑋2
𝑋3
𝑋4
𝑌1
𝑌2
𝑌3
𝑌4
57. Algorithm to Detect Maximum Biclique in a
given Chain Graph with non-negative edges
57
𝑥1
𝑥2
𝑥3
𝑥4
𝑥5
𝑦1
𝑦2
𝑦3
𝑦4
12
10
1
4
3
13 6
17
2
16
6
19
Let 𝐺′ = 𝑋′, 𝑌′, 𝐸′ be a
maximal biclique of 𝐺. Then
there exists an index 1 ≤ 𝑖 ≤ 𝑘
such that
𝑋′ = 𝑋𝑖 ∪ 𝑋𝑖+1 ∪ ⋯ ∪ 𝑋 𝑘 and
𝑌′
= 𝑁(𝑟𝑋 𝑖
)
Graph has exactly 𝒌 maximal
Bicliques.
𝑋1
𝑋2
𝑋3
𝑋4
𝑌1
𝑌2
𝑌3
𝑌4
58. Algorithm to Detect Maximum Biclique in a
given Chain Graph with non-negative edges
58
𝑥1
𝑥2
𝑥3
𝑥4
𝑥5
𝑦1
𝑦2
𝑦3
𝑦4
12
10
1
4
3
13 6
17
2
16
6
19
𝑋1
𝑋2
𝑋3
𝑋4
𝑌1
𝑌2
𝑌3
𝑌4
For a set 𝑆 ∈ 𝑃, a vertex from 𝑆
is called the representative
vertex of the set S, if it is the
least indexed among all the
vertices of S. Denoted by 𝑟𝑠.
59. Algorithm to Detect Maximum Biclique in a
given Chain Graph with non-negative edges
STEP 2: Calculate PTSA for each vertex of Y.
59
STEP 1: Find the partitions 𝑃 = {𝑋1, 𝑋2, … … , 𝑋 𝑘} and
𝑃′ = 𝑌1, 𝑌2, … … , 𝑌𝑘 from the equivalence relation
~, say 𝑅 = < 𝑟𝑋 𝑘
, 𝑟𝑋 𝑘−1
, … , 𝑟𝑋1
>
60. Algorithm to Detect Maximum Biclique in a
given Chain Graph with non-negative edges
60
𝑥1
𝑥2
𝑥3
𝑥4
𝑥5
𝑦1
𝑦2
𝑦3
𝑦4
12
10
1
4
3
13 6
17
2
16
6
19
𝑋1
𝑋2
𝑋3
𝑋4
𝑌1
𝑌2
𝑌3
𝑌4
We define Partition sum
array(ptsa) of size 𝑘 for each 𝑦 ∈
𝑌.
61. Algorithm to Detect Maximum Biclique in a
given Chain Graph with non-negative edges
61
𝑥1
𝑥2
𝑥3
𝑥4
𝑥5
𝒚 𝟏
𝑦2
𝑦3
𝑦4
12
10
1
4
3
13 6
17
2
16
6
19
𝑋1
𝑋2
𝑋3
𝑋4
𝒀 𝟏
𝑌2
𝑌3
𝑌4
We define Partition sum
array(ptsa) of size 𝑘 for each 𝑦 ∈
𝑌.
𝑃 = {𝑋1, 𝑋2, 𝑋3, 𝑋4}
𝐴1 1 = 12 𝐴1 2 = 10 + 4 = 14
𝐴1 3 = 13 𝐴1 4 = 2
62. Algorithm to Detect Maximum Biclique in a
given Chain Graph with non-negative edges
STEP 2: Calculate PTSA for each vertex of Y.
62
STEP 1: Find the partitions 𝑃 = {𝑋1, 𝑋2, … … , 𝑋 𝑘} and
𝑃′ = 𝑌1, 𝑌2, … … , 𝑌𝑘 from the equivalence relation
~, say 𝑅 = < 𝑟𝑋 𝑘
, 𝑟𝑋 𝑘−1
, … , 𝑟𝑋1
>
STEP 3: For each vertex 𝑢 according to the order in
which it appears in 𝑅, find the maximum biclique
𝐺 𝑢 corresponding to the vertex 𝑢. Find 𝑊𝑢, the
weight of biclique 𝐺 𝑢 using PTSA of vertices from
𝑌 ∩ 𝑉(𝐺 𝑢).
63. Algorithm to Detect Maximum Biclique in a
given Chain Graph with non-negative edges
STEP 2: Calculate PTSA for each vertex of Y.
63
STEP 1: Find the partitions 𝑃 = {𝑋1, 𝑋2, … … , 𝑋 𝑘} and
𝑃′ = 𝑌1, 𝑌2, … … , 𝑌𝑘 from the equivalence relation
~, say 𝑅 = < 𝑟𝑋 𝑘
, 𝑟𝑋 𝑘−1
, … , 𝑟𝑋1
>
STEP 3: For each vertex 𝑢 according to the order in
which it appears in 𝑅, find the maximum biclique
𝐺 𝑢 corresponding to the vertex 𝑢. Find 𝑊𝑢, the
weight of biclique 𝐺 𝑢 using PTSA of vertices from
𝑌 ∩ 𝑉(𝐺 𝑢).
STEP 4: Output the maximal biclique 𝐺 𝑢∗ for which 𝑊𝑢∗
is maximum
64. Algorithm to Detect Maximum Biclique in a
given Chain Graph with non-negative edges
STEP 2: Calculate PTSA for each vertex of Y.
64
STEP 1: Find the partitions 𝑃 = {𝑋1, 𝑋2, … … , 𝑋 𝑘} and
𝑃′ = 𝑌1, 𝑌2, … … , 𝑌𝑘 from the equivalence relation
~, say 𝑅 = < 𝑟𝑋 𝑘
, 𝑟𝑋 𝑘−1
, … , 𝑟𝑋1
>
STEP 3: For each vertex 𝑢 according to the order in
which it appears in 𝑅, find the maximum biclique
𝐺 𝑢 corresponding to the vertex 𝑢. Find 𝑊𝑢, the
weight of biclique 𝐺 𝑢 using PTSA of vertices from
𝑌 ∩ 𝑉(𝐺 𝑢).
STEP 4: Output the maximal biclique 𝐺 𝑢∗ for which 𝑊𝑢∗
is maximum
𝑶(n)
65. Algorithm to Detect Maximum Biclique in a
given Chain Graph with non-negative edges
STEP 2: Calculate PTSA for each vertex of Y.
65
STEP 1: Find the partitions 𝑃 = {𝑋1, 𝑋2, … … , 𝑋 𝑘} and
𝑃′ = 𝑌1, 𝑌2, … … , 𝑌𝑘 from the equivalence relation
~, say 𝑅 = < 𝑟𝑋 𝑘
, 𝑟𝑋 𝑘−1
, … , 𝑟𝑋1
>
STEP 3: For each vertex 𝑢 according to the order in
which it appears in 𝑅, find the maximum biclique
𝐺 𝑢 corresponding to the vertex 𝑢. Find 𝑊𝑢, the
weight of biclique 𝐺 𝑢 using PTSA of vertices from
𝑌 ∩ 𝑉(𝐺 𝑢).
STEP 4: Output the maximal biclique 𝐺 𝑢∗ for which 𝑊𝑢∗
is maximum
𝑶(n)
𝑶(m)
66. Algorithm to Detect Maximum Biclique in a
given Chain Graph with non-negative edges
STEP 2: Calculate PTSA for each vertex of Y.
66
STEP 1: Find the partitions 𝑃 = {𝑋1, 𝑋2, … … , 𝑋 𝑘} and
𝑃′ = 𝑌1, 𝑌2, … … , 𝑌𝑘 from the equivalence relation
~, say 𝑅 = < 𝑟𝑋 𝑘
, 𝑟𝑋 𝑘−1
, … , 𝑟𝑋1
>
STEP 3: For each vertex 𝑢 according to the order in
which it appears in 𝑅, find the maximum biclique
𝐺 𝑢 corresponding to the vertex 𝑢. Find 𝑊𝑢, the
weight of biclique 𝐺 𝑢 using PTSA of vertices from
𝑌 ∩ 𝑉(𝐺 𝑢).
STEP 4: Output the maximal biclique 𝐺 𝑢∗ for which 𝑊𝑢∗
is maximum
𝑶(n)
𝑶(m)
𝑶(m)
67. Algorithm to Detect Maximum Biclique in a
given Chain Graph with non-negative edges
STEP 2: Calculate PTSA for each vertex of Y.
67
STEP 1: Find the partitions 𝑃 = {𝑋1, 𝑋2, … … , 𝑋 𝑘} and
𝑃′ = 𝑌1, 𝑌2, … … , 𝑌𝑘 from the equivalence relation
~, say 𝑅 = < 𝑟𝑋 𝑘
, 𝑟𝑋 𝑘−1
, … , 𝑟𝑋1
>
STEP 3: For each vertex 𝑢 according to the order in
which it appears in 𝑅, find the maximum biclique
𝐺 𝑢 corresponding to the vertex 𝑢. Find 𝑊𝑢, the
weight of biclique 𝐺 𝑢 using PTSA of vertices from
𝑌 ∩ 𝑉(𝐺 𝑢).
STEP 4: Output the maximal biclique 𝐺 𝑢∗ for which 𝑊𝑢∗
is maximum
𝑶(n)
𝑶(m)
𝑶(m)
𝑶(k)
68. Algorithm to Detect Maximum Biclique in a
given Chain Graph with non-negative edges
Runs in 𝑶(𝒏 + 𝒎) time.
68
69. Future Aspects
69
› Linear-time algorithm for the MWEB problem in
bipartite permutation graph
› Linear-time algorithm for the MEB problem in convex
bipartite graph
› Approximation Algorithms
– MWEB for chain graphs
– MWEB for permutation graphs
70. References
70
[1] Garey, M.R., Johnson, D.S.: A guide to the theory of np-completeness. Computers and
intractability (1979) 641–650
[2] Peeters, R.: The maximum edge biclique problem is np-complete. Discrete Applied Mathematics
131(3) (2003) 651–654
[3] Dawande, M., Keskinocak, P., Tayur, S.: On the biclique problem in bipartite graphs. Tech. rep.,
Carnegie-Mellon University (1997)
[4] Dawande, M., Keskinocak, P., Swaminathan, J.M., Tayur, S.: On bipartite and multipartite clique
problems. Journal of Algorithms 41(2) (2001) 388–403
[5] Hochbaum, D.S.: Approximating clique and biclique problems. Journal of Algorithms 29(1) (1998)
174–200
[6] Manurangsi, P.: Inapproximability of maximum biclique problems, minimum k-cut and densest
at-least-k-subgraph from the small set expansion hypothesis. Algorithms 11(1) (2018) 10
[7] Tan, J.: Inapproximability of maximum weighted edge biclique and its applications. In: International
Conference on Theory and Applications of Models of Computation, Springer (2008) 282–293
[8] Nussbaum, D., Pu, S., Sack, J.R., Uno, T., Zarrabi-Zadeh, H.: Finding maximum edge bicliques in
convex bipartite graphs. Algorithmica 64(2) (2012) 311–325
[9] Ambu¨hl, C., Mastrolilli, M., Svensson, O.: Inapproximability results for maximum edge biclique,
minimum linear arrangement, and sparsest cut. SIAM Journal on Computing 40(2) (2011) 567–596
[10] Feige, U.: Relations between average case complexity and approximation complexity. In:
Proceedings of the thiry-fourth annual ACM symposium on Theory of computing,
ACM (2002) 534–543
[11] Goerdt, A., Lanka, A.: An approximation hardness result for bipartite clique. In: Electronic
Colloquium on Computational Complexity, Report. Volume 48. (2004)
71. References
71
[12] Alexe, G., Alexe, S., Crama, Y., Foldes, S., Hammer, P.L., Simeone, B.: Consensus
algorithms for the generation of all maximal bicliques. Discrete Applied Mathematics
145(1) (2004) 11–21
[13] Dias, V.M., De Figueiredo, C.M., Szwarcfiter, J.L.: Generating bicliques of a graph in
lexicographic order. Theoretical Computer Science 337(1-3) (2005) 240–248
[14] Dias,V.M., de Figueiredo, C.M., Szwarcfiter, J.L.: On the generation of bicliques of a
graph. Discrete Applied Mathematics 155(14) (2007) 1826–1832
[15] G´ely, A., Nourine, L., Sadi, B.: Enumeration aspects of maximal cliques and bicliques.
Discrete applied mathematics 157(7) (2009) 1447–1459
[16] Kloks, T., Kratsch, D.: Computing a perfect edge without vertex elimination ordering of
a chordal bipartite graph. Information Processing Letters 55(1) (1995) 11–16
[17] Feige, U., Kogan, S.: Hardness of approximation of the balanced complete bipartite
subgraph problem. Dept. Comput. Sci. Appl. Math., Weizmann Inst. Sci., Rehovot, Israel,
Tech. Rep. MCS04-04 (2004)
[18] Ambuhl, C., Mastrolilli, M., Svensson, O.: Inapproximability results for sparsest cut, optimal
linear arrangement, and precedence constrained scheduling. In: 48th Annual IEEE
Symposium on Foundations of Computer Science (FOCS’07), IEEE (2007) 329–337
[19] Spinrad, J., Brandsta¨dt, A., Stewart, L.: Bipartite permutation graphs. Discrete Applied
Mathematics 18(3) (1987) 279–292
[20] Heggernes, P., vant Hof, P., Lokshtanov, D., Nederlof, J.: Computing the cutwidth of bipartite
permutation graphs in linear time. In: International Workshop on Graph-Theoretic Concepts in
Computer Science, Springer (2010) 75–87
[21] Lai, T.H., Wei, S.S.: Bipartite permutation graphs with application to the minimum buffer size
problem. Discrete applied mathematics 74(1) (1997) 33–55