O algoritmo de Shor ressalta quando


8

Para um número inteiro, , ser fatorado, com (uniformemente) escolhido aleatoriamente entre e , com a ordem de (ou seja, o menor com ) :um 1Na1NramodNrar1modN

Por que no algoritmo de Shor temos que descartar o cenário em que ? Além disso, por que não devemos descartar o cenário quando ?ar/2=1modNar/2=1modN


Isso não tem nada a ver com computação quântica. Estamos falando aqui sobre o algoritmo clássico. É que o algoritmo de Shor nos fornece uma boa maneira de encontrar a ordem, , mas você também pode fazer isso classicamente. r
DaftWullie

1
@DaftWullie Embora isso seja verdade, você só pode saber disso tendo conhecimento do algoritmo de Shor (ou seja, conhecimento de CQ). A pergunta como declarada: "Por que não podemos fazer Shor nessas entradas?" é sobre QC. A resposta não contém muito CQ, mas, para saber qual resposta dar, você deve saber sobre o algoritmo de Shor.
Lagarto discreto

Respostas:


2

A exigência de que é equivalente a exigir que .a r - 1 0ar1modNar10modN

Queremos um número, , de modo que o maior denominador comum de e é um fator adequado de (ou seja, é um fator ).b N N 1 , NbbNN1,N

Também temos que .ar1=(ar/21)(ar/2+1)

Então, tomamos . Sabemos que é o número menor, de modo que , mostrando que e, portanto, (caso contrário, dividiria ).r a r = 1b=ar/21ruma r / 21ar=1modNGCD ( um r / 2 - 1 , N )Nar/21modNgcd(ar/21,N)NNb

Pela identidade de Bézout , se ou . Como divide , isto dá que divide , ou .gcd(ar/21,N)=1,x1,x2Z s.t. (ar/21)x1+Nx2=1(ar1)x1+N(ar/2+1)x2=ar/2+1Nar1Nar/2+1ar/2=1modN

Isso determina que o requisito (juntamente com a restrição em ) é suficiente para determinar que o maior denominador comum de e é adequado fator de .ar/21modNrar/21NN


2

Não há cenário de porque você já supôs que é o menor valor, de modo que e é menor que .r a r1  mod  N r / 2ar/21 mod Nrar1 mod Nr/2r

Como você deve descontar , o ponto é que você encontrou algo que satisfaz para um número inteiro . Isso fator como se for par. Ou, um dos termos é divisível por , ou cada um contém diferentes factores de . Queremos que eles contenham fatores diferentes para que possamos computador para encontrar um fator. Então, a gente quer especificamente que . Um caso foi eliminado como indicado acima, exigindoar/21 mod N(ar1)=kNk(ar/21)(ar/2+1)=kNr(ar/2±1)Ngcd ( a r / 2 ± 1 , N ) a r / 2 ± 1 0  mod  N rNgcd(ar/2±1,N)ar/2±10 mod Nrser o menor possível. O outro, temos que descontar explicitamente.


2

Se , então é uma raiz quadrada trivial de vez de uma raiz quadrada interessante. Nós já sabíamos que é uma raiz quadrada de . Precisamos de uma raiz quadrada que ainda não conhecíamos.ar/21ar/21- 1 111

Suponha que eu lhe forneça um número tal que . Você pode reescrever esta equação como:xx2=1(modN)

x2=1+kNx21=kN(x+1)(x1)=kN

A principal coisa a perceber é que esta equação é trivial quando éx±1modN . Se , o lado esquerdo é porque o fator . O mesmo acontece se , mas com o outro fator.x10modN(x+1)0x+1

Para que ambos e sejam interessantes (ou seja, mod diferente de zero ), precisamos que seja uma raiz quadrada extra de . Uma raiz quadrada além das respostas óbvias e . Quando isso acontece, é impossível que todos os fatores primos de entrem em ou todos entrem em e, portanto, garante um fator de , em vez de um múltiplo de .(x+1)(x1)Nx1 + 1 - 1 N ( x + 1 ) ( x - 1 ) gcd ( x + 1 , N ) N N1+11N(x+1)(x1)gcd(x+1,N)NN

Por exemplo, se então é uma raiz quadrada extra de 1. E, de fato, ambos e são fatores de . Considerando que se tivéssemos escolhido a raiz quadrada chata , nem nem são fatores de .N=221x=103gcd(x+1,N)=gcd(104,221)=13gcd(x1,N)=gcd(102,221)=17221x=1220gcd(x+1,N)=gcd(221,221)=221gcd(x1,N)=gcd(219,221)=1221

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.