Está en la página 1de 17

Algoritmo de Shor’s

Raeder Valdelamar
Departamento de Fı́sica y Electrónica, Facultad de Ciencias
Básicas.
Universidad de Córdoba, Monterı́a, Colombia

13 de noviembre del 2020


Contenido 2

I Introducción
I Explicación del Algotitmo
I Solución
I Estimación de fase cuántica
I Referencias
Introducción 3

I El algoritmo de Shor fue demostrado en 2001 por un grupo


en IBM, que descompuso 15 en sus factores 3 y 5, usando
una computadora cuántica con 7 qubits.
I Es un procedimiento que permite encontrar factores de un
número de una manera eficiente.
I El problema que intenta solucionar el algoritmo de Shor es
que, dado un número entero N, intentamos encontrar otro
número entero a entre 1 y N − 1 que divida N
I El algoritmo de Shor consiste en dos partes:
I Una reducción del problema de descomponer en factores al
problema de encontrar el orden, que se puede hacer en una
computadora clásica.
I Un algoritmo cuántico para solucionar el problema de
encontrar el periodo.
Explicación del Algotitmo 4

I El problem de hallar el periodo de la función:

f (x) = ar modN (1)

Donde.
a, N ∈ Z > 0, a < N y r en perı́odo 6= 0

ar modN = 1 (2)
Explicación del Algotitmo 5

I Ejemplo:
Para a = 3 y N = 35

https://qiskit.org/textbook/ch-algorithms/shor.html
Solución 6

I La solución de Shor fue utilizar la estimación de fase


cuántica en el operador unitario:

U |yi ≡ |a y modN i (3)


Aplicando el operador U al estado |1i, a = 3 y N = 35

U |1i = |3i
U2 |1i = |9i
U3 |1i = |27i
..
.
U(r−1) |1i = |12i
Ur |1i = |1i
Solución 7

https://qiskit.org/textbook/ch-algorithms/shor.html
Solución 8

I Una superposición de los estados en este ciclo |u0 i serı́a un


autoestado de U :
r−1
1 X k
|u0 i = √ |a modN i (4)
r
k=0

I Este estado propio tiene un valor propio de 1, lo que no es muy interesante.

I Especı́ficamente, veamos el caso en el que la fase del


k-ésimo estado es proporcional a k
r−1
1 X 2πik k
|u1 i = √ e r |a modN i (5)
r
k=0

2πi
U |u1 i = e r |u1 i (6)
Solución 9

I Para generalizar esto aún más, podemos multiplicar un


número entero s, a esta diferencia de fase, que se mostrará
en nuestro valor propio:
r−1
1 X 2πisk k
|us i = √ e r |a modN i (7)
r
k=0

2πis
U |us i = e r |us i (8)
Ahora tenemos un estado propio único para cada valor
entero de s donde

0≤s≤r−1
Solución 10

I Si sumamos todos estos estados propios, las diferentes fases


cancelan todos los estados de base computacional excepto
|1i
r−1
1 X
√ |us i = |1i (9)
r s=0
I |1i es una superposición de estos estados propios, lo que
significa que si hacemos estimación de fase cuántica en U
usando el estado |1i, mediremos una fase:
s
φ= (10)
r
Solución 11

I Donde s es un número entero aleatorio entre 0 y r − 1.


Finalmente usamos el algoritmo de fracciones continuas en
φ para encontrar r. El diagrama del circuito se ve ası́
(tenga en cuenta que este diagrama utiliza la convención de
ordenación de qubit de Qiskit)

https://qiskit.org/textbook/ch-algorithms/shor.html
Estimación de fase cuántica 12

I Exponenciación modular
j
I El método de crear las puertas U 2 repitiendo U crece
exponencialmente con j y no dará como resultado un
algoritmo de tiempo polinomial. Buscando una forma de
crear el operador:
j j
U 2 |yi ≡ |a2 y modN i (11)

Que crece polinomialmente con j. Afortunadamente,


calculando: j
a2 modN (12)
Desafortunadamente, a pesar de escalar polinomialmente
con j, los circuitos modulares de exponenciación no son
sencillos y son el cuello de botella en el algoritmo de Shor.
Estimación de fase cuántica 13

I Factorizar a partir del resultado del perı́odo


I Un algoritmo de factorización general, primero verificará si
hay un atajo para factorizar el número entero , antes de
usar el perı́odo de Shor para el peor escenario. En la parte
cuántica del algoritmo, se estudia caso en el que N es el
producto de dos números primos.
Estimación de fase cuántica 14

Ejemplo: Factorizar 15
I El primer paso es elegir un número aleatorio (a) entre 1 y
N −1 a=7
I Comprobamos rápidamente que no es ya un factor no
trivial de N
I hacemos el algoritmo de búsqueda de orden de Shor para
a = 7 y N = 15. Recuerdar ecuaciones (2) y (10)
I A partir de esta fase, podemos encontrar fácilmente una
estimación de r
I Ahora que tenemos r, podrı́amos usar esto para encontrar
un factor de N. de (2) entonces:

(ar − 1)modN = 0
Estimación de fase cuántica 15

I Lo que significa que N debe dividir a ar − 1. Y si r también


es par, entonces podemos escribir:

ar − 1 = (ar/2 − 1)(ar/2 + 1)

I Si r no es par, no podemos ir más lejos y debemos volver a


intentarlo con un valor diferente para a
Referencias 16

1. Stephane Beauregard, Circuit for Shor’s algorithm using


2n+3 qubits, arXiv:quant-ph/0205095
2. M. Nielsen and I. Chuang, Quantum Computation and
Quantum Information, Cambridge Series on Information
and the Natural Sciences (Cambridge University Press,
Cambridge, 2000).
3. https://qiskit.org/textbook/ch-algorithms/shor.html
Gracias por su atención!

También podría gustarte