2

I have a collection of objects, and a feasibility property for sets of objects which is slow to compute. If a set is feasible then so is any subset. For example, it could be whether the set of things will fit into a certain-sized packing crate.

I want to compute all feasible sets (equivalently - all maximal feasible sets), minimizing the number of evaluations of the feasibility property (worst-case or average). Does anyone know of any theoretical work on this?

Bonus question - what if the cost to compute the property is linear (or superlinear) in the size of the set being evaluated?

user29970
  • 23
  • 3

1 Answers1

2

Your problem is equivalent to exact learning of monotone DNFs. This task is equivalent to learning all minterms of a monotone function, whereas you are interested in learning all maxterms of a monotone function, but the two problems are equivalent. (Look these terms up if you are not familiar with them.)

If the only queries you allow are membership queries (test whether a given set is feasible or not) then your problem is rather difficult. Theorem 2 in Angluin's Queries and Concept Learning shows that $2^n-1$ queries are required even if there are only $2n$ objects and $n+1$ minterms. See the paper for other models in which your problem can be solved efficiently.

Yuval Filmus
  • 276,994
  • 27
  • 311
  • 503
  • Thanks - this was very helpful.For concrete algorithms, this paper looks promising: https://arxiv.org/pdf/1405.0792v1.pdf – user29970 Oct 19 '16 at 14:35