2 ms·
A subtle factor is that for most interesting computations, the size of input and output you are interested in is much smaller than the size of temporary states
by jlokier 5y ago
A subtle factor is that for most interesting computations, the size of input and output you are interested in is much smaller than the size of temporary states required by the computation to produce that output.
It is useful to distinguish between the "middle" of a computation and "output stage".
Using irreversible computation, the middle requires a potentially large state, and a correspondingly large energy consumption.
You can often transform an irreversible computation to a reversible "middle", with an encoded result such that the "output stage" has to do projection and decoding, with that final step consuming energy, but not as much energy as the original irreversible computation would consume.
You do the computation while preserving every bit of information needed to run the whole computation backwards, then read just the output bits you want in the result, then run the middle computation backwards.
It's like compressing a spring and then accepting the energy back from the spring: That doesn't consume much energy, it just stores it and gives it back. A reversible computation is a very complicated spring, and you read the the output before letting it give back the energy from the reversible part.
As you can chain computations with "output" only at the end of the chain, it's useful to think of reversible, and maybe linear (e.g. one-shot encoded) computations as building blocks.
So I think Gravyness's question is a good, curious question, and there is something to it. Even though you can't build a complete, standard computer that way.
There are many practical and scaling obstacles. It has a lot in common with quantum computation (the ideal, theoretical version), though they are not the same thing. An (ideal, theoretical) quantum computation is linear and reversible, but on quantum states instead of classical states, and there is an energy-consuming input and output stage.