# Minimal elements of a monotonic predicate over the powerset $2^{|n|}$

Consider a monotonic predicate $P$ over the powerset $2^{|n|}$ (ordered by inclusion). By "monotonic" I mean: $\forall x, y \in 2^{|n|}$ such that $x \subset y$, if $P(x)$ then $P(y)$. I am looking for an algorithm to find all the minimal elements of $P$, i.e., the $x \in 2^{|n|}$ such that $P(x)$ but $\forall y \subset x$, $\neg P(y)$. Since the width of $2^{|n|}$ is $n \choose n/2$, there could be exponentially many minimal elements, and therefore the running time of such an algorithm could be exponential in general. However, could there exist an algorithm for this task which is polynomial in the size of the output?

[Context: A more general question was asked but there was no attempt in the answers to evaluate the complexity of the algorithm in the size of the output. If I assume that there is only one minimal element, for instance, then I can perform a binary search following this answer and find it. However, if I want to continue finding more minimal elements, I need to maintain the current information I have about $P$ in a way which would make it tractable to continue the search without wasting time on what is already known. Is it possible to do this and find all the minimal elements in polynomial time in the size of the output?]

Ideally, I would like to understand if this can be done with general DAGs, but I already don't know how to answer the question for $2^{|n|}$.

-
isnt $\binom{a}{b}$ usually written with $a \geq b$? what does it mean if $a<b$? it would help if you define "minimal elements". fyi on superficial analysis this does sound similar to monotone circuit minimization with minterms etc –  vzn Dec 20 '12 at 15:21
can you clarify where DAGs fit in? –  vzn Feb 7 '13 at 3:43
The powerset $2^{|n|}$ ordered by inclusion is a DAG (with the various parts of $\{1, ..., n\}$ as vertices and one edges between couples of parts that are included in one another, keeping only the transitive reduction of this graph to remove redundant edges implied by transitivity). It seems natural to ask the same question about arbitrary DAGs. –  a3nm Feb 7 '13 at 9:34

It seems that the existence of a polynomial time algorithm is still open. Schmulevich et al. prove that "Almost all monotone Boolean functions are polynomially learnable using membership queries". If we also require that the $t$th minterm be generated in time polynomial in $n$ and $t$, then the problem is equivalent to monotone dualization, as shown by Bioch and Ibaraki. Here is a survey addressing monotone dualization.
OK, I'll accept this answer anyway. Additional remarks: (1) this answer is about the computational complexity, not the complexity in the number of evaluations of $P$ (see cstheory.stackexchange.com/a/14862/4795 for this last case), and (2) the exact open question is "can you learn a monotone boolean function in polynomial time in $n$ and its number of minima and maxima", there is no hope of doing it in polynomial time in $n$ and the number of maxima because there can be a linear number of maxima but an exponential number of minima (cf. sec 6.1 paragraph 2 in the survey mentioned above). –  a3nm Dec 27 '12 at 17:21