QC - Quantenprogrammierung: Implementierungsprobleme

Foto von NeONBRAND

Wir befinden uns noch im Anfangsstadium des Quantum Computing. Erwarten Sie Überraschungen! Ein Quantenalgorithmus hängt von den verfügbaren Qubits und auch davon ab, wie diese Qubits verbunden sind. Verschiedene Modelle von Quantencomputern können dies unterschiedlich machen. Dies ist wie ein Programm, das auf einem Intel i7-Prozessor ausgeführt wird und für den Prozessor der nächsten Generation ausfällt. Dekohärenz ist ein weiteres wichtiges Thema im Quantencomputer. Erwarten Sie nicht, ein laufendes Programm anzuhalten und einen Kaffee zu trinken. Sobald Sie die Run-Taste drücken, sind Sie unter der Uhr. Das Programm muss schnell beendet sein, bevor die Quanteninformation zerfällt. In diesem Artikel werden einige Implementierungsprobleme sowie das Dekohärenzproblem behandelt.

Tor tauschen

Die physikalische Implementierung von Qubits ist möglicherweise nicht symmetrisch. Ein gesteuertes Nicht-Gatter kann Qubit-0 als Steuerung und Qubit-1 als Ziel nehmen, aber nicht das Gegenteil.

Stark abhängig von Implementierungen

Hier wird gezeigt, wie 2-Qubit im CNOT-Gate von IBM Q5 verbunden werden können.

Wie unten gezeigt, erhalten wir einen Fehler, wenn wir q1 und q2 mit einem Gate ohne Steuerung verbinden.

Quelle

Das q1 als Kontroll-Qubit mit q2 als Ziel ist in dieser Maschine nicht zulässig.

Durch Ummischen der Tore ist der Fehler behoben.

Hier ist ein weiteres Beispiel für IBM Q20.

IBM Q 20 Tokyo (20 Qubits) - Von der Quelle geändert

Um diese Einschränkung zu überwinden, können wir zwei Qubits austauschen.

Hier sind andere Möglichkeiten, um das Problem zu überwinden:

Quelle

Universaltor

Beim klassischen Rechnen ist das NAND-Gatter ein universelles Gatter, das die verbleibenden Operationen aufbauen kann. Wir können aus Leistungsgründen einige weitere universelle Gates implementieren. Auf diesen physischen Toren werden komplexe Tore gebaut. In Quantengattern ist die universelle Menge

Dies kann durch CNOT-, H-, S- und T-Gates mit etwas Overhead weiter reduziert und mit jeder Präzision angenähert werden. In der Praxis implementiert IBM Q (ibmqx4) die folgenden physischen Gates:

wo

Für die Programmierschnittstelle werden alle folgenden Vorgänge in IBM Q bereitgestellt und bauen auf den oben genannten Gates auf.

Dies führt uns tatsächlich zu einem wichtigen Thema.

Nicht alle Qubits sind gleich

Präzision und Fehler bleiben ein Problem für das Quantencomputing. Wie oben angegeben, haben verschiedene Qubits unterschiedliche Gate- und Auslesefehler. Bei einem Gate-Fehler geht es um die Genauigkeit beim Anwenden eines Quantentors. dh wie genau können wir die Überlagerung steuern? Auslesefehler ist der Fehler beim Messen von Qubits. Der MultiQubit-Gate-Fehler ist der Fehler beim Betrieb des 2-Qubit-Gates. Diese Informationen können bei der Implementierung eines Algorithmus berücksichtigt werden. Zumindest sollte dies mit Ihrem Ausführungslauf zum späteren Vergleich oder zur Referenz dokumentiert werden.

Dekohärenz & Fehler

Wie bereits erwähnt, läuft jedes Quantenprogramm unter der Uhr. Sobald Sie auf die Schaltfläche "Ausführen" klicken, verschlechtern sich die Quanteninformationen aufgrund der Wechselwirkung mit der Umgebung (etwaige elektrische und magnetische Felder in der Nähe). Ihr Programm muss abgeschlossen sein, bevor der Quantenzustand zu Müll wird. Sie sollten sich also der Länge der in Ihrem Programm verwendeten physikalischen Quantentore bewusst sein. Da das Programm in logischen Quantengattern geschrieben ist, ist es hilfreich zu wissen, wie physikalische Gatter in physikalische Gatter übersetzt werden.

Die Qualität der Quantencomputer kann anhand der Relaxationszeit (T1), der Kohärenzzeit (T2), der Auslesefehler und der Gate-Fehler gemessen werden.

Quelle IBM

Der Dekohärenzprozess wird durch T1 und T2 oben gemessen.

T1 - Energierelaxation: Die Zeit, die für den angeregten | 1⟩-Zustand benötigt wird, fällt in Richtung des Grundzustands | 0⟩ ab.

T2 - Dephasierung, die die Überlagerungsphase beeinflusst. T2 beinhaltet den Effekt der Dephasierung sowie der Energieentspannung.

Aus diesem Grund werden diese Informationen immer zu Referenzzwecken veröffentlicht.

Fehlertoleranz

Fehlertoleranzberechnung wird im Ingenieurwesen schon lange nicht mehr gelehrt. Quantum Computing bringt das Thema zurück. Die Quantenberechnung ist fehleranfällig. Um das Problem auszugleichen, können wir zusätzliche Quantengatter zur Fehlererkennung oder Fehlerkorrektur hinzufügen. Dies ist ein Hauptgrund dafür, dass wir immer viel mehr Qubits brauchen, als wir denken. Das folgende Beispiel ist ein Codierer und ein Decodierer, die einen Qubit-Fehler zulassen.

Quelle: IBM

Nächster

Jetzt beenden wir die Quantentore. Als nächstes lernen wir das Programmieren eines Quantenalgorithmus.

Hier ist der Link für die ganze Serie: