Generality and Computational Cost

The purpose of this note is pedagogical. It discusses how one can reduce the computational cost of applying a set of operators (or predicates) by breaking them up into combinations of commonly occurring, simpler ones. This can be thought of as a process of generalization, in the sense that the common, simple operators are more "general" than the original, more complex ones. We are thus suggesting that even when one has a priori knowledge of a specialized nature (i.e., that the complex operators are applicable), it may still be desirable to use generalized operators in order to reduce computational cost.