MathOverflow is a question and answer site for professional mathematicians. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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|cite|improve this question
By replacing each set with its complement, this problem is equivalent to this one: 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.