fbpx
Wikipedia

Algoritmo de Shor

En computación cuántica, el algoritmo de Shor es un algoritmo cuántico para descomponer en factores un número N en tiempo O((log N)3) y espacio O(logN), así nombrado por Peter Shor.

El algoritmo de Shor es un procedimiento que permite encontrar factores de un número de una manera eficiente. La implementación de este algoritmo se puede llevar a cabo de manera clásica o utilizando circuitos cuánticos (que no han sido llevados a la práctica todavía). Esta última implementación es (por supuesto) la más conveniente cuando se desea encontrar el orden, un parámetro muy necesario a la hora de encontrar los factores primos de un cierto número.

Muchas criptografías de clave pública, tales como RSA, llegarían a ser obsoletas si el algoritmo de Shor es implementado alguna vez en una computadora cuántica práctica. Un mensaje cifrado con RSA puede ser descifrado descomponiendo en factores la llave pública N, que es el producto de dos números primos. Los algoritmos clásicos conocidos no pueden hacer esto en tiempo O((log N)k) para ningún k, así que llegan a ser rápidamente poco prácticos a medida que se aumenta N. Por el contrario, el algoritmo de Shor puede romper RSA en tiempo polinómico. También se ha ampliado para atacar muchas otras criptografías públicas.

Como todos los algoritmos de computación cuántica, el algoritmo de Shor es probabilístico: da la respuesta correcta con alta probabilidad, y la probabilidad de fallo puede ser disminuida repitiendo el algoritmo.

El algoritmo de Shor fue aplicado en la práctica en 2001 por un grupo en IBM, que descompuso 15 en sus factores 3 y 5, usando una computadora cuántica con 7 qubits.

Procedimiento

El problema que intenta solucionar el algoritmo de Shor es que, dado un número entero N, intentamos encontrar otro número entero p entre 1 y N que divida N.

El algoritmo de Shor consiste en dos partes:

  1. Una reducción del problema de descomponer en factores al problema de encontrar el orden, que se puede hacer en una computadora clásica.
  2. Un algoritmo cuántico para solucionar el problema de encontrar el periodo.

Parte clásica

  1. Escoja un número pseudo-aleatorio a < N.
  2. Compute el mcd(a, N). Esto se puede hacer usando el algoritmo de Euclides.
  1. Si el mcd(a, N) ≠ 1, entonces es un factor no trivial de N, así que terminamos.
  1. Si no, utilice el subprograma para encontrar el período (ver abajo) para encontrar r, el período de la función siguiente:
     ,
    es decir el número entero más pequeño r para el cual
     .
  2. Si r es impar, vaya de nuevo al paso 1.
  3. Si ar/2 ≡ -1 (mod N), vaya de nuevo al paso 1.
  4. Los factores de N son el mcd(ar/2 ± 1, N). Terminamos.

Parte cuántica: subprograma para encontrar el período

  1. Comience con un par de registros qubits de entrada y salida con log2N qubits cada uno, e inicialícelos a
     
  2. Construya f(x) como función cuántica y aplíquela al estado antedicho, para obtener
     
  3. Aplique la transformada cuántica de Fourier al registro de entrada. La transformada cuántica de Fourier en N puntos se define como:
     
    Lo que nos deja en el estado siguiente:
     
  4. Realice una medición. Obtenemos un cierto resultado y en el registro de entrada y f(x0) en el registro de salida. Este paso no es necesario, ya que, de acuerdo con el principio de medición en diferido, el resultado será el mismo al final del algoritmo independientemente de que se realice una medición. No obstante, por razones de simplificación a la hora de entender el algoritmo, incluiremos este paso. Puesto que f es periódica, la probabilidad de medir cierto y viene dada por
     
    El análisis muestra ahora que cuanto más alta es esta probabilidad, tanto más el yr/N es cercano a un número entero.
  5. Convierta a y/N en una fracción irreducible, y extraiga el denominador r ', que es un candidato a r.
  6. Compruebe si f(x) = f(x + r '). Si es así terminamos.
  7. Si no, obtenga más candidatos a r usando valores cercanos a y, o múltiplos de r '. Si cualquier candidato cumple las condiciones, terminamos.
  8. Si no, vaya de nuevo al paso 1 del subprograma.


Explicación del algoritmo

El algoritmo se compone de dos partes. La primera parte del algoritmo convierte el problema de descomponer en factores en el problema de encontrar el período de una función, y se puede implementar clásicamente. La segunda parte encuentra el período usando la transformada de Fourier cuántica, y es responsable de la aceleración cuántica.

I. El problema de la factorización.

Sea  . Entonces, encontrar un factor  , es encontrar una solución para la ecuación:

 

Es decir, se necesita encontrar un  , tal que al dividir su cuadrado entre   se tenga como resto 1.

A la hora de intentar abordar este problema, existen un par de teoremas que son útiles:

Teorema 1

Sea  , y sea   una solución de la ecuación (*) (solución no trivial) donde es claro  . Entonces: Ó   o   es un factor no trivial del número   ("mcd" significa el máximo común divisor).[1]

Teorema 2

Sea   impar con descomposición en factores primos  . Sea además   (aleatorio) que es coprimo con   ( ) y   el orden de ese número entero, es decir, aquel   tal que:  . (De este último paso, esto es, hallar r, se encarga el circuito cuántico correspondiente). Entonces:

 

Con estos dos teoremas en mente, ya se puede empezar a plantear la secuencia en la que está basada el algoritmo de factorización de Shor.

Notas:

La notación que se utiliza es, en todo momento coherente, en el sentido de que las variables que aparecen en los teoremas y fuera de ellos o en cualquier otro contexto de a continuación son las mismas.

Por otro lado, la relación que presentan las variables   e   es: . Como se va a poder ver en la siguiente sección.[1]

II. El algoritmo de Shor.

Este algoritmo sirve para factorizar números enteros de gran tamaño. Se exponen y se comentan todas las fases de este algoritmo. En todo momento, el algoritmo va a devolver un factor del número   que se desea descomponer. Los tres primeros casos corresponden a una implementación clásica, en el sentido de que no es necesaria la presencia de ningún circuito cuántico. Corresponden por tanto a la eliminación de casos de tipo trivial o que una implementación clásica puede realizar con suficientemente buena eficiencia.

1) Si   es par.

En efecto, la primera comprobación que se realiza al número es el caso trivial de que su última cifra sea un número par. En tal caso, el algoritmo devuelve 2, y el programa podrá continuar con  .

2)   es de la forma  .

La siguiente fase, es implementar una comprobación para los números enteros   mayores o iguales a 1 y números   mayores o iguales a 2. Se ha de tener en cuenta este tipo de números para que (como se verá en el paso 4) al utilizar el teorema 2 la probabilidad de obtener un buen candidato a factor sea más alta del 75%. En este caso, el algoritmo, devuelve el factor a.

3) Procedimiento aleatorio.

Se toma un número   tal que  . Si  , entonces el programa devuelve precisamente este número. Esto se hace solo para comprobar si el número elegido comparte factores con  . En caso de que los dos números sean coprimos se sigue con el siguiente paso de la serie.

En este punto, dado el número natural   anterior, se utilizan los algoritmos de estimación de fase y en concreto de orden, para hallar precisamente   (el orden). Estos algoritmos como se puede ver en los enlaces, dependen de la implementación del circuito cuántico en cuestión.

4) Cálculo de   y aplicación de los teoremas.

Como ya se dijo antes, partimos de que se conoce el orden. Ahora, se aplican los teoremas anteriores para intentar hallar este factor.

La primera parte de este último paso, consiste en la comprobación de si se cumplen los requisitos que el teorema 2 impone para asegurar una alta probabilidad. Esto ya se hizo en los procedimientos anteriores, pues se sabe que;   es impar, tiene al menos dos factores primos distintos   es coprimo con  . Bajo estas condiciones, es posible asegurar que existe una alta probabilidad de que el número   sea no trivial, esto es:  

y que por supuesto   es par.

Y habiendo comprobado esto, se está en disposición de aplicar el teorema 1 pues se cumplen a su vez todas las condiciones necesarias para poder aplicarlo y de esta forma obtener con alta probabilidad un factor de  . Bien   o  .

Como se ve todo este proceso depende de una cierta probabilidad de éxito. Si en algún punto el algoritmo falla, comienza de nuevo.[1][2][3]

III. Obtención de factores a partir del período

Los números enteros menores que N y coprimos con N forman un grupo finito bajo multiplicación módulo N, que se denota típicamente  . Para el final del paso 3, tenemos un número entero a en este grupo. Puesto que el grupo es finito, a debe tener un orden finito r, el número entero positivo más pequeño tal que

 

Por lo tanto, N |(ar - 1). Suponga que podemos obtener r, y es par. Entonces

 
 

r es el número entero positivo más pequeño tal que a r ≡ 1, así que N no puede dividir a (a r/2 - 1). Si N tampoco divide (ar/2 + 1), entonces N debe tener un factor común no trivial con (ar/2 - 1) y (a r/2 + 1).

Prueba: Por simplicidad, denote (ar/2 - 1) y (ar/2 + 1) u y v respectivamente. N | uv, luego kN = uv para un cierto número entero k. Suponga que el mcd(u, N) = 1; entonces mu + nN = 1 para ciertos números enteros m y n (ésta es una propiedad del máximo común divisor). Multiplicando ambos lados por v, encontramos que mkN + nvN = v, luego N |v. Por contradicción, mcd(u, N) ≠ 1. Por un argumento similar, mcd(v, N) ≠ 1.

Esto nos provee de una factorización de N. Si N es el producto de dos primos, esta es la única factorización posible.

IV. Encontrar el período

El algoritmo, para encontrar el período de Shor, se basa radicalmente en la capacidad de una computadora cuántica de estar en muchos estados simultáneamente. Los físicos llaman a este comportamiento superposición cuántica. Para computar el período de una función f, evaluamos la función en todos los puntos simultáneamente.

Sin embargo, la física cuántica no permite que tengamos acceso a toda esta información directamente. Una medición cuántica dará solamente uno de todos los valores posibles, destruyendo todos los otros. Por lo tanto tenemos que transformar cuidadosamente la superposición a otro estado que devuelva la respuesta correcta con alta probabilidad. Esto es alcanzado usando la transformada de Fourier cuántica.

Shor tuvo que solucionar así tres "problemas de implementación". Todos tuvieron que ser implementados "rápidos", que significa ejecutar con un número de puertas cuánticas que es polinómico en logN.

  1. Crear una superposición de estados. Esto puede hacerse aplicando las puertas de Hadamard a todos los qubits en el registro de entrada. Otro enfoque sería utilizar la transformada de Fourier cuántica (véase abajo).
  2. Implementar la función f como una transformada cuántica. Para alcanzar esto, Shor utilizó exponenciación por cuadrados para su transformación modular de la exponenciación.
  3. Realizar una transformada de Fourier cuántica. Usando puertas controladas NOT y puertas de una sola rotación de qubit, Shor diseñó un circuito para la transformada de Fourier cuántica que usa exactamente ((logN)2) puertas.

Después de todas estas transformaciones una medición dará una aproximación al período r. Por simplicidad asuma que hay una y tal que yr/N es un número entero. Entonces la probabilidad de medir y es 1. Para ver esto notemos que

 

para todos los números enteros b. Por lo tanto la suma que nos da la probabilidad de la medición y será N/r puesto que b toma aproximadamente N/r valores y así la probabilidad es 1/r. Hay r, y tales que yr/N es un número entero, luego la suma de las probabilidades es 1. Nota: otra manera de explicar el algoritmo de Shor es observando que es precisamente el algoritmo cuántico de estimación de fase disfrazado.

Véase también

Referencias

  1. Nielsen, Michael A.; Chuang, Isaac L. (2000). Quantum computation and quantum information. Cambridge University Press. p. pp233. ISBN 0521632358. OCLC 43641333. 
  2. Shor, Peter W. (1999-01). «Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer». SIAM Review 41 (2): 303-332. ISSN 0036-1445. doi:10.1137/s0036144598347011. 
  3. . Archivado desde el original el 7 de diciembre de 2010. Consultado el 29 de mayo de 2018. 
  •   Datos: Q940334

algoritmo, shor, computación, cuántica, algoritmo, shor, algoritmo, cuántico, para, descomponer, factores, número, tiempo, espacio, logn, así, nombrado, peter, shor, algoritmo, shor, procedimiento, permite, encontrar, factores, número, manera, eficiente, imple. En computacion cuantica el algoritmo de Shor es un algoritmo cuantico para descomponer en factores un numero N en tiempo O log N 3 y espacio O logN asi nombrado por Peter Shor El algoritmo de Shor es un procedimiento que permite encontrar factores de un numero de una manera eficiente La implementacion de este algoritmo se puede llevar a cabo de manera clasica o utilizando circuitos cuanticos que no han sido llevados a la practica todavia Esta ultima implementacion es por supuesto la mas conveniente cuando se desea encontrar el orden un parametro muy necesario a la hora de encontrar los factores primos de un cierto numero Muchas criptografias de clave publica tales como RSA llegarian a ser obsoletas si el algoritmo de Shor es implementado alguna vez en una computadora cuantica practica Un mensaje cifrado con RSA puede ser descifrado descomponiendo en factores la llave publica N que es el producto de dos numeros primos Los algoritmos clasicos conocidos no pueden hacer esto en tiempo O log N k para ningun k asi que llegan a ser rapidamente poco practicos a medida que se aumenta N Por el contrario el algoritmo de Shor puede romper RSA en tiempo polinomico Tambien se ha ampliado para atacar muchas otras criptografias publicas Como todos los algoritmos de computacion cuantica el algoritmo de Shor es probabilistico da la respuesta correcta con alta probabilidad y la probabilidad de fallo puede ser disminuida repitiendo el algoritmo El algoritmo de Shor fue aplicado en la practica en 2001 por un grupo en IBM que descompuso 15 en sus factores 3 y 5 usando una computadora cuantica con 7 qubits Indice 1 Procedimiento 1 1 Parte clasica 1 2 Parte cuantica subprograma para encontrar el periodo 2 Explicacion del algoritmo 2 1 I El problema de la factorizacion 2 1 1 Teorema 1 2 1 2 Teorema 2 2 2 II El algoritmo de Shor 2 2 1 1 Si UNIQ postMath 00000020 QINU es par 2 2 2 2 UNIQ postMath 00000022 QINU es de la forma UNIQ postMath 00000023 QINU 2 2 3 3 Procedimiento aleatorio 2 2 4 4 Calculo de UNIQ postMath 0000002C QINU y aplicacion de los teoremas 2 3 III Obtencion de factores a partir del periodo 2 4 IV Encontrar el periodo 3 Vease tambien 4 ReferenciasProcedimiento EditarEl problema que intenta solucionar el algoritmo de Shor es que dado un numero entero N intentamos encontrar otro numero entero p entre 1 y N que divida N El algoritmo de Shor consiste en dos partes Una reduccion del problema de descomponer en factores al problema de encontrar el orden que se puede hacer en una computadora clasica Un algoritmo cuantico para solucionar el problema de encontrar el periodo Parte clasica Editar Escoja un numero pseudo aleatorio a lt N Compute el mcd a N Esto se puede hacer usando el algoritmo de Euclides Si el mcd a N 1 entonces es un factor no trivial de N asi que terminamos Si no utilice el subprograma para encontrar el periodo ver abajo para encontrar r el periodo de la funcion siguiente f x a x mod N displaystyle f x a x mbox mod N es decir el numero entero mas pequeno r para el cual f x r f x displaystyle f x r f x Si r es impar vaya de nuevo al paso 1 Si ar 2 1 mod N vaya de nuevo al paso 1 Los factores de N son el mcd ar 2 1 N Terminamos Parte cuantica subprograma para encontrar el periodo Editar Comience con un par de registros qubits de entrada y salida con log2N qubits cada uno e inicialicelos a N 1 2 x 0 N 1 x 0 displaystyle N 1 2 sum x 0 N 1 left x right rangle left 0 right rangle Construya f x como funcion cuantica y apliquela al estado antedicho para obtener N 1 2 x 0 N 1 x f x displaystyle N 1 2 sum x 0 N 1 left x right rangle left f x right rangle Aplique la transformada cuantica de Fourier al registro de entrada La transformada cuantica de Fourier en N puntos se define como U Q F T x N 1 2 y e 2 p i x y N y displaystyle U QFT left x right rangle N 1 2 sum y e 2 pi ixy N left y right rangle Lo que nos deja en el estado siguiente N 1 x y e 2 p i x y N y f x displaystyle N 1 sum x sum y e 2 pi ixy N left y right rangle left f x right rangle Realice una medicion Obtenemos un cierto resultado y en el registro de entrada y f x0 en el registro de salida Este paso no es necesario ya que de acuerdo con el principio de medicion en diferido el resultado sera el mismo al final del algoritmo independientemente de que se realice una medicion No obstante por razones de simplificacion a la hora de entender el algoritmo incluiremos este paso Puesto que f es periodica la probabilidad de medir cierto y viene dada por N 1 x f x f x 0 e 2 p i x y N 2 N 1 b e 2 p i x 0 r b y N 2 displaystyle N 1 left sum x f x f x 0 e 2 pi ixy N right 2 N 1 left sum b e 2 pi i x 0 rb y N right 2 El analisis muestra ahora que cuanto mas alta es esta probabilidad tanto mas el yr N es cercano a un numero entero Convierta a y N en una fraccion irreducible y extraiga el denominador r que es un candidato a r Compruebe si f x f x r Si es asi terminamos Si no obtenga mas candidatos a r usando valores cercanos a y o multiplos de r Si cualquier candidato cumple las condiciones terminamos Si no vaya de nuevo al paso 1 del subprograma Explicacion del algoritmo EditarEl algoritmo se compone de dos partes La primera parte del algoritmo convierte el problema de descomponer en factores en el problema de encontrar el periodo de una funcion y se puede implementar clasicamente La segunda parte encuentra el periodo usando la transformada de Fourier cuantica y es responsable de la aceleracion cuantica I El problema de la factorizacion Editar Sea N N displaystyle N in mathbb N Entonces encontrar un factor x N displaystyle x in mathbb N es encontrar una solucion para la ecuacion m o d x 2 N 1 displaystyle mathrm mod x 2 N 1 Es decir se necesita encontrar un x displaystyle x tal que al dividir su cuadrado entre N displaystyle N se tenga como resto 1 A la hora de intentar abordar este problema existen un par de teoremas que son utiles Teorema 1 Editar Sea N N displaystyle N in mathbb N y sea x displaystyle x una solucion de la ecuacion solucion no trivial donde es claro 1 lt x N displaystyle 1 lt x leqslant N Entonces o m c d x 1 N displaystyle mathrm mcd x 1 N o m c d x 1 N displaystyle mathrm mcd x 1 N es un factor no trivial del numero N displaystyle N mcd significa el maximo comun divisor 1 Teorema 2 Editar Sea N N displaystyle N in mathbb N impar con descomposicion en factores primos N p 1 a 1 p m a m displaystyle N p 1 alpha 1 cdot cdot p m alpha m Sea ademas y N displaystyle y in mathbb N aleatorio que es coprimo con N displaystyle N 1 lt y N 1 displaystyle 1 lt y leqslant N 1 y r displaystyle r el orden de ese numero entero es decir aquel r displaystyle r tal que m o d y r N 1 displaystyle mathrm mod y r N 1 De este ultimo paso esto es hallar r se encarga el circuito cuantico correspondiente Entonces P r o b r par m o d y r 2 N 1 1 1 2 m displaystyle mathrm Prob r text par land mathrm mod y frac r 2 N neq 1 geq 1 biggl frac 1 2 biggr m Con estos dos teoremas en mente ya se puede empezar a plantear la secuencia en la que esta basada el algoritmo de factorizacion de Shor Notas La notacion que se utiliza es en todo momento coherente en el sentido de que las variables que aparecen en los teoremas y fuera de ellos o en cualquier otro contexto de a continuacion son las mismas Por otro lado la relacion que presentan las variables x displaystyle x e y displaystyle y es y x r 2 displaystyle y x frac r 2 Como se va a poder ver en la siguiente seccion 1 II El algoritmo de Shor Editar Este algoritmo sirve para factorizar numeros enteros de gran tamano Se exponen y se comentan todas las fases de este algoritmo En todo momento el algoritmo va a devolver un factor del numero N displaystyle mathrm N que se desea descomponer Los tres primeros casos corresponden a una implementacion clasica en el sentido de que no es necesaria la presencia de ningun circuito cuantico Corresponden por tanto a la eliminacion de casos de tipo trivial o que una implementacion clasica puede realizar con suficientemente buena eficiencia 1 Si N displaystyle N es par Editar En efecto la primera comprobacion que se realiza al numero es el caso trivial de que su ultima cifra sea un numero par En tal caso el algoritmo devuelve 2 y el programa podra continuar con N 2 displaystyle frac N 2 2 N displaystyle N es de la forma a b displaystyle a b Editar La siguiente fase es implementar una comprobacion para los numeros enteros a displaystyle a mayores o iguales a 1 y numeros b displaystyle b mayores o iguales a 2 Se ha de tener en cuenta este tipo de numeros para que como se vera en el paso 4 al utilizar el teorema 2 la probabilidad de obtener un buen candidato a factor sea mas alta del 75 En este caso el algoritmo devuelve el factor a 3 Procedimiento aleatorio Editar Se toma un numero y displaystyle y tal que 1 lt y N 1 displaystyle 1 lt y leqslant N 1 Si m c d y N gt 1 displaystyle mathrm mcd y N gt 1 entonces el programa devuelve precisamente este numero Esto se hace solo para comprobar si el numero elegido comparte factores con N displaystyle N En caso de que los dos numeros sean coprimos se sigue con el siguiente paso de la serie En este punto dado el numero natural y displaystyle y anterior se utilizan los algoritmos de estimacion de fase y en concreto de orden para hallar precisamente r displaystyle r el orden Estos algoritmos como se puede ver en los enlaces dependen de la implementacion del circuito cuantico en cuestion 4 Calculo de r displaystyle r y aplicacion de los teoremas EditarComo ya se dijo antes partimos de que se conoce el orden Ahora se aplican los teoremas anteriores para intentar hallar este factor La primera parte de este ultimo paso consiste en la comprobacion de si se cumplen los requisitos que el teorema 2 impone para asegurar una alta probabilidad Esto ya se hizo en los procedimientos anteriores pues se sabe que N displaystyle N es impar tiene al menos dos factores primos distintos y displaystyle y es coprimo con N displaystyle N Bajo estas condiciones es posible asegurar que existe una alta probabilidad de que el numero x displaystyle x sea no trivial esto es m o d y r 2 N 1 displaystyle mathrm mod y frac r 2 N neq 1 y que por supuesto r displaystyle r es par Y habiendo comprobado esto se esta en disposicion de aplicar el teorema 1 pues se cumplen a su vez todas las condiciones necesarias para poder aplicarlo y de esta forma obtener con alta probabilidad un factor de N displaystyle N Bien m c d x 1 N displaystyle mathrm mcd x 1 N o m c d x 1 N displaystyle mathrm mcd x 1 N Como se ve todo este proceso depende de una cierta probabilidad de exito Si en algun punto el algoritmo falla comienza de nuevo 1 2 3 III Obtencion de factores a partir del periodo Editar Los numeros enteros menores que N y coprimos con N forman un grupo finito bajo multiplicacion modulo N que se denota tipicamente Z N displaystyle mathbb Z N Para el final del paso 3 tenemos un numero entero a en este grupo Puesto que el grupo es finito a debe tener un orden finito r el numero entero positivo mas pequeno tal que a r 1 mod N displaystyle a r equiv 1 mbox mod N Por lo tanto N ar 1 Suponga que podemos obtener r y es par Entonces a r 1 a r 2 1 a r 2 1 0 mod N displaystyle a r 1 a r 2 1 a r 2 1 equiv 0 mbox mod N N a r 2 1 a r 2 1 displaystyle Rightarrow N a r 2 1 a r 2 1 r es el numero entero positivo mas pequeno tal que a r 1 asi que N no puede dividir a a r 2 1 Si N tampoco divide ar 2 1 entonces N debe tener un factor comun no trivial con ar 2 1 y a r 2 1 Prueba Por simplicidad denote ar 2 1 y ar 2 1 u y v respectivamente N uv luego kN uv para un cierto numero entero k Suponga que el mcd u N 1 entonces mu nN 1 para ciertos numeros enteros m y n esta es una propiedad del maximo comun divisor Multiplicando ambos lados por v encontramos que mkN nvN v luego N v Por contradiccion mcd u N 1 Por un argumento similar mcd v N 1 Esto nos provee de una factorizacion de N Si N es el producto de dos primos esta es la unica factorizacion posible IV Encontrar el periodo Editar El algoritmo para encontrar el periodo de Shor se basa radicalmente en la capacidad de una computadora cuantica de estar en muchos estados simultaneamente Los fisicos llaman a este comportamiento superposicion cuantica Para computar el periodo de una funcion f evaluamos la funcion en todos los puntos simultaneamente Sin embargo la fisica cuantica no permite que tengamos acceso a toda esta informacion directamente Una medicion cuantica dara solamente uno de todos los valores posibles destruyendo todos los otros Por lo tanto tenemos que transformar cuidadosamente la superposicion a otro estado que devuelva la respuesta correcta con alta probabilidad Esto es alcanzado usando la transformada de Fourier cuantica Shor tuvo que solucionar asi tres problemas de implementacion Todos tuvieron que ser implementados rapidos que significa ejecutar con un numero de puertas cuanticas que es polinomico en logN Crear una superposicion de estados Esto puede hacerse aplicando las puertas de Hadamard a todos los qubits en el registro de entrada Otro enfoque seria utilizar la transformada de Fourier cuantica vease abajo Implementar la funcion f como una transformada cuantica Para alcanzar esto Shor utilizo exponenciacion por cuadrados para su transformacion modular de la exponenciacion Realizar una transformada de Fourier cuantica Usando puertas controladas NOT y puertas de una sola rotacion de qubit Shor diseno un circuito para la transformada de Fourier cuantica que usa exactamente logN 2 puertas Despues de todas estas transformaciones una medicion dara una aproximacion al periodo r Por simplicidad asuma que hay una y tal que yr N es un numero entero Entonces la probabilidad de medir y es 1 Para ver esto notemos que e 2 p i b y r N 1 displaystyle e 2 pi ibyr N 1 para todos los numeros enteros b Por lo tanto la suma que nos da la probabilidad de la medicion y sera N r puesto que b toma aproximadamente N r valores y asi la probabilidad es 1 r Hay r y tales que yr N es un numero entero luego la suma de las probabilidades es 1 Nota otra manera de explicar el algoritmo de Shor es observando que es precisamente el algoritmo cuantico de estimacion de fase disfrazado Vease tambien EditarComputacion cuanticaReferencias Editar a b c Nielsen Michael A Chuang Isaac L 2000 Quantum computation and quantum information Cambridge University Press p pp233 ISBN 0521632358 OCLC 43641333 Shor Peter W 1999 01 Polynomial Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer SIAM Review 41 2 303 332 ISSN 0036 1445 doi 10 1137 s0036144598347011 Un poco de computacion cuantica Algoritmos mas comunes Guillermo Morales Luna Archivado desde el original el 7 de diciembre de 2010 Consultado el 29 de mayo de 2018 Datos Q940334 Obtenido de https es wikipedia org w index php title Algoritmo de Shor amp oldid 136629689, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos