Das Netzwerkmodell für Quantenrechner Wolfgang Lücke Institut für Physik und Physikalische Technologien, 38678 Clausthal, Leibnizstr. 4, [email protected] Ausgehend von klassischen logischen Schaltkreisen wird die theoretische Grundkonzeption für Quantenrechner dargestellt. Einleitung Bereits vor etwa 20 Jahren machte Richard F EYNMAN darauf aufmerksam, dass sich gewisse quantenmechanische Systeme auf klassischen Rechnern nicht effizient simulieren lassen (Feynman, 1982). Das führte auf die vage Idee, dass sich umgekehrt quantenmechnische Systeme für effizienteres Rechnen nutzen lassen könnten. Auf Grund der mit dem quantenmechanischen Messprozess verbundenen Probleme wurde daran aber lange Zeit nicht sehr intensiv gearbeitet. Das änderte sich schlagartig mit der Veröffentlichung von Peter S HORs Aufsehen erregendem Quantenalgorithmus zur Primzahlzerlegung (Shor, 1994), der zeigte, dass gewisse Aufgaben im Prinzip tatsächlich mit Quantenrechnern wesentlich effizienter erledigt werden können. Seitdem sind auf dem Gebiet der Quanteninformationsverarbeitung, das so interessante Themen wie Quantenkryptographie und Quantenteleportation einschließt, sensationelle theoretische und experimentelle Fortschritte zu verzeichnen (Bowmeester et al., 2000). Im Zuge dieser Entwicklung wurden, insbesondere dank der Entwicklung der Lasertechnik, viele Schlüsselexperimente zur Quantenmechnik, die früher als reine Gedankenexperimente galten, technisch realisiert. Im Folgenden soll eine kurze Einführung in die Grundkonzeption der Quantenrechner gegeben werden, die aufzeigt, worin der wesentliche Unterschied zu klassischen Rechnern liegt. 2. Klassische logische Schaltkreise Das Grundelement der klassischen Informationstheorie (Shannon, 1949) ist das Bit (binary digit), die Entscheidung über eine einfache Alternative. Die beiden Entscheidungsmöglichkeiten werden üblicherweise durch 0 (falsch) und 1 (wahr) mitgeteilt und mit Hilfe physikalischer Systeme (Schalter) realisiert. Jede konkrete Information lässt sich als endliche Bitfolge b1 b2 bn 0 1 n (mit hinreichend großem n) codieren. In diesem Sinne lässt sich jeder Rechenvorgang als Abbildung von Bitfolgen beschreiben. Das führt auf folgendes Rechnermodell: 1. In ein Eingangsregister wird die Aufgabenstellung aus einer zugelassenen Klasse als n1 -Tupel b1 b2 bn1 von Bits eingegeben (z.B. durch Anlegen entsprechender Spannungen). 2. Ein logischer Schaltkreis (Netzwerk), dessen einfachste Komponenten üblicherweise als Gatter bezeichnet werden, transformiert b1 b2 bn1 in ein n2 -Tupel b1 b2 bn 2 , das in einem Ausgangsregister gespeichert wird und dort als Rechenergebnis abgelesen werden kann (etwa durch Spannungsmessungen). Aus rein mathematischer Sicht ist nur wichtig, welche Abbildung ein Schaltkreis bewirkt. Schaltkreise, die der gleichen Abbildung entsprechen, werden deshalb als aquivalent bezeichnet. Jede Abbildung von n1 -Bitfolgen auf n2 -Bitfolgen lässt sich mit Hilfe eines Schaltkreises realisieren, der aus den in Tabelle 1 aufgeführten Gattern zusammengesetzt ist: Lemma 0.1 Seien n1 und n2 beliebig vorgegebene natürliche Zahlen. Dann lässt sich jede Abbildung von 0 1 n1 in 0 1 n2 als Komposition von Tensorprodukten der in Tabelle 1 angegebenen Abbildung darstellen. Gatter Symbol Abbildung ID FANOUT NOT AND x x x 1 x x x & x y xy 1 x y x y xy OR x Tabelle 1: Elementare Gatter Jeder klassische logische Schaltkreis entspricht also einem Graphen, der aus den in Tabelle 1 angegebenen Symbolen zusammengesetzt ist. Die gemäß x y x y def NOT y y für x 1 für x 0 x y mod 2 wirkende Abbildung XOR def OR AND # AND !" ID FANOUT ID ID $ NOT AND % ID&' FANOUT FANOUT ( entspricht z.B. dem in Bild 1 dargestellten Graphen. ) & & ******** * * * * ** * **** **** * ) ) 1 & + Bild 1: Graph einer XOR-Schaltung Aus technologischer Sicht ist sehr vorteilhaft, dass z.B. NAND def NOT AND (im Gegensatz zu XOR) universell in dem Sinne ist, dass zu jedem klassischen logischen Schaltkreis ein äquivalenter Schaltkreis existiert, der nur aus ID-, FANOUT-, und NAND-Gattern zusammengesetzt ist. Auf die gesonderte Fabrikation von NOT-, AND-, und OR-Gattern kann also verzichtet werden: NOT AND OR NAND FANOUT NOT NAND NAND NOT NOT(, Alternativ lassen sich alle Rechnungen mit Hilfe reversibler Schaltkreise durchführen (Toffoli, 1980). Damit lassen sich im Prinzip Wärmeverluste vermeiden (Landauer, 1961). 3. Quantenparallelität Bei extremer Miniaturisierung ist das quantenmechanische Verhalten der Rechenregister zu beachten. Dann ist ein n-Bit-Register als Anordnung von n quantenmechanischen Systemen zu betrachten, von denen bei klassischem Rechnen jedes in einen von zwei — gewöhnlich mit - 0 . und - 1 . bezeichneten — (reinen) Quantenzuständen ‘geschaltet’ wird. Die n-Bit-Information / b1 01110 bn 2 entspricht dann dem Gesamtzustandsvektor 3 b1 01110 bn 465 3 b1 4!78887 3 bn 4 : 3 ‘Schalter’ ν jeweils im Zustand bν 4 1 Reversible klassische n-Bit-Gatter entsprechen somit Permutationen dieser 2n (orthonormalen) Vektoren, die die sog. Rechenbasis des quantenmechanischen Zustandsraumes des Rechenregisters bilden. Diese Permutationen sind natürlich durch entsprechende quantenmechanische Wechselwirkungen herbei zu führen. In der Quantenmechanik gilt aber das Superpositonsprinzip, d.h. auch komplexe Linearkombinationen der Basisvektoren sind mögliche Zustandsvektoren. Ihre Änderung auf Grund einer zwischenzeitlich ‘eingeschalteten’ Wechselwirkung ist durch eine lineare Abbildung U gegeben: 9 ∑ b1 : ; ; ;<: bn =?>A@ 0 : 1 B n C λb1DF: E; ; ;<: bG n > C 3 b1 01110 bn 46HIJ 9 ∑ b1 : ; ; ;<: bn =?>A@ 0 : 1 B 3 n λb1 : ; ; ;<: bn U b1 01110 bn 4 3 1 3 Das läuft auf eine gleichzeitige Bewältigung aller 2n Rechenschritte b1 01110 bn 4 x HIJ U b1 01110 bn 4 - nicht zur Beschleunigung hinaus und es drängt sich die Frage auf, ob sich diese Quantenparallelitat bestimmter Rechnungen nutzen lässt. Leider stehen dem einige gravierende Schwierigkeiten entgegen: 1. Unbekannte Zustände, die komplexen Linearkombinationen der Basisvektoren entsprechen, lassen sich nicht kopieren. 2. Jede Überprüfung eines solchen Zustandes ist mit einer unkontrollierbaren Änderung desselben verbunden. 3. Es ist sehr schwer, durch störende Umgebungseinflüsse hervorgerufene Änderungen eines solchen Zustandes zu korrigieren. Trotzdem wurden große Anstrengungen unternommen, Quantenrechner zu entwerfen, die man am einfachsten im Netzwerkformalismus (Deutsch, 1989a) beschreibt: K K Die Rechenregister entsprechen Anordnungen mehrerer Qubits (quantum bits), d.h. (beliebiger) quantenmechanischer Systeme, für die jeweils eine einfache quantenmechanische Alternative, den 3 3 Zuständen 0 4 und 1 4 entsprechend, ausgewählt (i.a. aber nicht entschieden) ist. K Der (reine) Zustand eines n-Qubit-Registers entspricht also einer komplexen Linearkombination 3 der Zustände b1 01110 bn 4 der Rechenbasis . K Die einzelnen Rechenschritte bestehen in der Transformation von Multi-Qubit-Zustandsvektoren mit Hilfe geeigneter Quantengatter, die jeweils ebensoviele Ausgänge wie Eingänge haben und rückkopplungsfrei und ohne freie Anschlüsse vernetzt sind. K Die Vernetzung der Quantengatter wird analog zu den konventionellen Schaltkreisen graphisch dargestellt. K Am Ausgang des quantenmechanischen Netzwerkes ergibt sich eine kohärente Überlagerung 3 ∑ λb1 : ; ; ;<: bn b1 01110 bn 4 der Basisvektoren. Das eigentliche Rechenergebnis resultiert aus der Entscheidung über eine (i.a. mehrfache) quantenmechanische Alternative, für deren Ergebnis sich nur (durch die λb1 : ; ; ; : bn bestimmte) Wahrscheinlichkeitsvorhersagen machen lassen. Obwohl solche Quantenrechner also nur mit einer gewissen (möglichst großen) Wahrscheinlichkeit das richtige Ergebnis liefern, können sie für Aufgaben vom Typ Lösung schwer zu finden, aber leicht zu ” überprüfen“ sehr hilfreich sein. Natürlich sind dafür spezielle Quantenalgorithmen notwendig (Shor, 2000) und Strategien zur Fehlerkorrektur (Gottesman, 2000; Schlingemann und Werner, 2000). 3. Spezielle Quantengatter Es ist üblich, die Basisvektoren L b1 MNNNM bn O eines n-Qubit-Systems entsprechend den durch P b1 MNNNM bn Q binär dargestellten Zahlen anzuordnen. Damit lässt sich die Wirkung eines n-Qubit-Gatters durch eine n R n-Matrix charakterisieren. In diesem Sinne sind einige 1-Qubit-Gatter in Tabelle 3 angegeben. Quantengatter Symbol ID VU VU NOT Matrix bzgl. PL 0 O%M L 1 OQ Operator W U ID S U NOT S (Phasen)-Schieber S US S H ADAMARD H UH Y1 S 2 1 0 0 1 1 0 1 1 X X 0 1T 1 0T 0 1T 1 1T Tabelle 3: Einige 1-Qubit-Gatter Die Wirkung des (zu sich selbst inversen) H ADAMARD-Gatters ist demnach durch L 0 O6Z X[ \ 1 PL 0 O!] 2 L 1 OQ'M L 1 O6Z X^[ \ 1 PL 0 O 2 XL 1 OQ gegeben. Im Gegensatz zu ID und NOT ist es also nicht für klassisches Rechnen verwendbar. Zusätzlich zu den 1-Qubit-Gattern wird nur noch das in Tabelle 4 charakterisierte CNOT-Gatter benötigt, um aus diesen Komponenten alle quantenmechanischen Schaltkreise, die unitären Abbildungen entsprechen, zusammensetzen zu können (Barenco et al., 1995). Quantengatter Symbol CNOT `_ f -CNOT ` Wirkung L jM f L jM k O6ZXa[bL j M j c k O k O6ZX[bL j M f P j Q c kO Tabelle 4: Beispiele für 2-Qubit-Gatter Bei klassischem Rechnen kann CNOT als Kopiermaschine benutzt werden: Eingegeben wird das erste Bit a zusammen mit dem zweiten Bit 0 als Kopiervorlage. Das Ergebnis ist P a M a Q , also eine Verdoppelung des ersten Bits. Qubits können jedoch nicht auf diese Weise kopiert werden (Wootters und Zurek, 1982): Es gibt keine lineare Transformation, die Ψ deL 0 O für beliebiges normiertes Ψ f C in Ψ d Ψ überführt. 4. Quantenalgorithmen Hier soll nur die Grundidee zur Ausnutzung der Quantenparallelität erläutert werden, an Hand des folgenden Problems (Deutsch, 1989b): Gegeben seien eine Abbildung f von g 0 h 1 i in g 0 h 1 i und eine Realisierung des in Tabelle 4 charakterisierten 2-Qubit-Gatters f -CNOT. Gefragt wird: Gilt f j 0 kl f j 1 k ? “ ” Bei klassischem Rechnen muss das f -CNOT-Gatter zweimal benutzt werden, zur Bestimmung von f j 0 k und zur Bestimmung von f j 1 k . Bei entsprechendem Quantenrechnen muss ein geeigneter Schaltkreis, der nur ein f -CNOT-Gatter enthält, dagegen nur einmal benutzt werden, um das Problem von D EUTSCH zu lösen: f H m H H H Bild 2: Einfaches quantenmechanisches Netzwerk Verwendet man n 0 h 1 o als Eingabe für das in Bild 2 dargestellte quantenmechanische Netzwerk, so wird dieser Zustandsvektor zunächst durch die beiden H ADARMARD-Gatter links in Bild 2 in die komplexe Linearkombination 1 jn 0 o%pqn 1 ok%r$jsn 0 outn 1 ok6l 2 1 n 0 h 0 owtn 0 h 1 oxp$n 1 h 0 owtn 1 h 1 osy 2v übergeführt. Durch gleichzeitige Transformation aller Basisvektoren (Quantenparalleltät) führt das f CNOT-Gatter diese Linearkombination weiter in 1 n 0 h 0 z f j 0 ko{tn 0 h 1 z f j 0 koxp$n 1 h 0 z f j 1 kowtn 1 h 1 z 2v 1 f } 0~ f } 1~ n 0 o%p$j|t 1 k n 1 osy l j|t 1 k n 0 o{tn 1 osy v 2v 1 f } 0~ j|t 1 k n 0 o%p σ f n 1 oy n 0 o{tn 1 o|y l v v 2 f j 1 koy über, wobei σf def l p t 1 für f j 0 k6l 1 für f j 0 kl f j 1k f j 1k . Die beiden rechten H ADAMARD-Gatter in Bild 2 transformieren schließlich in den Zustandsvektor j|t j|t 1k 1k f } 0~ n 0 h f } 0~ 1 n h 1 oh 1 oh falls f j 0 kl falls f j 0 kl f j 1 k!h f j 1 k! Man muss also nur noch entscheiden, in welchem Basiszustand sich das erste Qubit am Ausgang des Netzwerks befindet, um festzustellen, ob f j 0 k l f j 1 k gilt oder nicht. 5. Zusammenfassung Quantenrechnen ist im Prinzip möglich und klassischem Rechnen auf Grund massiver Parallelverarbeitung überlegen. Eine brauchbare Simulation quantenmechanischer Systeme ist wohl überhaupt nur mit Quantenrechnern möglich (Zalka, 1998). Die Theorie der Quantenalgorithmen und vor allem die technische Realisierung von Quantengattern (Pahlke und Mathis, 2001; Vandersypen et al., 2000) stehen immer noch ganz am Anfang. Dennoch hat die Quanteninformatik durchaus das Potenzial, unser Denken über Konstruktion und Programmieren von Rechnern — und vielleicht auch über die Quantenmechanik selbst — dramatisch zu verändern. 6. Literatur Barenco, A., Bennet, C., Cleve, R., DiVincenzo, D., Margolus, N., Shor, P., Sleator, T., Smolin, J., und Weinfurter, H. (1995). Elementary gates for quantum computation. Phys. Rev. A, 52:3457–3467. quant-ph/9503016. Bowmeester, D., Ekert, A., und Zeilinger, A., Herausgeber (2000). The Physics of Quantum Information. Springer-Verlag. Deutsch, D. (1989a). Quantum computational networks. Proc. R. Soc. Lond. A, 425:73–90. D. (1989b). Quantum theory, the Church-Turing principle and the universal quantum computer. Deutsch, Proc. R. Soc. Lond. A, 400:97–117. Feynman, R. P. (1982). Simulating physics with computers. Int. J. Theor. Phys., 21:467–488. Gottesman, D. (2000). An introduction to quantum error correction. quant-ph/0004072. Landauer, R. (1961). Irreversibility and heat generation in the computing process. IBM J. Res. Dev., 5:183–191. Pahlke, K. und Mathis, W. (2001). A new kind of CNOT-gate implementation for information processing with trapped ions. Appl. Phys. B, 72:61–65. Schlingemann, D. und Werner, R. F. (2000). Quantum error-correcting codes associated with graphs. quant-ph/0012111. Shannon, C. E. (1949). The mathematical theory of communication. University of Illinois Press. Shor, P. (1994). Algorithms for quantum computation: discrete logarithms and factoring. In Proceedings 35th Annual Symposium on Foundations of Computer Science, Santa Fe, NM, USA, 20–22 Nov. 1994, Seiten 124–134. IEEE Comput. Soc. Press. Shor, P. W. (2000). Introduction to quantum algorithms. quant-ph/0005003. Toffoli, T. (1980). Reversible computing. In Goos, G. und Hartmanis, J., Herausgeber, Automata, Languages and Programming, Seiten 632–644. Springer-Verlag. Vandersypen, L. M. K., Steffen, M., Breyta, G., Yannoni, C. S., Cleve, R., und Chuang, I. L. (2000). Experimental realization of an order-finding algorithm with an NMR quantum computer. Phys. Rev. Lett., 85:5452–5455. Wootters, W. K. und Zurek, W. H. (1982). A single quantum cannot be cloned. Nature, 299:802–803. Zalka, C. (1998). Efficient simulation of quantum systems by quantum computers. Proc. Roy. Soc. Lond. A, 454:313–322.