A better bouncer's algorithm

  • Authors:
  • Ferdinando Cicalese;Travis Gagie;Anthony J. Macula;Martin Milanič;Eberhard Triesch

  • Affiliations:
  • Department of Computer Science, University of Salerno;Department of Computer Science, University of Chile;Department of Mathematics, State University of New York at Geneseo;Faculty of Mathematics, Natural Sciences and Information Technologies, University of Primorska;Department of Mathematics, RWTH Aachen University

  • Venue:
  • FUN'10 Proceedings of the 5th international conference on Fun with algorithms
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Suppose we have a set of materials -- e.g., drugs or genes -- some combinations of which react badly together. We can experiment to see whether subsets contain any bad combinations and we want to find a maximal subset that does not. This problem is equivalent to finding a maximal independent set (or minimal vertex cover) in a hypergraph using group tests on the vertices. Consider the simple greedy algorithm that adds vertices one by one; after adding each vertex, the algorithm tests whether the subset now contains any edges and, if so, removes that vertex and discards it. We call this the "bouncer's algorithm" because it is reminiscent of how order is maintained as patrons are admitted to some bars. If this algorithm processes the vertices according to a given total preference order, then its solution is the unique optimum with respect to that order. Our main contribution is another algorithm that produces the same solution but uses fewer tests when few vertices are discarded: if the bouncer's algorithm discards d of the n vertices in the hypergraph, then our algorithm uses at most d(⌈log2 n⌉+1)+1 tests. It follows that, given black-box access to a monotone Boolean formula on n variables, we can find a minimal satisfying truth assignment using at most d(⌈log2 n⌉ +1)+1 tests, where d is the number of variables set to true. We also prove some bounds for partially adaptive algorithms.