COMPUTING WITH LIGHT: TOWARD PARALLEL BOOLEAN ALGEBRA
Abstract
We design and implement highly parallel algorithms that use light as the tool of computation. Our computational laboratory consists of an ordinary xerox machine supplied with a box of transparencies. Our most basic operation is the evaluation of a Boolean function at arbitrarily many truth settings simultaneously. We find the maximum in a list of n-bit numbers of arbitrary length using at most n xerox copying steps. We count the number of elements in a list of arbitrary length of subsets of a given n-element set simultaneously in O(n2) copying steps. We decide, for any graph having n vertices and m edges, whether a 3-coloring exists in at most 2n + 4m copying steps. For large instances of problems such as the 3-color problem, this solution method may require the production of transparencies that display challengingly high densities of information. Our ultimate purpose here is to give hand tested 'ultra-parallel' algorithmic procedures that may provide useful suggestions for future technologies using light.