MathOverflow is a question and answer site for professional mathematicians. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Hypergraphs are like simple graphs, except that instead of having edges that only connect 2 vertices, their edges are sets of any number of vertices. This happens to mean that all graphs are just a subset of hypergraphs.

It strikes me as odd, then, that I have never heard of any algorithms based on hypergraphs, or of any important applications, for modeling real-world phenomena, for instance. I guess that the superficial explanation is that it's a much more complex structure than a regular graph, and given this and its generality it's harder to make neat algorithms for, but I would expect there to be something!

Has anyone heard of a hypergraph-based algorithm, or application? It perplexes me that ordinary graphs can be so wonderfully useful, but their big brothers have nothing to offer.

share|cite|improve this question
A general comment here is that a hypergraph is an absurdly general object; it's basically an element of the power set of the power set of a set. For example, topologies and measurable spaces are both (technically) special cases of hypergraphs. So any theorems or applications necessarily need to focus on special cases. – Qiaochu Yuan Feb 2 '10 at 4:21
Calling it a subset of the powerset makes it seem less intimidating =p. – Harry Gindi Feb 2 '10 at 12:00
Here are two partial explanations for why algorithms based on hypergraphs are less common than algorithms based on graphs. 1. Some polynomial-time algorithms for graphs turn into NP-complete problems when you try to generalize them to hypergraphs (e.g., finding a perfect matching). 2. We often use graphs to model symmetric binary relations, and symmetric binary relations appear much more frequently than symmetric ternary relations (and beyond). – gowers Mar 31 '12 at 21:20
@Harry Gindi: for me, it's just the other way roudn. Hypergraph? Cool. Subset of the powerset? Arrgh, complex stuff way over my head. :) – Felix Goldberg Sep 20 '12 at 8:56
Hypergraphs also crop up in physics of many-body systems. Usual graphs are only good for modelling of the pairwise interaction. But oftentimes (for example in statistical physics and effective theories) one works with general interactions that depend on more than two particles. In this situation there is usually some restriction on the number of vertices a hyperedge can contain and this important class of hypergraphs is no longer absurdly general. – Marek Sep 20 '12 at 9:03

12 Answers 12

Hypergraphs and various properties that we can prove about them are the basis of many techniques that are used in modern mathematics. I will mention the proof of Density Hales-Jewett Theorem by Tim Austin. Multidimensional Szmeredi theorem is also be another key-word you might want to look up. The Furstenberg-Katznelson theorem can be proven using hypergraph methods. The mathematics subject classification is 05C65.

And more importantly, take a look at What's new and search for "hypergraphs" to see a lot of other results that involve hypergraph methods in their proofs.

One more thing, for real world applications, hypergraph methods appear in various places including declustering problems which are quite important to scale up the performance of parallel databases.

share|cite|improve this answer
Here's another example for "real world" applications: – Felix Goldberg Sep 20 '12 at 8:58
I rolled back the previous edit which was incredibly minor and just tinkering with the OP's English to no significant effect, on a question which has long been inactive – Yemon Choi Dec 21 '14 at 17:27

One example: A 3-uniform hypergraph is the natural way to model the variable/clause structure of a 3-Sat instance. Since 3-Sat is one of the most important algorithmic problems in computational complexity theory, hypergraphs play an important role there.

For just one of many possible examples, take a look at the following paper of Feige, Kim, and Ofek:

share|cite|improve this answer
Hypergraphs (with no uniformity restriction) are also the natural way to model clause sets of general SAT. Each hyperedge represents the single set of literals that is forbidden by some clause. These structures have also been studied in constraint satisfaction, under the name microstructure complements. The hyperedges are there colourfully called "nogoods", a name coined by Stallman and Sussman in 1976 (yes, the Richard Stallman). – András Salamon Jul 20 '10 at 17:34

I've done some work which made me appreciate the view that labelled hypergraphs are one of the most widely appropriate, general ways to represent data on stateful machines. In computer science, we commonly want to divide up state into a number of possibly overlapping data structures, which will contain and be referenced by pointers.

This lends itself to the following representation: data structures are hyperedges. Non-pointer data within data structures are labels of the associated hyperedge. And pointers are represented by vertices, possibly (not always!) needing an attribute to indicate which hyperedge is the source and which is the target of the pointer. Computation, then, is graph rewriting.

As Qiaochu says, hyperedges are absurdly general. Likewise, the notion of data. To make this useful, one needs to constrain the form the hyperedges take. What is nice is that the need to constrain the way that state is represented is perfectly matched with the need in useful programming langauges to contrain the representation of data, and furthermore, one can often cleanly map the programming-driven constraints into reasonable constraints on the hypergraphs.

The idea crops up again and again the literature on graph transformations. A good stepping off point is Drewes, Habel, & Kreowski, 1997, Hyperedge Replacement Graph Grammars, In Rozenberg, Handbook of Graph Grammars and Computing by Graph Transformations.

share|cite|improve this answer
This is a really good answer, but I was struggling to visualise what you're saying. Would you mind adding some simple diagrams of modelling the data as data and graph rewriting? – CMCDragonkai Jun 26 '14 at 10:26
@CMCDragonkai - I really should put together some of these diagrams. A short, well-illustrated white paper on the topic would indeed make this point of view easier to explain. I have put this on my list of "hope to dos" – Charles Stewart Sep 11 '14 at 10:50

Matroids and more generally, greedoids, are special classes of hypergraphs. For these classes greedy algorithms give optimal solutions for optimization problems, and have low polynomial time complexity. Special cases are

  • Kruskal's algorithm for finding minimal spanning trees, and
  • Dijkstra's algorithm for finding shortest paths, both in weighted graphs.

There are many other matroid algorithms. See for example

share|cite|improve this answer

Hypergraphs have been very useful algorithmically for the following "Steiner tree problem:" given a graph (V, E) with a specified "required/terminal" vertex subset R of V and a cost for each edge, find a minimum-cost set of edges which connects all the terminals (and includes whatever subset of V \ R you like). Any minimal solution is a tree all of whose leaves are terminals (a so-called Steiner tree).

Hypergraphs are useful because there is a "full component decomposition" of any Steiner tree into subtrees; the problem of reconstructing a min-cost Steiner tree from the set of all possible full components is the same as the min-cost spanning connected hypergraph problem (a.k.a. min hyper-spanning tree problem) for a hypergraph whose vertex set is R. That's the approach used by many modern algorithms for the Steiner tree problem (whether they are integer-program based exact algorithms that are actually implemented, or non-implemented approximation algorithms with good provable approximation guarantees).

I like this application since one must view the hypergraph as "like a graph" (want it to be connected and acyclic) and not like a set system. This approach was used implicitly starting around 1990 by Zelikovsky and brought out more explicitly around 1997 by (I think) Warme and Prömel & Steger. A very cute paper using this approach is coming out at STOC 2010 by Byrka et al. As an $\epsilon$-shameless self-reference, there is more information in my thesis which then delves into linear programming relaxations for this approach.

share|cite|improve this answer

Directed hypergraphs are used to model chemical reaction networks. This is closely related to the biological application Peter Arndt mentions in his answer.

The reaction network and the underlying hypergraph are related via the stoichiometry matrix, which is a matrix consisting of one's, zeros and minus ones which generalizes the adjacency matrix of a graph.

One obvious question you might ask about such a network is "are there any feedback loops"? This translates into the mathematical problem of finding directed hypercircuits in a directed hypergraph. This turns out to be an NP-complete problem (as shown in this paper by Can Özturan) and so gives another example of the type gowers mentions in his comment.

share|cite|improve this answer

Hypergraphs can arise as Bruhat-Tits buildings of groups, see e.g. here.

Some real world applications: In this article the authors list some applications to biology. Their nice starting example is that if one wants to model a chemical reaction one can write A-->B for a process which transforms A into B and see this as the edge of a graph. Sometimes such a process only works in the presence of some catalyzer (A+C-->B+C), making it a relation between three instead of two ingredients and giving a 2-edge of a hypergraph.

share|cite|improve this answer
  • Hypergraphs can be used to model some concurrent processes.

"it's a much more complex structure than a regular graph" Hypergraphs could be represented as ordinary graphs, if one represents each "hyperedge" with an additional ordinary node and ordinary edges which connect the new node with the nodes incident to "hyperedge". It makes me feel that hypergraphs aren't a strict subset.

share|cite|improve this answer

probably many thms and applications of math that dont explicitly refer to hypergraphs are actually related to them implicitly & could be recast in those terms. because hypergraphs are equivalently just "sets of sets". in this way they're also often interchangeable with/analogous to a 2d boolean array in computer science (and how ubiquitous is that structure in both software and mathematics? in computer science it might be referred to as a "design pattern" or even just a simple "discrete structure").

here is one key appearance/application of hypergraphs not mentioned so far. the erdos-rado sunflower lemmas[1], a key discovery of extremal graph/set theory, are about an intrinsic order or emergent "structure" to "random" hypergraphs if certain somewhat modest constraints are satisfied. this lemma shows up in numerous important lower bounds proofs in monotone circuit theory in computer science, including new versions that strengthen or generalize the lemma.[2]

because of their particular role in these "bottleneck"-type proofs its not outlandish to conjecture that variations might be crucial in some future-established comp sci complexity class separations.

[1] erdos-rado sunflowers survey/refs,

[2] The Monotone Complexity of k-Clique on Random Graphs by Rossman, containing new stronger lemmas on "quasi sunflowers"

[3] Razborovs method of approximations by WT Gowers

share|cite|improve this answer
footnote— technically a hypergraph is equiv to the comp sci discrete stucture of a 2d set of arrays of booleans, or an unordered list of lists. but note in comp sci often lists that can be implemented as unordered are implemented as ordered ones because the array ordering is actually more efficient to implement than a set. – vzn Sep 20 '12 at 4:31 mentions a hypergraph covering theorem of Pippenger and Spencer. This theorem is generalized and used in a sieving method to find large intervals having only composite numbers.

share|cite|improve this answer

I believe a hypergraph can implement, or at least represent the transition states of, a nondeterministic Turing machine. Can't yet find any literature demonstrating that though, which makes me wonder. I have an open question about this over on StackOverflow right now, with no takers as of this writing:

share|cite|improve this answer

Every finite geometry (projective planes, generalized polygons, polar spaces, near polygons, etc.) and every block design (Witt design, difference sets, Steiner triple systems, etc.) is a hypergraph. So, all the applications of those objects can be considered as applications of hypergraphs.

For example, this paper discusses the application of finite projective planes in coding theory and cryptography: Inside mathematics, there are many other applications of these hypergraphs in group theory, extremal combinatorics and graph theory.

share|cite|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.