Was ist der minimale ganzzahlige Wert, damit sich die Quantenfaktorisierung lohnt?


11

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?


2
Eine sehr genaue Abrechnung würde von Details wie der Implementierung von Additionsoperationen im Quantenalgorithmus und auch von den genauen Operationen abhängen, die im besten klassischen Faktorisierungsalgorithmus verwendet werden. In beiden Fällen sind wir es oft gewohnt, konstante Faktoren für den Arbeitsaufwand zu ignorieren, im klassischen Fall jedoch sogar mehr als im Quantenfall. Würden Sie sich mit einer Größenordnungsschätzung zufrieden geben (z. B. mit einem Quantenvorteil zwischen 350 und 370 Bit - um eine mögliche Antwort zu liefern, die ich aus dünner Luft basierend auf keiner tatsächlichen Analyse erstellt habe)?
Niel de Beaudrap

@NieldeBeaudrap Ich würde sagen, dass aus den von Ihnen angegebenen Gründen eine genaue Anzahl nicht angegeben werden kann. Wenn Ihre Schätzung "aus der Luft" auf einer Argumentation basiert , halte ich das für interessant. (Mit anderen Worten, eine fundierte Vermutung hat Wert, eine wilde Vermutung jedoch nicht)
Diskrete Eidechse

@DiscreteLizard: Wenn ich ein solides Mittel zur Schätzung zur Hand hätte, hätte ich keine Beispielantwort ohne Analyse erstellt :-) Ich bin sicher, dass es einen vernünftigen Weg gibt, eine interessante Schätzung zu erstellen, aber die, die ich wäre in der Lage, leicht bereitzustellen, hätte Fehlerbalken zu groß, um sehr interessant zu sein.
Niel de Beaudrap

Da dieses Problem allgemein als typischer "Beweis" dafür angesehen wird (oder wurde), dass Quantencomputer in der Lage sind, Leistungen außerhalb des Bereichs des klassischen Rechnens zu erbringen, jedoch fast immer in Bezug auf die Komplexität der Rechenkompetenz (wobei alle Konstanten vernachlässigt werden und nur für willkürlich hohe Eingaben gelten) Größen) Ich würde sagen, eine grobe Antwort in der Größenordnung (und ihre Ableitung) wäre bereits nützlich / pädagogisch. Vielleicht sind die Leute auf CS / theoretischem CS bereit zu helfen.
Agaitaarino

1
@agaitaarino: Ich stimme zu, obwohl die Antwort eine mehr oder weniger genaue Darstellung der Leistung der besten klassischen Algorithmen zur Faktorisierung voraussetzen muss. Der Rest kann dann von einem einigermaßen guten Schüler der Quantenberechnung erledigt werden.
Niel de Beaudrap

Antworten:


8

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".


Dies ist eine gute Anstrengung, aber wie kommt man zu der Schätzung von 30 Bit? Womit vergleichen Sie Shors Algorithmus genau, wenn Sie dies als wahrscheinlichen Übergangspunkt betrachten?
Niel de Beaudrap

1
@NieldeBeaudrap Wie ich schon sagte, es ist eine wilde Vermutung. Ich denke: Die modulare Multiplikation hat einen anständigen konstanten Faktor (klassisch). Dies gilt auch für fortgesetzte Brüche. Haben Factoring-Algorithmen auch gute konstante Faktoren? Wahrscheinlich nicht? In diesem Fall würde die Frequenzweiche fast sofort statt bei großen Zahlen erfolgen. Wenn jemand diese beiden Dinge tatsächlich miteinander vergleichen möchte, aktualisiere ich die Antwort. Ich betrachte das "Fleisch" als den Rest davon.
Craig Gidney

1
Normalerweise würde ich dies nicht als Intuition ablehnen, außer dass Ihre wilde Vermutung genau das Thema der Frage betrifft. (Die Frage wird auch so gestellt, dass das Bewusstsein für Taktgeschwindigkeitsprobleme nahegelegt wird.) Die schnellsten Techniken zum Faktorisieren sehr großer Zahlen beinhalten große konstante Faktoren, aber tatsächlich ist es der Punkt der Frage, mit ihnen zu rechnen. Bei Zahlen um eine Milliarde könnten wir sogar eine Teilung des Versuchs in Betracht ziehen, indem wir eine Primzahltabelle von bis zu 32.767 verwenden, was in der Praxis sehr schnell wäre. Ein quantitativer Vergleich wäre auch hier ein Anfang.
Niel de Beaudrap

6

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. Architekturabhängige Ausführungszeit von Shors Algorithmus . Proc. Mesoskopische Supraleitung + Spintronik 2006; [ arXiv: quant-ph / 0507023 ]

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:

Geben Sie hier die Bildbeschreibung ein

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 11nnvv2×1011Operationen 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

  • Trotz eines Operations-pro-Sekunde-Vorteils von einem Faktor von 200 oder mehr zeigt das Diagramm, wann diese klassische 200-GHz-NFS-Implementierung von einem 1-GHz-Quantencomputer, der den Shor-Algorithmus ausführt (bei etwa 200-stelligen Zahlen), und von einem 1-MHz-Quantencomputer (übertroffen wird) übertroffen wird bei ungefähr 330 stelligen Zahlen).
  • Wir haben auch eine Kurve, die die Leistung "im Jahr 2018" projiziert und das 1000-fache der klassischen Rechenleistung darstellt: Die Abschnitte mit den 1-GHz- und 1-MHz-Quantencomputern liegen bei 350-Bit-Zahlen und 530-Bit-Zahlen.

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.


Das ist eine gute Antwort. Es ist erwähnenswert, dass die Idee dieses Papiers von einer "elementaren logischen Operation" (sehr passend) auf der Ebene eines UND-Gatters liegt, im Gegensatz zu der Ebene eines CPU-Befehls oder einer BigInt-Operation (was meiner Meinung nach der Fragesteller war Denken). In meiner eigenen Antwort ging ich davon aus, dass die modulare Exponentiation "wie klassisch" erfolgt, was beispielsweise FFT-Multiplikationen beinhalten würde. Aus diesem Grund habe ich eine Zahl erraten, die so viel niedriger war als diese Arbeit, die (angemessen) die Schulbuchmultiplikation mit Ripple-Carry-Addierern für ihre Quantenarithmetik durchführt.
Craig Gidney

@ SalvaCardona: Ich empfehle Ihnen , meine Antwort nicht zu akzeptieren. Meine Analyse ist sehr flüchtig, und Sie sollten für eine bessere Analyse durchhalten.
Niel de Beaudrap
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.