Table of Contents
Fetching ...

Constant delay Gray code enumeration of ideals and antichains in posets

Sofia Brenner, Jiří Fink

Abstract

We present an algorithm that enumerates all ideals of an input poset with constant delay in Gray code order, i.e., such that consecutively visited ideals differ in at most three elements. This answers a long-standing open problem posed by Pruesse and Ruskey, and improves upon previous algorithms by Pruesse and Ruskey, Squire, Habib, Medina, Nourine and Steiner, as well as Abdo. Using the same techniques, we also obtain an algorithm that enumerates all antichains of an input poset with constant delay such that successively visited antichains differ in at most three elements. As a key technical ingredient, we introduce a new potential-based analysis framework for recursive algorithms, which we call the Pyramid method. We show that this method subsumes the Push-out method of Uno. Beyond the present application, the Pyramid method is a general framework to analyze recursive algorithms and may thus be of independent interest.

Constant delay Gray code enumeration of ideals and antichains in posets

Abstract

We present an algorithm that enumerates all ideals of an input poset with constant delay in Gray code order, i.e., such that consecutively visited ideals differ in at most three elements. This answers a long-standing open problem posed by Pruesse and Ruskey, and improves upon previous algorithms by Pruesse and Ruskey, Squire, Habib, Medina, Nourine and Steiner, as well as Abdo. Using the same techniques, we also obtain an algorithm that enumerates all antichains of an input poset with constant delay such that successively visited antichains differ in at most three elements. As a key technical ingredient, we introduce a new potential-based analysis framework for recursive algorithms, which we call the Pyramid method. We show that this method subsumes the Push-out method of Uno. Beyond the present application, the Pyramid method is a general framework to analyze recursive algorithms and may thus be of independent interest.

Paper Structure

This paper contains 32 sections, 32 theorems, 44 equations, 4 figures, 1 table, 3 algorithms.

Key Result

Theorem 1.2

Let $\mathcal{A}$ be a recursive algorithm enumerating a set $X$ and assume that $\mathcal{A}$ satisfies the Pyramid condition for a potential function $\Phi$ and time $T^\star$. The total computation time to enumerate $X$ is $\mathcal{O}{\left( |X| T^\star - \Phi(X) \right)}$, so the amortized dela

Figures (4)

  • Figure 1: (a) Example of a poset $P$, together with the subposets $P_0, \dots, P_4$ as well as the sets $S_0, \dots, S_4$ and $L_1, \dots, L_5$, visualized by its Hasse diagram. (b) The sets $D_i$ and the ideals in $\mathcal{I}_i(P)$ for $i = 0, \dots, 4$. Every ideal in $\mathcal{I}_i(P)$ is of the form $I' \cup D_i$, where $I'$ is an ideal of $P_i$. The elements in $P_i$ and $D_i$ are marked in blue and black, respectively.
  • Figure 2: Recursion tree for enumerating all matchings in a graph $G$ (see Example \ref{['ex:rec']}). In each iteration (node of the tree), a vertex $v$ of $G$ (marked with $\times$) is selected. The recursive calls correspond to selecting an edge incident to $v$ to be included in the matching (marked in red) or deciding to include none of the edges incident to $v$ (excluded edges are marked in solid black). At the beginning, the status of all edges in $G$ is undetermined (dashed). Every leaf of the recursion tree corresponds to a matching of $G$.
  • Figure 3: Illustration of the proof of Lemma \ref{['lem:gap']}.
  • Figure 4: Construction of the poset $P$ for which the Algorithm \ref{['alg:ideal']} cannot be analyzed using the Push-out method. The illustration uses $\ell =3$.

Theorems & Definitions (57)

  • Definition 1.1: Pyramid condition
  • Theorem 1.2
  • Theorem 1.3: Worst-case delay
  • Theorem 1.4
  • Theorem 1.5
  • Theorem 1.6
  • Example 2.1
  • Definition 2.2: Pyramid condition
  • Lemma 2.3
  • proof
  • ...and 47 more