Shors Factoring-Algorithmus hilft

27

Ich habe ein kleines Problem damit, die letzten Schritte von Shors Faktorisierungsalgorithmus vollständig zu verstehen.

Wenn wir ein faktorisieren wollen, wählen wir ein zufälliges der Ordnung .x rNxr

Der erste Schritt besteht darin, die Register einzurichten und den Hadamard-Operator anzuwenden. Im zweiten Schritt wird ein linearer Operator angewendet. Der dritte Schritt das zweite Register gemessen wird (ich glaube, dieser Schritt kann stattdessen später durchgeführt werden). Der vierte Schritt der diskreten Fourier-Transformation wird auf das erste Register angewendet. Dann messen wir das erste Register.

Hier bin ich ein bisschen verschwommen:

Wir erhalten eine Messung in der Form .j,xkmodN

Daraus können wir die Konvergenten des Bruchs , die Konvergenten sind mögliche Werte der Ordnung . Hier probieren wir einfach alle Konvergenten und wenn wir als einen der Konvergenten finden, fangen wir einfach wieder an? r<Nrj2qr<Nr

Wie unterscheidet sich auch die Wahrscheinlichkeit für mögliche Werte ? So wie ich es sehe, sollten sie alle die gleiche Wahrscheinlichkeit haben, aber Shors Artikel sagt, dass dies nicht der Fall ist?j

Nur ein bisschen verwirrt, da manche Zeitungen andere Dinge zu sagen scheinen.

Vielen Dank.

Callum
quelle
21
@Peter Shor könnte dir sogar dabei helfen.
Dave Clarke
1
Seit ich diese Fragen stelle, denke ich, dass ich sie besser verstehe. Um für diejenigen, die interessiert sind, zu verdeutlichen, erhalten wir eine Messung in der Form wobei alles, was wir brauchen, das . Der Wert kann als werden, indem wir durch dividieren. Wir erhalten und daraus können wir seine Konvergenten finden. Der Nenner eines Konvergenten ist ein möglicher Wert von , wenn Es wird nicht der Algorithmus erneut ausgeführt. Die Wahrscheinlichkeit, basiert auf einer Summe, die vom Wert von und der Periode abhängt .j,xkmodNjjj=2qk/r2qk/r<Nrj2qr
Callum

Antworten:

47

Daraus können wir die Konvergenten des Bruchs , die Konvergenten sind mögliche Werte der Ordnung Hier probieren wir einfach alle Konvergenten und wenn wir als einen der Konvergenten finden, fangen wir einfach wieder an?j/2qr.<Nr

Du könntest; Der Algorithmus arbeitet dann ziemlich schnell. Wenn Sie die erwartete Anzahl von Quantenschritten reduzieren möchten, können Sie auch einige andere Tests durchführen. Sie sollten beispielsweise prüfen, ob ein kleines Vielfaches eines der Konvergenten ist. Wenn Sie nach diesen erweiterten Tests kein finden , müssen Sie erneut beginnen.rr

Wie unterscheidet sich auch die Wahrscheinlichkeit für mögliche Werte ? So wie ich es sehe, sollten sie alle die gleiche Wahrscheinlichkeit haben, aber Shors Artikel sagt, dass dies nicht der Fall ist?j

Ich weiß nicht, ob ich Ihnen dabei weiterhelfen kann, weil Sie mir nicht genügend Informationen gegeben haben, um zu sagen, warum Sie verwirrt sind. Die Wahrscheinlichkeit für jeden Wert von in der Fraktion ist (fast) gleich. Abhängig davon, wo genau zwischen die benachbarten Werte von und fällt, unterscheiden sich die Wahrscheinlichkeiten der spezifischen Werte von .kk/rk/rj/2q(j+1)/2qj

Peter Shor
quelle
33
Mir gefällt, wie Sie das Papier als "Shors Papier" bezeichnen :)
Suresh Venkat
Ich bin mir nur ein bisschen unsicher, wie die Wahrscheinlichkeit funktioniert. ich recht damit, dass . In den Beispielen, die ich gesehen habe, gab es eine Symmetrie der Wahrscheinlichkeitsverteilung um den Mittelpunkt der Achse. Ist dies immer der Fall? Angenommen, bedeutet, dass für alle möglichen Werte von , wobei , alle die gleiche Wahrscheinlichkeit haben von ? Vielen Dank. Prob(j)=12q×([2qk1r]+1)|a=0[2qk1r]e2πirja/2q|2xr=2tj=k02qrk0=0,,r1j12t
Callum
3
Wenn , haben tatsächlich alle möglichen Werte von die gleiche Wahrscheinlichkeit von . r=2tj1/2t
Peter Shor