Die Leistung eines Quantencomputers wird in Qubits gemessen, der grundlegenden Einheit zur Messung in einem Quantencomputer. .
Ich mache einen Facepalm nach jedem Lesen eines solchen Satzes. Das hat zu nichts Gutem geführt, mein Sehvermögen beginnt zu schwinden; bald werde ich mich an Meklon wenden müssen.
Ich denke, es ist an der Zeit, die grundlegenden Parameter eines Quantencomputers etwas zu systematisieren. Es gibt mehrere:
- Anzahl der Qubits
- Kohärenzzeit (Dekohärenzzeit)
- Fehlerquote
- Prozessorarchitektur
- Preis, Verfügbarkeit, Erhaltungsbedingungen, Amortisationszeit, Programmierwerkzeuge usw.
Anzahl der Qubits
Hier ist alles offensichtlich: Je mehr, desto besser. In der Praxis muss man jedoch für Qubits bezahlen, und idealerweise sollte man genau so viele Qubits kaufen, wie zur Lösung der Aufgabe erforderlich sind. Für die Entwicklung exklusiver Spielautomaten reicht ein Qubit pro Automat (zur Erzeugung von Zufallszahlen). Für den „Bruteforce“ RSA-2048 benötigt man mindestens 2048 Qubits.
Die berühmtesten Quantenalgorithmen tragen die Namen von Grover und Shor. Grover ermöglicht es, Hashes zu "hacken". Für den Zusammenbruch von Bitcoin sind Computer mit mindestens 256 Qubits erforderlich (man könnte mit der Schwierigkeit von Bitcoin experimentieren, aber lassen wir diesen runden Wert so stehen). Shor erlaubt die Faktorisierung von Zahlen. Um eine Zahl mit n Binärstellen zu faktorisieren, benötigt man mindestens n Qubits.
Aktuelles Maximum: 50 Qubits (). Und tatsächlich sind 50 Qubits die Grenze. Die Grenze der Simulation eines Quantencomputers. In der Theorie könnten wir jede Anzahl von Qubits auf klassischen Rechnern simulieren. In der Praxis erfordert das Hinzufügen eines Qubits zur Simulation eine Verdopplung der klassischen Rechner. Fügen Sie dazu die Gerüchte über die jährliche Verdopplung der Qubits hinzu und fragen Sie sich: Wie debuggt man Algorithmen für 25651210242048 Qubits? Einen Simulator gibt es nicht, auf einem Quantenprozessor lässt sich kein Breakpoint setzen.
Kohärenzzeit (Dekohärenzzeit)
Kohärenz und Kohärentheit sind nicht dasselbe. Ich vergleiche Kohärenz lieber mit der Regeneration von RAM. Auf einem RAM-Modul gibt es Milliarden von Zellen, jede mit einer Ladung, entweder null oder eins. Diese Ladung hat eine sehr interessante Eigenschaft – sie leckt. Eine „eins“ Zelle wird zunächst zu einer Zelle mit 0,99, dann zu 0,98 und so weiter. Entsprechend sammelt sich auf der null-Zelle 0,01, 0,02, 0,03… Man muss diese Ladung aktualisieren, „regenerieren“. Alles, was weniger als die Hälfte beträgt, wird auf null zurückgesetzt, alles andere wird auf eins angehoben.
Quantenprozessoren können nicht regeneriert werden. Daher gibt es für alle Berechnungen nur einen Zyklus, bis der erste „leckende“ Qubit auftritt. Die Zeit bis zum ersten „Leck“ wird als Dekohärenzzeit bezeichnet. Kohärenz hingegen ist der Zustand, in dem die Qubits noch nicht „leckend“ sind. Sie können sich etwas umfassendere Erklärungen ansehen.
Dekohärenz hängt mit der Anzahl der Qubits zusammen: Je mehr Qubits vorhanden sind, desto schwieriger wird es, die Kohärenz zu halten. Andererseits kann bei einer hohen Anzahl von Qubits ein Teil davon zur Fehlerkorrektur verwendet werden, die mit der Dekohärenz verbunden ist. Daraus ergibt sich, dass die Anzahl der Qubits für sich genommen nichts entscheidet. Man kann die Anzahl der Qubits verdoppeln und 90 % davon für die Stabilisierung der Dekohärenz verwenden.
Hier entsteht das Konzept des logischen Qubits. Grob gesagt, wenn Sie einen Prozessor mit 100 Qubits haben, aber 40 davon für die Stabilisierung der Dekohärenz verwendet werden, bleiben Ihnen 60 logische Qubits. Auf denen führen Sie Ihren Algorithmus aus. Das Konzept der logischen Qubits ist derzeit eher theoretisch; von praktischen Implementierungen habe ich persönlich noch nichts gehört.
Fehler und deren Korrektur
Ein weiteres Problem von Quantenprozessoren. Wenn Sie ein Qubit umkehren, endet der Vorgang mit einer Wahrscheinlichkeit von 2 % mit einem Fehler. Wenn Sie 2 Qubits verwickeln, erreicht die Fehlerwahrscheinlichkeit 8 %. Nehmen Sie eine Zahl mit 256 Bit, hashen Sie sie mit SHA-256 und berechnen Sie die Anzahl der Operationen, bestimmen Sie die Wahrscheinlichkeit, all diese Operationen fehlerfrei auszuführen.
Mathematiker bieten eine Lösung: Fehlerkorrektur. Es gibt Algorithmen. Die Implementierung einer Verwicklung von 2 logischen Qubits erfordert 100.000 physische Qubits. Der Bitcoin-Kollaps wird nicht so bald eintreten.
Prozessorarchitektur
Streng genommen gibt es keine Quantencomputer. Es gibt nur Quantenprozessoren. Wozu braucht man RAM, wenn die Zeit für die Arbeit in Millisekunden gemessen wird? Ich programmiere in Q#, einer Hochsprache. Ich habe mir 15 Qubits zugewiesen und kann damit machen, was ich will. Wenn ich will, verknüpfe ich das erste Qubit mit dem zehnten. Wenn ich möchte, verknüpfe ich die ersten sechs.
Auf einem echten Prozessor gibt es diese Freiheit nicht. Ich bitte darum, das erste Qubit mit dem 15. zu verknüpfen – der Compiler wird 26 zusätzliche Operationen generieren. Wenn ich Glück habe. Wenn ich kein Glück habe, werden es hundert sein. Das Problem ist, dass ein Qubit nur mit seinen Nachbarn verknüpft werden kann. Mehr als 6 Nachbarn pro Qubit habe ich nicht gesehen. Es gibt zwar optimierende Quantenprogrammiercompiler, aber die sind bisher eher theoretisch.
Jeder Prozessor hat seinen eigenen Befehlssatz, und die Verbindungen zwischen den Qubits sind unterschiedlich. In einer idealen Welt hätten wir beliebige Rx, Ry, Rz und deren Kombinationen, plus die Möglichkeit, nach Belieben zu verknüpfen, sowie Swap: schauen Sie sich die Operatoren in an. In der Realität haben wir jedoch mehrere Paare von Qubits, und die CNOT-Verknüpfung (q[0], q[1]) kostet eine Operation, während CNOT(q[1], q[0]) bereits 7 kostet. Und die Kohärenz schwindet...
Preis, Verfügbarkeit, Betriebsbedingungen, Amortisationszeit, Programmierwerkzeuge…
Preise sind nicht veröffentlicht, die Verfügbarkeit für den durchschnittlichen Bürger ist praktisch gleich null, die Amortisationszeit wurde in der Praxis nicht ermittelt, die Programmierwerkzeuge befinden sich noch in der Entwicklung. Dokumentation auf arxiv.org.
Welche Informationen sollten von Experten zum neuen Quantencomputer eingefordert werden?
Neben der obigen Liste gefallen mir die Optionen von und :
Es wäre wünschenswert, wenn jeder Artikel über einen neuen Quantencomputer mit zwei Eigenschaften beginnen würde – der Anzahl der gleichzeitigen verwickelten Qubits und der Haltezeit der Qubits.
Oder noch besser – mit der Zeit für die Durchführung des einfachsten Benchmarks, beispielsweise der Faktorisierung der Zahl 91.
Quelle: habr.com
