Back and Forth Computing
We introduced the basic concepts necessary to perform reversible computations. We defined FO and EX as two operations central to reversibility and also described the CN gate, with which we can do many things. But to do everything in a reversible way we need universal reversible gates, such as the CCN (Toffoli) gate, or the Fredkin gate, which is a controlled exchange (or swap) gate. We built new reversible logic gates that operate in a similar way to conventional logic gates, as practice in dealing with the problem of designing devices that are capable, for example, of adding single-bit numbers in a reversible way. We then simulated reversible computation with billiard balls. In a concluding brief analysis of reversibility, we arrived at the conclusion that the number of distinct inputs and outputs has to be the same in a device that operates in a reversible manner.