1. A method for constructing a classifier that distinguishes between different classes of data points, comprising: receiving a data set, which includes class-one data points and class-two data points; for each class-one data point in the data set, using a separating primitive to produce a set of point-to-point separating boundaries, wherein each point-to-point separating boundary separates the class-one data point from a different class-two data point; and combining separating boundaries in the set of separating boundaries to produce a point-to-class separating boundary that separates the class-one data point from all of the class-two data points in the data set; and combining the point-to-class separating boundaries for each of the class-one data points to produce a class-to-class separating boundary for the classifier that separates all of the class-one data points from all of the class-two data points in the data set.