Take the 2-minute tour ×
MathOverflow is a question and answer site for professional mathematicians. It's 100% free, no registration required.

Given a (finite) set $S$ of (finite) sets such that $\bigcap S = \emptyset$, how can I find all the smallest subsets $S' \subseteq S$ such that $\bigcap S' = \emptyset$?

Of course, I could just iterate over all the subsets of $S$ (that would be $\mathcal{O}(2^{\left | S \right |})$), but is there a better way to do it?

share|improve this question
By replacing each set with its complement, this problem is equivalent to this one: en.wikipedia.org/wiki/Set_cover_problem. So it's NP-complete. You can do a lot better though if you're happy with an approximate solution. –  Sean Eberhard Apr 13 '12 at 11:52
Thanks! Wouldn't it be NP-hard, though, since I'm asking for the optimisation version (rather than the decision version)? –  Vegard Apr 13 '12 at 12:01

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.