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(⌈log 2 n⌉+1)+1 tests, where d is the number of variables set to true. We also prove some bounds for partially adaptive algorithms.
A Better Bouncer's Algorithm
Cicalese, Ferdinando;
2010-01-01
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(⌈log 2 n⌉+1)+1 tests, where d is the number of variables set to true. We also prove some bounds for partially adaptive algorithms.I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.