610 likes | 1.08k Views
Quantum Logic:. Part 1: Reversible Computation. Reversible Computation. Have you ever wondered why a computer cannot run backwards? Take for example the calculating machine developed by Charles Babbage. Reversible Computation. The input is fed in by means of pegs and cams
E N D
Quantum Logic: Part 1: Reversible Computation
Reversible Computation • Have you ever wondered why a computer cannot run backwards? • Take for example the calculating machine developed by Charles Babbage
Reversible Computation • The input is fed in by means of pegs and cams • The output is indicated by the position of pegs and plungers • Make a movie of the operations of this calculating machine and then run it backwards … .. .
Reversible Computation • The resulting motion of the calculating machine running backwards will seem very unnatural • This is because it defies the laws of friction • Any mechanical computer must have friction to operate reliably – dissipating energy
Reversible Computation • Classical Computers are based on boolean logic operations • Operations utilizing boolean logic will dissipate energy Typically in the Range of 108KBT
Reversible Computation • This can be compared to an ordinary lock having two stable positions; open or locked, and the friction resulting from switching • No heat is dissipated by a lock as long as it is left alone, it is only when the lock is switched that friction must be overcome
Reversible Computation • Could we manufacture frictionless locks? • Sure.. . but at what cost? • There is no difficulty developing a frictionless lock, however, the resulting device would be useless in ensuring the properties of the lock
Reversible Computation • The frictionless lock could change states under the stress of vibration • To ensure accuracy, the components representing logical bits are required to be immune to thermal fluctuations • Thus friction must exist
Reversible Computation • The components design is such that switching from one state to another involves energy dissipation many times greater than KBT
Reversible Computation Historical Perspective
Reversible Computation • Despite the Vision of Babbage • In the 19 Century computation was thought of as a mental process, not a mechanical one. • In 1871, Maxwell would write a paper titled “The Theory of Heat” in which he described a ‘being’ that could violate the 2nd Law of Thermodynamics • The thermodynamics of perceptual and mental processes was put upon science by this famous paradox:
Reversible Computation • Maxwell’s Demon • The 2nd law of thermodynamics states: • It is impossible in a system enclosed in an envelope which permits neither change of volume nor passage of heat, and in which both the temperature and the pressure are everywhere the same, to produce any inequality of temperature or pressure without the expenditure of work
Reversible Computation • Maxwell’s Demon • Maxwell would continue in his passage stating that the 2nd law of thermodynamics is undoubtedly true as long as we can deal with bodies only in mass, and have no power of perceiving or handling the separate molecules of which they are made up
Reversible Computation • Maxwell’s Demon • However, if a being could be conceived whose faculties are so sharpened that he can follow every molecule in its course, such a being could do what is at present impossible for us
Reversible Computation • Maxwell’s Demon • Molecules in a vessel full of air at uniform temperatures move with velocities that are by no means uniform • However, the mean velocity of any great number of arbitrarily selected molecules is almost exactly uniform
Reversible Computation • Maxwell’s Demon • Maxwell would then propose the situation: • Divide a vessel into two portions, A and B, by a division in which there is a small hole. The ‘being’ opens and closes this hole, allowing the swifter molecules to pass from A to B, and only the slower molecules to pass from B to A
Reversible Computation • Maxwell’s Demon • The ‘being’ will then, without expenditure of work, raise the temperature of B and lower that of A • This contradicts the 2nd law of Thermodynamics
Reversible Computation • Maxwell’s Demon • Smoluchowski, in 1912, partially solved the problem by pointing out that a simple automatic apparatus, such as a trap door, would be prevented by its own Brownian motion from functioning as an effective demon
Reversible Computation • Brownian Motion Applet • http://galileo.phys.virginia.edu/classes/109N/more_stuff/Applets/brownian/brownian.html
Reversible Computation • Maxwell’s Demon • Smoluchowski also remarked that perhaps such a device might function regularly if it were appropriately operated by intelligent beings
Reversible Computation • Maxwell’s Demon • In 1929, Szilard would attempt to refute Smoluchowski’s remark in his paper “On the Decrease of Entropy in a Thermodynamic System by the Intervention of Intelligent Beings”
Reversible Computation • Maxwell’s Demon • Szilard would state that the act of measurement of the molecule’s speed is necessarily accompanied by an entropy increase sufficient to compensate the entropy decrease obtained later by exploiting the result of the measurement
Reversible Computation • Maxwell’s Demon • Szilard believed that the measurement is a nonreversible process, accompanied by an increase of entropy of at least KB Ln(2) per bit of information • This is not quite correct
Reversible Computation • Maxwell’s Demon • In 1961, nearly three decades later, Landauer would recognize that the measurement itself can be performed reversibly, but an unavoidable entropy increase occurs when the demon erases the result of one measurement to make room for the next
Reversible Computation • Maxwell’s Demon • Szilard was actually very close to understanding the cost of information destruction • At the end of Szilard paper, he noted that by following one version of his demon through a complete cycle of operation, he found that resetting the demon in preparation for the next measurement generated KB Ln(2) of entropy
Reversible Computation • So we now see that the energy dissipation of boolean logic computation in classical computers is due to the destruction of information
Reversible Computation • Examples: information destruction • AND, NAND, OR AND NOR gates • From the Outputs, can the Inputs be determined? • AND, NAND: only if A=B=1 • OR, NOR: only if A=B=0
Reversible Computation • Examples: information destruction • AND, NAND, OR AND NOR gates • It can be seen that with these gates, information is lost due to the act of computation – therefore these irreversible processes create entropy, or in crude terms, heat
Reversible Computation • Charles Bennett • Influenced by Landauer, in 1973 Bennett started thinking about the efficiency of classical computers • Bennett first assumed that at least some logically irreversible operations were necessary to nontrivial computation
Reversible Computation • Charles Bennett • In 1976, Bennett would prove that it is possible to build a universal computer entirely from reversible gates • Expressing a program in terms of primitive reversible operations does not significantly slow it down
Reversible Computation • Toffoli Gate • The Toffoli Gate is a suitable universal and reversible gate with which we could build a computer
Reversible Computation • Toffoli Gate • The inputs of the Toffoli Gate are completely deducible from the outputs
Reversible Computation Developing Reversible Logic
Reversible Computation • Developing Reversible Logic • The theory of reversible computing is based on invertible primitives and composition rules that preserve invertibility • One of the strongest motivations for the study of reversible computing comes from the desire to reduce heat dissipation, allowing for higher density and speed
Reversible Computation • The trend of miniaturization of components size and increasing the number of components at the same time may soon become an acute problem in computer design in regards to heat dissipation
Reversible Computation • Developing Reversible Logic • Abstract computing is usually thought of as an irreversible process due to the fact that it involves the evaluation of many-to-one functions • A many-to-one function can be simply described by an AND gate 2 inputs result in 1 output
Reversible Computation • Developing Reversible Logic • The microscopic laws of physics are presumed to be strictly reversible • Develop a hierarchy, starting initially from the abstract computing task (irreversible), then developing a formal realization by a digital network and then moving down into the physical system (reversible)
Reversible Computation • Developing Reversible Logic • Then there must exist a transition from the irreversibility of the computing process to the reversibility of the microscopic physical laws • In most cases, this transition occurs at a very low level and is hidden within the physics of the individual digital gate
Reversible Computation • Developing Reversible Logic • The details of the work-to-heat conversion process are put beyond the reach of the conceptual model of the computation that is used • However, it is possible to formulate a more general conceptual model of computation, bridging the gap between the irreversibility of the desired behavior and the reversibility of a given underlying mechanism
Reversible Computation • Developing Reversible Logic • Our overall goal is to develop an explicit realization of computing processes within the context of reversible systems • A system is reversible iff the function is surjective (onto) & injective (1-1)
Reversible Computation • Developing Reversible Logic • First, consider two simple functions • Fan-Out • XOR
Reversible Computation • Developing Reversible Logic • Neither of these functions are invertible • The Fan-Out is not surjective (onto) because the output 01 or 10 cannot be obtained • The XOR is not injective (1-1) because 0 can be obtained from an input of 00 or 11
Reversible Computation • Developing Reversible Logic • Definitions • Source: the auxiliary input component • Sink: the auxiliary output component • Argument: remaining input components • Result: the remaining output components
Reversible Computation • Developing Reversible Logic • In general, to obtain an invertible realization of a given function, both the source and sink lines may have to be introduced • In order to obtain the desired result, the source lines must be fed with specified constant values that do not depend on the argument
Reversible Computation • Developing Reversible Logic • With regards to the sink lines, some may yield values that do depend on the argument and thus cannot be used as input constants for a new computations • These will be called garbagelines
Reversible Computation • Developing Reversible Logic • In addition, some sink lines may return constant values • This is the case when an invertible relationship already exists between the argument and the result • If there exists an invertible relationship between the source and sink lines, the pair is called a temporary-storage channel
Reversible Computation • Developing Reversible Logic • Definitions
Reversible Computation • Developing Reversible Logic • Though the functions Fan-out and XOR are not invertible, they admit an invertible realization
Reversible Computation • Developing Reversible Logic • Invertible Realization of FO, XOR
Reversible Computation • Developing Reversible Logic • Invertible Realization of FO, XOR