Warum ist im Shor-Algorithmus eine Quanten-Fourier-Transformation erforderlich?


8

Ich studiere gerade den Shor-Algorithmus und bin verwirrt über die Komplexität. Nach dem, was ich gelesen habe, reduziert der Shor-Algorithmus das Faktorisierungsproblem auf das Ordnungsfindungsproblem oder die Periode der modularen Exponentiationssequenz eines zufälligenx so dass .1<x<N

Ich habe kein Problem mit der Idee des Algorithmus. Aber ich frage mich, ob Shors Algorithmus eine solche Sequenz durch wiederholtes Quadrieren erzeugt (was klassisch ein effizienter Weg ist). Nach meinem Verständnis bedeutet der Begriff "effizient", dass die Komplexität des Algorithmus zeitlich polynomisch ist.

Können wir angesichts der Tatsache, dass es eine effiziente Möglichkeit gibt, die Sequenz klassisch zu erstellen, nicht einfach eine kleine Überprüfung hinzufügen, ob wir auf gestoßen sind ? Während des Erstellungsprozesses sollte die Komplexität nicht auf Exponentialzeit erhöht werden, oder?xr=1 modN

Warum sich überhaupt mit der Quanten-Fourier-Transformation beschäftigen? Habe ich es irgendwie falsch verstanden?


1
Hallo Poramet. Willkommen bei Quantum Computing SE! Bitte stellen Sie nur eine Frage pro Beitrag - stellen Sie nur mehrere, wenn sie so eng miteinander verbunden sind, dass es keinen Sinn macht, sie aufzuteilen, da sie vernünftigerweise nicht separat beantwortet werden können. Auf diese Weise können Antwortende, die möglicherweise eine Frage beantworten können, die anderen jedoch nicht, nützliche und vollständige Antworten auf eine Frage geben. Bewertung Wie schreibe ich eine gute Frage? .
Sanchayan Dutta

1
Ich habe bearbeiten ed Ihren Beitrag auf die zweite Frage zu entfernen (v5 ist noch sichtbar hier ). Bitte stellen Sie dies bei Bedarf als separate Frage.
Sanchayan Dutta

Antworten:


7

Das wesentliche Merkmal dieses Problems ist, dass sowohl der Quanten- als auch der klassische Algorithmus die effiziente klassische Funktion der Berechnung , die Frage jedoch ist, wie oft jeder die Funktion bewerten muss.ak mod N

Für den klassischen Algorithmus, den Sie vorschlagen, würden Sie und und usw. berechnen , bis Sie drücken ein sich wiederholender Wert. Sie müssen Auswertungen durchführen, und kann ziemlich groß sein. In der Tat könnte es . Es ist diese große Anzahl von Wiederholungen, die diese Idee für den klassischen Algorithmus zunichte macht.a mod Na2 mod Na3 mod NrrO(N)

Im Vergleich dazu wertet der Quantenalgorithmus die Reihenfolge nur einmal aus . Sie benötigen dann die Quanten-Fourier-Transformation, um alle gleichzeitig berechneten Werte vergleichen zu können, da Sie nicht auf alle diese Werte gleichzeitig zugreifen können. Die QFT macht die ganze Magie aus.


Wenn Sie sagen , bedeutet dies, dass ich ein wiederholtes Quadrieren für einen möglicherweise schlimmeren Fall nahe der N- Zeit ausführen muss, und selbst wenn der Algorithmus des wiederholten Quadrierens eine Polynom-Zeit-Komplexität für die Berechnung von x a mod N für einen Wert a ist . Es stellt sich heraus, dass das Ausführen des Algorithmus in O ( N ) -Zeit die Komplexität auf Exponentialzeit erhöht. Verstehe ich richtig? Ö(N.)N.xeinmodN.einÖ(N.)
Poramet Pathumsoot

1
@PorametPathumsoot Ja, genau (weil die Komplexität basierend auf der Anzahl der Eingabebits gemessen wird, ist , also ist N in n exponentiell .n=Log2(N.)N.n
DaftWullie

3

Können wir angesichts der Tatsache, dass es eine effiziente Möglichkeit gibt, die Sequenz klassisch zu erstellen, nicht einfach eine kleine Überprüfung hinzufügen, ob wir auf xr=1 modN. gestoßen sind ? Während des Erstellungsprozesses sollte die Komplexität nicht auf Exponentialzeit erhöht werden, oder?

Warum sich überhaupt mit der Quanten-Fourier-Transformation beschäftigen? Habe ich es irgendwie falsch verstanden?

x=21r modN.

Die klassische diskrete Fourier-Transformation weist eine exponentielle Komplexität auf - die Quantenversion dieser Fourier-Transformation weist jedoch eine polynomielle Komplexität auf. Wir müssen uns also mit der Quanten-Fourier-Transformation beschäftigen.


xr=1mÖdN.

Hallo, Lernender. Willkommen bei Quantum Computing ! Ich habe Ihre Antwort ein wenig bearbeitet , um sie an die aktuelle Version (v8) der Frage anzupassen.
Sanchayan Dutta
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.