Der Quantenteil von Shors Algorithmus ist im Wesentlichen eine einzelne modulare Exponentiation, die unter Überlagerung durchgeführt wird, gefolgt von einer Fourier-Transformation und einer anschließenden Messung. Die modulare Potenzierung ist bei weitem der teuerste Teil.
Nehmen wir an, dass [...] jede elementare logische Operation der mathematischen Faktorisierung in der klassischen und in der Quantenfaktorisierung gleichermaßen zeitaufwändig ist
Wenn wir annehmen, dass die modulare Exponentiation auf einem Quantencomputer genauso lange dauert wie auf einem klassischen Computer, würde der Übergang, bei dem die Quantenberechnung besser wurde, bei einer sehr geringen Anzahl stattfinden. Das Berechnen modularer Exponentiationen ist klassisch sehr schnell, da Sie das wiederholte Quadrieren verwenden können. Ich würde die Überkreuzung wild schätzen, noch bevor Sie 30-Bit-Zahlen (Zahlen über eine Milliarde) erreichen.
Aber Quantencomputer werden nicht annähernd so schnell rechnen wie klassische Computer . Auf meinem Laptop kann ich beispielsweise in einem Bruchteil einer Sekunde eine modulare 1000-Bit-Potenzierung in Python durchführen. Aber auf absehbaren Quantencomputern würde es Stunden oder Tage dauern. Das Problem ist der massive ( massive ) Unterschied in den Kosten eines UND-Gatters.
Auf einer klassischen Maschine ist das Durchführen eines UND so belanglos, dass wir beim Programmieren nicht einmal wirklich darüber nachdenken. Es ist weitaus wahrscheinlicher, dass Sie bei der Ermittlung der Kosten Ihres Algorithmus an das Zählen von 64-Bit-Additionen denken als an das Zählen von UND-Gattern. Auf einem fehlerkorrigierten Quantencomputer ist die Durchführung eines UND (normalerweise vorübergehend über einen Toffoli) jedoch tendenziell teuer. Sie können dies beispielsweise tun, indem Sie vier hochwertige Zustände destillieren . Ich werde nicht auf die Zahlen eingehen ... es genügt zu sagen, dass Sie auf frühen fehlerkorrigierten Maschinen sehr glücklich wären, eine Million T-Zustände pro Sekunde zu erhalten.|T⟩
Nehmen wir also an, wir erhalten eine Million T-Zustände pro Sekunde und möchten diese in eine Rate von 64-Bit-Additionen umwandeln, um sie mit der klassischen Maschine zu vergleichen. Eine 64-Bit-Addition erfordert 64 UND-Gatter, von denen jedes 4 T-Gatter erfordert. 1 Million geteilt durch 4 geteilt durch 64 ergibt ... ungefähr 4 kHz. Im Gegensatz dazu kann eine klassische Maschine leicht eine Milliarde Additionen pro Sekunde ausführen. Quantenaddierer sind millionenfach langsamer als klassische Addierer (wiederum wild geschätzt, und bedenken Sie, dass sich diese Zahl im Laufe der Zeit verbessern sollte).
Ein weiterer erwägenswerter Faktor sind die unterschiedlichen Kosten von Quanten- und klassischen Computern. Wenn Sie hundert Millionen Dollar haben und zwischen einem Quantencomputer und tausend klassischen Computern wählen, muss dieser Faktor von 1000 berücksichtigt werden. In diesem Sinne könnte man sagen, dass Quantenaddierer eine Milliarde Mal weniger effizient sind als klassische Addierer (in FLOPS / $).
Eine konstante Faktorstrafe von einer Milliarde ist normalerweise ein sofortiger Deal Breaker. Und für Quantenalgorithmen mit nur quadratischem Vorteil (wie Grover) behaupte ich, dass es sich tatsächlich um einen Deal Breaker handelt. Aber Shors Algorithmus wird im Vergleich zur klassischen Strategie exponentiell besser, wenn Sie die Anzahl der Bits in der zu faktorisierenden Zahl erhöhen. Wie viele Bits, bevor wir diese "dürftige" 10 ^ 9-Konstante mit unserem exponentiellen Vorteilswachstum wegfressen?
Bedenken Sie, dass RSA-640 im Jahr 2005 mit ~ 33 CPU-Jahren berücksichtigt wurde . Ein Quantencomputer sollte in der Lage sein, diese Zahl in weniger als einem Tag zu erreichen. Wenn tausend klassische Computer an dem Problem arbeiten, sind sie in etwa zwei Wochen fertig. Es scheint also, dass Quanten um 640 Bits gewinnen, aber nur um eine Größenordnung oder drei. Vielleicht würde der Cutoff irgendwo um die 500 Bit liegen?
Wie auch immer, ich weiß, dass dies keine feste Antwort ist. Aber hoffentlich habe ich ein Gefühl für die Größen vermittelt, über die ich beim Vergleich von Klassik und Quanten nachdenken würde. Wirklich niemand kennt die konstanten Faktoren, also wäre ich überrascht, wenn jemand Ihnen eine richtige Schätzung geben könnte, die besser ist als "irgendwo in den Hunderten von Bits".