Document

# Geometric Amortization of Enumeration Algorithms

## File

LIPIcs.STACS.2023.18.pdf
• Filesize: 0.88 MB
• 22 pages

## Acknowledgements

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 As

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)
https://doi.org/10.4230/LIPIcs.STACS.2023.18

## Abstract

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
##### Keywords
• Enumeration
• Polynomial Delay
• Incremental Delay
• Amortization

## Metrics

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

## References

1. Alfred V Aho and John E Hopcroft. The design and analysis of computer algorithms. Pearson Education India, 1974.
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.
3. David Avis and Komei Fukuda. Reverse search for enumeration. Discrete Applied Mathematics, 65(1-3):21-46, 1996.
4. Guillaume Bagan. Algorithms and complexity of enumeration problems for the evaluation of logical queries. PhD thesis, Université de Caen, France, 2009.
5. JoséL Balcázar. Self-reducibility. Journal of Computer and System Sciences, 41(3):367-388, 1990.
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.
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.
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.
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.
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: http://dx.doi.org/10.4230/LIPIcs.ICALP.2022.33.
11. Florent Capelli and Yann Strozecki. Incremental delay enumeration: Space and time. Discrete Applied Mathematics, 268:179-190, 2019.
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.
13. Florent Capelli and Yann Strozecki. Geometric amortization of enumeration algorithms. arXiv preprint arXiv:2108.10208, 2021.
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.
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.
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.
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.
18. Stephen A Cook and Robert A Reckhow. Time bounded random access machines. Journal of Computer and System Sciences, 7(4):354-375, 1973.
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.
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.
21. Michael Fredman and Leonid Khachiyan. On the complexity of dualization of monotone disjunctive normal forms. Journal of Algorithms, 21(3):618-628, 1996.
22. Leslie Ann Goldberg. Efficient algorithms for listing combinatorial structures. PhD thesis, University of Edinburgh, UK, 1991. URL: http://hdl.handle.net/1842/10917.
23. David S Johnson, Mihalis Yannakakis, and Christos H Papadimitriou. On generating all maximal independent sets. Information Processing Letters, 27(3):119-123, 1988.
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.
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.
26. Donald E Knuth. Combinatorial algorithms, part 1, volume 4a of the art of computer programming, 2011.
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.
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.
29. Arnaud Mary and Yann Strozecki. Efficient enumeration of solutions produced by closure operations. Discrete Mathematics & Theoretical Computer Science, 21(3), 2019.
30. Kurt Mehlhorn. Data structures and algorithms 1: Sorting and searching, volume 1. Springer Science & Business Media, 2013.
31. Keisuke Murakami and Takeaki Uno. Efficient algorithms for dualizing large-scale hypergraphs. Discrete Applied Mathematics, 170:83-94, 2014.
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.
33. Frank Ruskey. Combinatorial generation. Preliminary working draft. University of Victoria, Victoria, BC, Canada, 11:20, 2003.
34. Yann Strozecki. Enumeration complexity and matroid decomposition. PhD thesis, Université Paris Diderot - Paris 7, 2010.
35. Yann Strozecki. Enumeration complexity. Bulletin of EATCS, 1(129), 2019.
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.
37. Nikolaos Tziavelis, Wolfgang Gatterbauer, and Mirek Riedewald. Any-k algorithms for enumerating ranked answers to conjunctive queries, 2022. URL: http://dx.doi.org/10.48550/ARXIV.2205.05649.
38. Takeaki Uno. Constant time enumeration by amortization. In Workshop on Algorithms and Data Structures, pages 593-605. Springer, 2015.
39. Kunihiro Wasa and Kazuhiro Kurita. Enumeration of enumeration algorithms and its complexity. https://kunihirowasa.github.io/enum/problem_list. Accessed: 2021-10-31.