Reversible Quantum Computing: How we can preserve everything in a computation –Beginner Introduction

>> Tuesday, March 01, 2011

(When I was in high school, I was baffled by Arthur C. Clark’s science fictions which led me to read on very basic quantum computing stuff like the contraction of visible length with light-speed. Now, with my auditing of “Reversible Quantum Computing” and thanks to Amr’s excellent explanations I try to understand the beauty of this interesting field. This post and the posts to come in the future are to introduce my thoughts on this area, especially applied to distributed systems, and I hope will also help a non-physicist or non-quantum mechanics person to understand them)

Disclaimer: As I said earlier, I’m an absolute beginner for this area. These posts are to give at least some idea of the beauty of this field to newcomers. If you are an expert you will see these posts boring but you are welcome to comment and fix my errors Winking smile

Reversibility is an interesting concept even in the

Technorati Tags:
current scientific experiments. What this means is when you run your experiment/program now, can you reverse it and get back to the original inputs at any time? This looks trivial but lets take an example. Lets take XOR gate, which outputs 1 when the input is 01 or 10 and outputs 0 when input is 00 and 11. Once you get the output as, say 0, can you say what the input is? You can not because the input can be either 00 or 11. So XOR operation is an irreversible operation. But what if you change your gate to output the input also? Consider the following modified truth table in Table 2. The last two digits of the output contains the input itself making this gate completely reversible.

Input Output
00 0
01 1
10 1
11 0
Table 1: XOR Gate
Input Output
00 000
01 101
10 110
11 011

Table 2: Reversible XOR Gate

Now what is the benefit of reversibility? As I mentioned earlier, this enables the ability to go back and forth in a program. This is a huge advantage in computing. There are lots of literature already in this subject ( I will discuss some of this in future posts). At any given point of time you have enough information to back-track to previous state. And may be branch from there to a new direction. One of the most important advantages of reversible computing is the ability to conserve power. Since you are not erasing any of the information you will not lose any of the energy in the system and ultimately you end up having a system which doesn’t waste any power (theoretically, at least).

If you want to know more read the original paper from Toffoli on Reversible Computing.

0 comments: