I'm taking a course in graph algorithms. I've just implemented recognition of chordal graphs for an assignment.

I'm wondering: what are the use cases for chordal graphs? In other words, what are the chordal graphs one can obtain from studying other computational problems? I'm interested in any problems, no matter how real-world or instead abstract they are, as long as chordal graphs are not just by design included in the problem definition.

I know that interval graphs are chordal and interval graphs seem more natural to me (i.e. to represent conflicts in some time schedules). Are there some use cases of chordality for interval graphs? Or is it maybe the case that the interval representation is mostly more useful?



1 Answer 1


The class of chordal graphs is a central graph class in both the area of graph classes, and also in algorithmic graph theory.

By central, I mean that it has important graph classes above and below (and on the side of it), and that it relates to very important topics in graph algorithms.

Chordal graphs is a superclass of important graph classes such as interval graphs (as you mention), split graphs, threshold graphs, trivially perfect graphs, and of course trees. As such, trivially perfect graphs (aka quasi-threshold graphs) is a generalization of trees, and chordal graphs are generalizations of those again.

There are many problems that are NP-hard on large graph classes that become polynomial time solvable on chordal graphs, for example treewidth, chromatic number, clique/independent set/vertex cover, feedback vertex set, etc., however some remain NP-hard, such as dominating set (already hard on split graphs) and Hamiltonian path.

There are interesting algorithmic concepts relating to chordal graphs: a vertex is simplicial if its neighborhood is a clique. A graph is chordal if and only if there exists a perfect elimination ordering, which is an ordering of the vertices such that vertex $i$ is simplicial in $G_{\geq i}$, the induced graph on the vertices from $i$ up to $n$.

There is also an important relationship between chordal graphs and treewidth, arguably one of the most important structural properties of a graph, which is the following. A graph $G$ has treewidth $k$ if and only if there exists a chordal completion $G'$ of $G$ with maximum clique size $k$. A chordal completion is a spanning supergraph of $G$. Chordal completion is better known as minimum fill-in, which has application in Gaussian elimination of sparse matrices, which led the complexity of Minimum Fill-In to be posed as an important open problem in the 70s. Today we know a lot about this problem, including that it is NP-complete.

Interestingly, interval graphs are to pathwidth as chordal graphs are to treewidth, and the same relationship holds for trivially perfect graphs and treedepth, as well as threshold graphs and vertex cover(!).

In other words, chordal graphs have important applications in the real-world, they have interesting structural properties, and there are interesting algorithmic challenges relating to this class.

I could say much more, but I'll leave it at this. I hope it helps.

  • $\begingroup$ Thanks for answer! Especially the relationship to treewidth seems intuitively of importance to me $\endgroup$
    – zaabson
    Oct 16 at 17:44
  • $\begingroup$ One thing that could be mentioned is the relationship to database theory through $\alpha$- and $\beta$-acyclic hypergraphs, since that is one of the more practical circumstances where they crop up. Otherwise a thorough and good answer. $\endgroup$
    – Highheath
    Oct 16 at 17:47
  • $\begingroup$ oh, that's a new notion to me but it seems important! Wiki mentions some relation to the guarded fragment so it got me interested $\endgroup$
    – zaabson
    Oct 16 at 17:59
  • $\begingroup$ Hey, aren't simplicial complexes chordal? $\endgroup$
    – zaabson
    Oct 21 at 11:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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