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 1Na1NramodNrar≡1modN

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 ≡ 0ar≡1modNar−1≡0modN

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 , NbbNN≠1,N

Também temos que .ar−1=(ar/2−1)(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/2−1ruma r / 2 ≠ 1ar=1modNGCD ( um r / 2 - 1 , N ) ≠ Nar/2≠1modNgcd(ar/2−1,N)≠NNb

Pela identidade de Bézout , se ou . Como divide , isto dá que divide , ou .gcd(ar/2−1,N)=1,∃x1,x2∈Z s.t. (ar/2−1)x1+Nx2=1(ar−1)x1+N(ar/2+1)x2=ar/2+1Nar−1Nar/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/2≠−1modNrar/2−1NN


2

Não há cenário de porque você já supôs que é o menor valor, de modo que e é menor que .r a r ≡ 1  mod  N r / 2ar/2≡1 mod Nrar≡1 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/2≡−1 mod N(ar−1)=kNk(ar/2−1)(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±1≠0 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/2≡−1ar/21- 1 1−11

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

x2=1+k⋅Nx2−1=k⋅N(x+1)(x−1)=k⋅N

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.x≡−10modN(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)(x−1)Nx1 + 1 - 1 N ( x + 1 ) ( x - 1 ) gcd ( x + 1 , N ) N N1+1−1N(x+1)(x−1)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(x−1,N)=gcd(102,221)=17221x=−1≡220gcd(x+1,N)=gcd(221,221)=221gcd(x−1,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.