Ein Ansatz zur Fehlertoleranz
Wir beginnen damit, einen grundlegenden Ansatz für fehlertolerantes Quantencomputing auf Basis von Quantenschaltkreisen und Fehlerkorrekturcodes zu skizzieren.
Für diese Diskussion betrachten wir das folgende Beispiel eines Quantenschaltkreises. Es handelt sich hierbei um einen Teleportationsschaltkreis einschließlich der Vorbereitung des e-Bits, aber die spezifische Funktionalität des Schaltkreises ist unerheblich – es ist nur ein Beispiel, und in der Praxis werden wir wahrscheinlich an deutlich größeren Schaltkreisen interessiert sein.
Ein solcher Schaltkreis stellt ein Ideal dar, und eine tatsächliche Implementierung davon wird nicht perfekt sein. Was könnte also schiefgehen?
Tatsächlich könnte eine ganze Menge schiefgehen! Insbesondere werden die Zustandsinitialisierungen, unitären Operationen und Messungen alle fehlerhaft sein; und die Qubits selbst werden an jedem Punkt der Berechnung für Rauschen einschließlich Dekohärenz anfällig sein, selbst wenn keine Operationen auf ihnen durchgeführt werden und sie lediglich Quanteninformation speichern. Mit anderen Worten: So ziemlich alles könnte schiefgehen.
Es gibt jedoch eine Ausnahme: Alle klassischen Berechnungen, die beteiligt sind, gelten als perfekt – denn praktisch gesehen sind klassische Berechnungen perfekt. Wenn wir beispielsweise einen Oberflächencode für die Fehlerkorrektur verwenden und ein klassischer Algorithmus für perfektes Matching zur Berechnung von Korrekturen ausgeführt wird, müssen wir uns wirklich keine Sorgen machen, dass Fehler in dieser klassischen Berechnung zu einer fehlerhaften Lösung führen. Als weiteres Beispiel: Quantenberechnungen erfordern oft klassische Vor- und Nachverarbeitung, und auch diese klassischen Berechnungen können als perfekt angesehen werden.
Rauschmodelle
Um fehlertolerante Implementierungen von Quantenschaltkreisen zu analysieren, benötigen wir ein präzises mathematisches Modell – ein Rauschmodell –, durch das Wahrscheinlichkeiten für verschiedene Fehler zugeordnet werden können. Hypothetisch gesehen könnte man versuchen, ein sehr detailliertes, kompliziertes Rauschmodell zu entwickeln, das die Realität dessen widerspiegeln soll, was in einem bestimmten Gerät passiert. Aber wenn das Rauschmodell zu kompliziert oder schwer zu analysieren ist, wird es wahrscheinlich von begrenztem Nutzen sein. Aus diesem Grund werden in der Praxis viel einfachere Rauschmodelle betrachtet.
Ein Beispiel für ein einfaches Rauschmodell ist das unabhängige stochastische Rauschmodell, bei dem Fehler, die verschiedene Komponenten zu verschiedenen Zeitpunkten betreffen – oder mit anderen Worten, verschiedene Stellen in einem Quantenschaltkreis –, als unabhängig angenommen werden. Zum Beispiel könnte jedes Gate mit einer bestimmten Wahrscheinlichkeit fehlschlagen, ein Fehler könnte jedes gespeicherte Qubit pro Zeiteinheit mit einer anderen Wahrscheinlichkeit treffen, und so weiter, ohne Korrelationen zwischen den verschiedenen möglichen Fehlern.
Nun ist es durchaus berechtigt, einem solchen Modell zu widersprechen, da in realen physischen Geräten wahrscheinlich Korrelationen zwischen Fehlern auftreten werden. Zum Beispiel könnte es eine geringe Wahrscheinlichkeit für einen katastrophalen Fehler geben, der alle Qubits auf einmal auslöscht. Vielleicht wahrscheinlicher sind Fehler, die lokal begrenzt sind, aber dennoch mehrere Komponenten in einem Quantencomputer beeinflussen. Das bestreitet niemand! Dennoch bietet das unabhängige stochastische Rauschmodell eine einfache Basis, die die Idee einfängt, dass die Natur unvorhersehbar, aber nicht böswillig ist und nicht absichtlich versucht, Quantenberechnungen zu ruinieren.
Andere, weniger nachsichtige Rauschmodelle werden ebenfalls häufig untersucht. Eine gängige Lockerung der Annahme der Unabhängigkeit zwischen Fehlern an verschiedenen Stellen in einem Quantenschaltkreis ist beispielsweise, dass nur die Stellen der Fehler unabhängig sind, die tatsächlichen Fehler an diesen Stellen aber korreliert sein könnten.
Unabhängig davon, welches Rauschmodell gewählt wird, sollte anerkannt werden, dass das Erlernen der Fehler, die spezifische Geräte beeinflussen, und die Formulierung neuer Fehlermodelle, wenn die alten uns in die Irre führen, potenziell ein wichtiger Teil der Entwicklung fehlertoleranter Quantenberechnungen sein könnte.
Fehlertolerante Schaltkreisimplementierungen
Als nächstes betrachten wir eine grundlegende Strategie für fehlertolerante Implementierungen von Quantenschaltkreisen. Wir verwenden den obigen Teleportationsschaltkreis als durchgehendes Beispiel zur Veranschaulichung der Strategie, obwohl sie auf jeden Quantenschaltkreis angewendet werden könnte.
Hier ist ein Diagramm einer fehlertoleranten Implementierung unseres Teleportationsschaltkreises.
Die einzelnen Komponenten in diesem Diagramm und ihre Verbindung zum ursprünglichen Schaltkreis sind wie folgt.
-
Zustandsvorbereitungen, unitäre Gates und Messungen werden nicht direkt als einzelne Operationen durchgeführt, sondern durch sogenannte Gadgets, die jeweils mehrere Qubits und mehrere Operationen umfassen können. Im Diagramm werden Gadgets durch violette Kästchen angezeigt, die mit der jeweiligen Zustandsvorbereitung, dem Gate oder der Messung beschriftet sind, die implementiert werden soll.
-
Die logischen Qubits, auf denen der ursprüngliche, ideale Schaltkreis ausgeführt wird, werden mit einem quantenfehlerkorrigierenden Code geschützt. Anstatt direkt auf diese logischen Qubits zu wirken, wirken die Gadgets auf die physischen Qubits, die sie kodieren. Das Diagramm deutet an, dass fünf physische Qubits für jedes logische Qubit verwendet werden, als ob der -Qubit-Code verwendet würde, aber die Anzahl könnte natürlich anders sein. Es ist wichtig zu betonen, dass diese logischen Qubits niemals ungeschützt sind; sie verbringen ihre gesamte Existenz unter dem Schutz des gewählten quantenfehlerkorrigierenden Codes.
-
Fehlerkorrektur wird wiederholt durchgeführt, wie die blauen Kästchen mit der Beschriftung „EC" im Diagramm andeuten, und zwar während der gesamten Berechnung. Es ist von entscheidender Bedeutung, dass dies sowohl häufig als auch parallel geschieht. Wenn Fehler auftreten, baut sich Entropie auf, und ständige Arbeit ist erforderlich, um sie schnell genug aus dem System zu entfernen, damit die Berechnung korrekt funktionieren kann.
Es müssen also konkrete Entscheidungen getroffen werden, einschließlich der Auswahl der Gadgets sowie des quantenfehlerkorrigierenden Codes selbst. Sobald diese Entscheidungen getroffen wurden und ein bestimmtes Rauschmodell angenommen wurde, können wir uns eine grundlegende Frage stellen: Hilft das wirklich? Das heißt: Verbessern wir die Dinge, oder könnten wir sie sogar verschlechtern?
Wenn das Rauschen zu hoch ist, könnte der gesamte gerade vorgeschlagene Prozess die Dinge sehr wohl verschlechtern – genau wie der 9-Qubit-Shor-Code die Dinge verschlechtert, wenn die Fehlerwahrscheinlichkeit auf jedem Qubit über dem Break-Even-Punkt liegt. Wenn jedoch das Rauschen unter einem bestimmten Schwellenwert liegt, wird all diese zusätzliche Arbeit uns weiterbringen – und wie wir gegen Ende der Lektion besprechen werden, eröffnen sich Wege zur weiteren Fehlerreduktion.