# Bipartite dimension

In the mathematical fields of graph theory and combinatorial optimization, the bipartite dimension or biclique cover number of a graph G=(V,E) is the minimum number of bicliques (that is complete bipartite subgraphs), needed to cover all edges in E. A collection of bicliques covering all edges in G is called a biclique edge cover, or sometimes biclique cover. The bipartite dimension of G is often denoted by the symbol d(G).

## Example

An example for a biclique edge cover is given in the following diagrams:
* A bipartite graph...
* ...and a covering with four bicliques
* the red biclique from the cover
* the blue biclique from the cover
* the green biclique from the cover
* the black biclique from the cover

## Bipartite dimension formulas for some graphs

The bipartite dimension of the n-vertex complete graph, $K_{n}$ is $\lceil \log _{2}n\rceil$.
The bipartite dimension of a 2n-vertex crown graph equals $\sigma (n)$, where
    $\sigma (n)=\min \left\{\,k\mid n\leq {\binom {k}{\lfloor k/2\rfloor }}\,\right\}$
is the inverse function of the central binomial coefficient (de Caen, Gregory & Pullman 1981).
The bipartite dimension of the $n\times m$ lattice graph is ${\frac {nm}{2}}-1$, if $m$ is even and $n-1=k(m-1)+2\ell$ for some integers $0\leq \ell <k$; and is ${\big \lfloor }{\frac {nm}{2}}{\big \rfloor }$ otherwise (Guo, Huynh & Macchia 2019).
Fishburn & Hammer (1996) determine the bipartite dimension for some special graphs. For example, the path $P_{n}$ has $d(P_{n})=\lfloor n/2\rfloor$ and the cycle $C_{n}$ has $d(C_{n})=\lceil n/2\rceil$.

## Computing the bipartite dimension

The computational task of determining the bipartite dimension for a given graph G is an optimization problem. The decision problem for bipartite dimension can be phrased as:
    INSTANCE: A graph $G=(V,E)$ and a positive integer $k$.
    QUESTION: Does G admit a biclique edge cover containing at most $k$ bicliques?
This problem appears as problem GT18 in Garey and Johnson's classical book on NP-completeness, and is a rather straightforward reformulation of another decision problem on families of finite sets.
The set basis problem appears as problem SP7 in Garey and Johnson's book. Here, for a family ${\mathcal {S}}=\{S_{1},\ldots ,S_{n}\}$ of subsets of a finite set ${\mathcal {U}}$, a set basis for ${\mathcal {S}}$ is another family of subsets ${\mathcal {B}}=\{B_{1},\ldots ,B_{\ell }\}$ of ${\mathcal {U}}$, such that every set $S_{i}$ can be described as the union of some basis elements from ${\mathcal {B}}$. The set basis problem is now given as follows:
    INSTANCE: A finite set ${\mathcal {U}}$, a family ${\mathcal {S}}=\{S_{1},\ldots ,S_{n}\}$ of subsets of ${\mathcal {U}}$, and a positive integer k.
    QUESTION: Does there exist a set basis of size at most $k$ for ${\mathcal {S}}$?
In its former formulation, the problem was proved to be NP-complete by Orlin (1977), even for bipartite graphs. The formulation as a set basis problem was proved to be NP-complete earlier by Stockmeyer (1975). The problem remains NP-hard even if we restrict our attention to bipartite graphs whose bipartite dimension is guaranteed to be at most $O(\log \,\!n)$, with n denoting the size of the given problem instance (Gottlieb, Savage & Yerukhimovich 2005). On the positive side, the problem is solvable in polynomial time on bipartite domino-free graphs (Amilhastre, Janssen & Vilarem 1997).
Regarding the existence of approximation algorithms, Simon (1990) proved that the problem cannot be approximated well (assuming P ≠ NP). Indeed, the bipartite dimension is NP-hard to approximate within $|V|^{1/3-\epsilon }$ for every fixed $\epsilon >0$, already for bipartite graphs (Gruber & Holzer 2007).
In contrast, proving that the problem is fixed-parameter tractable is an exercise in designing kernelization algorithms, which appears as such in the textbook by Downey & Fellows (1999). Fleischner et al. (2009) also provide a concrete bound on the size of the resulting kernel, which has meanwhile been improved by Nor et al. (2010). In fact, for a given bipartite graph on n vertices, it can be decided in time $O(f(k))+n^{3}$ with $f(k)=2^{k2^{k-1}+3k}$ whether its bipartite dimension is at most k (Nor et al. 2010)

## Applications

The problem of determining the bipartite dimension of a graph appears in various contexts of computing. For instance, in computer systems, different users of a system can be allowed or disallowed accessing various resources. In a role-based access control system, a role provides access rights to a set of resources. A user can own multiple roles, and he has permission to access all resources granted by some of his roles. Also, a role can be owned by multiple users. The role mining problem is to find a minimum set of roles, such that for each user, his roles taken together grant access to all specified resources. The set of users together with the set of resources in the system naturally induces a bipartite graph, whose edges are permissions. Each biclique in this graph is a potential role, and the optimum solutions to the role mining problem are precisely the minimum biclique edge covers (Ene et al. 2008).
A similar scenario is known in computer security, more specifically in secure broadcasting. In that setup, several messages need to be sent each to a set of receivers, over an insecure channel. Each message has to be encrypted using some cryptographic key that is known only to the intended receivers. Each receiver may possess multiple encryption keys, and each key will be distributed to multiple receivers. The optimum key generation problem is to find a minimum set of encryption keys for ensuring secure transmission. As above, the problem can be modeled using a bipartite graph whose minimum biclique edge covers coincide with the solutions to the optimum key generation problem (Shu, Lee & Yannakakis 2006).
A different application lies in biology, where minimum biclique edge covers are used in mathematical models of human leukocyte antigen (HLA) serology (Nau et al. 1978).