Introduction to Hypergraphs
In this post, I will discuss basic definitions and theory related to hypergraphs and cut sparsifiers. I will start from the basic definitions of Graphs, then generalize these definitions to Hypergraphs. Later, I will discuss some related theory about Cut-Sparsifiers.
1 Basic Definitions in Graphs
Let’s start from the very beginning - graphs. Graphs are fundamental objects in computer science, and they are used to model relations between objects. Formally, a graph
is a tuple of two sets,
and
and a function
.
is the set of vertices (i.e. the elements), usually denoted as
, and
is a set of edges between those vertices (i.e. indicating which elements belongs to the relation the graph represents). An edge is just a set of two vertices, that is
. The function
assigns a weight to every edge in the graph (we will focus on non-negative weights). For instance, we can model friendships in Facebook as a graph, the vertices will be all the users in Facebook, and there will be an edge between any pair of users if they are “friends” of each other.
A cut in a graph
is a partition of
into two sets,
. We say that an edge
cross the cut defined by
if and only if
and
, that is, the edge “touches” both parts of the graph. Now we can talk about the weight of the cut, that is, if we have a cut that is defined by
and a weight function
then,
in words, the weight of a cut is the sum of weights of all edges that cross it.
2 Generalizing to Hyper-Graphs
The model of a graph, as defined above, can’t be used to describe non binary relationships. For example, say we want to model Facebook groups via a graph; the only way to do that is by including in the set of vertices also any group in Facebook, and then connecting each user to any of its groups with an edge. The main issue with such construction is that the vertices represents both users and facebook-groups. In order to avoid such ambiguity we can use a richer model, we can use Hypergraphs.
Hypergraphs are generalization of graphs in the sense that edges may be of arbitrary size. Meaning that now
. Going back to our example, we can model Facebook groups by the graph
when
is the set of all users, and any group in Facebook will be an edge
(that notation stands for the Power Set of
) such that
contains the users belongs to that group.
Here is another example, in purely mathematical form, let
, which is a valid hypergraph over five vertices
and with two edges:
and
.
We also require the domain of the weight function to be
(rather than
in the case of regular graphs). That requirement allows us to apply the same definitions of cuts and cut weight as they were phrased for regular graphs.
Usually we are interested in family of hypergraphs with limited size, that is, hypergraphs where each edge is of size at most
. Such hypergraphs are said to be r-uniform.
3 Cuts Sparsification
We move to define Cut-Sparsifiers: Let
. Given a hypergraph
and a weight function
, we say that a hypergraph
is
-cut-sparsifier of
if
and the set
may be any set in
. The subscript “
” in the function
indicates that the weights are over the hypergraph
(and similarly with
and
).
It is not part of the definition, but the goal is to find cut-sparsifier that shrink the number of edges, that is, with the smallest
possible. Whereas in regular graphs it is understood that we want to minimize the number of edges, in hypergraphs we should also consider the size of the edges in
. That is, the quality of the sparsifier will be measured also by the size of the edges in the resulting graph. For that we define the total edge size of a hypergraph to be
.
4 Upper & Lower Bounds for Sparsification
For regular graphs, we already know how to reduce the number of edges to be
for any
. That is surprising, because no matter how many edges there are in the original graph, which can be up to
, there is an algorithms that can reduce the number of edges to
, while maintaining approximately the same weights for all possible cuts in the graph. Moreover, that algorithm find the cut-sparsifier in polynomial time.
Later results show that this upper bound is also a lower bound, that is, there are graphs that cannot be reduced into less that
edges.
However, when working with hypergraphs it is not quite clear if one can reduce the total edges size of the graph to be even order of
. Think about it, potentially the number of edges in a hypergraph can be
, so
can be considered quite small for such hypergraphs.
An interesting result from 2015, showed lower bound of
edges for r-uniform hypergraphs (assuming that
), which, when converting to total edges size is actually
.
The question that one can ask now is, can we do better? Is there an algorithm that can construct a cut-sparsifier for hypergraphs with smaller total edges size?
That is, actually, an open question which is studied nowdays.