Classifier
A classifier represents an equivalence relation among the objects
of a space. Operations explicate the predicate, return the class of a
given object, and return all classes.
Implementations:
- Classifier_Explicit
User explicitly specifies classes.
- Classifier_First_N
Similar to Classifier_Transitive, but only builds groups of
maximum size n, rather than the full transitive closure.
- Classifier_Transitive
Groups objects into equivalence classes by transitively following
an equivalence predicate (Space_Predicate) through an Ngraph.
Member functions:
- add_class: Classifier_Explicit . Space -> void
Explicitly adds the class to the set of equivalence classes.
- classes: Classifier -> Classes
Returns all classes.
- classify: Classifier . Space -> void
Builds the classifier on the space.
- class_of: Classifier . Obj -> Space
Returns the class (a space) of the object.
- space: Classifier -> Space
Returns the classified space.