Talk:Reversible computing

Too technical?
I am disputing the "too technical" marker that someone put on this page earlier. Some subjects are simply technical in nature. In my opinion, it is far, far better for an article to be technical and correct, rather than being non-technical but too vague, incorrect or misleading.

In my opinion, if a Wikipedia reader feels that a particular article is too technical or difficult to understand, the most constructive thing that they could do is take the time to learn about the subject in depth themselves, and then try their best to find a new way to explain it that is somehow "less technical" while still remaining accurate and of high quality.

For now, I am removing the marker, although I will take it under advisement and will endeavor to find ways to make the article more accessible to readers in the future.

--Mpfrank 6/14/05


 * It is too technical. Provide an example of a digital circuit that represents reversible computing. E.g. a two bit adder. Mre5765 06:29, 15 November 2005 (UTC)


 * It is NOT too technical. Landauer's principle (which is the main idea in the article as it is written) is one of those fascinating discoveries that came well before its time, and therefore lay more or less forgotten for many years.  It really is a simple application of the second law of thermodynamics to the field of computer science.  Only recently, after many decades of steady exponential increase in the amount of computation that can be performed with a given amount of heat generated, are we even getting close to this limit.  You cannot get around this limit by refrigerating the processor, because although the processor may produce less heat per clock cycle at a lower temperature, (since it can then be run at a lower voltage :-), the refrigeration cycle(s) must then reject a proportionately greater amount of heat to the environment.  That's kind of long-winded, and I'm sure it's actually better explained in the article, but all this theory is important if you want to overclock your processor to 10 GHz.  Perhaps it could be somewhat better organized and retitled, but on the whole it's a good interesting article. 130.94.162.64 23:55, 25 November 2005 (UTC)


 * Explaining all the gory details of specific circuits would make the article too technical for general readers, IMHO. If someone wants more detail, there are plenty of reversible circuits already described in the adiabatic circuits literature.  For example, Saed Younis' 1994 MIT Ph.D. thesis (Asymptotically Zero Energy Computing Using Split-Level Charge Recovery Logic) contains a number of examples including adder and multiplier circuits. --Mpfrank 1/12/06

Technical or not so technical this first sentence does not make much sense: "The term reversible computing refers to any computational process that is (at least to some close approximation) reversible, i.e., time-invertible, meaning that a time-reversed version of the process could exist within the same general dynamical framework as the original process."

First of all the term is dynamic, I don't know what dynamic-al means. Secondly to substitute revert with invert for an explanation is not sufficient. Does it mean if run backwards through time it would work. And whats dynamic(al) framework? By itself it means absolutely nothing if not defined within a, well, certain framework. Does it mean that the same general conditions and potentialities exist, as in an experiment?


 * Points taken. "Invertibility" is a standard concept in mathematics; here it refers to the invertibility of the transition function that takes old states to new ones.  Essentially it means that the transition function is one-to-one.  In any case, I added a link to the "invertible function" page to help clarify this.  As for "dynamical", as is usual with the "-al" suffix in English, it means "of or relating to" dynamics, and by "the same general dynamical framework" I meant the same general type of dynamical system (whether it's physical or mathematical, discrete or continuous), and added a link to the "Dynamical system" page.  Hopefully these links will be helpful.  I will try to compose a more accessible introductory paragraph that is still correct.  --Mpfrank 4/25/06

I didn't go on to read the rest of the article, because if its of the same standards there's not much point, please whoever can edit this to be more readable.

Whoever said this article is too technical is half correct. The problem isn't that it's too technical, it's that no alternative simpler analogy or explanation is given. And yes, everything can be analogized, it's the basis of understanding. Here's an article that explains reversible computing simply: http://www.cise.ufl.edu/research/revcomp/what.html. The first explanation to appear in the Wikipedia article should look like that explanation.--68.46.187.78 (talk) 03:59, 12 February 2009 (UTC)


 * Agreed, the first paragraph or 3 should be for laypersons. The rest of the article can then be as technical as necessary to explain the principal correctly.  --Zojj (T,C) 03:51, 13 August 2009 (UTC)

Too many links...
Someone started going through the article linking common words like "time" and "exist" to their Wikipedia entries. This sort of thing can get ridiculous, and is against the Wikipedia guidelines. If the user really doesn't know what "time" means, let him search it himself! IMHO, links should be reserved for specific technical terms that relate to the original article and that the reader might plausibly want to learn more about. So, I removed some of the extra links. --Mpfrank 6/14/05

Removed reference to UF group
I removed the reference to the UF reversible computing group which someone had added, since it violated Wikipedia guidelines not to use the site for promotional purposes. Anyway, I was the leader of the UF group, and (contrary to some misleading reports by the UF press office) we didn't design any new reversible CPUs there. However, I did participate in the design of several reversible processors (Tick, FlatTop, and Pendulum) earlier during my Ph.D. work at MIT; most of this work took place during the period 1996-1999. --Mpfrank

Entropy

 * Although in practice no physical process can be exactly physically reversible or isentropic

Ought this be "... no macroscopic physical process ..." ?


 * Macro/micro is not the relevant distinction here. Here, I mean that the process cannot be reversible as far as our knowledge of the state of the system is concerned.  Although macroscopic processes are particularly prone to irreversibility, no microscopic process can be perfectly reversible for all practical purposes either, from the perspective of an observer who doesn't precisely know the laws of physics, by which I mean, e.g., knowing the values of all of the coupling constants and the masses of the fundamental particles to infinitely many decimal places.  If you don't know the exact laws of physics, than your description of the state of any system (macro or micro) will necessarily become more uncertain over time, unless the system is already in a stationary state such as a thermal equilibrium state or a quantum ground state, in which case it seems over-generous to refer to its evolution as a "process." --Mpfrank 6/14/05

It's all tosh, and anyone with a clue about entropy and physics/electronics will understand that much of what has been written on "Reversible Computing" is about as reliable as BBC Panorama's report on the spaghetti harvest.

Go right back to basics. When you accelerate (or decelerate) a charge, you cause electromagnetic energy to be radiated. But you always need to accelerate (and/or decelerate) a charge to change a logic 0 to a logic 1 or vice versa. The energy radiated cannot be recovered except in certain very special cases (such as a tuned circuit formed by a capacitor and an inductor, or various equivalents, elements not useful in a general computing sense, and even there the recovery ratio is never 100% (go look up "Q" in the context of electronic tuned circuits)). Thus entropy is increased by meaningful operational circuit, never mind a computational circuit, and that is not reversible on any meaningful scale.

Also, what on earth have backup/restore and "undo" got to do with "reversible computing" meaning thermondynamically reversible? It's a bit like claiming that because a vehicle has a reverse gear and can therefore go back to where it was previously, it is therefore potentially reversible in the entropy-related sense, which surely is clearly rubbish?

"Undo"??
I'm reinforcing the point above regarding the Practical logical reversibility section, which at the very least needs an initial sentence explaining that the reversibility of an "undo" command is not the same sort of reversibility in the discipline of thermodynamics. The main thrust of this article is entropy. This section, however, is in no way about the limits and/or reduction of accrued entropy as it applies to computation. Any undo function as discussed in this section increases the statistical disorder of the system by increasing W (the number of ways the bits may be arranged to achieve the energy of the system) and heat is wasted to facilitate this additional work. Undo functions - meta or not - do nothing to mitigate entropy. From the perspective of entropy undoing something is the same as doing something computationally. Entropy is increased similarly in either case. I question this section's relevance to this article.Wolfworks (talk) 06:50, 15 March 2008 (UTC)

Merge with Landauer's principle?
I oppose the proposed merge. While Landauer's principle could be a section of a general 'physics of computing' article, its importance to reversible computing doesn't really make it a subtopic any moreso than the Church-Turing thesis or the Third Law of Thermodynamics. Discussion of the subject does take up the bulk of the article, but that really speaks more to the lack of any further useful information provided.--207.245.10.241 (talk) 00:51, 17 February 2009 (UTC)

Another oppose. The (von Neumann–)Landauer bound clearly is not a subtopic of reversible computing. False vacuum (talk) 07:42, 6 April 2009 (UTC)

Yet another oppose. They are separate, although related topics. --Robin (talk) 14:19, 11 July 2009 (UTC)

Another oppose here. The physical implications of Landauer principle are not limited to reversible computing. --Aadagger (talk) 09:23, 10 August 2009 (UTC)

Removed new paragraph
I'm removing this, recently contributed by : Logical information is stored as the physical state of the system. Changing the state of a physical system requires force, although this energy is not necessarily lost. The energy of the system can be conserved, but for non-reversible functions this energy is simply discarded by dissipating the energy into the environment. This can be easily imagined with a simple TTL "and" gate that is recieving up to two high inputs but only contributing up to one to the system. The transistors in the chip dump this energy through electrical resistance. But if this energy is not discarded, but rather captured, either in memory or by the effect of reversible logic, then the information is still available and the energy is still "in the system." It seems to me that there are a number of problems here -- eg "Changing the state of a physical system requires force, although this energy is not necessarily lost". Also the example of the TTL gate is misguided. It doesn't help to think about signals; rather, what we're dealing with here is operations on memory, storing back into that memory. And it is certainly not that "energy" from a "high input" is being dumped into the system. Rather, it is that you have to expend energy if you want to push through an irreversible change. So setting one bit A equal to another bit B, regardless of the previous state of B is more of a classic case.

Can I suggest that if more physical examples are desired, these be taken from reliable sources, not original research. Jheald (talk) 09:35, 26 March 2009 (UTC)

Any chance we can get this article in English?
...because this is all gibberish to the layperson. —Preceding unsigned comment added by 98.110.59.236 (talk) 04:14, 4 May 2010 (UTC)

Firstly, I have to admit that I am a layperson, or at least my background is in computer science and not physics. I however do believe that reversible computing is an important topic that should be getting more "airtime" outside of a specific subgroup of the physics community. As indicated by Michael P. Frank at the 2005  ACM Computing Frontiers Conference (http://www.eng.fsu.edu/~mpf/CF05/talks/Frank.ppt) a certain amount of PR is required and that means making the topic accessible to interested laypersons.

The fact that a lot of the commentary on this article indicates that it is too technical should be seen as an indication that there are people outside of the physics community that is actually interested in the topic!

My suggestion would be to "tone" down the introductory paragraph to be a general introduction to the topic for laypersons, rather than a theoretically correct and concise description of what reversible computing is. I would also suggest adding several new sections that deal with the topic from a generalists point of view in terms of practical application.

In my experience, the first question that usually comes up when you first tell people about reversible computing is whether that means that we can unplug a computer and it will still do useful work. I do not think that is an unreasonable question! —Preceding unsigned comment added by 41.244.55.151 (talk) 18:04, 23 July 2010 (UTC)

Turing-Complete?
Is reversible computation fundamentally different from non-reversible computation in terms of computability or complexity? E.g. are there Turing-complete versions of reversible computation? 74.125.59.1 (talk) 20:22, 1 October 2010 (UTC)

Reversible Computing
The section: "For computational processes that are nondeterministic (in the sense of being probabilistic or random), the relation between old and new states is not a single-valued function, and the requirement needed to obtain physical reversibility becomes a slightly weaker condition, namely that the size of a given ensemble of possible initial computational states does not decrease, on average, as the computation proceeds forwards." Shouldn't this conclude; "...possible initial computational states does not increase, on average, as the computation proceeds forwards."? User:Wozama 11:20, 9 June 2011 (UTC)

logic gates consume input
The article mentions "A simplified model of such circuits is one in which inputs are consumed (however, note that real logic gates as implemented e.g. in CMOS do not do this).". I suspect this might be a statement about how CMOS inputs are high-impedance, and so therefore "input is consumed" corresponds to some equivalent of low-impedance, and perhaps you cannot connect multiple inputs to a single output. If this interpretation is correct, I can attempt to succinctly explain the concept of "consumption".Intellec7 (talk) 11:47, 15 March 2022 (UTC)


 * The section title is 'Logical reversibility'. The parenthesis is almost misleading, it is easier to read without it being there? "Consume" here means just that the input goes into the gate, nothing more. It consumes the input in the same way that a function f(x)=x+2 consumes 5, if you write f(5)=5+2=7. The input 5 is "consumed" and out comes 7. Logical and physical reversibility are two different things. Friction, resistance, decoherence, is not accounted for when viewing it logically. From a logical viewpoint, the implementation does not matter and could be anything, CMOS or even some purely mathematical structure from Conway's Game of Life that implements a logic gate. It is being explained in the section, the sentence after the one you quoted is, "In this modeling framework, an inverter (NOT) gate is reversible because it can be undone." et.c. Maybe that could be explained better though. Or maybe at least with more sources · · · Omnissiahs hierophant (talk) 19:18, 15 March 2022 (UTC)
 * Thanks for the clarification. I can't make sense of the statement about a "real" logic gate, such as those implemented with CMOS technology, and what it does not do.
 * I'm also unclear on what "A simplified model of such circuits is one in which inputs are consumed." means. You offer a translation: "A simplified model of such circuits is one in which inputs go to gates.", and I do not understand its meaning either. Are there circuits in which inputs do not go to gates? Perhaps a picture of a circuit with and without this property would be helpful. Intellec7 (talk) 06:23, 16 March 2022 (UTC)
 * Maybe the introduction of this section needs to be rewritten... It is actually a bit weird. I made an attempt at it now. I hope it is better and more clear? Basically, irreversible operations are assignment of constants to unknown variables, information erasure, and functions that are not bijective (which implies the two previous mentioned; assignment and erasure). The text talks a lot about boolean logic gates, but the domain is larger than that.. · · · Omnissiahs hierophant (talk) 19:00, 16 March 2022 (UTC)

" the second law of thermodynamics itself can be understood to be a direct logical consequence of the underlying reversibility of physics,"
yeah, no, somebody is riding their crackpot hobby horse here 2A01:CB0C:CD:D800:DD3A:6C0:249E:DC45 (talk) 08:37, 25 May 2023 (UTC)