Enumeration Complexity

Yann Strozecki, The Algorithmics Column by Thomas Erlebach


An enumeration problem is the task of listing a set of elements without redundancies, usually the solutions of some combinatorial problem. The enumeration of cycles in a graph appeared already 50 years ago [96], while fundamental complexity notions for enumeration have been proposed 30 years ago by Johnson, Yannakakis and Papadimitriou [65]. Nowadays sev- eral research communities are working on enumeration from di↵erent point of views: graph algorithms, parametrized complexity, exact exponential al- gorithms, logic, database, enumerative combinatorics, applied algorithms to bioinformatics, cheminformatics, networks . . .

In the last ten years, the topic has attracted more attention and these di↵erent communities began to share their ideas and problems, as exempli- fied by two recent Dagstuhl workshops “Algorithmic Enumeration: Output- sensitive, Input-Sensitive, Parameterized, Approximative” and “Enumera- tion in Data Management” or the creation of Wikipedia pages for enumera- tion complexity and algorithms.

In this column, we focus on the structural complexity of enumeration, trying to capture di↵erent notions of tractability. The beautiful algorithmic methods used to solve enumeration problems are only briefly mentioned when relevant and would require another column. Much of what is pre- sented here is inspired by several PhD theses and articles [94, 17, 78, 77], in particular a good part of this text is borrowed from [21, 20].

Full Text:



  • There are currently no refbacks.