English

Learning Disjunctions of Predicates

Machine Learning 2017-06-19 v1

Abstract

Let FF be a set of boolean functions. We present an algorithm for learning F:={fSfSF}F_\vee := \{\vee_{f\in S} f \mid S \subseteq F\} from membership queries. Our algorithm asks at most FOPT(F)|F| \cdot OPT(F_\vee) membership queries where OPT(F)OPT(F_\vee) is the minimum worst case number of membership queries for learning FF_\vee. When FF is a set of halfspaces over a constant dimension space or a set of variable inequalities, our algorithm runs in polynomial time. The problem we address has practical importance in the field of program synthesis, where the goal is to synthesize a program that meets some requirements. Program synthesis has become popular especially in settings aiming to help end users. In such settings, the requirements are not provided upfront and the synthesizer can only learn them by posing membership queries to the end user. Our work enables such synthesizers to learn the exact requirements while bounding the number of membership queries.

Cite

@article{arxiv.1706.05070,
  title  = {Learning Disjunctions of Predicates},
  author = {Nader H. Bshouty and Dana Drachsler-Cohen and Martin Vechev and Eran Yahav},
  journal= {arXiv preprint arXiv:1706.05070},
  year   = {2017}
}
R2 v1 2026-06-22T20:20:19.902Z