Creative Commons Attribution 3.0 Unported license
Many combinatorial problems involve determining whether a universe of n elements contains a witness consisting of k elements which have some specified property. In this paper we investigate the relationship between the decision and enumeration versions of such problems: efficient methods are known for transforming a decision algorithm into a search procedure that finds a single witness, but even finding a second witness is not so straightforward in general. In this paper we show that, if the decision version of the problem belongs to FPT, there is a randomised algorithm which enumerates all witnesses in time f(k)*poly(n)*N, where N is the total number of witnesses and f is a computable function. This also gives rise to an efficient algorithm to count the total number of witnesses when this number is small.
@InProceedings{meeks:LIPIcs.IPEC.2016.22,
author = {Meeks, Kitty},
title = {{Randomised Enumeration of Small Witnesses Using a Decision Oracle}},
booktitle = {11th International Symposium on Parameterized and Exact Computation (IPEC 2016)},
pages = {22:1--22:12},
series = {Leibniz International Proceedings in Informatics (LIPIcs)},
ISBN = {978-3-95977-023-1},
ISSN = {1868-8969},
year = {2017},
volume = {63},
editor = {Guo, Jiong and Hermelin, Danny},
publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
address = {Dagstuhl, Germany},
URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.IPEC.2016.22},
URN = {urn:nbn:de:0030-drops-69218},
doi = {10.4230/LIPIcs.IPEC.2016.22},
annote = {Keywords: enumeration algorithms, parameterized complexity, randomized algorithms, color coding}
}