Implementation of arbitrary Boolean functions on a CNN Universal Machine

The demand for implementing arbitrary N-variable logic functions on perceptron-like structures arises quite often in practice. It is well known, that only the linearly separable class of Boolean functions can be implemented in a single step on these structures. This class however, constitutes only a small (and with the increasing N exponentially decreasing) part of all logic functions. All Boolean functions can be trivially decomposed into at most 2N−1 sub-functions by implementing the minterm or maxterm formulation of the function. This approach, however, becomes rather impractical with the increasing number of variables. In this paper an algorithm is proposed for decomposing arbitrary, linearly non-separable Boolean functions into a series of separable functions, which can be then efficiently implemented as a program for the CNN Universal Machine assuming the simplest and most robust hardware architecture. The decomposition is achieved by finding the closest linearly separable compact functions. Robustness issues of the implementation are also addressed. © 1998 John Wiley & Sons, Ltd.