You are on page 1of 21

Algoritmo Cuántico de Búsqueda Paralelo

Marcos Barreto

Add your company slogan

Algoritmo Cuántico de Búsqueda Paralelo
Agenda

1  Complejidad y el Problema 3 SAT 

2 Computación Cuántica

3 Algoritmo de Shenvi

4  Algoritmo de Shenvi con vecindad

5 Algoritmo de Shenvi paralelo híbrido

6 Resultados y Conclusiones

Algoritmo Cuántico de Búsqueda Paralelo
 Complejidad Algorítmica 
● Clases de complejidad
● Se caracterizan a los problemas por el tiempo necesario para resolverlos
● Clase P
● Clase de complejidad de los problemas resolubles en tiempo polinomial
● Clase NP
● Clase de complejidad de los problemas no resolubles en tiempo polinomial, 
pero para los cuales la verificación de una solución puede realizarse en 
tiempo polinomial.
● Clase NP­Completo
● Subconjunto de los problemas NP tal que todo problema NP se puede 
reducir a uno NP­Completo en orden polinomial.
● ¿ P ≠ NP ?
● Es la principal conjetura de la informática teórica

Algoritmo Cuántico de Búsqueda Paralelo
 El Problema 3 SAT 
● K SAT
● Dado un conjunto {x1, ..., Xn} de variables que pueden tomar el valor 
booleano 0 o 1 y un conjunto de cláusulas {C1, ..., Cm} donde cada 
cláusula es la diyunción de un conjunto de K literales o negación de 
literales
● Para K=3, la siguiente cláusula sería válida 
● C1 = X1 ν ¬X2 ν X4

● El problema consiste en encontrar un conjunto de valores para las 
variables xi tal que haga verdadera simultaneámente a todas las 
cláusulas.
● Siendo la fórmula F = C1 AND … AND Cm, el problema de K SAT 
consiste en encontrar una distribución de variables tal que F 
evalue verdadero.

Algoritmo Cuántico de Búsqueda Paralelo
 El Problema 3 SAT 
● Perteneciente a la clase de complejidad NP­Completo
● Interesante por ser NP­Completo ya que de resolverlo eficientemente 
implícitamente se estarían resolviendo todos los problemas NP 
eficientemente.

● Mejor algoritmo que lo resuelve
● Algoritmo de Schöning
● O(1.33^N)
● Realiza un sorteo aleatoreo y de no ser solución realiza una búsqueda 
local. En caso de no encontrar solución salta a otro lugar en el espacio 
de soluciones.

Algoritmo Cuántico de Búsqueda Paralelo
Computación Cuántica
● Bit : Unidad básica clásica
● Posibles valores: 0 o 1

● Qubit : Unidad básica cuántica
● Sea {|0>, |1>} una base ortonormal, un ket |ψ> queda definido por |ψ>= α|0> + β|
1>, tal que α²+β²=1.
● α y β son amplitudes del estado cuántico y su cuadrado es la probabilidad que al 
realizar una “medida” sobre el estado cuántico, obtener el correspondiente estado 
de la base.
● |ψ> puede ser a una superposición de estados clásicos!

● Contra intuitivo
● Los humanos tenemos percepción macroscópica del mundo
● Los efectos cuánticos ocurren a nivel microscópico

Algoritmo Cuántico de Búsqueda Paralelo
Computación Cuántica
Motivación
● Un sistema de N qubits se representa en espacio lineal de 
dimensión 2ⁿ.
● Clásicamente esta operación se debe realizar sobre los 2ⁿ 
estados
● Cuánticamente esta operación se realiza simultáneamente 
sobre las 2ⁿ dimensiones.

● Motivación
● Utilizar el paralelismo instrínseco proporcionado por la 
mecánica cuántica para crear un algoritmo cuántico mas 
eficiente que el mejor algoritmo clásico para resolver el 3SAT.

Algoritmo Cuántico de Búsqueda Paralelo
Algoritmo de Shenvi
● Caminata Clásica
● Proceso de Markov en donde cada desición es estocástica

● En un espacio de dimensión 2, el caminante tira una moneda y se mueve a la 

izquierda o derecha
● Restricciones de búsqueda espacial: en cada paso o se tira la moneda o se 

mueve a una posición vecina.

● Caminata Cuántica (Quantum Walk)
● Proceso reversible

● Se sustituye la moneda por un estado cuántico que determina las 

probabilidades de moverse en diferentes direcciones.
● En espacio de dimensión 2

● En cada paso se mueve “simultáneamente” hacia la izquierda y derecha ya 

que la moneda es una superposición de cara y número

Algoritmo Cuántico de Búsqueda Paralelo
Algoritmo de Shenvi
● Algoritmo de Shenvi
● Busca un elemento en una base de datos no ordenada de dimensión N=2ⁿ, 

con restricciones de búsqueda espacial en el plano
● Cuadráticamente mas rápido que su contraparte clásica

● En O(√N) pasos se obtiene el estado buscado con probabilidad 1/2.

● La técnica utilizada se llama “amplificación de amplitud” y amplifica la 

probabilidad de que al medir el estado cuántico el mismo “colapse” al 
estado marcado

● Algoritmo:
● Preparar una superposición uniforme en posición y moneda

● Aplicar un quantum walk U' modificado (π/2)√N veces

● Medir el estado del quantum walk

Algoritmo Cuántico de Búsqueda Paralelo
Algoritmo de Shenvi
Paralelización del algoritmo

No se cuenta con computadoras cuánticas con lo cual se 
Problema necesita simular el algoritmo cuántico en una computadora 
clásica.

Algoritmo Cuántico de Búsqueda Paralelo
Algoritmo de Shenvi
Paralelización del algoritmo

No se cuenta con computadoras cuánticas con lo 
No se cuenta con computadoras cuánticas con lo cual se 
Problema
Problema necesita simular el algoritmo cuántico en una computadora 
cual se necesita simular el algoritmo cuántico en 
clásica.
una computadora clásica.

La mecánica cuántica tiene un paralelismo intrínsico que 
Costo de clásicamente no existe y debe ejecutarse secuencialmente, 
con lo cual una simulación siempre tiene un costo 
simulación exponencial

Algoritmo Cuántico de Búsqueda Paralelo
Algoritmo de Shenvi
Paralelización del algoritmo

No se cuenta con computadoras cuánticas con lo cual se 
Problema necesita simular el algoritmo cuántico en una computadora 
clásica.

La mecánica cuántica tiene un paralelismo intrínsico que 
Costo de clásicamente no existe y debe ejecutarse secuencialmente, 
con lo cual una simulación siempre tiene un costo 
simulación exponencial

Utilizar técnicas de programación paralela para 
Solución optimizar la ejecución de un algoritmo cuántico.

Algoritmo Cuántico de Búsqueda Paralelo
Algoritmo de Shenvi
Resultado Experimental

● El algoritmo de Shenvi “amplifica la amplitud” del estado marcado, 
con alta probabilidad se obtiene el estado buscado

Algoritmo Cuántico de Búsqueda Paralelo
Algoritmo de Shenvi
Resultado Experimental de tiempo de ejecución

● Resultado comparativo de aplicar paralelización con memoria no 
distribuida en la sección de codigo de la simulación cuántica

Número Tiempo (segundos) Tiempo (segundos) Speedup (T_1 / T_8)


Variables 1 nodo (T_1) 8 nodos(T_8)

15 78 23 3.39

16 316 76 4.15

17 1258 309 4.07

18 2989 818 3.65

19 10904 ≈ 3 hrs 2705 ≈ 45 min 4.0

20 57308 ≈ 16 hrs 11428 ≈ 3 hrs 5.0


21 84730 ≈ 23.5 hrs 21239 ≈ 5.9 hrs 4

Algoritmo Cuántico de Búsqueda Paralelo
Algoritmo de Shenvi
Resultado Experimental de tiempo de ejecución

Algoritmo Cuántico de Búsqueda Paralelo
Algoritmo de Shenvi
Con vecindad

● Mejor algoritmo Clásico
● El algoritmo de Schöning realiza un sorteo de un elemento al azar 
y luego una búsqueda local de 3n pasos, de no encontrar 
solución salta a otro lugar en el espacio de soluciones.

● Idea:
● Aplicar Shenvi a localmente a una “vecindad”
● Definir la “vecindad” como un subconjunto de cubits y aplicar 

Shenvi a los mismos, realizando una búsqueda por el elemento 
buscado.
● Aplicar la idea de Schöning de búsqueda local.

Algoritmo Cuántico de Búsqueda Paralelo
Algoritmo de Shenvi
Con vecindad

● Algoritmo:
Sortear un elemento x al azar
● Sortear una vecindad al azar desde q_init a q_fin

● Verificar que dicha solución parcial pueda generar soluciones factibles *

● Aplicar Shenvi desde q_init a q_fin

● El algoritmo va a evaluar si un estado es “marcado” globalmente.

● Relizar una medida del estado cuántico y con probabilidad ½ se obtiene el estado 

marcado si el mismo pertenece a dicha “vecindad”
● Si el estado resultado no es el buscado, apliar nuevamente el algoritmo.

Algoritmo Cuántico de Búsqueda Paralelo
Algoritmo de Shenvi
Con vecindad Paralelo con memoria distribuida
● IDEA:
● Paralelizar el algoritmo cuántico para obtener mayores beneficios de 

ejecutar en un cluster de computadores.
● Comunicación: Master ­ Slave

● El master envia datos a los esclavos para que ejecuten en algoritmo 

“Shenvi con vecindad” para diferentes vecindades
● Si un esclavo encuentra una solución inmediatamente se lo comunica al 

Master, éste finaliza la ejecución en los esclavos y el algoritmo finaliza.
● Si el Master encuentra solución, éste finaliza a todos los esclavos y el 

algoritmo finaliza.
Slave3
 Master
Slave1

Slave2

Algoritmo Cuántico de Búsqueda Paralelo
Resultados y Conclusiones
● Algoritmo de Shenvi con vecindad es más eficiente que la aplicación del 
algoritmo de Shenvi al problema

● El costo computacional de la simulación es menor pues se aplica la 
simulación a una menor cantidad de cubits

● Cuanto menor es la vecindad, menor el tiempo de ejecución pues el costo 
computacional mas grande es de la simulación cuántica.

● Dificil desagregar el costo del algoritmo del costo de la simulación 
cuántica.

Algoritmo Cuántico de Búsqueda Paralelo
Resultados y Conclusiones

El algoritmo paralelo híbrido fue probado con 2 y 3 máquinas, cada uno de 
ellos ejecutando con 8 nucleos


Para vecindades muy pequeñas, el algoritmo paralelo pasa mas tiempo 
enviando datos y recibiendo que realizando cuentas debido a que el costo 
de simular el algoritmo con pocos cubits es pequeño.


A medida que se incrementa la vecindad (mayor a 10 cubits) el speedup 
crece


Para 3 núcleos llego a obtener un speedup mayor a 5 para instancias de 
prueba de 23 variables  con vecindades de 16

Para instancias de prueba chicas, (menor a 18 variables) el speedup no 
llega a 2

Para vecindades menores a 10, el speedup es menor a 0.

Algoritmo Cuántico de Búsqueda Paralelo
Add your company slogan

Algoritmo Cuántico de Búsqueda Paralelo

You might also like