Finding Critical Sets

Abstract Several algorithms are given for finding a critical subset S determined by a binary monotonic set function ƒ over a given set U . A set S is a critical set of ƒ iff ƒ(S) = 1 and ƒ(R) = 0 for all R such that R ⋐ S , where the monotonicity of ƒ assures us that also ƒ(T) = 1 for all T satisfying S ⊆ T . Upper bounds on the worst case times for the algorithms, determined by the number of calls to the binary set function, vary downwards from 2 r [log 2 n ] function calls. Here n is the size of U and r is the size of the critical set found. We find that the conceptually easiest algorithm is not the easiest to program and also that the algorithms with better upper bounds fare more poorly in practice, based on a small sample of random trials. Although finding one critical set is easy we also show that it can quickly get very difficult to find additional critical sets, simply because it can be hard to separate known critical sets from further possible critical sets.