computational complexity

, Volume 6, Issue 2, pp 174–194

Simple learning algorithms using divide and conquer

  • Nader H. Bshouty

DOI: 10.1007/BF01262930

Cite this article as:
Bshouty, N.H. Comput Complexity (1996) 6: 174. doi:10.1007/BF01262930


This paper investigates what happens when a learning algorithm for a classC attempts to learn target formulas from a different class. In many cases, the learning algorithm will find a “bad attribute” or a property of the target formula which precludes its membership in the classC. To continue the learning process, we proceed by building a decision tree according to the possible values of this attribute (divide) and recursively run the learning algorithm for each value (conquer). This paper shows how to recursively run the learning algorithm for each value using the oracles of the target.

We demonstrate that the application of this idea on some known learning algorithms can both simplify the algorithm and provide additional power to learn more classes. In particular, we give a simple exact learning algorithm, using membership and equivalence queries, for the class of DNF that is “almost” unate, that is, unate with the addition ofO (logn) nonunate variables and a constant number of terms. We also find algorithms in different models for boolean functions that depend onk terms.

Key words

PAC-learning exact learning divide and conquer queries 

Subject classifications

06E30 41A05 68T05 

Copyright information

© Birkhäuser Verlag 1997

Authors and Affiliations

  • Nader H. Bshouty
    • 1
  1. 1.Department of Computer ScienceUniversity of CalgaryCalgaryCanada

Personalised recommendations