Table of Contents
Fetching ...

Counting and Sampling Labeled Chordal Graphs in Polynomial Time

Ursula Hebert-Johnson, Daniel Lokshtanov, Eric Vigoda

TL;DR

The first polynomial-time algorithm to exactly compute the number of labeled chordal graphs on $n$ vertices is presented, and two approximation algorithms are designed that generate a random labeled chordal graph according to a distribution whose total variation distance from the uniform distribution is at most $\varepsilon".

Abstract

We present the first polynomial-time algorithm to exactly compute the number of labeled chordal graphs on $n$ vertices. Our algorithm solves a more general problem: given $n$ and $ω$ as input, it computes the number of $ω$-colorable labeled chordal graphs on $n$ vertices, using $O(n^7)$ arithmetic operations. A standard sampling-to-counting reduction then yields a polynomial-time exact sampler that generates an $ω$-colorable labeled chordal graph on $n$ vertices uniformly at random. Our counting algorithm improves upon the previous best result by Wormald (1985), which computes the number of labeled chordal graphs on $n$ vertices in time exponential in $n$. An implementation of the polynomial-time counting algorithm gives the number of labeled chordal graphs on up to $30$ vertices in less than three minutes on a standard desktop computer. Previously, the number of labeled chordal graphs was only known for graphs on up to $15$ vertices. In addition, we design two approximation algorithms: (1) an approximate counting algorithm that computes a $(1\pm\varepsilon)$-approximation of the number of $n$-vertex labeled chordal graphs, and (2) an approximate sampling algorithm that generates a random labeled chordal graph according to a distribution whose total variation distance from the uniform distribution is at most $\varepsilon$. The approximate counting algorithm runs in $O(n^3\log{n}\log^7(1/\varepsilon))$ time, and the approximate sampling algorithm runs in $O(n^3\log{n}\log^7(1/\varepsilon))$ expected time.

Counting and Sampling Labeled Chordal Graphs in Polynomial Time

TL;DR

The first polynomial-time algorithm to exactly compute the number of labeled chordal graphs on vertices is presented, and two approximation algorithms are designed that generate a random labeled chordal graph according to a distribution whose total variation distance from the uniform distribution is at most $\varepsilon".

Abstract

We present the first polynomial-time algorithm to exactly compute the number of labeled chordal graphs on vertices. Our algorithm solves a more general problem: given and as input, it computes the number of -colorable labeled chordal graphs on vertices, using arithmetic operations. A standard sampling-to-counting reduction then yields a polynomial-time exact sampler that generates an -colorable labeled chordal graph on vertices uniformly at random. Our counting algorithm improves upon the previous best result by Wormald (1985), which computes the number of labeled chordal graphs on vertices in time exponential in . An implementation of the polynomial-time counting algorithm gives the number of labeled chordal graphs on up to vertices in less than three minutes on a standard desktop computer. Previously, the number of labeled chordal graphs was only known for graphs on up to vertices. In addition, we design two approximation algorithms: (1) an approximate counting algorithm that computes a -approximation of the number of -vertex labeled chordal graphs, and (2) an approximate sampling algorithm that generates a random labeled chordal graph according to a distribution whose total variation distance from the uniform distribution is at most . The approximate counting algorithm runs in time, and the approximate sampling algorithm runs in expected time.
Paper Structure (26 sections, 53 theorems, 56 equations, 2 figures, 2 tables, 1 algorithm)

This paper contains 26 sections, 53 theorems, 56 equations, 2 figures, 2 tables, 1 algorithm.

Key Result

Theorem 1.1

There is a deterministic algorithm that given positive integers $n$ and $\omega \leq n$, computes the number of $\omega$-colorable labeled chordal graphs on $n$ vertices using $O(n^7)$ arithmetic operations. Moreover, there is a randomized algorithm that given the same input, generates a graph unifo

Figures (2)

  • Figure 1: The counter functions. Here $L = L_G(X)$ and $Z=[z]$. An arrow from one function to another, say from $\tilde{g}$ to $g$, indicates that the definition of $\tilde{g}$ is the same as that of $g$, except where indicated otherwise. The drawing of $\tilde{f}_p$ represents $\tilde{f}_p(t,x,l,k)$. The function $\tilde{f}_p(t,x,l,k,z)$ is similar but also keeps track of the argument $z$.
  • Figure 2: The control flow of the counting algorithm. An arrow from $f$ to $g$ indicates that the recursive formula for $f$ depends on $g$. The arrow is red (and dashed) if $t$ decreases by 1, blue (and dashed) if $t$ decreases by 2, and black if $t$ does not change. The black self-loops do not cause an infinite loop because in those recursive calls, the number of vertices decreases.

Theorems & Definitions (103)

  • Theorem 1.1
  • Definition 2.1
  • Definition 2.2
  • Definition 2.3
  • Definition 3.1
  • Theorem 3.2
  • Definition 3.3
  • Lemma 3.3
  • Lemma 3.3
  • Lemma 3.3
  • ...and 93 more