🤖 AI Summary
This work resolves a long-standing open problem posed by Pruesse and Ruskey: how to enumerate all ideals and antichains of a poset in Gray code order with constant delay, such that consecutive outputs differ by at most three elements. To achieve this, we introduce a recursive enumeration algorithm together with a novel potential-based analysis framework called “Pyramid,” which unifies and refines existing techniques such as Push-out analysis. Our approach not only attains the theoretically optimal constant-delay performance but also significantly enhances the local stability of the output sequence. This provides a powerful and general-purpose analytical tool for the efficient enumeration of related combinatorial structures.
📝 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.