The aim of the theoretical work will be to develop the beginnings of a theoretical study of computational complexity that accounts for reversibility, and measures it by counting the amount of information that is erased during a given procedure (this is zero for a fully-reversible computation). We might call this the ``thermodynamic complexity'' of an algorithm, as opposed to its time or space complexity. Because of the energy dissipation per bit erased, the thermodynamic complexity of an algorithm is the fundamental measure of the minimum amount of energy required to execute the algorithm.
As is usual with computational complexity, we will characterize thermodynamic complexity in a way that ignores constant factors, since the exact number of bits erased internally during a particular operation are assumed to vary depending on the particular computer architecture being used. However, we will assume that the architecture provides a universal set of reversible computational primitives which all incur a thermodynamic cost of zero, that is, they are implemented in a way that does not erase any bits internally. The Pendulum architecture designed by Carlin Vieri [6] is an example of such an architecture. In fact, Pendulum does not provide any irreversible primitives, and is not meant to be used to program partially-reversible algorithms. In contrast, we will assume an architecture that also provides an ``ERASE'' instruction that erases a fixed-size unit of information at a thermodynamic cost that is bounded by a machine-specific constant. The zero-cost reversible primitives, together with the ERASE instruction, constitute a sufficient language for describing arbitrary algorithms and analyzing their thermodynamic complexity.
My plan for my study of thermodynamic complexity is as follows:
I plan to spend only three months, January through March of 1997, exploring these issues. Some of the theoretical questions I am asking are very difficult, and so I will not expect to be able to answer all of them to my satisfaction. It will be necessary to cut short the time spent on them, in order to avoid the risk of using up all the time available for the thesis on what might be an impossibly difficult task that may produce no new hard results.
However, I expect that even if all I can do is to formalize the questions, and describe particular examples of efficient reversible algorithms, it will still be worth the effort, and may provide important insights necessary for more far-reaching future work.