Langsam kann man sich damit auseinandersetzen: Wir werden irgendwann Quantencomputer besitzen. Ein Quantencomputer ist ein Computer, der für bestimmte, spezielle Probleme klassischen Computern aus Transistoren überwältigend überlegen ist. Die ganze Unterschied wird klar, wenn wir den Unterschied zur klassisch kleinsten Einheit ansehen: Dem Bit, das 1 ist oder 0. In letzter Zeit habe ich oft schonmal kurz das entsprechende dazu beim Quantencomputer erwähnt: Das Qubit, das gleichzeitig 1 und 0 sein kann.
Wie schaut der Programmablauf auf einem Quantencomputer aus? Zunächst unser Setup: Eine Menge von Qubits, die miteinander verschränkt sind. Und eine Präparation der gemeinsamen Wellenfunktion der Qubit-Zustände, die eine Überlagerung aller möglichen Zustände angibt.
Das ist in meinen letzten Beiträgen schon des öfteren vorgekommen, aber das sind so komplizierte Konzepte, da lohnt es sich nochmal drauf zu sehen. Wir können von dem einfachsten Fall ausgehen, dass wir nicht eine Menge Qubits haben, sondern nur zwei. Das ist im Moment eine hervorragende Vereinfachung, da die Quantencomputer-Vorstufen auch erst so weit sind.
Zwei Qubits
Also, ein einzelnes Qubit kann zwei Zustände (und einem Zustand entspricht eine Wellenfunktion) haben. Wir schreiben die in der praktischen Notation von Dirac in diesen “Brackets”: |1> oder |0>. Jetzt nehmen wir zwei Qubits und verschränken sie – das heißt das Schicksal der Zustände wird verknüpft, und eine einzelne Wellenfunktion beschreibt das verknüpfte 2-Qubit-System.
So, wie schreiben wir die möglichen Zustände auf? Sie hängen zusammen, also reicht ein Bracket, um auszudrücken wie die Gesamtwellenfunktion mit den Zuständen der einzelnen Qubits zusammenhängt: |00>, |01>, |10>, |11>.
Bis jetzt haben wir noch keine Quantenmagie – und es sieht aus wie normale Bits in einem normalen Computer. Aber jetzt! Jetzt erinnern wir uns, die große seltsame Geschichte in der Quantenwelt – wir können das System präparieren, sodass nicht einer dieser Zustände vorliegt, sondern mehrere gleichzeitig.
Grover-Algorithmus
Und dann ist das System bereit, zu rechnen. Wir haben es vorbereitet, in dem wir es alle Zustände gleichzeitig haben annehmen lassen. Und jetzt rechnet der Quantencomputer und wenn wir geschickt Operationen darauf anwenden, (man spricht hier wie im richtigen Computer von Gattern), dann endet das System in einem Zustand, also keine Überlagerung mehr – und dieser stellt das Ergebnis dar.
Stellt euch vor – ihr habt eine Datenbank und wollt zu einem Schlüssel (quasi einer Kennziffer eines Eintrags) einen Datensatz suchen. Ok – denkt ihr – sind wir doch mal geschickt. Der Schlüssel fängt mit “Z” an – ha da sind wir viel schneller wenn wir von hinten anfangen. Doch was ist das? Die Datenbank ist unsortiert! Das heißt, man kann nichts anderes tun als alle Einträge der Reihe nach durchsehen bis man den passenden Schlüssel aufgefunden hat – das heißt die Zeit für die Suche steigt linear mit der Zahl der Einträge. Es gibt keine Chance, auf einer Turing-Maschine, einem klassisch designtem Rechner, eine im Mittel schnellere Zeit zu erreichen.
Nicht so in der Quantenwelt. Der Grover-Algorithmus schafft es schneller – da wächst der Zeitbedarf nur noch mit der Wurzel der Datenbankgröße! Das wäre ein genialer Zeitgewinn für viele Anwendungen – und drum ist man so heiß drauf.
Der Grover-Algorithmus wendet also Wurzel n mal ein bestimmtes Gatter auf den Ausgangszustand an. Der Anfangszustand ist eine Wellenfunktion, die gleichzeitig alle Schlüssel annimmt. Die letzte Zutat ist eine Indikatorfunktion (oder ein “Orakel”), das heißt man setzt voraus dass es einen und genau einen Schlüssel gibt, der die richtige Lösung angibt. Der Algorithmus landet dann sehr wahrscheinlich beim richtigen Ergebnis.
Probleme, Probleme
Heiß darf der erste Quantenprozessor auf Festkörperbasis nicht sein – eher nur knapp über dem absoluten Nullpunkt.
Viele, viele Hürden sind zu überwinden auf dem Weg zum echten Quantencomputer, aber ich denke wir werden sehen, wie eine nach der anderen fällt. Jetzt ist erstmal wieder ein Schritt gelungen, weg von exotischeren Systemen mit Laserfallen etc. hin zu einem ersten Quantenprozessor, ja nur mit 2 Qubit Größe, auf Festkörperbasis.
Cooper-Box
Ja, auch die Cooper-Box ist uns schon begegnet. Dabei sind ist ein Supraleiter (die “Insel” oder “Box”) von einem zweiten Supraleiter durch eine Brücke getrennt. Das Tunneln der Cooper-Paare (also das erkläre ich jetzt nicht auch alles nochmal…) durch diese Schicht weist ganz besondere Eigenschaften auf, die erlauben solche definierten, überlagerten Zustände in der Box einzurichten. Man spricht vom Josephson-Effekt und nennt die dünne Zwischenwand eine Josephson-Brücke.
Ok, diese Box ist natürlich eines der Qubits.
Jetzt endlich das Paper…
Ja, endlich genau eingeleitet, ist ja schon spät, also nur kurz das Ergebnis:
In einer aktuellen Veröffentlichung, die demnächst in Nature erscheint (“Demonstration of two-qubit algorithms with a superconducting quantum processor” hier im arXiv), beschreiben die Forscher aus Yale, Ontario, Wien und Quebec, wie sie ein System mit zweier dieser Boxen hergestellt haben. Sie können solche überlagerten 2-Qubit-Zustände erzeugen, demonstrieren die erfolgreiche Ausführung zweier dieser Algorithmen (der zweite nennt sich Deutsch-Jozsa-Algorithmus) und können das Ergebnis mit Mikrowellen auslesen.
Aber es bleibt noch viel zu tun – auf große Mengen Qubits ließe sich das System z.B. nicht skalieren, auch die Auslesemethode funktioniert dann nicht mehr. Aber der Schritt zum “soliden” Prozessor ist geschafft!
Kommentare (2)