This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

\tocauthor

Dmitry I. Ignatov 11institutetext: Dmitry I. Ignatov 22institutetext: National Research University Higher School of Economics, Moscow and St. Petersburg Department of Steklov Mathematical Institute of Russian Academy of Sciences, Russia, 22email: [email protected] (0000-0002-6584-8534) 33institutetext: Polina Ivanova 44institutetext: National Research University Higher School of Economics, Moscow, Russia, 44email: [email protected] (0000-0001-6010-7991) 55institutetext: Albina Zamaletdinova 66institutetext: National Research University Higher School of Economics, Moscow, Russia, 66email: [email protected]

Mixed Integer Programming for Searching Maximum Quasi-Bicliques

Dmitry I. Ignatov    Polina Ivanova    Albina Zamaletdinova
Abstract

This paper is related to the problem of finding the maximal quasi-bicliques in a bipartite graph (bigraph). A quasi-biclique in the bigraph is its “almost” complete subgraph. The relaxation of completeness can be understood variously; here, we assume that the subgraph is a γ\gamma-quasi-biclique if it lacks a certain number of edges to form a biclique such that its density is at least γ(0,1]\gamma\in(0,1]. For a bigraph and fixed γ\gamma, the problem of searching for the maximal quasi-biclique consists of finding a subset of vertices of the bigraph such that the induced subgraph is a quasi-biclique and its size is maximal for a given graph. Several models based on Mixed Integer Programming (MIP) to search for a quasi-biclique are proposed and tested for working efficiency. An alternative model inspired by biclustering is formulated and tested; this model simultaneously maximizes both the size of the quasi-biclique and its density, using the least-square criterion similar to the one exploited by triclustering TriBox.

1 Introduction

There are many data sources that can be represented as a bipartite graph; for example, in recommender systems and web stores, users can interact with different items like movies, books, clothes, and other products. The most commonly studied data usually has a structure of a bipartite graph whose vertices form two disjoint sets. For example, social network data, where a binary relation between two sets show interactions between people and communities, advertisement data with a set of consumers and a corresponding set of products and so on.

In this study, we are interested in the analysis of such bipartite data and search for dense communities, where almost all elements are connected. A situation where all elements of a community are involved can be described by a concept of a biclique or a complete subgraph of a bipartite graph.

Unfortunately, the community completeness requirement excludes almost complete communities frequently met in real-world data. Due to this reason, we allow some edges to be absent and introduce the concept of quasi-biclique. In order to bound the size of quasi-biclique, we can use the subgraph minimal density or the maximum number of absent edges needed to complete a subgraph.

The problem of searching for maximal quasi-clique is NP-hard (Pattillo et al., 2013) as well as the problem of searching for maximal quasi-biclique (Liu et al., 2008b); the maximum edge biclique problem is known to be NP-complete (Peeters, 2003). Many algorithms that solve those problems are being developed (Wang, 2013; Abello et al., 2002; Sim et al., 2006; Liu et al., 2008a). For instance, Veremyev et al. (2016) offered an exact Mixed Integer Programming model for searching for maximal quasi-clique but the case of bipartite graphs for quasi-bicliques was not yet considered within the MIP framework.

The aim of this paper is to propose a Mixed Integer Programming models for finding a maximum quasi-bicliques in a bipartite graph and compare the results obtained by those models with those of existing algorithms.

The paper is organised as follows. Section 2 introduces several basic definitions, namely biclique, quasi-bicliques, and its density and provides a short overview of related work along with important propositions on algorithmic aspects. Section 3 proposes two Mixed Integer Programming models for quasi-biclique search. In Section 4, the chosen datasets are described. Section 5 summarises the experimental results. Section 6 concludes the paper.

2 Maximum quasi-cliques and quasi-bicliques

2.1 Basic definitions

Let us introduce several basic notions.

Definition 1

In a graph G=(V,E)G=(V,E) a subgraph G=(V,E)G^{\prime}=(V^{\prime},E^{\prime}), where VVV^{\prime}\subseteq V, EEE^{\prime}\subseteq E, is called a vertex-induced subgraph. Let us denote such graph as G[V]G[V^{\prime}].

Definition 2

A complete subgraph of a graph (V,E)(V,E) is called a clique.

Definition 3

A complete bipartite subgraph in a bipartite graph (U,V,EU×V)(U,V,E\subseteq U\times V) is called a biclique.

Definition 4

The density of an arbitrary graph is the ratio of the number of edges to the maximum possible number of edges.

The density of a bipartite graph G=(V,U,E)G=(V,U,E) is ρ=|E||V||U|\rho=\frac{|E|}{|V||U|}.

Definition 5

A subgraph G=(V,E)G^{\prime}=(V^{\prime},E^{\prime}) of a given graph G=(V,E)G=(V,E) is called f(k)f(k)-dense, if GG^{\prime} is a subgraph induced by a vertex subset VVV^{\prime}\subseteq V, |V|=k|V^{\prime}|=k and |E|f(k)|E^{\prime}|\geq f(k), where f:Z+R+f:Z_{+}\rightarrow R_{+} is a chosen function.

Definition 6

A γ\gamma-quasi-biclique in a bipartite graph G=(U,V,E)G=(U,V,E) is its bipartite induced subgraph G=(V,U,EV×U)G^{\prime}=(V^{\prime},U^{\prime},E^{\prime}\subseteq V^{\prime}\times U^{\prime}) with the density at least γ(0,1]\gamma\in(0,1].

2.2 Maximum quasi-cliques

Let us consider properties and searching algorithms of cliques in a graph G=(V,E)G=(V,E).

For a graph G=(V,E)G=(V,E) and a fixed γ(0,1]\gamma\in(0,1] we need to find a VVV^{\prime}\subseteq V such that G[V]G[V^{\prime}] is a γ\gamma-quasi-clique and |V||V^{\prime}| is maximal.

Problem of searching for maximum quasi-clique as well as the problem of searching for maximum clique is NP-hard (Liu et al., 2008b),(Pattillo et al., 2013). In addition to that, the assumption of graph incompleteness leads to the loss of useful properties of a clique. For instance, inheritance property which is used in most maximum clique searching algorithms does not hold. Namely, if G[V]G[V] is a clique, then G[V]G[V^{\prime}] is a clique as well, where VV^{\prime} is a subset of VV. This property does not hold for γ\gamma-quasi-cliques: i.e. a subset of a γ\gamma-quasi-clique is not necessarily a γ\gamma-quasi-clique.

However, for quasi-cliques we can define the property of quasi-inheritance: γ\gamma-quasi-clique with |V|>1|V|>1 is a strict superset to a γ\gamma-quasi-clique with |V|1|V|-1 vertices (Pattillo et al., 2013).

2.3 Maximum quasi-bicliques

The problem of maximum quasi-biclique in a bipartite graph G=(U,V,E)G=(U,~{}V,~{}E) with fixed γ(0,1]\gamma\in(0,1] is to find UUU^{\prime}\subseteq U and VVV^{\prime}\subseteq V such that vertex-induced subgraph G[U,V]G[U^{\prime},V^{\prime}] is a γ\gamma-quasi-biclique of size |U|+|V||U^{\prime}|+|V^{\prime}|, maximum for this graph. Let us denote a maximum γ\gamma-quasi-biclique in the graph GG by ωγ(G)\omega_{\gamma}\left(G\right)

Let us consider several commonly met definitions of quasi-biclique. In Liu et al. (2008b), we can find the following definition.

Definition 7

A induced subgraph G[U,V]G^{\prime}[U^{\prime},V^{\prime}] is called a δ\delta-quasi-biclique (0δ0.50\leq\delta\leq 0.5) in a bipartite graph G=(U,V,E)G=(U,V,E) if:

  1. 1.

    uU:d(u,V)=|{vV|(u,v)E}|(1δ)|V|\forall u\in U^{\prime}:d\left(u,V^{\prime}\right)=\Large{|}\{v\in V^{\prime}|(u,v)\in E\}\Large{|}\geq\left(1-\delta\right)\cdot|V^{\prime}|,

  2. 2.

    vV:d(v,U)=|{uU|(u,v)E}|(1δ)|U|\forall v\in V^{\prime}:d\left(v,U^{\prime}\right)=\Large{|}\{u\in U^{\prime}|(u,v)\in E\}\Large{|}\geq\left(1-\delta\right)\cdot|U^{\prime}| .

In order to consider the third definition of quasi-biclique Sim et al. (2006), let us introduce some useful notations. The neighbourhood of a vertex vVv\in V in a graph G=(V,E)G=(V,E) is a set of vertices Γ(v)={uV|(u,v)E}.\Gamma(v)=\{u\in V|(u,v)\in E\}.

For a vertex set VVV^{\prime}\subseteq V and a vertex vVVv\in V\setminus V^{\prime} let us denote a set of vertices from VV^{\prime} adjacent to vv as ΓV(v)={u|(u,v)E&uV}\Gamma_{V^{\prime}}(v)=\{u|(u,v)\in E\&u\in V^{\prime}\}. By a set of vertices Γ(V)=vVΓ(v)\Gamma(V^{\prime})={\cup_{v\in V^{\prime}}\Gamma(v)} we denote a loose neighbourhood of subset VV^{\prime}

Definition 8

A subgraph G[U,V]G^{\prime}[U^{\prime},V^{\prime}] of a bipartite graph G(U,V,E)G(U,V,E) is called an ϵ\epsilon-quasi-biclique, if for some small positive integer ϵ\epsilon:

  1. 1.

    uU|V||ΓV(u)|ε\forall u\in U^{\prime}|V^{\prime}|-|\Gamma_{V^{\prime}}(u)|\leq\varepsilon,

  2. 2.

    vV|U||ΓU(u)|ε\forall v\in V^{\prime}|U^{\prime}|-|\Gamma_{U^{\prime}}(u)|\leq\varepsilon.

Remark 1

Obviously, Definitions 7 and 8 of quasi-bicliques can be reduced to the definition of γ\gamma-quasi-biclique.

  1. 1.

    In Definition 7, let us sum the first condition over all vertices from UU^{\prime}. We get, that uUd(u,V)(1δ)|V||U|\displaystyle\sum_{u\in U^{\prime}}d\left(u,V^{\prime}\right)\geq\left(1-\delta\right)\cdot|V^{\prime}||U^{\prime}|, where uUd(u,V)\displaystyle\sum_{u\in U^{\prime}}d\left(u,V^{\prime}\right) is a number of edges in a δ\delta-quasi-biclique, |V||U||V^{\prime}||U^{\prime}| is the maximum possible number of edges in a bipartite graph. Thus a δ\delta-quasi-biclique is a γ\gamma-quasi-biclique with γ=1δ\gamma=1-\delta. Both definitions of quasi-biclique are equivalent if γ[0.5,1]\gamma\in[0.5,1].

  2. 2.

    By summing both conditions over sets UU^{\prime} and VV^{\prime}, respectively, in Definition 8 we get:

    uUΓV(u)|U||V|1ε|V|,vVΓU(v)|U||V|1ε|U|.\dfrac{\sum_{u\in U^{\prime}}\Gamma_{V^{\prime}}(u)}{|U^{\prime}||V^{\prime}|}\geq 1-\dfrac{\varepsilon}{|V^{\prime}|},\ \dfrac{\sum_{v\in V^{\prime}}\Gamma_{U^{\prime}}(v)}{|U^{\prime}||V^{\prime}|}\geq 1-\dfrac{\varepsilon}{|U^{\prime}|}.

    Since uUΓV(u)=vVΓU(v)\displaystyle\sum_{u\in U^{\prime}}\Gamma_{V^{\prime}}(u)=\sum_{v\in V^{\prime}}\Gamma_{U^{\prime}}(v) is a number of edges in an ε\varepsilon-quasi-biclique G[U,V]G[U^{\prime},V^{\prime}], then the density of G[U,V]G[U^{\prime},V^{\prime}] is:

    ρ(G[U,V])1εmin(|U|,|V|).\rho(G[U^{\prime},V^{\prime}])\geq 1-\dfrac{\varepsilon}{\min(|U^{\prime}|,|V^{\prime}|)}.

    Bounding the size of a quasi-clique vertex sets from below ωl(1)|U|\omega_{l}^{(1)}\leq|U^{\prime}| and ωl(2)|V|\omega_{l}^{(2)}\leq|V^{\prime}|, we can establish a connection between these definitions. If we let

    γ=1εmin(ωl(1),ωl(2)),\gamma=1-\dfrac{\varepsilon}{\min(\omega_{l}^{(1)},\omega_{l}^{(2)})},

    we obtain that G[U,V]G[U^{\prime},V^{\prime}] is a γ\gamma-quasi-clique under condition ε[0,min(ωl(1),ωl(2)))\varepsilon\in[0,\min(\omega_{l}^{(1)},\omega_{l}^{(2)})).

Most properties of quasi-cliques naturally fulfils for quasi-bicliques as well. However, since the density definition of quasi-biclique differs from the case of quasi-clique and the maximum number of edges is a function of two variables with no convex properties, most algorithms searching for maximum quasi-clique are not directly applicable to search for maximum quasi-biclique.

Pattillo et al. (2013) established inequalities for upper bounds for the size of maximum quasi-clique shown below.

Proposition 1

In a graph G=(V,E)G=(V,E) with |V|=n|V|=n and |E|=m|E|=m the maximum size of a quasi-clique ωγ(G)\omega_{\gamma}(G) satisfies the following inequality:

ωγ(G)γ+γ+8γm2γ.\omega_{\gamma}(G)\leq\dfrac{\gamma+\sqrt{\gamma+8\gamma m}}{2\gamma}. (1)

In order to obtained similar bound for a quasi-biclique, we need to allow the following conditions on quasi-biclique.

Proposition 2

In a bipartite graph G(U,V,E)G(U,V,E), with |U|=nU|U|=n_{U}, |V|=nV|V|=n_{V} and |E|=m|E|=m, the maximum size of a quasi-biclique ωγ(G)\omega_{\gamma}(G) satisfies the following inequalities:

  1. 1.

    ωγ(G)4mγ\omega_{\gamma}(G)\leq\sqrt{\dfrac{4m}{\gamma}}, for balanced quasi-biclique (the sizes of two vertex sets UU and VV are equal),

  2. 2.

    ωγ(G)min{(2+θ)mγ(1θ),(1+11θ)m(1+θ)γ}\omega_{\gamma}(G)\leq\min\left\{(2+\theta)\cdot\sqrt{\dfrac{m}{\gamma(1-\theta)}},\ \left(1+\dfrac{1}{1-\theta}\right)\cdot\sqrt{\dfrac{m(1+\theta)}{\gamma}}\right\}, if θ(0,1)\theta\in(0,1) and sizes of vertex sets differ from each other by no more than in θ\theta.

Proof

Let UU^{\prime} and VV^{\prime} be vertex sets of a maximum γ\gamma-quasi-biclique and let nUn_{U^{\prime}} and nVn_{V^{\prime}} be their cardinalities, respectively.

  1. 1.

    For balanced quasi-clique nU=nVn_{U^{\prime}}=n_{V^{\prime}}, hence ωγ(G)=2nU\omega_{\gamma}(G)=2\cdot n_{U^{\prime}}. Obviously, that the maximum possible number of edges in a quasi-biclique in less than the total number of graph edges. Then

    γnU2=γ(ωγ(G)2)2m,\gamma\cdot n_{U^{\prime}}^{2}=\gamma\cdot\left(\dfrac{\omega_{\gamma}(G)}{2}\right)^{2}\leq m,
  2. 2.

    γ\gamma-quasi-biclique is “almost” balanced when (1θ)nVnU(1+θ)nV(1-\theta)~{}n_{V^{\prime}}~{}\leq n_{U^{\prime}}~{}\leq(1+\theta)~{}n_{V^{\prime}}. Thus,

    ωγ(G)=nU+nV(2+θ)nV\displaystyle\omega_{\gamma}(G)=n_{U^{\prime}}+n_{V^{\prime}}\leq(2+\theta)n_{V^{\prime}}\Rightarrow
    mγnUnVγ(1θ)nV2γ(1θ)(ωγ(G)2+θ)2\displaystyle m\geq\gamma\cdot n_{U^{\prime}}\cdot n_{V^{\prime}}\geq\gamma\cdot(1-\theta)\cdot n_{V^{\prime}}^{2}\geq\gamma\cdot(1-\theta)\cdot\left(\dfrac{\omega_{\gamma}(G)}{2+\theta}\right)^{2}\Rightarrow
    ωγ(G)m(2+θ)2γ(1θ).\displaystyle\Rightarrow\omega_{\gamma}(G)\leq\sqrt{\dfrac{m(2+\theta)^{2}}{\gamma(1-\theta)}}.

    Analogously,

    ωγ(G)(1+11θ)nU,γnUnVγ1(1+θ)nU2\displaystyle\omega_{\gamma}(G)\leq\left(1+\frac{1}{1-\theta}\right)n_{U^{\prime}},\ \gamma\cdot n_{U^{\prime}}\cdot n_{V^{\prime}}\geq\gamma\cdot\frac{1}{(1+\theta)}n_{U^{\prime}}^{2}\Rightarrow
    ωγ(G)(1+11θ)m(1+θ)γ.\displaystyle\Rightarrow\omega_{\gamma}(G)\leq\left(1+\dfrac{1}{1-\theta}\right)\sqrt{\dfrac{m(1+\theta)}{\gamma}}.

Now let us discuss a few chosen algorithms that implement maximum quasi-biclique search.

A greedy algorithm for searching maximum quasi-bicliques according to Definition 7 is discussed in detail by Liu et al. (2008b). The algorithm uses two parameters: 1) δ\delta to control the size of the quasi-biclique (δ=1γ\delta=1-\gamma) and 2) τ\tau to control the smallest possible number of vertices that belong to one of the partitions of a quasi-biclique. Let us denote by UU^{\prime} and VV^{\prime} vertex sets of quasi-biclique of the graph G(U,V,E)G(U,V,E). At the beginning of the algorithm we set U=U^{\prime}=\emptyset and V=VV^{\prime}=V. From the vertex set UUU\setminus U^{\prime} we choose such vertex uu that its degree is maximum and delete from VV’ all vertices for which d(v,U)<(1δ)|U|d(v,U^{\prime})<(1-\delta)\cdot|U^{\prime}|. This process continues as long as the size of U<τU^{\prime}<\tau. However, this algorithm can miss possible vertex candidates, thus authors introduce the second step of the algorithm: if there is a vertex uu outside of the current vertex set UU^{\prime} such that its degree is maximum in UUU\setminus U^{\prime} and U{u}U^{\prime}\cup\{u\} remains a quasi-biclique, then it can be added to UU^{\prime}. The same applies to VV^{\prime} as long as there is a vertex to add.

3 Quasi-biclique searching models

3.1 Model 1

In this section we will show how to adapt the model F3 from Veremyev et al. (2016) for searching for maximum quasi-bicliques. Let us consider disjoint sets UVU^{\prime}\cup V^{\prime}, UVU^{\prime}\cap V^{\prime} = \emptyset that form a quasi-biclique of a bipartite graph G=(U,V,E)G=(U,V,E). Using similar techniques as in Veremyev et al. (2016), we introduce the following variables:

ui=1iU,\displaystyle u_{i}=1\Leftrightarrow i\in U^{\prime},
vj=1jV,\displaystyle v_{j}=1\Leftrightarrow j\in V^{\prime},
yij=1(i,j)E(U×V)\displaystyle y_{ij}=1\Leftrightarrow\exists(i,j)\in E\cap\left(U^{\prime}\times V^{\prime}\right)
zk(1)=1|U|=k,zk(2)=|V|,\displaystyle z_{k}^{(1)}=1\Leftrightarrow|U^{\prime}|=k,z_{k}^{(2)}=|V^{\prime}|,
ωl(1),ωu(1)are the lower and upper bounds, respectively, for the vertex set U,\displaystyle\omega_{l}^{(1)},\omega_{u}^{(1)}\mbox{are the lower and upper bounds, respectively, for the vertex set }U^{\prime},
ωl(2),ωu(2)are the lower and upper bounds, respectively, for the vertex set V.\displaystyle\omega_{l}^{(2)},\omega_{u}^{(2)}\mbox{are the lower and upper bounds, respectively, for the vertex set }V^{\prime}.

We can refine the sizes of vertex sets of a quasi-biclique using Proposition 2. Then we build Model 1:

Model 1

ωγ(G)=maxu,v,y,z[iUui+jVvj],\displaystyle\omega_{\gamma}(G)=\max_{u,v,y,z}\left[\sum_{i\in U}{u_{i}}+\sum_{j\in V}{v_{j}}\right], (2)
under conditions(i,j)Eyijγn=ωl(1)ωu(1)m=ωl(2)ωu(2)nmzn(1)zm(2),\displaystyle\mbox{under conditions}\sum_{(i,j)\in E}{y_{ij}}\geq\gamma\sum_{n=\omega_{l}^{(1)}}^{\omega_{u}^{(1)}}\sum_{m=\omega_{l}^{(2)}}^{\omega_{u}^{(2)}}{n\cdot m\cdot z_{n}^{(1)}\cdot z_{m}^{(2)}}, (3)
iU,jV:yijui,yijvj,yijvi+vj1,\displaystyle\forall i\in U,\forall j\in V:y_{ij}\leq u_{i},y_{ij}\leq v_{j},y_{ij}\geq v_{i}+v_{j}-1, (4)
iUui=n=ωl(1)ωu(1)nzn(1),jVvj=m=ωl(2)ωu(2)mzm(2),\displaystyle\sum_{i\in U}{u_{i}}=\sum_{n=\omega_{l}^{(1)}}^{\omega_{u}^{(1)}}{nz_{n}^{(1)}},\sum_{j\in V}{v_{j}}=\sum_{m=\omega^{(2)}_{l}}^{\omega_{u}^{(2)}}{mz_{m}^{(2)}}, (5)
n=ωl(1)ωu(1)zn(1)=1,m=ωl(2)ωu(2)zm(2)=1,\displaystyle\sum_{n=\omega_{l}^{(1)}}^{\omega_{u}^{(1)}}{z_{n}^{(1)}}=1,\sum_{m=\omega^{(2)}_{l}}^{\omega_{u}^{(2)}}{z_{m}^{(2)}}=1, (6)
iU,jV:ui{0,1},vj{0,1},i<j,(i,j)E:yij{0,1},\displaystyle\forall i\in U,\forall j\in V:u_{i}\in\{0,1\},v_{j}\in\{0,1\},\forall i<j,(i,j)\in E:y_{ij}\in\{0,1\},\ (7)
n{ωl(1):zn(1)0,,ωu(1)},m{ωl(2),,ωu(2)}:zm(2)0.\displaystyle\forall n\in\{\omega_{l}^{(1)}:z_{n}^{(1)}\geq 0\ ,\ldots,\omega_{u}^{(1)}\},\forall m\in\{\omega_{l}^{(2)},\ldots,\omega_{u}^{(2)}\}:z_{m}^{(2)}\geq 0. (8)

As in the model F3 we can bound zk(1)z_{k}^{(1)} and zk(2)z_{k}^{(2)} and recast them from binary into continuous variables.

Suppose, that there exists an optimal solution (u,v,y,z(1)¯,z(2)¯)\left(u^{*},~{}v^{*},~{}y^{*},~{}\overline{z^{(1)}},~{}\overline{z^{(2)}}\right) of Model 1, where vectors z(1)¯\overline{z^{(1)}} and z(2)¯\overline{z^{(2)}} are not binary (zn(1)¯0,zn(2)¯0)\left(\overline{z_{n}^{(1)}}\geq 0,\ \overline{z_{n}^{(2)}}\geq 0\right). Let z(1)^\widehat{z^{(1)}} be a binary vector with zk(1)^=1|U|=k\widehat{z^{(1)}_{k}}=1\Leftrightarrow|U^{\prime}|=k and zk(1)^=0\widehat{z^{(1)}_{k}}=0 otherwise, where k{ωl(1),,ωu(1)}k\in\{\omega_{l}^{(1)},\ldots,\omega_{u}^{(1)}\}; analogously, vector z(2)^\widehat{z^{(2)}}: zk(2)^=1|V|=k\displaystyle\widehat{z^{(2)}_{k}}=1\Leftrightarrow|V^{\prime}|=k and 0 otherwise. Hence, it is obvious, that vectors z(1)^\widehat{z^{(1)}} and z(2)^\widehat{z^{(2)}} satisfy constraint 6. Constraints 3 and 5 can be rewritten as follows:

iUui=n=ωl(1)ωu(1)nzn(1)^,jVvj=m=ωl(2)ωu(2)mzm(2)^ (by definition),\displaystyle\sum_{i\in U}{u^{*}_{i}}=\sum_{n=\omega_{l}^{(1)}}^{\omega_{u}^{(1)}}{n\widehat{z_{n}^{(1)}}},\sum_{j\in V}{v^{*}_{j}}=\sum_{m=\omega^{(2)}_{l}}^{\omega_{u}^{(2)}}{m\widehat{z_{m}^{(2)}}}\mbox{ (by definition),}
(i,j)Eyijγn=ωl(1)ωu(1)m=ωl(2)ωu(2)nmzn(1)¯zm(2)¯=\displaystyle\sum_{(i,j)\in E}{y^{*}_{ij}}\geq\gamma\sum_{n=\omega_{l}^{(1)}}^{\omega_{u}^{(1)}}\sum_{m=\omega_{l}^{(2)}}^{\omega_{u}^{(2)}}{n\cdot m\cdot\overline{z_{n}^{(1)}}\cdot\overline{z_{m}^{(2)}}}=
=γ(n=ωl(1)ωu(1)nzn(1)¯)(m=ωl(2)ωu(2)mzm(2)¯)=γ(iUui)(m=ωl(2)ωu(2)jVvj)\displaystyle=\gamma\left(\sum_{n=\omega_{l}^{(1)}}^{\omega_{u}^{(1)}}{n\cdot\overline{z_{n}^{(1)}}}\right)\left(\sum_{m=\omega_{l}^{(2)}}^{\omega_{u}^{(2)}}{m\cdot\overline{z_{m}^{(2)}}}\right)=\gamma\left(\sum_{i\in U}{u^{*}_{i}}\right)\left(\sum_{m=\omega_{l}^{(2)}}^{\omega_{u}^{(2)}}{\sum_{j\in V}{v^{*}_{j}}}\right)
=γ(n=ωl(1)ωu(1)nzn(1)^)(m=ωl(2)ωu(2)mzm(2)^).\displaystyle=\gamma\left(\sum_{n=\omega_{l}^{(1)}}^{\omega_{u}^{(1)}}{n\cdot\widehat{z_{n}^{(1)}}}\right)\left(\sum_{m=\omega_{l}^{(2)}}^{\omega_{u}^{(2)}}{m\cdot\widehat{z_{m}^{(2)}}}\right).

This means that (u,v,y,z(1)^,z(2)^)\left(u^{*},v^{*},y^{*},\widehat{z^{(1)}},\widehat{z^{(2)}}\right) is also an optimal solution of the problem and usage of continuous variables zn(1)z^{(1)}_{n} and zm(2)z^{(2)}_{m} in Model 1 is proved.

In the worst case, when ωl(1)=ωl(2)=1\omega_{l}^{(1)}=\omega_{l}^{(2)}=1, ωu(1)=|U|\omega_{u}^{(1)}=|U|, ωu(2)=|V|\omega_{u}^{(2)}=|V|, the model has |U|+|V||U|+|V| binary variables and |E|+|U|+|V||E|+|U|+|V| continuous.

Remark 2

In Model 1, condition 3 is not linear, so we can linearise it. Let us introduce a new variable zn,m=zn(1)zm(2)z_{n,m}=z_{n}^{(1)}\cdot z_{m}^{(2)}. Then left side of the inequality 3 is:

n=ωl(1)ωu(1)m=ωl(2)ωu(2)(nm)zn,m.\sum_{n=\omega_{l}^{(1)}}^{\omega_{u}^{(1)}}\sum_{m=\omega_{l}^{(2)}}^{\omega_{u}^{(2)}}(n\cdot m)\cdot z_{n,m}.

Conditions 5 are changed as follows:

iUui=n=ωl(1)ωu(1)m=ωl(2)ωu(2)nzn,m,jVvj=n=ωl(1)ωu(1)m=ωl(2)ωu(2)mzn,m,\sum_{i\in U}{u_{i}}=\sum_{n=\omega_{l}^{(1)}}^{\omega_{u}^{(1)}}\sum_{m=\omega_{l}^{(2)}}^{\omega_{u}^{(2)}}{nz_{n,m}},\sum_{j\in V}{v_{j}}=\sum_{n=\omega_{l}^{(1)}}^{\omega_{u}^{(1)}}\sum_{m=\omega_{l}^{(2)}}^{\omega_{u}^{(2)}}{mz_{n,m}},

where cn,m(1)=nc_{n,m}^{(1)}=n and cn,m(2)=mc_{n,m}^{(2)}=m.

Using this substitution for variables zn(1)z_{n}^{(1)} and zm(2)z_{m}^{(2)}, the model becomes a linear integer programming model. In the worst-case scenario, for dense graph there are |U|+|V||U|+|V| binary variables and |E|+|U||V||E|+|U|\cdot|V| continuous variables to be optimized.

3.2 Model 2

Let us look at different maximizing criteria for related Mixed Integer Programming models. In papers (Ignatov et al., 2015; Mirkin and Kramarenko, 2011) dedicated to triclustering generation, K=(G,M,B,I)K=(G,M,B,I) is a triadic context with GG, the set of objects, MM, the set of attributes, BB, the set of conditions, and IG×M×BI\subseteq G\times M\times B, the ternary relation. The proposed triclustering algorithm searches for clusters that maximize the following criteria:

f3(T)=ρ2(T)|X||Y||Z|.f_{3}(T)=\rho^{2}(T)|X||Y||Z|. (9)

By narrowing this criteria for binary contexts, it is possible to obtain another maximising criteria for Model 7 GF3(ff) from Veremyev et al. (2016), p.191.

For a bipartite graph G=(U,V,E)G=(U,V,E) and its induced subgraph G[C1,C2]G[C_{1},C_{2}], function ff is maximized over the density and size of biclique.

f(C1,C2)=ρ2(G[C1,C2])|C1||C2|=(|{(i,j):iC1,jC2,(i,j)E}|)2|C1||C2|.f(C_{1},C_{2})=\rho^{2}(G[C_{1},C_{2}])\cdot|C_{1}|\cdot|C_{2}|=\dfrac{\left(\lvert\{(i,j):i\in C_{1},j\in C_{2},(i,j)\in E\}\lvert\right)^{2}}{|C_{1}|\cdot|C_{2}|}. (10)

Using variables definitions from the previous model we can rewrite function ff:

f(C)=((i,j)Eyij)2(iUui)(jVvj)f(C)=\dfrac{\left(\sum_{(i,j)\in E}{y_{ij}}\right)^{2}}{\left(\sum_{i\in U}{u_{i}}\right)\cdot\left(\sum_{j\in V}{v_{j}}\right)}

Since function ff is multiplicative, the direct way to transform it to an additive function is logarithmisation:

flog(C)=2log|{(i,j):iC1,jC2,(i,j)E}|log|C1|log|C2|=\displaystyle f_{log}(C)=2\cdot\log{\lvert\{(i,j):i\in C_{1},j\in C_{2},(i,j)\in E\}\lvert}-\log{\lvert C_{1}\lvert}-\log{\lvert C_{2}\lvert}=
2log((i,j)Eyij)log(iUui)log(jVvj).\displaystyle 2\cdot\log{\left(\sum_{(i,j)\in E}{y_{ij}}\right)}-\log{\left(\sum_{i\in U}{u_{i}}\right)}-\log{\left(\sum_{j\in V}{v_{j}}\right)}. (11)

As in Model 1,

iUui=n=ωl(1)ωu(1)nzn(1),jVvj=m=ωl(2)ωu(2)mzm(2).\sum_{i\in U}{u_{i}}=\sum_{n=\omega_{l}^{(1)}}^{\omega_{u}^{(1)}}{nz_{n}^{(1)}},\sum_{j\in V}{v_{j}}=\sum_{m=\omega^{(2)}_{l}}^{\omega_{u}^{(2)}}{mz_{m}^{(2)}}.

Now we introduce a new variable: wk=1|{(i,j):iC1,jC2,(i,j)E}|=kw_{k}=1\Leftrightarrow\lvert\{(i,j):i\in C_{1},j\in C_{2},(i,j)\in E\}\lvert=k, then (i,j)Eyij=(i,j)Ekwk\sum_{(i,j)\in E}{y_{ij}}=\sum_{(i,j)\in E}{kw_{k}}.

flog(C)=2log((i,j)Ekwk)log(n=ωl(1)ωu(1)nzn(1))log(m=ωl(2)ωu(2)mzm(2))=\displaystyle f_{log}(C)=2\cdot\log{\left(\sum_{(i,j)\in E}{kw_{k}}\right)}-\log{\left(\sum_{n=\omega_{l}^{(1)}}^{\omega_{u}^{(1)}}{nz_{n}^{(1)}}\right)}-\log{\left(\sum_{m=\omega^{(2)}_{l}}^{\omega_{u}^{(2)}}{mz_{m}^{(2)}}\right)}=
=2(i,j)Elog(k)wkn=ωl(1)ωu(1)log(n)zn(1)m=ωl(2)ωu(2)log(m)zm(2).\displaystyle=2\cdot\sum_{(i,j)\in E}{\log(k)w_{k}}-\sum_{n=\omega_{l}^{(1)}}^{\omega_{u}^{(1)}}{\log{(n)}z_{n}^{(1)}}-\sum_{m=\omega^{(2)}_{l}}^{\omega_{u}^{(2)}}{\log{(m)}z_{m}^{(2)}}. (12)

Obviously, that equality log((i,j)Ekwk)=(i,j)Elog(k)wk\displaystyle\log{\left(\sum_{(i,j)\in E}{kw_{k}}\right)}=\sum_{(i,j)\in E}{\log(k)w_{k}} because wkw_{k} is binary variable and (i,j)Ewk=1\displaystyle\sum_{(i,j)\in E}{w_{k}}=1. Thus there exists a unique number kk^{*} such that wk=1w_{k^{*}}=1. It follows, that log((i,j)Ekwk)=log(k)=wklog(k)=(i,j)Elog(k)wk\displaystyle\log{\left(\sum_{(i,j)\in E}{kw_{k}}\right)}=\log{(k^{*})}=w_{k^{*}}\cdot\log{(k^{*})}=\sum_{(i,j)\in E}{\log(k)w_{k}}. A similar statement is true for log(n=ωl(1)ωu(1)nzn(1))\displaystyle\log{\left(\sum_{n=\omega_{l}^{(1)}}^{\omega_{u}^{(1)}}{nz_{n}^{(1)}}\right)} and  log(m=ωl(2)ωu(2)mzm(2))\displaystyle\log{\left(\sum_{m=\omega^{(2)}_{l}}^{\omega_{u}^{(2)}}{mz_{m}^{(2)}}\right)}.

Without extra conditions on the sizes of vertex sets of a quasi-biclique and its minimum number of edges, the model has 2(|U|+|V|)+2|E|2\cdot\left(|U|+|V|\right)+2\cdot|E| variables.

Model 2

2k=1|E|log(k)wkn=1|U|log(n)zn(1)m=1|V|log(m)zm(2)w,z(1),z(2)max,\displaystyle 2\sum_{k=1}^{|E|}{\log{(k)}\cdot w_{k}}-\sum_{n=1}^{|U|}{\log{(n)}z_{n}^{(1)}}-\sum_{m=1}^{|V|}{\log{(m)}z_{m}^{(2)}}\xrightarrow[w,z^{(1)},z^{(2)}]{}max,
under conditions k=1|E|wkγn=ωl(1)ωu(1)m=ωl(2)ωu(2)nmzn(1)zm(2),\displaystyle\mbox{under conditions }\sum_{k=1}^{|E|}{w_{k}}\geq\gamma\sum_{n=\omega_{l}^{(1)}}^{\omega_{u}^{(1)}}\sum_{m=\omega_{l}^{(2)}}^{\omega_{u}^{(2)}}{n\cdot m\cdot z_{n}^{(1)}\cdot z_{m}^{(2)}},
(i,j)Eyij=k=1|E|kwk,\displaystyle\sum_{(i,j)\in E}{y_{ij}}=\sum_{k=1}^{|E|}{k\cdot w_{k}},
iUui=n=ωl(1)ωu(1)nzn(1),jVvj=m=ωl(2)ωu(2)mzm(2),\displaystyle\sum_{i\in U}{u_{i}}=\sum_{n=\omega_{l}^{(1)}}^{\omega_{u}^{(1)}}{nz_{n}^{(1)}},\sum_{j\in V}{v_{j}}=\sum_{m=\omega_{l}^{(2)}}^{\omega_{u}^{(2)}}{mz_{m}^{(2)}},
k=1|E|wk=1,n=1|U|zn(1)=1,m=1zm(2)=1,\displaystyle\sum_{k=1}^{|E|}{w_{k}}=1,\sum_{n=1}^{|U|}{z_{n}^{(1)}}=1,\sum_{m=1}{z_{m}^{(2)}=1},
iU:ui{0,1}jV:vj{0,1}\displaystyle\forall i\in U:u_{i}\in\{0,1\}\,\forall j\in V:v_{j}\in\{0,1\}\,
i<j,(i,j)E:yij{0,1},k{1,,|E|}:wk{0,1},\displaystyle\forall i<j,(i,j)\in E:y_{ij}\in\{0,1\}\ ,\ \forall k\in\{1,\ldots,|E|\}:w_{k}\in\{0,1\},
n{ωl(1),,ωu(2)}:zn(1)0,m{ωl(2),,ωu(2)}:zm(2)0.\displaystyle\forall n\in\{\omega_{l}^{(1)},\ldots,\omega_{u}^{(2)}\}:z_{n}^{(1)}\geq 0,\ \forall m\in\{\omega_{l}^{(2)},\ldots,\omega_{u}^{(2)}\}:z_{m}^{(2)}\geq 0.
Remark 3

In order to simplify the model. we can add extra constraints for variables wk,k{1,,|E|}w_{k},\ k\in\{1,\ldots,|E|\}. Let kk be a possible number of edges in a quasi-biclique, then:

  1. 1.

    kωu(1)ωu(2)k\leq\omega_{u}^{(1)}\cdot\omega_{u}^{(2)}.

  2. 2.

    If γωl(1)ωl(2)|E|kγωl(1)ωl(2)\gamma\cdot\omega_{l}^{(1)}\cdot\omega_{l}^{(2)}\leq|E|\Rightarrow k\geq\gamma\cdot\omega_{l}^{(1)}\cdot\omega_{l}^{(2)}.

  3. 3.

    Let us consider UU^{\prime} such that |U|=ωl(1)|U^{\prime}|=\omega_{l}^{(1)} and uU\displaystyle\forall u\in U^{\prime} deg(u)minxUU{deg(x)}deg(u)\leq\min_{x\in U\setminus U^{\prime}}\{deg(x)\}. That is UU^{\prime} is a subset of UU with the minimum possible size and with all smallest degree vertices w.r.t. UU. Then kγuUdeg(u)k\geq\displaystyle\gamma\sum_{u\in U^{\prime}}{deg(u)}.

  4. 4.

    Similarly, for VVV^{\prime}\subseteq V: |V|=ωl(2)|V^{\prime}|=\omega_{l}^{(2)} and vVdeg(v)minxVV{deg(x)}\displaystyle\forall v\in V^{\prime}deg(v)\leq\min_{x\in V\setminus V^{\prime}}\{deg(x)\}, then kγvVdeg(v)k\geq\displaystyle\gamma\sum_{v\in V^{\prime}}{deg(v)}.

4 Datasets

Datasets for testing the performance of the algorithms are mainly taken from (Borgatti et al., 2014; Batagelj and Mrvar, 2014).

  1. 1.

    Southern Women: |U|=18,|V|=14|U|=18,|V|=14, |E|=89|E|=89 edges, a classic ethnographic dataset with a bipartite graph of 18 women, which met in a series of 14 informal social events (Freeman, 2003).

  2. 2.

    Divorce in the US: |U|=9,|V|=50|U|=9,|V|=50 vertices, and |E|=225|E|=225 edges. This graph describes the particular causes of divorce in the United States.

  3. 3.

    Dutch Elite: |U|=3810,|V|=937|U|=3810,|V|=937 vertices, and |E|=5221|E|=5221 edges. This graph describes the connections between people and the most important for the Netherlands government administrative authorities.

  4. 4.

    Dutch Elite (TOP-200): |U|=200,|V|=395|U|=200,|V|=395 vertices, and |E|=877|E|=877 edges. The list of people in the first partition of the graph consists of the most influential persons regarding their membership in administrative authorities.

  5. 5.

    Movie-Lens (ml-latest-small): |V|=99125,|V|=50|V|=99125,|V|=50 vertices, and |E|=20340|E|=20340 edges, a bipartite graph of “movie-genre” relation from Movie Lens project (Harper and Konstan, 2015).

5 Experimental Verification

5.1 Implementation description

The greedy algorithm of searching for maximal γ\gamma-quasi-biclique in a bipartite graph was implemented in Python 2.7. The MIP models were implemented with the optimization package CPLEX, created by IBM. All computations were carried out on a laptop with macOS operating system, 2.7 GHz Intel Core i5 processor, and RAM 8 GB 1867 MHz.

The search for solutions in the CPLEX package was performed by means of the branch-and-cut method, which is similar to the branch-and-bound algorithmic approach. The method uses a search tree, where each node represents a subproblem that needs to be solved and possibly analysed further.

The branch procedure creates two new nodes from the active parent node. Generally, at this point, the boundaries of one variable are applied and stored for the current node and all its child nodes. In its turn, the cut procedure adds a new constraint to the model. As a result of any cut, the solution space for the subproblems, which are presented in the nodes, is reduced, and the number of branches needed to process decreases. CPLEX processes active nodes in the tree until no more active nodes are available or a certain limit is reached 111CPLEX user manual: https://www.ibm.com/support/knowledgecenter/SSSA5P_ 12.8.0/ilog.odms.cplex.help/CPLEX/homepages/usrmancplex.html .

The standard solution with the CPLEX software package assumes only one of the optimal solutions as the answer. However, in CPLEX it is possible to obtain a set of optimal solutions using the solution pool method, which allows one to find and store several solutions of MIP models.

The generation of multiple solutions works in two steps. The first step is identical to the usual solution search using the CPLEX software package. At this step, the algorithm finds the only optimal solution of the integer programming problem. It also saves nodes in the search tree that could potentially be useful; for example, if not all the variable constraints are taken into account or if all the nodes contain a suitable value, but the target function is not optimal.

In the second step, using previously calculated and stored information in the first stage, several solutions are generated, and the tree is traversed again, in particular within the branches rooted from the additional nodes stored in the first stage.

5.2 Illustrative examples

On a toy example of a graph with 12 vertices, we consider the search results for maximal γ\gamma-quasi-bicliques, γ=0.8\gamma=0.8, using Models 1 and 2, respectively (Fig. 1).

Refer to caption
Refer to caption
Figure 1: The results of search for quasi-bicliques using Models 1 and 2.

The results for both models are the same (w.r.t. to the solutions output order). Even for this small-sized problem, the time is tangible: the computations with Model 1 took 2.16 s, and for Model 2, it was 2.94 s. A comparison of the executed models and the greedy algorithm in terms of computational time is given below for the selected bipartite graphs.

5.3 Comparison of algorithms

The algorithm of searching for the maximal quasi-biclique using the CPLEX software package was implemented for Models 1 and 2 (see Section 3) and compared with the greedy algorithm from (Liu et al., 2008b) (let us denote it as Greedy Algorithm).

There are no comparison results presented for the model F3 (Veremyev et al., 2016): despite its fast work, the algorithm based on this model chose quasi-bicliques of very small size and maximum density (i.e. bicliques). This phenomenon is rather expected since the model F3 implies a completely different function of the density of the subgraph. Therefore, the comparison, in this case, is irrelevant. The description of Complete QB in  (Sim et al., 2006) lacks of important implementation details.

The weakness of the constructed MIP models was identified during the finding solution. Since the problem of enumerating all maximal quasi-bicliques in practice requires considerable time, the software package can discard some solutions, if it has found quite a few optimal ones already. First of all, the search is carried out among unbalanced quasi-bicliques (no constraints on the approximately equal size of the quasi-clique partitions have been given). For large graphs, this means that the number of vertices in one of the parts of the found optimal solution may exceed the number of vertices in the second part by hundreds of times or more.

This issue can be addressed in two ways. Firstly, one can set roughly equal limits on the size of the partitions. Secondly, it is possible to adapt the model for finding an almost balanced quasi-bicliques, that means that sizes of partitions of a quasi-biclique differ by θ\theta. To do this, the following conditions should be added to Model 1 or Model 2:

n=ωl(1)ωu(1)zn(1)(1θ)m=ωl(2)ωu(2)zm(2),\sum_{n=\omega_{l}^{(1)}}^{\omega_{u}^{(1)}}{z_{n}^{(1)}}\geq(1~{}-~{}\theta)~{}\sum_{m=\omega^{(2)}_{l}}^{\omega_{u}^{(2)}}{z_{m}^{(2)}}, (13)
n=ωl(1)ωu(1)zn(1)(1+θ)m=ωl(2)ωu(2)zm(2).\sum_{n=\omega_{l}^{(1)}}^{\omega_{u}^{(1)}}{z_{n}^{(1)}}\leq(1~{}+~{}\theta)~{}\sum_{m=\omega^{(2)}_{l}}^{\omega_{u}^{(2)}}{z_{m}^{(2)}}. (14)

Models with additional conditions 13 and 14 have not been tested.

It has also been noted that small-sized quasi-bicliques can be useless in practice, but their recalculation is costly. Therefore, for each data set, we can establish minimum bounds on the size of a quasi-biclique (of the order of the smallest vertex degree with respect to the graph partitions).

The results the algorithms execution are presented in Table 1 for γ=0.6\gamma=0.6, Table 2 for γ=0.7\gamma=0.7 and in Table 3 for γ=0.8\gamma=0.8222The size column in Table 3 shown as the result of summation |U||U^{\prime}| and |V||V^{\prime}|. For each algorithm its main parameters are indicated: the algorithm running time (time), the number of found maximum quasi-bicliques (count) and the maximum size of the found solution.

Table 1: Results of maximum γ\gamma-quasi-biclique search. Parameters: γ=0.6\gamma=0.6.
Data Model 1 Model 2 Greedy Algorithm
time count size time count size time count size
Southern 678 ms 4 (18,4) 801 ms 2 (18,4) 234 ms 4 (17, 5)
Women
Divorse 1.23 s 1 (4,50) 3.38 s 1 (4,50) 360 ms 1 (2, 46)
in US
DutchElite 7602 s 2 (26,1) 181 s 1 (11,3) 3 s 1 (10,3)
(top200)
DutchElite - - - 6968 s 1 (45,2) 1954 s 1 (40,2)
Movie-Lens 28068 s 2 (692,2) 13851 s 5 (900,3) 5976 s 2 (754,2)
(small)
Table 2: The results of maximum γ\gamma-quasi-biclique search for γ=0.7\gamma=0.7.
Data Model 1 Model 2 Greedy’ algorithm
time count size time count size time count size
Southern 1.29 s 1 (16,3) 1.11 s 1 (10,6) 309 ms 1 (16, 2)
Women
Divorse 1.56 s 1 (2,45) 2.66 s 3 (5,36) 320 ms 1 (2,28)
in US
DutchElite 8497 s 1 (23,1) 1668 s 3 (10,3) 1.63 s 1 (10,3)
(top200)
DutchElite - - - 6166 s 1 (20,2) 1511 s 1 (20,1)
Movie-Lens - - - 10719 s 6 (800, 3) - - -
(small)

Two found γ\gamma-quasi bicliques for the dataset divorce in the US are shown in Fig. 2.

Refer to caption
Refer to caption
Figure 2: Quasi-bicliques obtained by the studied MIP models for the dataset Divorce in US with γ=0.7\gamma=0.7.
Table 3: The results of maximum γ\gamma-quasi-biclique search for γ=0.8\gamma=0.8.
Data Model 1 Model 2 Greedy algorithm
time count size time count size time count size
Divorce in US 8.53 s 1 38 1.7 s 2 33 313 ms 1 25
DutchElite (top200) - - - 4834 s 2 13 2.5 s 1 13
DutchElite - - - 7129 s 1 47 1718 1 21
Movie-Lens (small) - - - 9046 s 2 445 - - -

Dashes (”-”) in the following tables mean that the algorithm worked 10 hours and did not find a solution. If one of the partitions of the maximal quasi-biclique has a unit size, this is marked in the table as (U,V)(U^{\prime},V^{\prime}), where UU^{\prime} and VV^{\prime} are the sizes of the partitions.

6 Results and conclusions

One can note, that mixed linear programming models work an order of magnitude slower than the greedy algorithm by Liu et al. (2008b), but they find more quasi-cliques and generally each of them has a larger size.

For small graphs, the time for finding the solution by the considered models is acceptable. Model 1 contains a fewer number of variables that must be optimized, but its maximisation criterion is costly for large graphs. Thus, on large-sized graphs Model 1 works too long (more than 10 hours), especially for high γ\gamma density thresholds. The dependence of the speed and quality of processing on γ\gamma is also apparent for two other algorithms: for high thresholds on density, those methods work longer since the number of possible optimal solutions to the problem is reduced. Model 2 on similar graphs showed better results, but the processing time is still quite large. For DutchEliteDutchElite data with a large number of vertices and a small number of edges, MIP-based algorithms work much longer than on more dense graphs.

If we consider the results, not in terms of speed, but terms of quality, then Model 2 was the best one. This model produced more unique and larger quasi-bicliques than other algorithms.

The following ways of future work seems to be relevant: 1) further improvements of the proposed models by establishing tighter bounds for different constraints and using optimization tricks; 2) exploration of new optimization criteria; 3) comparison of different MIP solvers with the state-of-the-art approaches of searching for quasi-bicliques in a larger set of experiments.

Another interesting avenue for research could be a study on connection between various approximations of formal concepts (fault-tolerant concepts (Besson et al., 2006) and object-attribute biclusters (Ignatov et al., 2012, 2017)), Boolean matrix factorization (Miettinen, 2013; Belohlávek et al., 2019) and quasi-bicliques.

Acknowledgements.
The work of Dmitry I. Ignatov shown in all the sections, except 5 and 6, has been supported by the Russian Science Foundation grant no. 17-11-01276 and performed at St. Petersburg Department of Steklov Mathematical Institute of Russian Academy of Sciences, Russia. The authors would like to thank Boris Mirkin, Vladimir Kalyagin, Panos Pardalos, and Oleg Prokopyev for their piece of advice and inspirational discussions. Last but not least we are thankful to anonymous reviewers for their useful feedback.

References

  • Abello et al. (2002) Abello J, Resende MGC, Sudarsky S (2002) Massive quasi-clique detection. In: Rajsbaum S (ed) LATIN 2002: Theoretical Informatics, Springer Berlin Heidelberg, Berlin, Heidelberg, pp 598–612
  • Batagelj and Mrvar (2014) Batagelj V, Mrvar A (2014) Pajek. In: Encyclopedia of Social Network Analysis and Mining, pp 1245–1256, DOI 10.1007/978-1-4614-6170-8“˙310, URL https://doi.org/10.1007/978-1-4614-6170-8\_310
  • Belohlávek et al. (2019) Belohlávek R, Outrata J, Trnecka M (2019) Factorizing boolean matrices using formal concepts and iterative usage of essential entries. Inf Sci 489:37–49, DOI 10.1016/j.ins.2019.03.001, URL https://doi.org/10.1016/j.ins.2019.03.001
  • Besson et al. (2006) Besson J, Robardet C, Boulicaut J (2006) Mining a new fault-tolerant pattern type as an alternative to formal concept discovery. In: Conceptual Structures: Inspiration and Application, 14th International Conference on Conceptual Structures, ICCS 2006, Aalborg, Denmark, July 16-21, 2006, Proceedings, pp 144–157, DOI 10.1007/11787181“˙11, URL https://doi.org/10.1007/11787181\_11
  • Borgatti et al. (2014) Borgatti SP, Everett MG, Freeman LC (2014) UCINET. In: Encyclopedia of Social Network Analysis and Mining, pp 2261–2267, DOI 10.1007/978-1-4614-6170-8“˙316, URL https://doi.org/10.1007/978-1-4614-6170-8\_316
  • Freeman (2003) Freeman LC (2003) Finding social groups: A meta-analysis of the southern women data. In: Breiger R, Carley K, Pattison P (eds) Dynamic Social Network Modeling and Analysis: Workshop Summary and Papers, National Academies Press
  • Harper and Konstan (2015) Harper FM, Konstan JA (2015) The movielens datasets: History and context. ACM Trans Interact Intell Syst 5(4):19:1–19:19, DOI 10.1145/2827872, URL http://doi.acm.org/10.1145/2827872
  • Ignatov et al. (2012) Ignatov DI, Kuznetsov SO, Poelmans J (2012) Concept-based biclustering for internet advertisement. In: 12th IEEE International Conference on Data Mining Workshops, ICDM Workshops, Brussels, Belgium, December 10, 2012, pp 123–130, DOI 10.1109/ICDMW.2012.100, URL https://doi.org/10.1109/ICDMW.2012.100
  • Ignatov et al. (2015) Ignatov DI, Gnatyshak DV, Kuznetsov SO, Mirkin BG (2015) Triadic formal concept analysis and triclustering: searching for optimal patterns. Machine Learning 101(1):271–302, DOI 10.1007/s10994-015-5487-y, URL https://doi.org/10.1007/s10994-015-5487-y
  • Ignatov et al. (2017) Ignatov DI, Semenov A, Komissarova D, Gnatyshak DV (2017) Multimodal clustering for community detection. In: Formal Concept Analysis of Social Networks, pp 59–96, DOI 10.1007/978-3-319-64167-6“˙4, URL https://doi.org/10.1007/978-3-319-64167-6\_4
  • Liu et al. (2008a) Liu HB, Liu J, Wang L (2008a) Searching maximum quasi-bicliques from protein-protein interaction network. Journal of Biomedical Science and Engineering 1(03):200
  • Liu et al. (2008b) Liu X, Li J, Wang L (2008b) Quasi-bicliques: Complexity and binding pairs. In: Hu X, Wang J (eds) Computing and Combinatorics, Springer Berlin Heidelberg, Berlin, Heidelberg, pp 255–264
  • Miettinen (2013) Miettinen P (2013) Fully dynamic quasi-biclique edge covers via boolean matrix factorizations. In: Proceedings of the Workshop on Dynamic Networks Management and Mining, ACM, New York, NY, USA, DyNetMM ’13, pp 17–24, DOI 10.1145/2489247.2489250, URL http://doi.acm.org/10.1145/2489247.2489250
  • Mirkin and Kramarenko (2011) Mirkin BG, Kramarenko AV (2011) Approximate bicluster and tricluster boxes in the analysis of binary data. In: Rough Sets, Fuzzy Sets, Data Mining and Granular Computing - 13th International Conference, RSFDGrC 2011, Moscow, Russia, June 25-27, 2011. Proceedings, pp 248–256, DOI 10.1007/978-3-642-21881-1“˙40, URL https://doi.org/10.1007/978-3-642-21881-1\_40
  • Pattillo et al. (2013) Pattillo J, Veremyev A, Butenko S, Boginski V (2013) On the maximum quasi-clique problem. Discrete Applied Mathematics 161(1):244 – 257, DOI https://doi.org/10.1016/j.dam.2012.07.019, URL http://www.sciencedirect.com/science/article/pii/S0166218X12002843
  • Peeters (2003) Peeters R (2003) The maximum edge biclique problem is np-complete. Discrete Applied Mathematics 131(3):651 – 654, DOI https://doi.org/10.1016/S0166-218X(03)00333-0
  • Sim et al. (2006) Sim K, Li J, Gopalkrishnan V, Liu G (2006) Mining maximal quasi-bicliques to co-cluster stocks and financial ratios for value investment. In: Sixth International Conference on Data Mining (ICDM’06), pp 1059–1063, DOI 10.1109/ICDM.2006.111
  • Veremyev et al. (2016) Veremyev A, Prokopyev OA, Butenko S, Pasiliao EL (2016) Exact mip-based approaches for finding maximum quasi-cliques and dense subgraphs. Comp Opt and Appl 64(1):177–214, DOI 10.1007/s10589-015-9804-y, URL https://doi.org/10.1007/s10589-015-9804-y
  • Wang (2013) Wang L (2013) Near optimal solutions for maximum quasi-bicliques. Journal of Combinatorial Optimization 25(3):481–497, DOI 10.1007/s10878-011-9392-4