Warum ist es wichtig, den Müll Qubits zu beseitigen?

18

Die meisten reversiblen Quantenalgorithmen verwenden Standardgatter wie das Toffoli-Gatter (CCNOT) oder das Fredkin-Gatter (CSWAP). Da für einige Operationen eine Konstante erforderlich ist als Eingang und die Anzahl der Ein- und Ausgänge gleich ist, garbage Qubits (oder Junk - Qubits ) erscheinen im Laufe der Berechnung.|0

Also, eine Hauptschaltung wie tatsächlich zu | x | 0 | f ( x ) | g , wo | g steht für den Müll Qubit (s).|x|f(x)|x|0|f(x)|g
|g

Schaltungen, die den ursprünglichen Wert beibehalten, erhalten am Ende |x|0|0|x|f(x)|g

Ich verstehe, dass Müll-Qubits unvermeidlich sind, wenn wir wollen, dass die Schaltung reversibel bleibt, aber es gibt viele Quellen behaupte, dass es wichtig ist, sie zu beseitigen. Wieso ist es so?1


Aufgrund von Quellenanfragen siehe zum Beispieldieses arXiv-Papier, S. 8, das besagt1

Jede dieser einfachen Operationen enthält jedoch eine Reihe zusätzlicher Hilfs-Qubits, die zur Speicherung der Zwischenergebnisse dienen, aber am Ende nicht relevant sind. Um keinen unnötigen Platz zu verschwenden, ist es daher wichtig, diese Qubits auf 0 zurückzusetzen, damit wir sie wieder verwenden können

oder dieses arXiv-Papier, das sagt

Die Entfernung von Garbage-Qubits und Ancilla-Qubits ist für den Entwurf einer effizienten Quantenschaltung von wesentlicher Bedeutung.

oder die vielen anderen Quellen - eine Google-Suche erzeugt viele Treffer.

Bytebuster
quelle

Antworten:

15

f:{0,1}{0,1}ff(x)=xCfxf(x) . Nun war dies natürlich eine umkehrbare Schaltung, die unter Verwendung einer einheitlichen Transformation implementiert werden konnte|x|x12|0+12|112|0+12|112|0+12|1|001

Aber nehmen wir an, wir haben in einem Zwischenschritt etwas Müll erzeugt, wenn wir eine Schaltung wie diese verwendet haben:

Bildbeschreibung hier eingeben.

|x|0=(12|0+12|1)|012|00+12|11. If we apply the Hadamard transform to the first qubit, we end up with:

12|00+12|01+12|10+12|11

If we make a measurement on the first qubit we get 0 with probability 12, unlike in the previous case where we could see 0 with probability 1! The only difference between the two cases was the creation of a junk bit in an intermediate step, which was not gotten rid of, thus leading to a difference in the final result of the computation (since the junk qubit got entangled with the other qubit). We will see a different interference pattern than in the previous case when the Hadamard transform is applied. This is exactly why we don't like to keep junk around when we are doing quantum computation: it prevents interference.

Source: Professor Umesh Vazirani's lecture on EdX.

Sanchayan Dutta
quelle
3

If you want to use a quantum circuit as a subroutine (such as an oracle) to a quantum algorithm that makes use of interference, you must allow interference by a process known as uncomputing your ancillary (or, in your words, garbage) qubits. Uncomputing is always possible: Since your gates are reversible, you can just apply their inverse. That is, after the step you mentioned, |x|0|0|x|f(x)|g, you perform another computation (or uncomputation) that leads to |x|f(x)|0.

pyramids
quelle