Balance Machines: Computing = Balancing

Joshua J. Arulanandham, Cristian Calude, Michael J. Dinneen. Balance Machines: Computing = Balancing. In Natasa Jonoska, Gheorghe Paun, Grzegorz Rozenberg, editors, Aspects of Molecular Computing, Essays Dedicated to Tom Head on the Occasion of His 70th Birthday. Volume 2950 of Lecture Notes in Computer Science, pages 36-48, Springer, 2004. [doi]

Abstract

We propose a natural computational model called a balance machine.
The computational model consists of components that resemble ordinary physical balances, each with an intrinsic property to automatically balance the weights on their left, right pans. If we start with certain fixed weights (representing inputs) on some of the pans, then the balance–like components would vigorously try to balance themselves by filling the rest of the pans with suitable weights (representing the outputs). This balancing act can be viewed as a computation. We will show that the model allows us to construct those primitive (hardware) components that serve as the building blocks of a general purpose (universal) digital computer: logic gates, memory cells (flip-flops) and transmission lines. One of the key features of the balance~machine is its ``bidirectional" operation: both a function and its (partial) inverse can be computed spontaneously using the same machine. Some practical applications of the model are discussed.