Nehmen wir an, wir haben Quanten- und klassische Computer, so dass experimentell jede elementare logische Operation der mathematischen Faktorisierung in der klassischen und in der Quantenfaktorisierung gleichermaßen zeitaufwändig ist: Dies ist der niedrigste ganzzahlige Wert, für den das Quantenverfahren schneller ist als der klassische einer?
11
Antworten:
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.
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".
quelle
Wie ich in den Kommentaren erwähnt habe, wird eine sehr genaue Antwort wahrscheinlich von vielen technischen Entscheidungen abhängen, die etwas willkürlich sind. Es ist wahrscheinlich wichtiger, eine Schätzung in der Größenordnung zu erhalten und bei der Erstellung so viel wie möglich zu berücksichtigen.
Diese Antwort ist nicht als endgültige Antwort gedacht, sondern als Schritt in die richtige Richtung unter Bezugnahme auf die vorhandene Literatur (obwohl zugegebenermaßen inzwischen über ein Jahrzehnt alt), insbesondere:
Van Meter, Itoh und Ladd versuchen, die Leistung des Shor-Algorithmus mit der verfügbaren Computertechnologie zu vergleichen, die das Number Field Sieve (den bekanntesten klassischen Algorithmus zur Faktorisierung) ausführt. Ich hatte nicht die Zeit, die Details des Papiers durchzugehen - eine überlegene Antwort könnte wahrscheinlich dadurch erhalten werden -, aber Abbildung 1 dieses Artikels ermöglicht es uns, eine vernünftige numerische Schätzung vorzunehmen:
Hier repräsentieren die steilen Kurven die Rechenzeit klassischer Computernetzwerke. Die Kurve mit der Bezeichnung "NFS, 104 PCs, 2003" scheint Berechnungen (und die projizierte Rechenzeit) von einhundertvier Personalcomputern um 2003 anzuzeigen, wie von RSA Security Inc. im Jahr 2004 berichtet [ http: //www.rsasecurity. com / rsalabs / node.asp? id = 2096] .
Wir werden eine Fermi-Berechnung durchführen. Nehmen wir an, dass die Kurve einer Berechnung auf 104 im Wesentlichen identischen Computern entspricht, und nehmen wir an, dass Computer, die ein Zahlenfeldsieb ausführen, Berechnungen pro Sekunde des Zahlenfeldsiebs ausführen können , wobei die Anzahl der Operationen ist pro Sekunde, die ein einzelner Computer ausführen kann. Eine schnelle Websuche legt nahe, dass die Geschwindigkeit eines guten handelsüblichen PCs um 2003 etwa 2 GHz betrug. Unter der Annahme, dass die Computer eine logische Operation pro Taktzyklus ausführten, arbeitete die klassische Berechnung im Jahr 2003 effektiv mit etwan ⋅ v v 2 × 10 11n n⋅v v 2×1011 Operationen pro Sekunde. Ein hypothetisches Benchmarking von Shors Algorithmus müsste gegen einen Quantencomputer durchgeführt werden, der mit einer vergleichbaren Taktrate arbeitet.
Leider stellt die niedrigste Kurve für Quantenalgorithmen eine Taktrate von , sodass der Punkt, an dem eine hypothetische Realisierung des Shor-Algorithmus diese Leistung übertreffen würde, nicht in der gezeigten Grafik dargestellt ist. Es werden jedoch einige interessante Informationen angezeigt.109
Die Erhöhung der Kreuzungspunkte gegenüber Quantenberechnungen von der Berechnung im Jahr 2003 auf die projizierte im Jahr 2018, was einer Taktgeschwindigkeitssteigerung von 1000 entspricht, ist ein Faktor von etwa 5/3. Daraus können wir abschätzen, dass der Rechenvorteil für die Größe von Zahlen, der von einem klassischen Computer aufgrund einer Geschwindigkeitssteigerung um den Faktor 200 schnell gelöst werden kann, ungefähr 7/6 beträgt. Dann können wir schätzen, dass der Kreuzungspunkt eines einzelnen klassischen 1-GHz-Computers, der NFS ausführt, mit einem 1-GHz-Quantencomputer, der Shors Algorithmus ausführt, bei etwa 170-Bit-Zahlen liegt.
Fazit: Eine genaue Antwort hängt von vielen technischen Annahmen ab, die das genaue Ergebnis erheblich verändern können. Daher ist es besser, eine grobe Schätzung einzuholen. Diese Frage wurde jedoch mindestens einmal zuvor untersucht. Aufgrund einiger Annahmen und Extrapolationen zur Leistung auf der Grundlage der klassischen Leistung im Jahr 2003 scheinen Shors Algorithmen den bekanntesten klassischen Algorithmus von Operation zu Operation für Zahlen zu übertreffen rund 170 Bit.
quelle