Geometric Amortization of Enumeration Algorithms

Authors Florent Capelli , Yann Strozecki

Thumbnail PDF


  • Filesize: 0.88 MB
  • 22 pages

Document Identifiers

Author Details

Florent Capelli
  • Université de Lille, CNRS, Inria, Centrale Lille, UMR 9189 - CRIStAL, F-59000 Lille, France
Yann Strozecki
  • Université Paris Saclay, UVSQ, DAVID, France


We would like to thank anonymous reviewers for helpful comments on previous version of the paper and Nofar Carmeli and Stefan Mengel for proofreading earlier version of the paper.

Cite AsGet BibTex

Florent Capelli and Yann Strozecki. Geometric Amortization of Enumeration Algorithms. In 40th International Symposium on Theoretical Aspects of Computer Science (STACS 2023). Leibniz International Proceedings in Informatics (LIPIcs), Volume 254, pp. 18:1-18:22, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2023)


In this paper, we introduce a technique we call geometric amortization for enumeration algorithms, which can be used to make the delay of enumeration algorithms more regular with little overhead on the space it uses. More precisely, we consider enumeration algorithms having incremental linear delay, that is, algorithms enumerating, on input x, a set A(x) such that for every t ≤ ♯ A(x), it outputs at least t solutions in time O(t⋅p(|x|)), where p is a polynomial. We call p the incremental delay of the algorithm. While it is folklore that one can transform such an algorithm into an algorithm with maximal delay O(p(|x|)), the naive transformation may use exponential space. We show that, using geometric amortization, such an algorithm can be transformed into an algorithm with delay O(p(|x|)log(♯A(x))) and space O(s log(♯A(x))) where s is the space used by the original algorithm. In terms of complexity, we prove that classes DelayP and IncP₁ with polynomial space coincide. We apply geometric amortization to show that one can trade the delay of flashlight search algorithms for their average delay up to a factor of O(log(♯A(x))). We illustrate how this tradeoff is advantageous for the enumeration of solutions of DNF formulas.

Subject Classification

ACM Subject Classification
  • Theory of computation → Complexity classes
  • Enumeration
  • Polynomial Delay
  • Incremental Delay
  • Amortization


  • Access Statistics
  • Total Accesses (updated on a weekly basis)
    PDF Downloads


  1. Alfred V Aho and John E Hopcroft. The design and analysis of computer algorithms. Pearson Education India, 1974. Google Scholar
  2. Ricardo Andrade, Martin Wannagat, Cecilia C Klein, Vicente Acuña, Alberto Marchetti-Spaccamela, Paulo V Milreu, Leen Stougie, and Marie-France Sagot. Enumeration of minimal stoichiometric precursor sets in metabolic networks. Algorithms for Molecular Biology, 11(1):25, 2016. Google Scholar
  3. David Avis and Komei Fukuda. Reverse search for enumeration. Discrete Applied Mathematics, 65(1-3):21-46, 1996. Google Scholar
  4. Guillaume Bagan. Algorithms and complexity of enumeration problems for the evaluation of logical queries. PhD thesis, Université de Caen, France, 2009. Google Scholar
  5. JoséL Balcázar. Self-reducibility. Journal of Computer and System Sciences, 41(3):367-388, 1990. Google Scholar
  6. Dominique Barth, Olivier David, Franck Quessette, Vincent Reinhard, Yann Strozecki, and Sandrine Vial. Efficient generation of stable planar cages for chemistry. In International Symposium on Experimental Algorithms, pages 235-246. Springer, 2015. Google Scholar
  7. James R Bitner, Gideon Ehrlich, and Edward M Reingold. Efficient generation of the binary reflected gray code and its applications. Communications of the ACM, 19(9):517-521, 1976. Google Scholar
  8. Thomas Bläsius, Tobias Friedrich, Julius Lischeid, Kitty Meeks, and Martin Schirneck. Efficiently enumerating hitting sets of hypergraphs arising in data profiling. In 2019 Proceedings of the Twenty-First Workshop on Algorithm Engineering and Experiments (ALENEX), pages 130-143. SIAM, 2019. Google Scholar
  9. Kateřina Böhmová, Luca Häfliger, Matúš Mihalák, Tobias Pröger, Gustavo Sacomoto, and Marie-France Sagot. Computing and listing st-paths in public transportation networks. Theory of Computing Systems, 62(3):600-621, 2018. Google Scholar
  10. Caroline Brosse, Vincent Limouzy, and Arnaud Mary. Polynomial delay algorithm for minimal chordal completions. In Mikolaj Bojanczyk, Emanuela Merelli, and David P. Woodruff, editors, 49th International Colloquium on Automata, Languages, and Programming, ICALP 2022, July 4-8, 2022, Paris, France, volume 229 of LIPIcs, pages 33:1-33:16. Schloss Dagstuhl - Leibniz-Zentrum für Informatik, 2022. URL:
  11. Florent Capelli and Yann Strozecki. Incremental delay enumeration: Space and time. Discrete Applied Mathematics, 268:179-190, 2019. Google Scholar
  12. Florent Capelli and Yann Strozecki. Enumerating models of DNF faster: Breaking the dependency on the formula size. Discrete Applied Mathematics, 303:203-215, 2021. Google Scholar
  13. Florent Capelli and Yann Strozecki. Geometric amortization of enumeration algorithms. arXiv preprint arXiv:2108.10208, 2021. Google Scholar
  14. Nofar Carmeli and Markus Kröll. On the enumeration complexity of unions of conjunctive queries. In Proceedings of the 38th ACM SIGMOD-SIGACT-SIGAI Symposium on Principles of Database Systems, pages 134-148, 2019. Google Scholar
  15. Sara Cohen, Benny Kimelfeld, and Yehoshua Sagiv. Generating all maximal induced subgraphs for hereditary and connected-hereditary graph properties. Journal of Computer and System Sciences, 74(7):1147-1159, 2008. Google Scholar
  16. Alessio Conte, Roberto Grossi, Andrea Marino, and Luca Versari. Listing maximal subgraphs satisfying strongly accessible properties. SIAM Journal on Discrete Mathematics, 33(2):587-613, 2019. Google Scholar
  17. Alessio Conte and Takeaki Uno. New polynomial delay bounds for maximal subgraph enumeration by proximity search. In Proceedings of the 51st Annual ACM SIGACT Symposium on Theory of Computing, pages 1179-1190, 2019. Google Scholar
  18. Stephen A Cook and Robert A Reckhow. Time bounded random access machines. Journal of Computer and System Sciences, 7(4):354-375, 1973. Google Scholar
  19. Arnaud Durand and Etienne Grandjean. First-order queries on structures of bounded degree are computable with constant delay. ACM Trans. Comput. Log., 8(4):21, 2007. Google Scholar
  20. Thomas Eiter, Georg Gottlob, and Kazuhisa Makino. New results on monotone dualization and generating hypergraph transversals. SIAM Journal on Computing, 32(2):514-537, 2003. Google Scholar
  21. Michael Fredman and Leonid Khachiyan. On the complexity of dualization of monotone disjunctive normal forms. Journal of Algorithms, 21(3):618-628, 1996. Google Scholar
  22. Leslie Ann Goldberg. Efficient algorithms for listing combinatorial structures. PhD thesis, University of Edinburgh, UK, 1991. URL:
  23. David S Johnson, Mihalis Yannakakis, and Christos H Papadimitriou. On generating all maximal independent sets. Information Processing Letters, 27(3):119-123, 1988. Google Scholar
  24. Leonid Khachiyan, Endre Boros, Khaled Elbassioni, Vladimir Gurvich, and Kazuhisa Makino. On the complexity of some enumeration problems for matroids. SIAM Journal on Discrete Mathematics, 19(4):966-984, 2005. Google Scholar
  25. Samir Khuller and Vijay V Vazirani. Planar graph coloring is not self-reducible, assuming P≠NP. Theoretical Computer Science, 88(1):183-189, 1991. Google Scholar
  26. Donald E Knuth. Combinatorial algorithms, part 1, volume 4a of the art of computer programming, 2011. Google Scholar
  27. Eugene L Lawler, Jan Karel Lenstra, and AHG Rinnooy Kan. Generating all maximal independent sets: NP-hardness and polynomial-time algorithms. SIAM Journal on Computing, 9(3):558-565, 1980. Google Scholar
  28. Édouard Lucas. Récréations mathématiques: Les traversées. Les ponts. Les labyrinthes. Les reines. Le solitaire. La numération. Le baguenaudier. Le taquin, volume 1. Gauthier-Villars et fils, 1882. Google Scholar
  29. Arnaud Mary and Yann Strozecki. Efficient enumeration of solutions produced by closure operations. Discrete Mathematics & Theoretical Computer Science, 21(3), 2019. Google Scholar
  30. Kurt Mehlhorn. Data structures and algorithms 1: Sorting and searching, volume 1. Springer Science & Business Media, 2013. Google Scholar
  31. Keisuke Murakami and Takeaki Uno. Efficient algorithms for dualizing large-scale hypergraphs. Discrete Applied Mathematics, 170:83-94, 2014. Google Scholar
  32. Ronald C Read and Robert E Tarjan. Bounds on backtrack algorithms for listing cycles, paths, and spanning trees. Networks, 5(3):237-252, 1975. Google Scholar
  33. Frank Ruskey. Combinatorial generation. Preliminary working draft. University of Victoria, Victoria, BC, Canada, 11:20, 2003. Google Scholar
  34. Yann Strozecki. Enumeration complexity and matroid decomposition. PhD thesis, Université Paris Diderot - Paris 7, 2010. Google Scholar
  35. Yann Strozecki. Enumeration complexity. Bulletin of EATCS, 1(129), 2019. Google Scholar
  36. James C Tiernan. An efficient search algorithm to find the elementary circuits of a graph. Communications of the ACM, 13(12):722-726, 1970. Google Scholar
  37. Nikolaos Tziavelis, Wolfgang Gatterbauer, and Mirek Riedewald. Any-k algorithms for enumerating ranked answers to conjunctive queries, 2022. URL:
  38. Takeaki Uno. Constant time enumeration by amortization. In Workshop on Algorithms and Data Structures, pages 593-605. Springer, 2015. Google Scholar
  39. Kunihiro Wasa and Kazuhiro Kurita. Enumeration of enumeration algorithms and its complexity. Accessed: 2021-10-31.