Prévia do material em texto
E
s
c
u
e
la
P
o
lit
é
c
n
ic
a
S
u
p
e
ri
o
r
d
e
J
a
é
n
Alumno
Cristian Virgilio Morillas Escobar
Tutor
Victor Manuel Rivas Santos
(Departamento de Informática)
FEBRERO, 2022
TRABAJO FIN DE GRADO
INTRODUCCIÓN A LA
COMPUTACIÓN CUÁNTICA:
ANÁLISIS DE LA TECNOLOGÍA Y
EJEMPLO DE APLICACIÓN
PRÁCTICA
Don Victor Manuel Rivas Santos, tutor del Trabajo Fin de Grado titulado:
‘Introducción a la computación cuántica: análisis de la tecnología y ejemplo de
aplicación práctica’, que presenta Don Cristian Virgilio Morillas Escobar, otorga el
visto bueno para su entrega y defensa en la Escuela Politécnica Superior de Jaén.
Jaén, Febrero de 2022
El alumno: El tutor:
Cristian Virgilio Morillas Escobar Victor Manuel Rivas Santos
Agradecimientos
Desarrollar este trabajo de fin de grado ha sido para mí un gran reto,
pero me siento orgulloso de lo que he conseguido.
Gracias a mi tutor, Víctor Rivas, el cual siempre se ha mostrado
disponible para ayudarme y guiarme. Sus consejos fueron siempre útiles cuando
no salían de mi pensamiento las ideas para escribir lo que hoy he logrado. Usted
formó parte importante de esta historia con sus aportes profesionales que lo
caracterizan.
A los docentes por todo lo aprendido durante esta etapa. Sus palabras
fueron sabias, sus conocimientos precisos y donde quiera que vaya los llevaré
conmigo en mi transito profesional. Gracias por su dedicación y perseverancia.
A mi familia, siempre han sido el motor que impulsa mis sueños, quienes
siempre han estado en mis horas de estudio, siempre me han guiado en mi vida y
siempre estarán ahí para apoyarme. Esta es una meta más conquistada que debo
a vosotros. Orgulloso de tener la familia que tengo.
A mi pareja quien me ha tenido que aguantar en los momentos de bajón
donde lo veía todo un poco negro, gracias por estar ahí y sacarme siempre el lado
bueno.
A mis amigos le doy las gracias también por el apoyo y también me disculpo
por cancelar planes con ellos cuando he tenido que terminar algo que tenía en
mente.
FICHA DEL TRABAJO FIN DE TÍTULO
Titulación Grado en Ingeniería Informática
Modalidad Trabajo Teórico/Experimental
Especialidad (solo TFG) Sin especialidad
Mención (solo TFG) Sin mención
Idioma Español
Tipo General
TFT en equipo No
Autor/a Cristian Virgilio Morillas Escobar
Fecha de asignación 01/11/2021
Descripción corta
Trabajo final de grado enfocado en una introducción a una
nueva tecnología como es la computación cuántica. Durante
este trabajo se abordarán temas como el origen de la
computación cuántica, su funcionamiento, los distintos
algoritmos cuánticos existentes, las aplicaciones de la
computación cuántica, herramientas existentes en la
actualidad y finalmente varios ejemplos prácticos que nos
ayudan a entender cómo crear nuestros propios algoritmos
cuánticos.
NORMAS APLICADAS EN ESTE DOCUMENTO
LOCALES
TFT-UJA:2017
Normativa de Trabajos Fin de Grado, Fin de Máster y otros
Trabajos Fin de Título de la Universidad de Jaén
(Normativa marco UJA aprobada en Consejo de Gobierno)
TFT-EPSJ:2017
Normativa sobre Trabajos Fin de Grado y Fin de Máster en la
Escuela Politécnica Superior de Jaén
(Normativa EPSJ aprobada en Junta de Escuela)
TFT-EPSJ
Criterios de evaluación y normas de estilo para TFG y TFM de
la Escuela Politécnica Superior de Jaén
NACIONALES E INTERNACIONALES
ISO 2145:1978
Documentación - Numeración de divisiones y subdivisiones en
documentos escritos
UNE 50132:1994 Traducción de la ISO 2145
APA 6ª edición
Estilo de referencias y citas de APA (American Psychological
Association)
NORMAS UTILIZADAS COMO BASE O REFERENCIA
NACIONALES
UNE 157001:2014
Criterios generales para la elaboración formal de los
documentos que constituyen un proyecto técnico
UNE 157801:2007
Criterios generales para la elaboración de proyectos de
sistemas de información
Estas normas se han utilizado como base o referencia para la inclusión de algunos contenidos y
definiciones sobre elaboración de proyectos, entendiendo como proyecto la documentación
consensuada entre una empresa y un cliente, que da lugar al perfeccionamiento de un contrato
para la elaboración de una obra o la prestación de un servicio. Por consiguiente, no debe
esperarse la aplicación de estas normas en cuanto a la completitud de los contenidos ni a la
organización de los mismos.
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 8
Contenido
1 Introducción ................................................................................................................ 13
1.1 Motivación y metodología ...................................................................................................... 13
1.2 Planificación Temporal ........................................................................................................... 15
1.3 Antecedentes ......................................................................................................................... 16
2 Computación Cuántica ............................................................................................... 17
2.1 ¿Qué es la computación cuántica? ........................................................................................ 17
2.2 ¿Cómo surge? ....................................................................................................................... 17
2.3 Primeras ideas ....................................................................................................................... 19
2.4 Modelos .................................................................................................................................. 21
2.4.1 Modelo de Benioff (1981) .............................................................................................. 21
2.4.2 Modelo de Feynman (1982) .......................................................................................... 21
2.4.3 Modelo de Deutsch (1985) ............................................................................................ 22
2.5 Siglo XXI ................................................................................................................................ 22
3 Funcionamiento .......................................................................................................... 28
3.1 ¿Qué es un cúbit? .................................................................................................................. 28
3.2 Fenómenos cuánticos ............................................................................................................ 30
3.2.1 Superposición ................................................................................................................ 30
3.2.2 Entrelazamiento ............................................................................................................. 31
3.3 Problemas de la computación cuántica ................................................................................. 33
3.4 Arquitectura ............................................................................................................................ 35
4 Puertas lógicas cuánticas .......................................................................................... 36
4.1.1 Puertas cuánticas universales ....................................................................................... 37
4.1.2 Puertas cuánticas importantes ...................................................................................... 40
4.1.3 Métodos para manipular cúbits ..................................................................................... 45
5 Algoritmoscuánticos ................................................................................................. 48
5.1.1 Algoritmo de Deutsch-Jozsa .......................................................................................... 49
5.1.2 Algoritmo de Shor .......................................................................................................... 50
5.1.3 Algoritmo de Grover ...................................................................................................... 52
5.1.4 Algoritmo del Temple Cuántico ..................................................................................... 54
6 Presente y futuro de la computación cuántica ........................................................ 55
6.1 Primer ordenador cuántico comercial .................................................................................... 56
6.2 Supremacía cuántica ............................................................................................................. 57
6.3 Avances de la computación cuántica en otros ámbitos ......................................................... 58
6.3.1 Inteligencia Artificial ....................................................................................................... 58
6.3.2 Ciberseguridad y criptografía ........................................................................................ 59
6.3.3 Matemáticas .................................................................................................................. 60
6.3.4 Medicina ........................................................................................................................ 60
6.3.5 Astronomía .................................................................................................................... 60
6.3.6 Comunicación cuántica ................................................................................................. 61
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 9
7 Herramientas existentes de computación cuántica ................................................ 61
7.1 Azure Quantum ...................................................................................................................... 61
7.1.1 ¿Qué es? ....................................................................................................................... 61
7.1.2 Quantum Development Kit ............................................................................................ 62
7.1.3 Lenguaje Q# .................................................................................................................. 63
7.1.4 Flujo de trabajo en el desarrollo cuántico ...................................................................... 65
7.1.5 Azure Quantum Cloud ................................................................................................... 65
7.2 Amazon Braket ....................................................................................................................... 66
7.2.1 Herramientas de desarrollo ........................................................................................... 66
7.2.2 Simuladores ................................................................................................................... 68
7.2.3 Computadoras cuánticas ............................................................................................... 69
7.2.4 Gestión y seguridad ....................................................................................................... 69
7.3 IBM Quantum Experience ...................................................................................................... 70
7.3.1 IBM Quantum Services .................................................................................................. 70
7.3.2 IBM Quantum Lab.......................................................................................................... 71
7.3.3 IBM Quantum Composer ............................................................................................... 73
8 Ejemplo práctico ......................................................................................................... 76
8.1 Tutorial IBM Quantum ............................................................................................................ 76
8.2 Hello World! ............................................................................................................................ 79
8.3 Algoritmo de teletransportación cuántica ............................................................................... 89
9 Análisis y conclusiones ............................................................................................. 97
10 Bibliografía y webs consultadas ............................................................................... 99
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 10
Índice de ilustraciones
Ilustración 1 - Dualidad onda partícula .................................................................................. 18
Ilustración 2 - Evolución de los procesadores ....................................................................... 19
Ilustración 3 – Procesador cuántico ...................................................................................... 24
Ilustración 4 - D´wave one ..................................................................................................... 25
Ilustración 5 - D´wave two ..................................................................................................... 26
Ilustración 6 – Entorno del D´wave 2000Q ............................................................................ 27
Ilustración 7 - Cúbit ............................................................................................................... 29
Ilustración 8 - Superposición cuántica ................................................................................... 31
Ilustración 9 - Entrelazamiento cuántico ............................................................................... 32
Ilustración 10 - Decoherencia cuántica ................................................................................. 34
Ilustración 11 - Representación esquemática de un computador cuántico ........................... 36
Ilustración 12 – Esfera de Bloch ............................................................................................ 37
Ilustración 13 – X ................................................................................................................... 38
Ilustración 14 – Y ................................................................................................................... 39
Ilustración 15 – Z ................................................................................................................... 40
Ilustración 16 – Hadamard .................................................................................................... 41
Ilustración 17 – Diagrama transformación 2-cubits ............................................................... 42
Ilustración 18 – Entradas y salidas Toffoli ............................................................................. 44
Ilustración 19 – Circuito cuántico .......................................................................................... 45
Ilustración 20 - Trampa de iones ........................................................................................... 46
Ilustración 21 - Espines nucleares ........................................................................................ 47
Ilustración 22 - Defectos cristalinos según el tipo................................................................. 48
Ilustración 23 - Circuito cuántico del algoritmo de Deutsch-Jozsa ........................................ 49
Ilustración 24 - Circuito de Shor ............................................................................................ 50
Ilustración 25 - Circuito de Grover ......................................................................................... 52
Ilustración 26 - Temple cuántico ........................................................................................... 55
Ilustración 27 - Q System One .............................................................................................. 57
Ilustración 28 - Computadora cuántica china ........................................................................ 58
Ilustración 29 - Funcionamiento Q# ...................................................................................... 64
Ilustración 30 - Flujo trabajo cuántico .................................................................................... 65
Ilustración 31 - Nube Azure Quantum ................................................................................... 66
Ilustración 32 - Amazon Braket ............................................................................................. 70
Ilustración 33 – IBM Quantum Services ................................................................................. 71
Ilustración 34 – IBM Quantum Lab ......................................................................................... 73
Ilustración 35 – IBM Quantum Composer .............................................................................. 75
Ilustración 36 - Página de inicio ............................................................................................. 77
Ilustración 37 - Registro nueva cuenta ................................................................................... 77
Ilustración 38 - Launcher ........................................................................................................ 78
Ilustración 39 - Fichero inicializado ........................................................................................ 79
Ilustración 40 - Import y creación de registros ....................................................................... 80
Ilustración 41 - Creación del circuito ...................................................................................... 80
Ilustración 42 - Visualización del circuito 1 ............................................................................. 81
Ilustración 43 - Creación puerta de Hadamard ...................................................................... 81
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 11
Ilustración 44 - Visualización del circuito 2 ............................................................................. 82
Ilustración 45 - Puerta X controlada ....................................................................................... 82
Ilustración 46 - Visualización del circuito 3 ............................................................................. 83
Ilustración 47 - Mediciones ..................................................................................................... 83
Ilustración 48 - Visualización circuito 4 .................................................................................. 84
Ilustración 49 - Obtención del simulador ................................................................................ 84
Ilustración 50 - Ejecución del circuito ..................................................................................... 85
Ilustración 51 – Asignación a la variable resultado ................................................................ 85
Ilustración 52 - Visualización ejecución .................................................................................. 85
Ilustración 53 - Proveedor ...................................................................................................... 86
Ilustración 54 - Computadora cuántica ................................................................................... 86
Ilustración 55 - Creación del trabajo ....................................................................................... 86
Ilustración 56 - Envío del trabajo ............................................................................................ 87
Ilustración 57 - Guardar resultado .......................................................................................... 87
Ilustración 58 - Import ............................................................................................................. 89
Ilustración 59 – Creación del circuito ..................................................................................... 90
Ilustración 60 – Visualización circuito ..................................................................................... 90
Ilustración 61 – Puerta X ........................................................................................................ 91
Ilustración 62 – Protocolo teletransporte ................................................................................ 91
Ilustración 63 – Protocolo teletransporte 2 ............................................................................. 92
Ilustración 64 – Mediciones .................................................................................................... 93
Ilustración 65 – Protocolo teletransporte 3 ............................................................................. 93
Ilustración 66 – Mediciones 2 ................................................................................................. 94
Ilustración 67 - Simulador ....................................................................................................... 94
Ilustración 68 – Ejecución del circuito .................................................................................... 95
Ilustración 69 – Guardamos resultado ................................................................................... 95
Ilustración 70 – Visualización final ......................................................................................... 95
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 13
1 INTRODUCCIÓN
El objetivo de la realización de este proyecto es el de recapitular la información
relacionada con esta nueva tecnología de la manera más sencilla posible y la
explicación de forma didáctica de varios ejemplos prácticos para la comprensión de
los conceptos más importantes.
1.1 Motivación y metodología
La motivación para este trabajo viene de diferentes fuentes:
Primero la dificultad que suponía el proyecto me hizo interesarme por este tema
y afrontarlo como un reto. Comprender y entender una nueva tecnología novedosa y
compleja es una muy buena oportunidad para utilizar todos los conocimientos
aprendidos durante mi transcurso por la carrera.
La computación cuántica es una tecnología poco común hoy en día por lo que
existe mucha desinformación sobre el tema, debido a esto creo que era una buena
oportunidad realizar un trabajo sobre esto para poder introducir a cualquier persona a
este mundo.
En último lugar, la computación cuántica ofrece un potencial enorme frente a la
computación tradicional. Este potencial puede ser de gran ayuda para el futuro de las
investigaciones, ciencia, trabajo y la sociedad en general. Por esto este trabajo me ha
servido para entender más esta tecnología y para ser la primera piedra para una futura
investigación más profunda.
Para este proyecto he seguido una metodologíasimple pero efectiva. Debido a
la dificultad del trabajo, primero he abordado la comprensión de los conceptos básicos
de la computación cuántica. La mayoría de las fuentes consultadas han sido páginas
webs y artículos. Después creé una estructura y los puntos principales a explicar. Por
último, la explicación de manera sencilla para que cualquier persona que no tiene
conocimientos acerca de esta tecnología pueda llegar a entenderla sin dificultades.
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 15
1.2 Planificación Temporal
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 16
1.3 Antecedentes
La computadora moderna es una máquina programable electrónicamente
cuyos orígenes se remontan a mediados del siglo XX. Originalmente fue diseñado
para resolver cálculos científicos complejos mediante la automatización de
operaciones lógicas o aritméticas. A partir de la década de 1980, las computadoras se
alejaron de las posiciones monopólicas de universidades y laboratorios y aparecieron
en las actividades diarias de cientos de millones de personas en todo el mundo. El
conocimiento científico y técnico se desarrolla con el uso de muchas computadoras.
Las universidades, los laboratorios, las empresas manufactureras y las comunidades
de usuarios contribuyen a los avances tecnológicos y reducen los precios de los
productos y de venta.
Las computadoras ahora juegan un papel importante en el mundo, afectando
no solo la vida diaria, sino también los negocios y la salud. Es una gran herramienta
que cubre todo, desde simples tareas domésticas hasta cálculos científicos complejos.
La computación cuántica tiene un futuro muy prometedor en muchos ámbitos
de trabajo como la química, la inteligencia artificial, la medicina… Aún se está
desarrollando de la mano de grandes empresas y se espera que revolucione el mundo
computacional.
En este trabajo voy a hablar de uno de los principales avances en la
computación. Esta nueva rama de la computación es un gran campo que está en
pleno auge.
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 17
2 COMPUTACIÓN CUÁNTICA
Antes de empezar a explicar lo que es la computación cuántica, vamos a ver
un poco de donde viene. El término “computación cuántica” hace referencia a la
“mecánica cuántica” que es una especialidad de la física que se fundamenta en el
estudio e investigación de los sistemas atómicos y subatómicos.
2.1 ¿Qué es la computación cuántica?
La computación cuántica es un nuevo avance dentro del mundo de la
computación el cual es mucho más potente y eficiente que la computación clásica.
Esta nueva rama de la informática se apoya en varios fenómenos de la mecánica
cuántica para traspasar las limitaciones que la computación clásica tiene. En resumen,
la computación cuántica es como incluir las leyes y fenómenos de la física cuántica
dentro del mundo de la computación. Todo esto lo veremos más adelante
detalladamente. [2]
2.2 ¿Cómo surge?
Desde el origen de la tecnología y de los primeros procesadores, con el paso
del tiempo, el tamaño de estos componentes se ha ido reduciendo con el fin de mejorar
la eficiencia y velocidad de procesamiento de la información. No obstante, llega un
punto donde no se pueden fabricar microprocesadores ultra pequeños porque existe
un fenómeno que es el responsable de que puedan dejar de funcionar correctamente
[1].
Cuando trabajamos en una escala de nanómetros se produce el fenómeno
cuántico dualidad onda-partícula que produce el llamado “efecto túnel”. Para explicar
el efecto túnel vamos a imaginarnos que una pelota se dirige hacia una pared y rebota.
Lo normal es que la pelota no atraviese la pared, pero imaginemos que en vez de una
pelota tenemos un electrón el cual es una partícula cuántica y tiene onda. Si el electrón
golpea a la pared es posible que una parte de esa onda pueda atravesar la pared y
salir del área donde se encuentra el electrón como se muestra en la ilustración 1. En
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 18
consecuencia, las ondas pueden salir de su perímetro e interferir, por tanto, el chip no
funcionaría adecuadamente.
En la ilustración 1 podemos observar que la parte superior correspondería a
una situación de una partícula normal y la parte inferior correspondería a una situación
de una partícula cuántica.
Ilustración 1 - Dualidad onda partícula 1
Una vez sabemos esto, la computación actual debe estar cerca de llegar a esta
limitación. Los transistores que se utilizan hoy en día rondan en una escala de menos
de 10 nanómetros. Con esta reducción del tamaño conseguimos una mejora lineal en
el rendimiento, un consumo energético menor y una mayor potencia. A largo plazo la
computación cuántica será la solución a este problema que no tardará mucho en llegar
[3].
Como podemos ver en la ilustración 2, a medida que pasan los años los
procesadores que se crean son cada vez más pequeños.
1 https://dandax.wordpress.com/2007/09/19/el-final-de-la-ley-de-moore-y-la-computacion-
cuantica/
https://dandax.wordpress.com/2007/09/19/el-final-de-la-ley-de-moore-y-la-computacion-cuantica/
https://dandax.wordpress.com/2007/09/19/el-final-de-la-ley-de-moore-y-la-computacion-cuantica/
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 19
Ilustración 2 - Evolución de los procesadores 2
2.3 Primeras ideas
A principios de 1980, comenzó a hablarse sobre computación cuántica, pero
solo fueron unas primeras ideas.
En 1981 Paul Benioff, físico estadounidense, ideó un computador tradicional
basado en la máquina de Turing el cual funcionaba con leyes de la mecánica cuántica.
Según su teoría, un conjunto de sistemas cuánticos podría reemplazar la cinta de la
máquina de Turing.
Richard Feynman entre 1981 y 1982 el físico planteó usar principios cuánticos
como una solución más eficiente para resolver cálculos computacionales de gran
2 https://www.xataka.com/componentes/la-importancia-de-los-nanometros-en-los-
procesadores
https://www.xataka.com/componentes/la-importancia-de-los-nanometros-en-los-procesadores
https://www.xataka.com/componentes/la-importancia-de-los-nanometros-en-los-procesadores
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 20
complejidad ya que según él estos cálculos se realizarían de una forma más rápida
en un computador cuántico que en uno tradicional.
En 1985 el primer ordenador cuántico universal fue descrito por David Deutsch.
Este computador cuántico era capaz de imitar a cualquier otro. Sobre este
descubrimiento surgió la idea de que se podrían ejecutar diferentes algoritmos
cuánticos en el mismo computador cuántico.
Durante los años 90 se empezó a representar la teoría en la práctica.
Aparecieron los primeros computadores capaces de realizar cálculos cuánticos, las
primeras aplicaciones cuánticas y los primeros algoritmos cuánticos.
En 1993, Dan Simon mostró las enormes ventajas de las computadoras
cuánticas sobre las computadoras clásicas cuando comparó los modelos de
probabilidad cuántica con los modelos clásicos. Esta idea sirvió como base para el
futuro desarrollodel algoritmo de Shor.
En este mismo año, Charles Benett descubre el teletransporte cuántico. Este es un
gran avance en el desarrollo de la comunicación cuántica.
El científico estadounidense Peter Shor entre 1994 y 1995 ideó un algoritmo
que podía calcular el tiempo que lleva factorizar números en números primos en
menos tiempo que las computadoras convencionales. Este algoritmo también era
capaz de explotar muchos de los sistemas de criptografía de hoy en día y demostró a
la comunidad científica que la computación cuántica es un ámbito de investigación
muy importante con un futuro brillante. Más tarde Peter Shor presentó un sistema de
corrección de errores para el cálculo cuántico.
El algoritmo de búsqueda de datos fue inventado por Lov Grover en 1996. La
mejora que se consiguió no fue tan grande como en las simulaciones físicas o los
cálculos factoriales, no obstante, tiene un rango de aplicación mucho más amplio. El
algoritmo de Grover, como todos los algoritmos cuánticos, es un algoritmo
probabilístico con una alta tasa de éxito.
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 21
Los primeros experimentos prácticos comenzaron en 1997 y se empezaron a
implementar todas aquellas ideas propuestas hasta la fecha. En este año surgió el
primer teletransporte cuántico que utilizaba a un fotón y la primera comunicación
mediante criptografía cuántica, la cual salió exitosa a 23 km de distancia. A partir de
este suceso se supo que la computación cuántica es un gran avance y una realidad
futura.
El primer “cúbit” fue propagado a través de una disolución de aminoácidos por
los investigadores del MIT y de Los Álamos entre 1998 y 1999. Esto fue el inicio para
estudiar la información que es transportada por un cúbit.
En 1998 en la Universidad de Berkeley (California) fue presentada la primera
máquina de 2 cúbits. En 1999, un año más tarde, la primera máquina de 3 cúbits fue
diseñada por los científicos de IBM, la cual fue la primera en poder ejecutar el
algoritmo de búsqueda creado por Grover.
2.4 Modelos
En esta época se definieron 3 modelos de computación cuántica:
2.4.1 Modelo de Benioff (1981)
Como hemos visto en la cronología, Paul Benioff fue el primero en idear el
primer modelo de computación cuántica. Creía que “la cinta de una máquina de Turing
podía cambiarse por una serie de estados cuánticos para codificar una cadena de
números binarios”. [12]
2.4.2 Modelo de Feynman (1982)
Richard Feynman propuso en su modelo una forma cuántica de un circuito
lógico convencional. Este era implementado con puertas lógicas cuánticas reversibles.
Se puede definir como un circuito con x puertas lógicas que actúan sobre y cúbits. [13]
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 22
2.4.3 Modelo de Deutsch (1985)
Paul Benioff y Richard Feynman fueron los primeros en proponer un modelo
para la computación cuántica pero no fue hasta 1985 en un artículo de Deutsch donde
se empezó a formalizar de manera más firme el concepto de computación cuántica.
David Deutsch fue el primero en descubrir la primera máquina cuántica de
Turing. Analiza el comportamiento de las computadoras cuánticas según las leyes
cuánticas, habla sobre la superposición cuántica de los cúbits y del entrelazamiento
entre ellos para así mantener un sistema que evoluciona de forma coherente y
finalmente conseguir la unión de todos ellos para proporcionar un resultado. De esta
forma la capacidad para procesar información era mucho mayor que la de los
computadores tradicionales.
2.5 Siglo XXI
En el año 2000, IBM vuelve a crear una máquina, pero esta vez de 5 cúbits, la
cual tenía la capacidad de ejecutar un algoritmo de búsqueda ordinal. En un
computador tradicional este algoritmo requería de muchos pasos mientras que un
computador cuántico se ejecutaba en un solo paso.
También en el 2000 fue anunciada la creación de un ordenador cuántico de 7 cúbits
por los investigadores de Los Álamos.
En 2001, la Universidad de Stanford e IBM lograron ejecutar el algoritmo Shor
por primera vez en una computadora cuántica de 7 cúbits creada en Los Álamos.
Utilizando 1018 moléculas con 7 átomos en cada una de ellas se obtuvieron los
factores primos de 15 durante la prueba.
En 2005 investigadores de la universidad de Michigan consiguen crear un
semiconductor de trampa de iones. Así se crea el primer qbyte, 8 cúbits unidos
mediante trampas de iones. Esto puso los cimientos para el avance en la computación
cuántica.
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 23
En 2006 se consigue mejorar el control del cuánto. Este control del cuanto
aumenta la complejidad a medida que se incrementan los cúbits. Unos científicos de
Waterloo y Massachusetts desarrollaron un sistema de 12 cúbits y diseñaron varios
métodos de mejora del control del cuánto.
En febrero de 2007, el primer computador cuántico comercial con 16 cúbits fue
presentado en Silicon Valley por la empresa D-wave Systems. Este ordenador era
capaz de ejecutar el algoritmo del temple cuántico y algunas de sus aplicaciones eran
la gestión de bases de datos o un algoritmo capaz de hacer sudokus. Más tarde la
propia empresa dijo que realmente no se trataba de un computador cuántico sino una
máquina que usa la mecánica cuántica para resolver problemas.
Unos meses más tarde, la Universidad de Yale y el NIST (National Institute of
Standards) lograron mediante superconductores juntar varios elementos cuánticos.
Por consiguiente, apareció el primer bus cuántico, servía para almacenar información
cuántica durante un período corto de tiempo y luego transferirla a otro dispositivo. Este
bus cuántico se podía utilizar como memoria cuántica,
Un equipo de científicos en 2008 logró guardar un cúbit en el núcleo de un
átomo de fósforo e hizo que durante 1,75 segundos la información permaneciera
intacta, esto supuso un progreso muy grande para el almacenamiento de información
cuántica.
Robert Schoelkopf junto a su grupo de científicos de la Universidad de Yale, en
2009 crearon un procesador cuántico en formato sólido, este fue el primero en la
historia. El superconductor de 2 cúbits se componía de átomos artificiales compuesto
por millones de átomos de aluminio que actuaban como uno solo el cual podía ocupar
dos estados. Un dispositivo muy parecido en el funcionamiento a un microprocesador
normal, aunque solo podía hacer tareas sencillas como buscar datos o hacer
operaciones aritméticas. La comunicación se realizaba por medio de fotones que
viajaban por el bus cuántico. En la ilustración 3 podemos ver cómo es un procesador
cuántico.
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 24
Ilustración 3 – Procesador cuántico 3
En 2011 se consiguió un gran avance en teleportación cuántica. Un equipo de
científicos de Japón y Australia consiguieron transferir un conjunto completo de
información cuántica sin pérdida de datos y sin afectar las superposiciones de los
cúbits. Este mismo año fue fabricado el primer computador cuántico por D-wave
Systems, el D-wave One con un procesador de 128 cúbits. Hubo mucha controversia
con el D-wave One ya que muchos investigadores decían que no se trataba de un
computador cuántico en su totalidad. Como podemos ver en la ilustración 4, el D-wave
One tiene una estructura cúbica. En noviembre de este año investigadoresprobaron
que se podían conseguir ordenadores cuánticos con la arquitectura de Von Neumann.
3 https://mundo.sputniknews.com/20191024/asi-funciona-la-revolucionaria-computadora-
cuantica-de-google-1089091925.html
https://mundo.sputniknews.com/20191024/asi-funciona-la-revolucionaria-computadora-cuantica-de-google-1089091925.html
https://mundo.sputniknews.com/20191024/asi-funciona-la-revolucionaria-computadora-cuantica-de-google-1089091925.html
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 25
Ilustración 4 - D´wave one 4
En 2012 científicos de IBM decían que se habían conseguido grandes avances
en computación cuántica empleando circuitos integrados superconductores. En abril
de este año investigadores de varias universidades consiguieron crear un procesador
de 2 cúbits capaz de funcionar a temperatura normal. Ejecutaron el algoritmo de
Grover consiguiendo un resultado correcto el 95% de las ocasiones.
En 2013 Google y NASA se hicieron con el famoso computador cuántico D-
wave Two de aproximadamente 500 cúbits. Como se puede ver en la ilustración 5,
tiene un diseño exterior muy parecido a su predecesor. Este es el segundo
computador cuántico comercial fabricado por la empresa canadiense y el suceso del
D-wave One. Es capaz de realizar potentes trabajos de investigación e inteligencia
artificial de forma mucho más rápida y eficiente.
4 https://newatlas.com/harvard-d-wave-quantum-computer/25558/
https://newatlas.com/harvard-d-wave-quantum-computer/25558/
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 26
Ilustración 5 - D´wave two 5
En 2015 científicos de IBM consiguieron dos grandes avances en la
computación cuántica. Demostraron que podían detectar simultáneamente ambos
tipos de errores cuánticos, así como un circuito cuántico novedoso el cual podría
aumentar su escala a más dimensión. En octubre de este mismo año científicos de la
universidad de New South Wales construyeron una puerta lógica cuántica de silicio
por primera vez.
En 2016 científicos de la universidad de Maryland consiguieron construir con
éxito el primer computador cuántico reprogramable.
En octubre la universidad de Basel idearon una variante la cual consistía en
que en vez de usar los spines de los electrones usan agujeros de electrones en un
semiconductor a bajas temperaturas, esto lo hace menos vulnerable a la
decoherencia.
5 https://clubpcbox.com/d-wave-2x-quantum-100-millones-de-veces-mas-rapido-que-los-
actuales/
https://clubpcbox.com/d-wave-2x-quantum-100-millones-de-veces-mas-rapido-que-los-actuales/
https://clubpcbox.com/d-wave-2x-quantum-100-millones-de-veces-mas-rapido-que-los-actuales/
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 27
En 2017 IBM anunció que habían construido y testeado el más potente
computador cuántico hasta la fecha. El primero es un procesador de 16 cúbits que
permitirá experimentación más compleja que el anterior de 5 cúbits. El segundo es el
primer prototipo comercial de IBM con 17 cúbits el cual contiene mejoras importantes
en materiales, dispositivos y arquitectura para hacerlo el procesador más potente
datado hasta esa fecha.
En noviembre de 2017, fue creado con éxito un circulador de microondas por
la Universidad de Sídney, este avance es una parte importante de la computadora
cuántica, el circulador microondas creado era 1000 veces más pequeño que un
circulador convencional al usar aisladores topológicos para reducir la velocidad de la
luz en un material. Este año D-Wave comenzó a comercializar su primera
computadora cuántica de 2000 cúbits. En la ilustración 6 podemos observar la
estructura del sistema de D-wave.
Ilustración 6 – Entorno del D´wave 2000Q 6
En febrero de 2018, los científicos anunciaron por primera vez el
descubrimiento de una nueva forma de luz, posiblemente relacionada con la
polarización, que podría ser útil en el desarrollo de computadoras cuánticas.
6 https://www.dwavesys.com/sites/default/files/D-
Wave%202000Q%20Tech%20Collateral_0117F.pdf.
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 28
En este mismo mes, QuTech informó haber probado con éxito un procesador
cuántico basado en silicona de dos spin-cúbits.
En junio de 2018, Intel comienza a probar el procesador de spin-cúbits basado
en silicio, fabricado en la D1D Fab de la compañía en Oregon.
3 FUNCIONAMIENTO
La computación cuántica es un tema complicado y merece que lo tratemos con
calma porque se suele hacer mucho lio, voy a tratar de explicarlo de forma breve. Un
ordenador cuántico es el equivalente a una máquina de Turing cuántica, mientras que,
el clásico vendría a ser como una máquina de Turing clásica.
Debido al problema del efecto túnel surge la obligación de crear un estilo de
computación diferente a la computación digital. La computación que conocemos hoy
en día se basa en los bits, en cambio la computación cuántica se fundamenta en el
uso de cúbits. Por consiguiente, da pie a nuevos algoritmos y puertas lógicas. Un
mismo cálculo tiene complejidad diferente en computación cuántica que en la
tradicional. Esto es de gran interés ya que existen problemas que eran inabordables
y que con la llegada de la computación cuántica pueden ser resueltos.
3.1 ¿Qué es un cúbit?
“Un cúbit o bit cuántico es la unidad mínima de la información en el campo de
la computación cuántica”. [4]
Un bit en computación clásica solo puede tomar estado cero y uno. Si la corriente
circula el estado es uno y si no circula corriente el estado es cero. Sin embargo, en
computación cuántica en vez de bit nos encontramos con cúbit, el cual a través del
fenómeno cuántico de la superposición puede ser cero, puede ser uno y puede ser
cero y uno al mismo tiempo. Dándonos la opción de realizar varios cálculos al mismo
tiempo [4].
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 29
Los cúbits son partículas subatómicas como electrones o fotones, al poseer la
capacidad de procesamiento de dos estados al mismo tiempo los hace que sean muy
impredecibles.
El número de cúbits que tiene un computador cuántico hace referencia al
número de cúbits que pueden llegar a estar en superposición. En computación
tradicional cuando tenemos un sistema de dos bits hay cuatro valores posibles y solo
podemos elegir uno concreto. En computación cuántica si tenemos un sistema de dos
cúbits, podemos tomar cuatro valores distintos al mismo tiempo, pudiendo manejar
cuatro operaciones en paralelo.
Ilustración 7 - Cúbit 7
Además de esto, los cúbits tienen unas propiedades cuánticas muy especiales
llamadas superposición y entrelazamiento. Estas propiedades proporcionan una gran
capacidad de procesamiento de la información, siendo exponencialmente superior a
la capacidad de procesamiento cuando se utilizan bits binarios. [5]
Esto hace que la computación cuántica tenga numerosas ventajas con respecto a la
computación tradicional:
• Realizar numerosos cálculos al mismo tiempo
• Ahorro exponencial en tiempo de procesamiento.
7 https://platzi.com/tutoriales/1098-ingenieria/1521-que-son-los-cubits/
https://platzi.com/tutoriales/1098-ingenieria/1521-que-son-los-cubits/
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplode aplicación práctica
Escuela Politécnica Superior de Jaén 30
Un ejemplo es la factorización de un número muy grande, a los computadores
actuales les llevaría millones de años en cambio a una computadora cuántica le
llevaría minutos.[6]
Para hacernos una idea de la dimensión de progreso que nos ofrece la
computación cuántica, un procesador de 10 teraflops equivaldría a un sistema de 30
cúbits.
3.2 Fenómenos cuánticos
3.2.1 Superposición
La superposición cuántica es un fundamento cuántico. Como ya hemos hablado
anteriormente, los cúbits poseen el fenómeno cuántico de la superposición. Esto es
que, a diferencia de los bits tradicionales que solo pueden tener el estado cero o el
estado uno, tienen la capacidad de tener tres estados: 0, 1 y 0 y 1 al mismo tiempo. A
esto se le llama superposición. Para que los cúbits logren alcanzar este fenómeno
hace falta que sean manipulados con rayos de microondas o láseres de precisión.
Como vemos en la ilustración 8, el estado puede ser 0 y 1 al mismo tiempo.
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 31
Ilustración 8 - Superposición cuántica 8
De esta manera un computador cuántico de varios cúbits tiene la capacidad
de manejar gran cantidad de cálculos de forma simultánea. Solo cuando medimos
los cúbits podemos saber el resultado final de cada calculo ya que hace que su
estado se colapsa aleatoriamente sobre un uno o un cero. [5]
Es normal que nos preguntemos por qué los objetos normales no tienen
propiedades cuánticas como la superposición. Puedo explicarlo con el experimento
del gato de Schrödinger creado por Erwin Schrödinger. Este experimento consistía
en meter al felino dentro de un cubículo hermético junto con una botella de gas
tóxico la cual se podía romper en cualquier momento. Si tenemos la caja cerrada no
podemos saber si la botella se ha roto o no. Después de un tiempo tendríamos que
pensar que el felino podría estaría muerto y vivo al mismo tiempo, solo podríamos
conocer el resultado si abrimos la caja. [9,10]
3.2.2 Entrelazamiento
El entrelazamiento es una propiedad o fenómeno cuántico también llamado
paradoja EPR. Se descubrió por Erwin Schrödinger en varios experimentos, pero no
se comprendía bien su relevancia.
8 https://hardzone.es/reportajes/que-es/ordenador-cuantico/
https://hardzone.es/reportajes/que-es/ordenador-cuantico/
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 32
El entrelazamiento se basa en que varias partículas que se encuentran
entrelazadas no se definen como partículas individuales con estados propios
concretos sino como un conjunto con una función de onda exclusiva como vemos en
la ilustración 9.
Ilustración 9 - Entrelazamiento cuántico 9
Este fenómeno es fundamental para el potencial computacional en la
computación cuántica. Nadie sabe exactamente el porqué de este fenómeno, el propio
Einstein lo describió como algo espeluznante a distancia. El entrelazamiento es la
base de la computación y la criptografía cuánticas y se utiliza en experimentos de
teleportación cuántica. [11]
Llevado al campo de la computación cuántica, los científicos pueden crear
parejas de cúbits entrelazados entre sí. Esto hace que ambos miembros de la pareja
están presentes en un único estado cuántico, por lo que si cambiamos el estado a uno
de los cúbits se cambiará el estado del otro cúbit de inmediato y este fenómeno
ocurriría incluso si los dos cúbits que forman la pareja estuvieran separados por una
larga distancia.
Esto se puede explicar de una forma muy sencilla. Imaginemos que tenemos
dos átomos entrelazados cuánticamente, uno de esos átomos se lo damos a José y
el otro se lo damos a Marta. Cada uno se lo lleva a su casa y comprueba el estado en
el que se encuentra dicho átomo. Imaginemos que los estados que pueden tomar
dichos átomos son 0 y 1. Marta mira en ese momento en qué estado se encuentra su
9 https://www.icesi.edu.co/blogs_estudiantes/geek/2020/12/07/que-es-el-entrelazamiento-
cuantico/
https://www.icesi.edu.co/blogs_estudiantes/geek/2020/12/07/que-es-el-entrelazamiento-cuantico/
https://www.icesi.edu.co/blogs_estudiantes/geek/2020/12/07/que-es-el-entrelazamiento-cuantico/
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 33
átomo y ve que está en 0, bien, si José mirase en ese momento en qué estado se
encuentra el suyo vería con que es 0 también. Esto sucedería al contrario también
siempre que uno de los átomos entrelazados sea observado el otro se encontrará en
el mismo estado, aunque estén separados a millones de años luz.
Estos cúbits entrelazados formando una cadena proporcionan una gran
capacidad a los ordenadores cuánticos para agilizar usando algoritmos cuánticos los
cálculos. Por eso hay mucha expectación sobre su gran potencial.
Pero aparte de esta buena notica, también existe una mala noticia y es que
debido a la decoherencia los computadores cuánticos son bastante más proclives a
tener fallos en los cálculos que los computadores tradicionales. [5]
3.3 Problemas de la computación cuántica
El principal de los problemas que existen en la computación cuántica es lo que
se llama en mecánica cuántica como decoherencia cuántica.
Esta decoherencia cuántica podemos definirla como el proceso que produce la
destrucción o pérdida de las propiedades cuánticas en un sistema, apareciendo así
las propiedades clásicas del sistema, sin los efectos de la mecánica cuántica.
Llevado al campo de la computación cuántica, la decoherencia hace que las
propiedades cuánticas desaparezcan cuando los cúbits interactúan con el entorno ya
que el estado cuántico es sumamente inestable. Cualquier ruido (cambio de
temperatura o vibración) puede hacer romper el estado de superposición en los cúbits
antes de que estos hayan podido terminar su trabajo y hacer que el sistema funcione
como un sistema entrelazado normal, pero sin las mejoras que aporta la superposición
cuántica.
La tasa de fallo es dada por la relación entre el tiempo de trabajo y el tiempo de
decoherencia. Todo calculo u operación debe ser finalizada en un tiempo inferior al
tiempo de decoherencia ya que por el contrario la tasa de fallo haría que un
computador cuántico fuera ineficiente.
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 34
Ilustración 10 - Decoherencia cuántica 10
Debido a esto es necesario que el ordenador cuántico se encuentre en las
condiciones perfectas de humedad, temperatura, vibraciones… Por eso este tipo de
computadores siempre se encuentran dentro de grande climatizadores y cámaras de
vacío, aunque no siempre estas condiciones son perfectas y a menudo causan fallos
a la hora de realizar los cálculos.
Los algoritmos cuánticos ayudan a corregir parte de estos errores, también
ayuda el agregar más cúbits para el cálculo. Para llegar a crear un cúbit que sea muy
efectivo (cúbit lógico) sería necesario llegar a poseer miles de cúbits normales.
Este es uno de los problemas hasta ahora ya que los científicos no han
conseguido crear sistemas con más de 128 cúbits y aun no se ha podido crear un
cúbit lógico.
Otro de los principales problemas es la escalabilidad, ya que se necesita un
gran incremento en cúbits para poder resolver cualquier corrección de errores.
10 https://hardzone.es/reportajes/que-es/ordenador-cuantico/
https://hardzone.es/reportajes/que-es/ordenador-cuantico/
Cristian Virgilio MorillasEscobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 35
3.4 Arquitectura
Por el momento no existe una configuración propiamente dicha en la
computación cuántica, solamente se ha definido un marco que cada computador
cuántico debe cumplir para poder llamarse como tal. Esta lista de requisitos de llama
la lista Di Vincenzo y dice que:
• El computador ha de llevarse a un punto de partida controlado y conocido.
• Debería ser posible manipular cúbits de manera controlada utilizando un
conjunto común de puertas lógicas.
• Debe mantener una coherencia cuántica en el transcurso del experimento. Es
decir, no debe producirse una decoherencia cuántica.
• Debe poder leerse el resultado final tras la operación realizada.
• Ha de ser escalable, es decir, que puedas aumentar el número de cúbits en el
caso de que se requiera para poder solucionar cálculos más complejos.
Los científicos Max Planck y Niels Bohr llevaron a cabo un experimento de
transmisión de información cuántica utilizando luz como transmisión. La distancia de
transmisión fue de 100 kilómetros y la tasa de éxito de la transmisión alcanzó el 70%.
Esta gran efectividad permite el uso de protocolos de transferencia de datos auto
corregibles. Hoy en día siguen trabajando sobre este tema, se intenta crear
repetidores que puedan llegar a transmitir información a una mayor distancia. [1]
La ilustración 11 muestra la representación esquemática de un sistema de
computación cuántico.
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 36
Ilustración 11 - Representación esquemática de un computador cuántico 11
4 PUERTAS LÓGICAS CUÁNTICAS
Con el sistema de representación de información convencional de dos bits se
pueden realizar operaciones binarias tales como el OR, AND, NOT… esto nos da una
representación de estados distintos de hasta 2^n. Si intentásemos cambiar ciertos bits
deberíamos aplicar x operaciones sobre ellos.
La superposición y en entrelazamiento cuántico permite que ese número de
operaciones de 2^n sea mucho más alto y que podamos cambiar en ciertos bits
aplicando simplemente una operación debido al entrelazamiento cuántico.
Se llama puerta lógica cuántica a los circuitos básicos que funcionan en
múltiples cúbits. Las puertas lógicas cuánticas son similares a las de las computadoras
convencionales. A diferencia de muchas puertas clásicas, las puertas cuánticas son
reversibles. La puerta lógica clásica de Toffoli si es reversible y, por lo tanto, puede
transformarse en puerta lógica cuántica.
La construcción de puertas lógicas cuánticas es incontable, ya que se pueden
crear a partir de composiciones de operaciones simples. La representación de estas
11 http://wiki.sc3.uis.edu.co/images/8/8f/TF4.pdf
http://wiki.sc3.uis.edu.co/images/8/8f/TF4.pdf
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 37
se hace mediante matrices unitarias. Normalmente estas puertas trabajan sobre uno
o dos cúbits. Por lo que son representadas como matrices de 2x2 o 4x4 con filas
ortonormales.
La ilustración 12 muestra una herramienta de visualización importante para
entender el funcionamiento de un circuito cuántico y tiene el nombre de Esfera de
Bloch
Ilustración 12 – Esfera de Bloch 12
Esta se utiliza para comprender la variación de un cúbit. La función de onda de
la Esfera de Bloch toma valores complejos porque la esfera corresponde al espacio
complejo (x,y,i).
4.1.1 Puertas cuánticas universales
Ahora vamos a ver un poco las puertas universales de Pauli X, Y, Z
Puerta cuántica X
La puerta cuántica X es la puerta análoga a la puerta NOT.
Su operador es:
12 https://www.docirs.cl/Puertas_Circuitos_Cuanticos.asp
https://www.docirs.cl/Puertas_Circuitos_Cuanticos.asp
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 38
Aplicamos el operador X:
La transformación X se desplaza sobre la superficie de la Esfera de Bloch
desde 0 hasta 1. Los valores van rotando en torno al eje x como se muestra en la
ilustración 13.
Ilustración 13 – X 13
Puerta cuántica Y
Su operador es:
Aplicamos el operador Y:
13 https://www.docirs.cl/Puertas_Circuitos_Cuanticos.asp
https://www.docirs.cl/Puertas_Circuitos_Cuanticos.asp
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 39
La transformación Y se desplaza sobre la superficie de la Esfera de Bloch
desde 0 hasta 1. Los valores van rotando en torno al eje y como se muestra en la
ilustración 14.
Ilustración 14 – Y 14
Puerta cuántica Z
Esta puerta se define mediante el operador:
Su acción es:
En resumen, la transformación Z deja el mismo signo cuando se aplica al
estado del cúbit 0 y cambia de signo cuando se le aplica al estado del cúbit 1.
La transformación Z se desplaza sobre la superficie de la Esfera de Bloch desde
0 hasta 1. Los valores van rotando en torno al eje z como se muestra en la ilustración
15.
14 https://www.docirs.cl/Puertas_Circuitos_Cuanticos.asp
https://www.docirs.cl/Puertas_Circuitos_Cuanticos.asp
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 40
Ilustración 15 – Z 15
4.1.2 Puertas cuánticas importantes
Las puertas cuánticas son representadas mediante matrices. Una puerta que
actúa sobre n cúbits se representa mediante una matriz unitaria de 2𝑛 x 2𝑛. Los cúbits
de entrada y de salida deben ser iguales y el resultado se consigue multiplicando el
vector del estado cuántico con la matriz de la puerta lógica. Algunas de las puertas
lógicas cuánticas más importantes son las siguientes:
Puerta de Hadamard
Esta puerta trabaja con un solo cúbit y es definida por la matriz:
La representación de la puerta de Hadamard en circuitos es:
La puerta H gira entre los estados 0 y 1. Es una mexcla de dos rotaciones,
una rotación en el eje y de ángulo
𝜋
2
y seguidamente otra rotación en el eje x
de ángulo π.
15 https://www.docirs.cl/Puertas_Circuitos_Cuanticos.asp
https://www.docirs.cl/Puertas_Circuitos_Cuanticos.asp
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 41
Su operación es asignar el estado base |0> a H y el estado |1> a H:
La puerta de Hadamard es una de las puertas cuánticas más importantes y
más utilizada en los algoritmos de computación cuántica. También es muy útil
para generar superposición. [11]
La ilustración 16 representa la puerta de Hadamard en la Esfera de Bloch.
Ilustración 16 – Hadamard 16
La puerta de Hadamard también se expresa como una combinación de
puertas X y Z:
H =
1
2
( X + Z )
16 https://www.docirs.cl/Puertas_Circuitos_Cuanticos.asp
https://www.docirs.cl/Puertas_Circuitos_Cuanticos.asp
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 42
Puerta CNOT
La puerta CNOT es una puerta controlada, por lo que opera sobre 2 o más
cúbits. La puerta CNOT hace el NOT en el segundo cúbit cuando el estado
del primer cúbit es 1. En cualquier otro caso lo deja igual.Su representación es la siguiente:
La representación de CNOT en circuitos es:
Su efecto es:
La operación CNOT tiene de entrada 2 cúbits y su representación se muestra
en la ilustración 17.
Ilustración 17 – Diagrama transformación 2-cubits 17
El cúbit x se llama de control y no varía en la transformación.
El segundo cúbit y es el que se niega cuando x=1.
17 https://www.docirs.cl/Puertas_Circuitos_Cuanticos.asp
https://www.docirs.cl/Puertas_Circuitos_Cuanticos.asp
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 43
La operación ⊕ corresponde con la conectiva XOR de Algebra de Boole. El
segundo bit se aplica si y solo si el bit de control x es 1. Este bit de control x
se pasa siempre directamente, [11]
Puerta de Toffoli
Fue inventada por Tommaso Toffoli, es una puerta reversible por lo que
puede también realizar cualquier función lógica. Trabaja con un mínimo de
tres cúbits y también se le llama como CCNOT.
Tiene tres entradas y tres salidas. Las dos primeras entradas son dos bits de
control que proceden si se encuentran en estado 1. Si la aplicamos dos veces
obtenemos la identidad.
Se representa mediante la matriz:
La puerta de Toffoli es una transformación de 3 cúbits que cuando los dos
primeros cúbits son 1, intercambia el valor del último cúbit. Esta puerta muy
útil para diseñar algoritmos cuánticos. [11]
La representación de la puerta de Toffoli en circuitos es:
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 44
Ilustración 18 – Entradas y salidas Toffoli 18
Como podemos observar en la ilustración 18 solo se cambia el valor de C
cuando los dos primeros estados de control son uno: A = B = 1
La expresión lógica resultante sería:
Puerta SWAP
La puerta SWAP opera sobre dos cúbits y su función es intercambiarlos
Se representa con la siguiente matriz:
La representación de la puerta SWAP en circuitos:
18 https://www.docirs.cl/Puertas_Circuitos_Cuanticos.asp
https://www.docirs.cl/Puertas_Circuitos_Cuanticos.asp
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 45
Circuitos cuánticos
Los circuitos cuánticos son combinaciones de puertas cuánticas los cuales
producen cambios de estado en un computador. Es expresa mediante cables
en formato horizontal donde se colocan las diferentes puertas cuánticas.
Para poner un ejemplo vamos a ver como seria el circuito cuántico para
sumar dos cúbits. Para ello vamos a utilizar una puerta cuántica de Toffoli y
una puerta cuántica CNOT donde x,y pertenecen a {0,1} y el tercer cúbit es
cero como muestra la ilustración 19.
Ilustración 19 – Circuito cuántico 19
4.1.3 Métodos para manipular cúbits
Trampa de iones
Son creadas usando una combinación de campos eléctricos. Se
considera un cúbit al estado fundamental de un ion atrapado en una trampa
para iones. Para lograr el control de los estados cuánticos del ion hay que
enfriarlo hasta el estado de energía más bajo con un proceso llamado
enfriamiento de banda lateral. Lo que se intenta es que el átomo disminuya su
vibración y aumente su energía interna como muestra la ilustración 20.
Durante estos años se ha experimentado con este tipo de sistemas para
resolver operaciones de computación. Manipular muchos iones de esta forma
tiene muchísimas dificultades, científicos han hecho propuestas para
aumentar el número de cúbits en este tipo de sistemas conectando una
sucesión de trampas de iones y desplazando a los iones entre ellas.
19 https://www.docirs.cl/Puertas_Circuitos_Cuanticos.asp
https://www.docirs.cl/Puertas_Circuitos_Cuanticos.asp
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 46
Ilustración 20 - Trampa de iones 20
Espines nucleares
Espines de diferentes núcleos de moléculas individuales, o más
precisamente, la polarización de la magnetización puede ser utilizada como
cúbits. Algunas técnicas de RMN se pueden reinterpretar en el contexto de la
computación cuántica, en particular ciertos pulsos de ondas de radio
comúnmente utilizados para explicar la estructura química en experimentos
complejos utilizados como puertas lógicas cuánticas. Durante la década de
1990, se realizaron una serie de experimentos de demostración basados en
computación cuántica con esta implementación. En comparación con otras
realizaciones físicas de cúbits, los primeros resultados son sorprendentes,
porque se benefician de la ciencia y la tecnología en campos maduros, pero el
progreso ha sido lento desde entonces.
20
https://bigbang.nucleares.unam.mx/~jimenez/FAMC/TrabajosFAMC2017/NavarroO_TrampasIones.pd
f
https://bigbang.nucleares.unam.mx/~jimenez/FAMC/TrabajosFAMC2017/NavarroO_TrampasIones.pdf
https://bigbang.nucleares.unam.mx/~jimenez/FAMC/TrabajosFAMC2017/NavarroO_TrampasIones.pdf
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 47
Ilustración 21 - Espines nucleares 21
Sistemas de estado sólido
Se han hecho una gran cantidad de estudios teóricos y experimentos
de cúbits que se basan en uniones de Josephson entre materiales
superconductores que explotan la propiedad del par de Cooper. En concreto,
se preparó la superposición de estados en bucles superconductores entre
corrientes en una dirección y en la dirección opuesta. El trabajo es parte de la
investigación de Josephson sobre conexiones tales como sistemas cuánticos
a grupos de partículas macroscópicas, parte de un estudio del límite entre la
física clásica y cuántica.
Defectos cristalinos en diamante
Muchos de estos defectos son vapores de nitrógeno huecos que
consisten en dos carbonos que reemplazan un átomo de nitrógeno, uno de los
cuales no tiene suministro. Esto conduce necesariamente a la división de
electrones debido a la diferencia en la configuración electrónica entre el
carbono con 4 electrones de valencia y el nitrógeno con 5 electrones de
valencia. La ilustración 22 nos muestra los distintos tipos de defectos cristalinos
que puede haber.
21 http://trabajosmedicos.blogspot.com/2012/08/principios-fisicos-de-la-resonancia.html
http://trabajosmedicos.blogspot.com/2012/08/principios-fisicos-de-la-resonancia.html
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 48
Ilustración 22 - Defectos cristalinos según el tipo 22
Sin embargo, el caso más estudiado es el del centro de nitrógeno
aniónico vacío, donde la vacante agrega un electrón que, con una fuerte fuerza
de intercambio, da un estado de espín S = 1. Dado que este espín exhibe una
división de campo cero considerable, el par ms = ± 1 se pueden usar como
cúbits, y se han realizado experimentos para mostrar una coherencia constante
entre dos de esos cúbits. También se puede observar una dinámica de espín
consistente entre los espines electrónico y nuclear de algunos átomos de 13C
cerca del centro NV, que pueden considerarse memoria ya que están
relativamente protegidos contra la decoherencia.
5 ALGORITMOS CUÁNTICOS
“Un algoritmo cuántico es un algoritmo el cual es ejecutado por un ordenador
cuántico y tiene muchas ventajas computacionales frente a un algoritmo clásico.”
Algunas de estas ventajas computacionalesson la mejora de la velocidad y la mejora
de la eficiencia en aquellos cálculos que para un computador convencional son
intratables. Un algoritmo clásico y uno cuántico son similares, en un ordenador
22 https://www.textoscientificos.com/quimica/cristales/defectos
https://www.textoscientificos.com/quimica/cristales/defectos
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 49
cuántico se puede ejecutar un algoritmo clásico, pero no al contrario. El poder real de
un algoritmo cuántico se obtiene cuando se utilizan los fenómenos cuánticos ya
mencionados como el entrelazamiento y la superposición. Existen diferentes tipos de
algoritmos que varían según la técnica en la que se basan. Las más importantes son
la amplificación de amplitud y la transformada de Fourier,
5.1.1 Algoritmo de Deutsch-Jozsa
Fue pionero en diseñarse para ser ejecutado en un ordenador cuántico.
Aprovechando el paralelismo que tienen los estados en superposición es más eficiente
que los algoritmos tradicionales.
Como vemos en la ilustración 23, este algoritmo estima si una función f que
tiene n bits de entrada y su salida es 0 o 1. Si una función devuelve cero o uno para
cualquier entrada se dice que es constante. Una función se dice que es balanceada si
la mitad de sus salidas es uno y el resto es cero.
Para poner un ejemplo, consideremos la función f(x)=x%2, la función saca el
resto de dividir el número de entrada entre dos. Devolvería uno si la entrada es impar
y cero si la entrada es par, por tanto, es una función balanceada. El algoritmo debe
llegar a la misma conclusión con las menores iteraciones posibles, esto en un
algoritmo clásico sería mucho más costoso y llevaría muchas más iteraciones. [14,15]
Ilustración 23 - Circuito cuántico del algoritmo de Deutsch-Jozsa 23
23 https://es.wikipedia.org/wiki/Algoritmo_de_Deutsch-Jozsa
https://es.wikipedia.org/wiki/Algoritmo_de_Deutsch-Jozsa
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 50
5.1.2 Algoritmo de Shor
Creado por Peter Shor en el año 1995, es un algoritmo que utiliza la
transformada de Fourier. Trata de factorizar un número n para que el valor esté entre
1 y n, y también lo divide por n. Todas estas operaciones se realizan en tiempo O (
log 𝑛3) donde n es el número que queremos descomponer.
El algoritmo de Shor se puede implementar de la forma clásica o utilizando
circuitos cuánticos, obviamente mediante circuitos cuánticos es mucho más adecuado
ya que es de gran ayuda conocer el orden a la hora de encontrar los factores primos
de un número.
Este mismo problema en un algoritmo clásico se resolvería en un tiempo de O
(2(log 𝑛)
1
3) por lo que este algoritmo tiene una gran ventaja frente a otros algoritmos.
[30]
La ilustración 24 muestra como sería el circuito del algoritmo de shor.
Ilustración 24 - Circuito de Shor 24
Si el algoritmo de Shor llegara a ser implementado en un computador cuántico
práctico podría ser un problema para las criptografías de llave pública como la RSA,
debido a que se podría descifrar descomponiendo en factores la llave pública de un
mensaje cifrado en RSA. Este tipo de cifrado se fundamenta en el producto de grandes
números primos como núcleo para su cifrado, por lo que actualmente no existe ningún
algoritmo que pueda factorizar un número muy grande de manera eficiente.
24 https://www.rcs.cic.ipn.mx/2019_148_2/Circuito%20Cuantico%20Shor%20Qiskit.pdf
https://www.rcs.cic.ipn.mx/2019_148_2/Circuito%20Cuantico%20Shor%20Qiskit.pdf
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 51
Mientras que los algoritmos clásicos tardan en romper este cifrado un tiempo
exponencial, el algoritmo de Shor lo podría romper en un tiempo polinómico y llegaría
a tardar solo una hora.
Este algoritmo, como todos los algoritmos cuánticos, es probabilístico lo que
quiere decir que obtenemos una respuesta acertada con alta probabilidad y cuanto
más se repite el algoritmo la probabilidad de fallo se mejora.[16]
El funcionamiento del algoritmo se descompone en dos partes, una parte que
se puede implementar con un método clásico donde convertimos el problema de
factorización en el de encontrar el orden y una parte cuántica que se encarga de
encontrar el periodo utilizando la transformada de Fourier.
El siguiente procedimiento viene recogido en [15]
Procedimiento clásico:
1. Elija un valor aleatorio tal que 1<a<N.
2. Calcule el MCD (a, N): Devolvemos este resultado si ≠ 1. De lo contrario,
use algoritmos cuánticos para encontrar el período r más pequeño.
Entonces f(x + r) = f(x) y r son números enteros.
3. Si r es impar, vuelve al paso 1.
Si no, calcule MCD(𝑎𝑟/2 + 1) y MCD(𝑎𝑟/2 − 1).
4. Si los dos resultados obtenidos son 1 o N, vuelva al paso 1.
Si no, se devuelve un resultado distinto de 1 y N. y calcula el factor que falta
haciendo la división
Procedimiento cuántico:
1. Crear un circuito con dos registros (registro de periodo y registro de
cálculo) de tamaño L = log2 𝑁 qubits cada uno. Aproximando L al
siguiente número entero.
2. Al primer registro, se aplica la puerta Hadamard quedando así en
superposición.
3. Construya la función f(x) como una función cuántica y aplíquela al estado
Más temprano
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 52
4. Aplique la transformación IQFT al primer registro
5. Tome una medida en el primer registro.
6. Convierte la fracción
2
2𝐿
en una fracción irreducible. Obtenga el denominador
r’, que es un candidato a r.
7. Comprueba si f(x + r’) = f(x):
Si se cumple la condición, termina.
Si no, obtener más r’ usando múltiplos de r’ o valores cercanos de a.
5.1.3 Algoritmo de Grover
Inventado en 1996 por Lov K. Grover para buscar elementos en un conjunto
desorganizado de tamaño N en tiempo O (𝑁1/2) gracias al fenómeno de superposición
proporcionado por las computadoras cuánticas. Para los algoritmos de búsqueda
clásicos de datos en secuencias desordenadas, se debe realizar una búsqueda lineal,
lo que da como resultado un tiempo lineal O(N). Esto mejora mucho esta situación
además de evitar la ordenación de los datos, la mejora de este algoritmo frente a uno
clásico es cuadrática. [17]
Para explicar un poco su funcionamiento debemos imaginarnos una bolsa de
canicas y tenemos que encontrar la única canica que es de color azul. Primero una
función llamada función oráculo que devuelve 1 si la canica es azul y 0 si la canica no
es azul. La canica azul queda marcada y es encontrada si pasamos por esta función
un estado en superposición. La ilustración 25 muestra como seria el circuito del
algoritmo de Grover.
Ilustración 25 - Circuito de Grover 25
25 https://qiskit.org/textbook/ch-algorithms/grover.html
https://qiskit.org/textbook/ch-algorithms/grover.html
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 53
Procedimiento:
1. Primero, tenemos que superponer los cúbits aplicando puertas de Hadamard
a todos los cúbits. El estado que obtenemos lo llamaremos "s"
2. Marque el elemento que desea buscar. Construimos una puerta cuántica, que
actuará como un oráculo. Con esto invertimos la probabilidad que representa
el estado del elemento w buscado. Hace que todos los elementos tengan la
misma probabilidad, excepto el que buscamos, el cualtiene una probabilidad
negativa.
3. Posteriormente, se aplica el denominado operando de Grover, que impone
simetría sobre la media de la probabilidad. Esto quiere decir que todas las
probabilidades bajan un poco, excepto la que se invierte, que se amplifica.
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 54
5.1.4 Algoritmo del Temple Cuántico
“Quantum Annealing” es un algoritmo cuántico análogo al temple simulado.
[18]
Es una analogía de cómo se ordenan las moléculas en los metales cuando se
someten a procesos que fuerzan a que estos metales se enfríen lentamente y a
velocidad constante.
El temple cuántico se trata de una aproximación de la computación cuántica
hacia problemas de optimización y muestreo. La versión clásica es el temple simulado
y lo que hace es crear alteraciones térmicas en los estados para comprobar si
traspasan la barrera de potencial. A diferencia de este, el temple cuántico utiliza el
efecto túnel para atravesar las barreras de potencial por lo que proporciona una mayor
aceleración como se puede ver en la ilustración 26. [19]
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 55
Ilustración 26 - Temple cuántico 26
Todos los métodos de temple cuántico están basados en el algoritmo de Monte
Carlo con el fin de crear muestreos y reduciendo la complejidad. [18]
Este algoritmo es comúnmente usado en las redes neuronales para encontrar
el factor de error de la red neuronal y así saber cómo configurar esa red neuronal para
que sea más eficiente.
6 PRESENTE Y FUTURO DE LA COMPUTACIÓN
CUÁNTICA
Actualmente muchas de las grandes empresas invierten parte de su capital en
el avance y mejora dentro de este campo de la computación cuántica. Intentan
aumentar la cantidad de cúbits utilizados en los procesadores cuánticos para hacerlos
aún más eficientes.
26 https://es.wikipedia.org/wiki/Algoritmo_del_temple_cu%C3%A1ntico
https://es.wikipedia.org/wiki/Algoritmo_del_temple_cu%C3%A1ntico
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 56
6.1 Primer ordenador cuántico comercial
Llamado Q System One, fue presentado en el CES por IBM en enero de 2019,
fue el primer computador cuántico de uso comercial, un producto final y no de pruebas
que era vendible para las empresas. Como vemos en la ilustración 27, la estructura
de este cambia un poco a la de los primeros computadores cuánticos.
Este ordenador cuántico contaba con 20 cúbits para utilizar en grandes cálculos
e investigaciones. Combinaba computación clásica con computación cuántica, IBM
afirmó que es el primer computador cuántico que puede funcionar fuera de un
laboratorio de pruebas. Esto ha sido una ardua tarea ya que han tenido que vencer el
problema de las condiciones del entorno y la estabilidad de los estados cuánticos.
De la misma forma que los primeros ordenadores cuánticos, el Q System One
también es muy voluminoso y requiere de un gran espacio. Si entramos en el diseño,
el Q System One está fabricado con unas paredes de cristal en forma de cubo de casi
3 metros de altura y dentro está alojado el ordenador. Estas paredes ayudan a
mantener el entorno hermético y sin interferencias. Recordemos que estos
computadores trabajan en un entorno con temperaturas de cero absoluto (-273ºC) por
lo que la instalación de este cubo de cristal no es sencilla, por lo que no te lo podrán
enviar a casa.
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 57
Ilustración 27 - Q System One 27
Cabe destacar que El Q System One es un primer contacto de la computación
cuántica al área comercial por lo que es un gran avance dentro de esta nueva
tecnología. Aunque es un computador muchísimo más potente que los clásicos, sus
20 cúbits no tienen la suficiente potencia para algunos usos de la computación
cuántica. En laboratorios se han conseguido computadores más potentes como el de
Intel de 49 cúbits o el de Google de 72 cúbits. [20]
6.2 Supremacía cuántica
Meses después de la presentación del Q System One por IBM en 2019, el
equipo de investigación de Google dirigido por John Martinis dijo haber alcanzado la
supremacía cuántica con su ordenador cuántico Sycamore de 53 cúbits.
La supremacía cuántica se define como la capacidad de los dispositivos
cuánticos para resolver cálculos que los computadores clásicos no lograban resolver
Después de este gran logro de Google vino el 2020, un año un poco diferente
debido a la pandemia del virus Covid-19, pero esto no ha dificultado el avance en este
mundillo. En este mismo año Google realizó la primera reproducción cuántica de una
reacción química.
27 https://hardzone.es/2019/02/10/ibm-q-system-one-el-primer-ordenador-cuantico/
https://hardzone.es/2019/02/10/ibm-q-system-one-el-primer-ordenador-cuantico/
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 58
También en el mismo año un equipo de investigación chino dijo haber creado
un computador cuántico de 66 cúbits un millón de veces más rápido que la de
Google. Aunque los chinos también lograron alcanzar la supremacía cuántica, estos
lo hicieron con una estrategia totalmente diferente a la empleada por Google. Este
grupo de investigadores chinos ha conseguido crear un ordenador cuántico que
utiliza circuitos ópticos para realizar cálculos muy complejos utilizando la capacidad
cuántica que permite viajar a los fotones. La estructura de este computador la
podemos ver en la ilustración 28.
Ilustración 28 - Computadora cuántica china 28
Un poco más tarde, pero en el mismo año, otro grupo de investigadores
asiáticos publicó un artículo donde exponían que han podido transmitir un mensaje
cifrado a una distancia de más de 1000 kilómetros haciendo uso del entrelazamiento
cuántico. [21]
6.3 Avances de la computación cuántica en otros ámbitos
6.3.1 Inteligencia Artificial
Se empezaron a desarrollar modelos teóricos en el campo de la IA a partir de
mediados del siglo XX los cuales se estancaron debido a que no había la suficiente
28 https://www.elconfidencial.com/tecnologia/novaceno/2021-07-07/ordenador-cuantico-china-
google-investigacion_3172016/
https://www.elconfidencial.com/tecnologia/novaceno/2021-07-07/ordenador-cuantico-china-google-investigacion_3172016/
https://www.elconfidencial.com/tecnologia/novaceno/2021-07-07/ordenador-cuantico-china-google-investigacion_3172016/
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 59
capacidad de cómputo en esa época. Con el potencial de la computación cuántica se
ha podido avanzar en muchos proyectos de esta área, aunque aún existe una
limitación cuando hablamos de modelos demasiado complejos para tener un gran
porcentaje de acierto.
Un ejemplo claro es una partida de ajedrez, aunque hoy existen sistemas que
pueden vencer a humanos, no existe todavía un sistema que tenga la capacidad de
elegir siempre una jugada con un 100% de efectividad. Con la computación cuántica
podremos crear este tipo de sistema con bastante facilidad. [22]
6.3.2 Ciberseguridad y criptografía
Como hemos visto, los computadores cuánticos tienen una increíble ventaja de
los cúbits frente a los bits en cuanto a la cantidad de combinaciones posiblesal mismo
tiempo. Una gran computadora cuántica con bastantes cadenas de cúbits puede
resolver problemas de una manera increíblemente rápida por lo que también puede
romper los algoritmos y técnicas de cifrado rápidamente.
Algoritmo de encriptación de clave publica, campo finito, RSA y curva elíptica
se podrían descifrar en un tiempo bastante corto. En cambio, algoritmos de clave
simétrica como el algoritmo AES necesitaran tener claves lo suficientemente grandes
para poder defenderse de los ataques.
Debido a esto existe una potencial amenaza en el tema de la seguridad en el
futuro. Será necesario mantener la seguridad de la criptografía de clave publica ya
que dependen cosas como las firmas digitales y los cifrados de almacenamiento.
Desde que Peter Shor dijo que su algoritmo podía romper un cifrado común emergió
la criptografía post-cuántica para intentar desarrollar algoritmos de cifrado lo
suficientemente resistentes para que no puedan vulnerar la seguridad ante el potencial
de la computación cuántica.
La criptografía cuántica utiliza también los fundamentos de la mecánica
cuántica en el cifrado de mensajes de forma que no podrán ser leídos por nadie que
no sea el destinatario. Para realizar esto debemos tener una computadora cuántica ya
que se requiere mucho poder para cifrar y descifrar datos. [23]
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 60
6.3.3 Matemáticas
La computación cuántica también proporciona un gran futuro en el mundo de
las matemáticas ya que se podrían traspasar límites de cálculo inimaginables durante
la historia computacional. Por ejemplo, se podría conocer todos los decimales de pi,
conocer todos los números primos y resolver problemas como el de P vs NP el cual
consiste en realizar la factorial de 70, un cálculo que es demasiado grande para la
computación tradicional. [22]
6.3.4 Medicina
Dentro del mundo de la medicina una de las grandes aplicaciones de la
computación cuántica es la creación de fármacos puesto que es un proceso
complicado y se necesitan muchos años de investigación para obtener resultados
favorables. La computación cuántica permite agilizar mucho este proceso, cuentan
con la capacidad de simular el efecto que produce un fármaco dentro del organismo.
Puede realizar muchísimos experimentos y conseguir una gran cantidad de
resultados para lograr llegar a una conclusión.
Los ordenadores cuánticos también son beneficiosos para el tratamiento del
cáncer de mama. Normalmente los pacientes que sufren esta enfermedad deben
esperar meses para conocer el resultado del tratamiento, con esta nueva tecnología
podrían acortar este periodo de tiempo.
Un grupo de investigadores han desarrollado un sistema de diagnóstico que a
través de una resonancia puede saber la eficacia de un tratamiento de quimio con solo
una dosis. Para esto han utilizado una computadora cuántica con diferentes
algoritmos. Este mismo proceso en una computadora tradicional tardaría millones de
años. [24]
6.3.5 Astronomía
Cuando el hombre llegó a la luna fue un hito histórico y en parte se logró gracias
a la computación de la época. El poder de computación de esta fecha era muchísimo
menor al que podemos encontrar en cualquier procesador de hoy en día.
Con la computación cuántica podríamos lograr unos avances increíbles no solo
a nivel físico, también podríamos conocer sistemas o regiones no conocidas del
universo hasta ahora debido a la falta de una tecnología con tanto poder. [22]
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 61
6.3.6 Comunicación cuántica
Como hemos visto ya se ha llevado a cabo la teletransportación cuántica de
manera exitosa, aunque esto es lo más difícil de incorporar a la realidad, pero es muy
probable que en un futuro se utilice la mecánica cuántica para crear redes cuánticas
como una alternativa a las telecomunicaciones, pero con una mayor velocidad y
seguridad en la comunicación.
7 HERRAMIENTAS EXISTENTES DE COMPUTACIÓN
CUÁNTICA
Hoy en día existen diversas herramientas de computación cuántica de las
manos de las principales empresas de tecnología como IBM, Amazon, Google,
Microsoft. Voy a hablar sobre tres de las más importantes.
7.1 Azure Quantum
7.1.1 ¿Qué es?
“Azure Quantum es un servicio en la nube con múltiples tecnologías y
soluciones cuánticas. Puede escribir código una vez y ejecutarlo en múltiples objetivos
en la misma serie con pocos cambios, lo que le permite enfocar su programación en
el nivel algorítmico”. [25]
Brinda acceso a una amplia gama de software, hardware y soluciones
cuánticas. Genere un gran impacto hoy con soluciones prediseñadas (también
conocidas como soluciones optimizadas). Azure Quantum tiene dos servicios
diferenciados:
Quantum Computing: Para la simulación de problemas de mecánica cuántica,
reacciones biológicas, reacciones químicas, o la formación de materiales, las
computadoras cuánticas funcionan de manera brillante porque utilizan
fenómenos cuánticos en sus cálculos. Las computadoras cuánticas también
podrían ayudar a acelerar el progreso en muchos campos computacionalmente
intensivos, como el aprendizaje automático, la búsqueda de datos no
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 62
estructurados y los servicios financieros. Las empresas y los investigadores
pueden usar Azure Quantum para crear escenarios complejos en áreas como
el desarrollo terapéutico, la ciberseguridad, la gestión de riesgos, la ciencia de
los materiales o el análisis de redes.
Con esta herramienta podemos desarrollar algoritmos cuánticos por medio del
lenguaje de programación Q# y el Quantum Development Kit (QDK), ambos
son de código abierto.
Los proveedores actuales de optimización son los siguientes:
o Honeywell Quantum Solutions
o IONQ
o Quantum Circuits, Inc
• Optimization: Con Azure Quantum se pueden implementar problemas de
optimización de forma que se ejecuten más rápido que con optimización clásica.
Tenemos acceso a los algoritmos de optimización realizados por Microsoft y otros
proveedores. Los problemas de optimización se resuelven buscando la mejor y
con el menor coste de todas, aunque no siempre será la mejor solución. Uno de
los problemas más típicos de optimización es el del viajante, que trata de encontrar
la ruta más corta para recorrer varias ciudades y volver a casa. [25]
Los proveedores actuales de optimización son los siguientes:
o Microsoft QIO
o 1Qbit
o Toshiba SBM
7.1.2 Quantum Development Kit
Es un kit para Azure Quantum de código abierto, podemos usarlo desde online
como offline. También incorpora el lenguaje de programación cuántico Q#.
El kit tiene un conjunto de herramientas que nos ayudan a desarrollar software
cuántico como simuladores de computación cuántica, bibliotecas listas para su uso,
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 63
documentación de API, extensiones para otros entornos de programación,
simuladores cuánticos, y estimador de recursos.
QDK es un kit de desarrollo de Q# que se puede utilizar para desarrollar
aplicaciones cuánticas con herramientas y lenguajes comunes y se pueden ejecutar
en una gran variedad de entornos. Un programa en Q# puede ejecutarse como un
programa host de Python o .NET o mediante Jupyter Notebook como una aplicación
de consola.
También incorpora extensiones para Visual Studio Code, integración con IBM
Qiskity Cirq, interoperabilidad con Python y lenguajes .NET. [25]
Funcionamiento:
Todo lo necesario para escribir y ejecutar programas de Q# se puede instalar
localmente en su equipo, incluido las bibliotecas de Q#, el compilador de Q#, y el
simulador cuántico. Se pueden ejecutar programas Q# remotamente en una
computadora cuántica real, pero el simulador cuántico que trae el QDK nos aporta
precisos resultados.
• Si tiene experiencia con C#, F# o VB.NET y está familiarizado con Visual
Studio, solo necesita añadir alguna extension a Visual Studio.
• Si está familiarizado con Python, puede usarlo como una plataforma de
programación host para comenzar. Python es ampliamente utilizado no solo
entre desarrolladores, sino también entre científicos, investigadores y
profesores.
• Ejecute Jupyter Notebooks con IQ#, una extensión de Jupyter para
compilar, simular y mostrar programas Q#.
• El desarrollo de aplicaciones de Q# es la forma más rápida de ponerse en
marcha. [29]
7.1.3 Lenguaje Q#
Es un lenguaje de alto nivel de programación cuántico que nos permite
centrarnos en el trabajo a nivel de algoritmo de creación de programas cuánticos.
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 64
Permite la integración con la computación clásica y cuántica. Q# maneja el flujo
de control clásico genérico durante la ejecución del algoritmo. Esto permite expresar
sin ambigüedades algoritmos adaptativos que son difíciles de expresar directamente
en modelos de circuitos con una secuencia de puerta cuántica constante.
El lenguaje Q# no define si los cúbits son lógicos o físicos. Esto se puede
determinar por el tiempo de ejecución en el que se ejecuta el algoritmo. De manera
similar, la asignación de variables de cúbit en su programa a cúbits físicos o lógicos
reales se determina en tiempo de ejecución, y esta asignación se puede diferir hasta
que conozca la topología y otros detalles del dispositivo de destino. El tiempo de
ejecución es responsable de determinar las asignaciones que hacen que el algoritmo
funcione, incluidas las transiciones de estado de cúbit y las asignaciones requeridas
durante la ejecución. [25]
Funcionamiento:
Los programas de Q# se pueden compilar como aplicaciones independientes o
se pueden llamar desde programas host escritos en Python o .NET.
La compilación y ejecución del programa crea una instancia del simulador
cuántico y le transfiere el código Q#. El simulador utiliza código Q# para generar qubits
(simular partículas cuánticas) y aplicar transformaciones para modificar sus estados.
Los resultados de las operaciones cuánticas simuladas se devuelven al programa.
Aislar el código Q# en el simulador garantiza que el algoritmo siga las leyes de
la física cuántica y funcione correctamente en las computadoras cuánticas. [29]
La ilustración 29 muestra las distintas etapas del funcionamiento de un
programa en Q#.
Ilustración 29 - Funcionamiento Q# 29
29 https://docs.microsoft.com/es-es/azure/quantum/overview-what-is-qsharp-and-qdk
https://docs.microsoft.com/es-es/azure/quantum/overview-what-is-qsharp-and-qdk
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 65
7.1.4 Flujo de trabajo en el desarrollo cuántico
En la siguiente ilustración podemos ver las herramientas que ofrece el kit de
desarrollo de Quantum y las distintas etapas por las que pasa un programa cuántico.
[25]
Ilustración 30 - Flujo trabajo cuántico 30
7.1.5 Azure Quantum Cloud
Cuando tenemos el programa terminado y validado, es hora de subirlo a Azure
Quantum. En la ilustración 31 podemos observar el flujo de trabajo después de subir
el programa.
30 https://docs.microsoft.com/es-es/azure/quantum/overview-azure-quantum
https://docs.microsoft.com/es-es/azure/quantum/overview-azure-quantum
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 66
Ilustración 31 - Nube Azure Quantum 31
Azure Quantum ofrece algunos de los recursos cuánticos más diversos y
atractivos actualmente. Se ha asociado con parte de los lideres de este sector para
permitir ejecutar programas cuánticos en Q# en hardware real y poder probar el código
en equipos cuánticos. Azure, puede simular más de 40 cúbits lógicos de poder de
cómputo. [25]
7.2 Amazon Braket
Amazon Braket es un servicio de computación cuántica completamente
administrado que ayuda a adentrarse en el mundo de la computación cuántica y
avanzar en su investigación. [26]
7.2.1 Herramientas de desarrollo
Para simplificar el proceso de diseño y ejecución de algoritmos cuánticos,
puede utilizar el SDK de Amazon Braket. Está diseñado para ser independiente de la
tecnología, eliminando la necesidad de codificar diferentes herramientas de
programación cuántica para cada tipo de hardware cuántico. El SDK admite un marco
de desarrollo unificado que le permite crear algoritmos cuánticos y ejecutarlos en
cualquier hardware cuántico o simulador de circuito compatible disponible a través del
servicio Amazon Braket. A medida que surgen nuevas tecnologías cuánticas y se
31 https://docs.microsoft.com/es-es/azure/quantum/overview-azure-quantum
https://docs.microsoft.com/es-es/azure/quantum/overview-azure-quantum
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 67
agregan al servicio Amazon Braket, puede estar seguro de que su experiencia de
desarrollo seguirá siendo consistente y que sus diseños y algoritmos cuánticos
existentes se pueden probar en estos nuevos sistemas.
Los trabajos híbridos de Amazon Braket simplifican el proceso de configuración,
supervisión y ejecución de algoritmos híbridos cuánticos-clásicos. Después de
proporcionar un script de algoritmo y elegir la QPU o el emulador en el que ejecutarlo,
Amazon Braket activa la computación clásica, ejecuta el algoritmo y libera recursos
cuando se completa el trabajo. Puede definir métricas personalizadas para su
algoritmo, que Amazon CloudWatch registra automáticamente y se muestran en la
consola de Amazon Braket en tiempo real a medida que se ejecuta el algoritmo. Esto
le brinda información en tiempo real sobre el progreso del algoritmo, para que pueda
realizar ajustes en el algoritmo cuando sea necesario. Lo que es más importante, los
trabajos híbridos brindan acceso preferencial a la QPU de su elección para ayudar a
que sus algoritmos se ejecuten de manera rápida y predecible, lo que le permite
mejorar la calidad y la reproducibilidad de sus resultados.
Amazon Braket es compatible de forma nativa con PennyLane, un marco de
software de código abierto creado en torno al concepto de programación cuántica
diferenciable que lo ayuda a crear y ejecutar algoritmos híbridos cuánticos-clásicos o
variacionales. Este enfoque le permite entrenar circuitos cuánticos de la misma
manera que entrena redes neuronales de aprendizaje automático para encontrar
soluciones a problemas computacionales en química cuántica, aprendizaje
automático cuántico y optimización. PennyLane tiene un rendimiento optimizado para
Amazon Braket y proporciona interfaces para herramientas de aprendizaje automático
familiares, incluidas PyTorch y TensorFlow, para que el entrenamiento de circuitos
cuánticos sea rápido, fácil e intuitivo.
Puede elegir construir sus algoritmos cuánticos y administrar experimentos
usando su propio entorno de desarrollo o cuadernos Jupyter completamente
administrados en Amazon Braket. AmazonBraket facilita la creación de cuadernos
con un solo clic. Puede elegir el tipo de instancia de notebook para que coincida con
sus requisitos de rendimiento y configurar los ajustes de seguridad, como el cifrado
de los datos almacenados. Los portátiles de Amazon Braket vienen preconfigurados
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 68
con un conjunto de herramientas de desarrollo de computación cuántica, incluido el
SDK de Amazon Braket, PennyLane y Ocean, para ayudarlo a comenzar rápidamente.
Las notebooks de Amazon Braket vienen precargadas con el SDK de Amazon
Braket, tutoriales y una colección de algoritmos preconstruidos, lo que le brinda todo
lo que necesita para comenzar en un solo lugar. Úselos para familiarizarse con los
pasos recomendados para crear y ejecutar algoritmos cuánticos con Amazon Braket.
[26]
7.2.2 Simuladores
Con Amazon Braket, puede elegir entre cuatro simuladores de circuitos para
ejecutar y probar algoritmos cuánticos. Estos incluyen el emulador local incluido en el
SDK de Amazon Braket y tres emuladores totalmente administrados. Los simuladores
locales pueden ejecutarse en computadoras portátiles o dentro de computadoras
portátiles administradas por Amazon Braket y admiten la simulación de circuitos
cuánticos ruidosos y silenciosos. Los simuladores totalmente administrados son SV1,
un simulador de vector de estado de propósito general; DM1, un simulador de matriz
de densidad que admite el modelado de ruido; y TN1, un simulador de red de tensores
que se especializa en algunos circuitos cuánticos estructurados a mayor escala.
Puede ejecutar su circuito en el simulador de Amazon Braket con una sola
llamada a la API. Los requisitos para ejecutar un algoritmo en un simulador son los
mismos que para ejecutarlo en hardware cuántico; al cambiar una línea de código,
puede pasar de ejecutarse en un simulador a una computadora cuántica real.
Puede elegir diferentes tipos de salidas para sus tareas de simulación, incluidas
muestras individuales, observaciones personalizadas, magnitudes individuales o
vectores de estado completos. El simulador de Amazon Braket puede calcular
resultados precisos o devolver muestras medidas que simulan el comportamiento de
una computadora cuántica. [26]
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 69
7.2.3 Computadoras cuánticas
Amazon Braket brinda acceso seguro a una variedad de tecnologías de
computación cuántica. No hay compromisos iniciales ni contratos que firmar, solo
paga por lo que usa a través de su factura de AWS.
Amazon Braket brinda acceso a computadoras cuánticas recocidas y basadas
en puertas. Siguiendo el paradigma de la computación cuántica basada en puertas,
tiene acceso a la tecnología de iones atrapados de IonQ y a los procesadores
cuánticos superconductores de Rigetti. Alternativamente, puede resolver el problema
del recocido cuántico con la última QPU de D-Wave. Esto puede ayudarlo a probar
diferentes tecnologías, comparar el rendimiento informático de diferentes máquinas
para el problema que está tratando de resolver y elegir el mejor sistema de hardware
para su aplicación. [26]
7.2.4 Gestión y seguridad
Como servicio nativo de AWS, se puede acceder a Amazon Braket a través de
la Consola de administración de AWS, una interfaz web de Amazon Web Services
centralizada y fácil de usar que le proporciona credenciales de inicio de sesión seguras
utilizando su cuenta de AWS o AWS Identity and Access Management (IAM).
Amazon Braket se integra con los servicios de AWS como Amazon
CloudWatch, AWS CloudTrail, Amazon EventBridge y AWS IAM para habilitar el
monitoreo de la carga de trabajo, las notificaciones cuando se completan las tareas y
administrar los controles de acceso y permisos. Los resultados de sus tareas
cuánticas y de simulación se envían a su depósito de Amazon S3 preferido para su
almacenamiento y análisis, lo que le brinda un control total sobre sus datos. [26]
La siguiente ilustración muestra el flujo de trabajo de Amazon Braket.
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 70
Ilustración 32 - Amazon Braket 32
7.3 IBM Quantum Experience
IBM ofrece acceso en la nube a las computadoras cuánticas más avanzadas
disponibles. [27]
7.3.1 IBM Quantum Services
Los servicios de IBM Quantum ofrecen los mejores sistemas, simuladores y
tiempos de ejecución de computación cuántica sin fricciones. Ya sea que prefiera
herramientas basadas en la nube o desee integrar servicios en sus propias
aplicaciones a través de una llamada a la API, los servicios de IBM Quantum le brindan
convenientemente los recursos que necesita para respaldar su trabajo.
• Programas cuánticos: Estos programas aprovechan Qiskit Runtime, una
nueva arquitectura que ofrece importantes mejoras de rendimiento.
• Sistemas cuánticos: Basados en IBM Quantum System One, nuestros
sistemas están construidos utilizando procesadores cuánticos líderes en
el mundo, componentes criogénicos, electrónica de control y tecnología
informática clásica.
• Simuladores cuánticos: Los simuladores IBM Quantum son emuladores
clásicos avanzados basados en la nube de sistemas cuánticos. [27]
La ilustración 33 nos muestra la interfaz de IBM Quantum Services.
32 https://aws.amazon.com/es/braket/
https://aws.amazon.com/es/braket/
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 71
Ilustración 33 – IBM Quantum Services
7.3.2 IBM Quantum Lab
En Quantum Lab, puede crear scripts que combinen código Qiskit, ecuaciones,
visualizaciones y texto narrativo en un entorno personalizado de Jupyter Notebook,
sin necesidad de instalación. Ejecute el código en simuladores o hardware cuántico
real. Almacene, acceda y administre sus archivos desde cualquier lugar. [27]
Qiskit es un software de código abierto que trabaja con computadoras cuánticas
a nivel de circuito, pulso y algoritmo. Además de este módulo central, hay varias API
de aplicaciones específicas de dominio. Qiskit construye una pila de software que
hace que las computadoras cuánticas sean fácilmente accesibles para cualquier
persona, independientemente del nivel de habilidad o el área de interés. Qiskit permite
diseñar aplicaciones y experimentos para poder ejecutarlos sobre computadoras
cuánticas reales. Este es utilizado por principiantes, aficionados, educadores,
investigadores y empresas comerciales de todo el mundo.
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 72
Qiskit facilita la investigación y el desarrollo de casos de uso específicos de la
industria con el mayor potencial de ventaja cuántica como finanzas, aprendizaje
automático y química.
Qiskit contiene un marco general de algoritmos cuánticos de dominio cruzado
en el que se pueden construir aplicaciones de computación cuántica a corto plazo.
El marco de caracterización de Qiskit proporciona métodos analíticos y circuitos
para comprender y caracterizar las fuentes de ruido que afectan a nuestros
dispositivos. Esos parámetros incluyen T1 T₂ * T2 parámetros de Hamilton como la
relación de interacción ZZ y el error de control de puerta.
Qiskit proporciona un conjunto de herramientas para componer programas
cuánticos a nivel de circuitos y pulsos optimizándolos para las limitaciones de unprocesador cuántico físico particular y administrando la ejecución por lotes de
experimentos en backends de acceso remoto.
El diseño modular de Qiskit permite que las empresas emergentes los
investigadores y los desarrolladores independientes desarrollen una extensión
conectable.
Qiskit provee de un marco de simulador de gran rendimiento para la pila de
software de Qiskit. Contiene backends de simulador C optimizados para ejecutar
circuitos compilados y herramientas para construir modelos de ruido altamente
configurables para realizar simulaciones ruidosas realistas de los errores que ocurren
durante la ejecución en dispositivos reales.
El circuito es la raíz fundamental de nuestra pila de software. Qiskit proporciona
un conjunto de herramientas para componer programas cuánticos a nivel de circuito y
pulso optimizándolos para las limitaciones de un procesador de física cuántica
específico y gestionando la ejecución de una serie de pruebas experiencia en backend
de acceso remoto. Qiskit está construido de forma modular lo que facilita agregar
extensiones para el backend y optimizar el circuito. [28]
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 73
Ilustración 34 – IBM Quantum Lab
La ilustración 34 nos muestra como se ve el notebook de trabajo de IBM
Quantum Lab.
7.3.3 IBM Quantum Composer
IBM Quantum Composer es una herramienta de programación cuántica gráfica
que le permite arrastrar y soltar operaciones para construir circuitos cuánticos y
ejecutarlos en simuladores o hardware cuántico real.
Algunas de las cosas que podemos hacer son:
• Visualizar los estados del cúbit: Vea cómo los cambios en su circuito afectan el
estado de los cúbits, que se muestran como una esfera q interactiva, o
histogramas que muestran probabilidades de medición o simulaciones de
vectores de estado.
• Ejecutar en hardware cuántico: Ejecute sus circuitos en hardware cuántico real
para comprender los efectos del ruido del dispositivo.
• Generar código automáticamente: En lugar de escribir código a mano, genere
automáticamente código OpenQASM o Python que se comporte de la misma
manera que el circuito que creó con Quantum Composer. [27]
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 74
IBM Quantum Composer tiene un conjunto personalizable de herramientas que
le permiten construir, visualizar y ejecutar circuitos cuánticos en sistemas o
simuladores cuánticos. Use el menú Más opciones en cada ventana para acceder a
herramientas y acciones adicionales.
Panel de herramientas: use el panel lateral para mostrar sus archivos, trabajos
o documentos. Para cerrar el panel lateral haga clic en el icono de pestaña abierta.
Barra de menús: use estos menús para abrir una nueva ruta administrar y
verificar sus rutas guardadas personalizar su espacio de trabajo obtener ayuda y más.
Launchpad: edite la configuración de tiempo de ejecución luego ejecute su
circuito en un sistema o simulador cuántico.
Puertas cuánticas y barra de operación: estos son los componentes básicos
del circuito cuántico. Arrastre y suelte estos puertos y más en el editor de circuitos
gráficos. Los diferentes tipos de puertas están agrupados por colores. Por ejemplo,
las puertas clásicas están en azul oscuro las puertas de fase están en azul claro y las
operaciones sin unidades están en gris.
Editor de código: use el menú Ver para abrir o cerrar el Editor de código lo que
le permite ver y editar el código OpenQASM o Qiskit para el circuito.
Editor gráfico de circuitos: aquí es donde construye un circuito. Arrastre puertas
y otras manipulaciones a las "cadenas" de cúbits horizontales que componen su
registro cuántico.
Para eliminar un puerto del cale seleccione el puerto y haga clic en X.
Para modificar los parámetros y la configuración del puerto que admite la
edición seleccione el puerto en el editor gráfico y haga clic en Editar (lápiz).
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 75
Disco de fase: la fase del vector de estado del cúbit en el plano complejo viene
dada por la línea que se extiende desde el centro del gráfico hasta el borde del disco
gris (girando en sentido contrario a las agujas del reloj).
Utilice el menú Ver para mostrar u ocultar los platos de mezcla.
Visualización: visualice su circuito a medida que lo construye. Utilizan un
emulador de vector de estado de disparo único que es diferente del sistema
especificado en los ajustes de configuración y tiempo de ejecución. Tenga en cuenta
que la visualización ignora cualquier medida que agregue. Inicie sesión y haga clic en
el botón Configurar y ejecutar para obtener los resultados del backend especificado.
[27].
La ilustración 35 nos muestra como se ve el compositor de circuitos cuánticos de IBM.
Ilustración 35 – IBM Quantum Composer
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 76
8 EJEMPLO PRÁCTICO
Para el ejemplo práctico voy a utilizar las herramientas que nos ofrece IBM
frente a las de Microsoft o Amazon. IBM nos ofrece un servicio en la nube con más de
15 computadores cuánticos. Aunque el servicio en la nube AWS de Amazon es el más
grande, Amazon Braket cuenta con menos computadores cuánticos que el de IBM y
es de pago. Azure Quantum de Microsoft también es de pago y cuenta con diferentes
soluciones cuánticas tanto como para computación cuántica como para optimización.
Me he decantado por utilizar la herramienta de IBM Quantum Experience
porque cuenta con una interfaz super intuitiva y muy fácil de usar para aquellas
personas que son nuevas en este mundo.
En cuanto al kit de desarrollo desde mi punto de vista Qiskit de IBM es la mejor
opción. Qiskit ha evolucionado más ampliamente, es gratuito, lo ha utilizado mucha
más gente (más de 300 000 descargas), es compatible con múltiples tipos de
hardware, tiene una comunidad sólida y vibrante, se basa en Python, que tiene
millones de desarrolladores, y ha sido de código abierto desde el primer día.
Para realizar este ejemplo práctico, he optado por hacer un tutorial de forma
que la persona que no conoce estas herramientas pueda aprender a cómo utilizarlas
desde cero y poder crear y ejecutar su propio algoritmo cuántico.
8.1 Tutorial IBM Quantum
Para la instalación de Qiskit en nuestro equipo local podemos instalarlo en
nuestra distribución de Python preferida y trabajar desde ahí. En este tutorial vamos a
utilizar el IBM Quantum Lab el cual es como un notebook online con Qiskit ya
instalado.
Antes de empezar a escribir código nos debemos dirigir a la página de IBM
Quantum y en el apartado de IBM Quantum Lab registrarnos en la plataforma para
crearnos una cuenta IBMid. Pinchamos en Create an IBMid account como vemos en
la ilustración 36:
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 77
Ilustración 36 - Página de inicio
Ahora debemos de rellenar los campos que aparecen en la ilustración 37 con
nuestros datos (nombre, apellidos, email y contraseña).
Ilustración 37 - Registro nueva cuenta
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 78
Unavez creada nuestra cuenta nos aparecerá el Launcher de IBM Quantum
Lab.
Ilustración 38 - Launcher
Como vemos en la ilustración 38, podemos seleccionar si queremos escribir
código en notebook o en consola. Para este ejemplo vamos a utilizar la primera
opción de Notebook (Qiskit v0.34.1). Pinchamos esa opción y nos aparecerá, como
podemos ver en la ilustración 39, nuestro nuevo archivo inicializado en Qiskit con las
librerías correspondientes y con nuestra cuenta de IBM cargada para poder tener
acceso a los computadores cuánticos reales de IBM.
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 79
Ilustración 39 - Fichero inicializado
8.2 Hello World!
Tradicionalmente cuando aprendemos nuevos lenguajes de programación, la
primera aplicación que escribimos es lo que se llama como Hello World. Aunque en
este caso no muestre por pantalla “Hello World”, el propósito de esta aplicación es
saber cómo programar un sencillo código y llevarlo a la ejecución.
Este primer circuito está formado por dos cúbits de entrada y dos bits clásicos
para las salidas. El algoritmo aplica una puerta de Hadamard al primer cúbit y después
una puerta X controlada entre los dos cúbits para crear entrelazamiento cuántico. El
objetivo es que si el cúbit de control es igual a 1 entonces el cúbit objetivo será 1.
Para poder implementarlo, con nuestro archivo del Notebook abierto lo primero
que debemos hacer es importar todas las librerías de Qiskit. Para este circuito cuántico
vamos a utilizar dos cúbits por lo que vamos a crear un registro cuántico de dos cúbits
y después crear un registro de dos bits clásicos para poder tomar mediciones de estos
bits cuánticos. Para la creación de los registros utilizamos las funciones
QuantumRegister() y ClassicalRegister() como vemos en la ilustración 40:
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 80
Ilustración 40 - Import y creación de registros
Entonces ahora podemos crear un circuito cuántico usando estos dos
registros. Para eso utilizamos el método QuantumCircuit() pasándole el registro
cuántico y el registro clásico como vemos en la ilustración 41:
Ilustración 41 - Creación del circuito
Si queremos ver cómo se vería el circuito gráficamente podemos hacerlo
utilizando el método draw(), como se muestra en la ilustración 42:
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 81
Ilustración 42 - Visualización del circuito 1
Como podemos ver en la ilustración 42, tenemos los bits cuánticos q00 y q01 y
los dos bits clásicos c00 y c01. Una vez tenemos el circuito creado lo que vamos a
hacer es crear puertas lógicas. El primer paso es aplicar una puerta de Hadamard al
primer cúbit. Con el método .h() del circuito podemos crear la puerta lógica en el
cúbit que le pasamos como vemos en la ilustración 43:
Ilustración 43 - Creación puerta de Hadamard
Una vez hecho esto podemos volver a llamar a la función de dibujar el circuito
y tendríamos una visualización como en la ilustración 44:
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 82
Ilustración 44 - Visualización del circuito 2
Ahora vamos a crear una operación de dos cúbits llamada X controlada. Esta
operación de dos cúbits es como un “si” lógico. Va a ser la versión cuántica de “si q0
= 1, entonces q1 = 1”. El control va a ser el primer cúbit y el objetivo de la operación
va a ser el segundo cúbit. Para eso llamamos al método .cx() del circuito como
vemos en la ilustración 45:
Ilustración 45 - Puerta X controlada
Veamos cómo se ve nuestro circuito:
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 83
Ilustración 46 - Visualización del circuito 3
Como vemos en la ilustración 46, ya tenemos nuestro circuito creado con las
puertas lógicas. La idea aquí ahora es que, con estas dos operaciones simples,
somos capaces de generar entrelazamiento entre q00 y q01. Una vez que tenemos
nuestro circuito con la puerta de Hadamard y la puerta X controlada lo que tenemos
que hacer ahora es medir los cúbits, tomar las medidas y almacenarlas en los bits
clásicos. Para eso utilizamos el método measure() como en la ilustración 47:
Ilustración 47 - Mediciones
Para ver cómo queda el circuito volvemos a dibujar:
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 84
Ilustración 48 - Visualización circuito 4
Como podemos observar en la ilustración 48 ya tenemos finalizado nuestro
circuito, ahora lo que debemos hacer es ejecutarlo. Para ello lo vamos a hacer de
dos formas. Lo primero va a ser ejecutar el circuito en nuestro computador clásico y
ver lo que pasa. Después lo que haremos será enviar nuestro circuito a un
computador cuántico real de IBM y luego ver los resultados que obtenemos para
compararlos.
Para simular nuestro circuito en un nuestro computador local lo que vamos a
hacer es utilizar el componente Aer de Qiskit. El simulador se puede importar del
elemento Aer como vemos en la ilustración 49:
Ilustración 49 - Obtención del simulador
Una vez importado el simulador vamos a ejecutar nuestro circuito. Para eso
utilizamos la función execute() pasandole el circuito y el simulador como vemos en la
ilustración 50:
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 85
Ilustración 50 - Ejecución del circuito
Ya tenemos nuestro circuito ejecutado, ahora debemos obtener los
resultados, para eso llamamos a la función result() y lo asignamos a una variable
creada como vemos en la ilustración 51:
Ilustración 51 – Asignación a la variable resultado
Para poder visualizar los resultados debemos utilizar la visualización de Qiskit
llamando a la función plot_histogram() como se muestra en la ilustración 52:
Ilustración 52 - Visualización ejecución
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 86
Como podemos ver en la ilustración 52, obtenemos aproximadamente el 50%
de probabilidad con el estado en 00 y casi otro 50% de probabilidad para 11. Estos
pequeños errores son porque estamos corriendo un número limitado de disparos en
nuestra simulación en lugar de un numero infinito de disparos.
Ahora veamos qué ocurre si ejecutamos nuestro circuito en una computadora
cuántica real de IBM. Para eso debemos elegir el proveedor donde queremos
ejecutar el circuito como se muestra en la ilustración 53:
Ilustración 53 - Proveedor
Después de esto debemos especificar la computadora cuántica con la que
queremos trabajar, en este caso vamos a trabajar con el computador cuántico
llamado bogota como se muestra en la ilustración 54:
Ilustración 54 - Computadora cuántica
En este punto vamos a decir que el trabajo es ejecutar el circuito que hemos
construido, especificando el backend ‘qcomp’ como podemos ver en la ilustración 55:
Ilustración 55 - Creación del trabajo
Cristian Virgilio Morillas EscobarIntroducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 87
Después importamos el job_monitor y enviamos nuestro trabajo. La idea aquí
es enviar estos trabajos a los dispositivos reales, como son dispositivos públicos hay
una cola de espera:
Ilustración 56 - Envío del trabajo
Como podemos ver en la ilustración 56, nuestro trabajo se encuentra ahora en
la cola de ejecución en el puesto 47. Dependiendo de que tan ocupado está el
dispositivo cuántico en ese momento, puede tardar más o menos en ejecutarse el
trabajo. Una vez que recibimos el mensaje de que el trabajo ha sido ejecutado,
guardamos el resultado en una variable como se muestra en la ilustración 57:
Ilustración 57 - Guardar resultado
Finalmente visualizamos el resultado como lo hemos hecho en el primer
ejemplo:
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 88
Mirando los resultados de la ilustración 58, vamos a compararlos con los del
ejemplo anterior de la simulación. Podemos ver una diferencia entre los dos. En el
caso de la simulación solo tenemos 00 y 11 pero cuando ejecutamos el circuito en un
computador cuántico real también obtenemos un pequeño número de resultados que
aparecen en 01 y 10.
La diferencia entre el caso simulado y el caso real es que el simulador simula
un dispositivo cuántico perfecto. Mientras tanto, en el caso real es susceptible a
pequeños errores cuánticos. Estos errores cuánticos están mejorando cada día como
resultado de la mejora de la tecnología así que esperemos que algún día estos
resultados estén más cerca de los resultados en simulaciones ideales.
Repositorio del fichero donde se encuentra el código utilizado en este ejemplo
práctico: https://github.com/Grajo30/Algoritmos-Qiskit
https://github.com/Grajo30/Algoritmos-Qiskit
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 89
8.3 Algoritmo de teletransportación cuántica
En este ejemplo vamos a abordar la teletransportación cuántica y voy a explicar
cómo crear un circuito de teletransportación cuántica en Qiskit. Al hablar de
teletransportación cuántica podemos pensar que implementar el circuito requiere de
muchas puertas complicadas, pero realmente podemos crear teletransportación con
muy pocas puertas.
La teletransportación cuántica es una transferencia de estados cuánticos de un
cúbit a otro. Esto no significa transportar físicamente un cúbit de un sitio a otro sino
una transferencia de información cuántica de un cúbit a otro.
En un ordenador clásico, copiar algo y transferirlo de un punto a otro no es un
problema, lo hacemos todos los días. Pero en los ordenadores cuánticos no se permite
transferir copiando porque cuando copias estás haciendo una medida implícita y eso
destruye el estado cuántico. Para evitar este problema, vamos a aprovecharnos del
entrelazamiento como recurso y construir un circuito de teletransportación cuántica.
Como siempre empezamos importando Qiskit a nuestro espacio de trabajo
como se muestra en la ilustración 58:
Ilustración 58 - Import
Primero crearemos un circuito cuántico formado por tres cúbits y tres bits
clásicos como se muestra en la ilustración 59:
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 90
Ilustración 59 – Creación del circuito
Como hemos hecho en nuestro primer ejemplo de Hello World, vamos a ir
dibujando nuestro circuito en cada paso para poder visualizarlo mejor. Utilizamos el
método draw() como vemos en la ilustración 60:
Ilustración 60 – Visualización circuito
Ahora vamos a empezar a crear nuestro circuito de teletransporte. El objetivo
es tomar el estado del cúbit q0 y transferirlo a q2, el recurso que usaremos para este
proceso será q1.
Empecemos de forma sencilla, vamos a teletransportar el estado 1 de q0 a q2.
Para pasar del estado 0 de q0 al estado 1 lo que tenemos que hacer es aplicar una
puerta X:
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 91
Ilustración 61 – Puerta X
Como vemos en la ilustración 61, tenemos ya nuestra puerta X y después
hemos puesto una barrera. La barrera solo sirve para hacer separaciones, no influye
en el funcionamiento del circuito.
Ahora viene el protocolo de teletransporte, lo primero es crear un
entrelazamiento entre q1 y q2. Aplicamos el mismo procedimiento que en ejemplo de
Hello World. Aplicamos una puerta de Hadamard a q1 y después una puerta X
controlada entre q1 y q2:
Ilustración 62 – Protocolo teletransporte
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 92
Tras la ejecución del anterior código, como observamos en la ilustración 62, el
resultado es que q1 y q2 ya están entrelazados. El resto del protocolo de
teletransportación dice que apliquemos una puerta X controlada de q0 a q1 y una puerta
Hadamard a q0:
Ilustración 63 – Protocolo teletransporte 2
Una vez tenemos lo que la ilustración 63 nos muestre, nos queda hacer dos
mediciones, van a ser en q0 y q1. Para que se vea más claro vamos a poner una
barrera antes como vemos en la ilustración 64:
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 93
Ilustración 64 – Mediciones
Para completar el protocolo de teletransporte tenemos que añadir dos puertas
más. Una puerta X controlada del cúbit q1 al cúbit q2 y una puerta Z controlada del
cúbit q0 al cúbit q2:
Ilustración 65 – Protocolo teletransporte 3
Nuestro circuito debería quedar como muestra la ilustración 65 una vez
terminado el protocolo de teletransportación cuántico. En este punto el estado 1 que
tenemos en q0 en la primera barrera se ha teletransportado al cúbit q2. Para
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 94
comprobarlo aplicamos una medición al cúbit q2 y nos llevamos el estado de q2 al bit
clásico c2 como vemos en la ilustración 66:
Ilustración 66 – Mediciones 2
¿Qué debemos esperar? Como vemos el cúbit q2 empieza en estado 0 así que
si medimos este cúbit al final del circuito esperamos ver el estado 1 siempre. Para
simular el circuito vamos a utilizar el backend Aer de Qiskit de la forma que se muestra
en la ilustración 67:
Ilustración 67 - Simulador
Ahora vamos a ejecutar el circuito, el backend será el simulador y vamos a
poner que queremos 1024 experimentos. El número de experimentos puede ser
cualquiera. Guardamos el resultado de la operación en la variable result como se
muestra en la ilustración 68:
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 95
Ilustración 68 – Ejecución del circuito
Guardamos las cifras del resultado como se muestra en la ilustración 69:
Ilustración 69 – Guardamos resultado
Por último, visualizamos las cifras del resultado probabilístico obtenido
llamando a la función plot_histogram() como podemos ver en la ilustración70:
Ilustración 70 – Visualización final
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 96
Estos son los resultados, para entenderlos primero hay que saber algo. Los
números de la parte de abajo se leen como C2 C1 C0 como apuntan hacia arriba. Así
que 100 significa que los resultados son C2=1, C1=0, C0=0.
Como hemos dicho antes, hemos tomado los resultados de medir q2 y los
hemos puesto en c2.
Si nos fijamos en el histograma solo tenemos resultados cuando c2 es igual a 1
por lo que hemos logrado teletransportar el estado 1 de q0 a q2 con éxito.
El elemento clave aquí es el entrelazamiento el cual nos permite separar estos
cúbits tanto como queramos por lo que podemos transportar información cuántica a
una gran distancia. Esta es una de las áreas clave por las que el teletransporte
cuántico puede ser muy útil. A día de hoy se está trabajando en la creación del internet
cuántico, este conectará varios laboratorios nacionales y podrá transmitir un enorme
volumen de datos a gran distancia y a velocidad superior a la de la luz.
Repositorio del fichero donde se encuentra el código utilizado en este ejemplo
práctico: https://github.com/Grajo30/Algoritmos-Qiskit
https://github.com/Grajo30/Algoritmos-Qiskit
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 97
9 ANÁLISIS Y CONCLUSIONES
Durante este trabajo se ha hecho una introducción a la computación cuántica,
se ha hablado de sus orígenes y cronología, se han explicado los conceptos más
importantes sobre los fundamentos cuánticos y su funcionamiento, se han visto los
algoritmos más importantes y las herramientas de computación cuánticas con el
objetivo de comprender y conocer el estado en el que se encuentra esta tecnología
actualmente, sus diferentes hitos y su futuro.
Al iniciar este proyecto me costó un poco entender el funcionamiento de la
mecánica cuántica dentro de la computación, pero después de muchos videos y
mucha documentación he comprendido el gran poder que tiene esta nueva tecnología.
Aunque principalmente es un trabajo teórico y la practica aun esta poco desarrollada,
lo poco que hay te ayuda mucho a comprender el gran potencial que tiene esta
tecnología.
Desde mi punto de vista me parece que la computación cuántica ha llegado
para quedarse y aunque aún está desarrollándose creo que es un avance enorme
dentro del mundo de la computación que puede traernos muchas mejoras en
investigaciones, pero también puede ser un peligro para el ámbito de la ciberseguridad
debido a su gran capacidad de cómputo. La seguridad informática deberá ir avanzado
paralelamente a la computación cuántica.
De momento parece que esta nueva tecnología solo va a estar al alcance de
grandes empresas tecnológicas que puedan usarla para resolver problemas muy
complejos computacionalmente. ¿Llegaremos a poder tener computadores cuánticos
en nuestras casas? A priori es muy complicado, está muy alejada de una producción
masiva debido a los materiales con los que se fabrican, pero la tecnología avanza con
pasos descomunales y quien sabe si dentro de cien años podemos comprar
procesadores cuánticos para nuestros equipos del hogar.
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 99
10 BIBLIOGRAFÍA Y WEBS CONSULTADAS
[1] colaboradores de Wikipedia. (2022, 14 febrero). Computación cuántica.
Wikipedia, la enciclopedia libre.
https://es.wikipedia.org/wiki/Computaci%C3%B3n_cu%C3%A1ntica
[2] Infografía, M. (2020, 26 enero). ¿Qué es la Computación Cuántica? Mayo
Infografía.
https://mayoinfografia.com/que-es-la-computacion-cuantica/
[3] Espeso, P. (2014, 18 septiembre). La importancia de los nanómetros en los
procesadores. Xataka.
https://www.xataka.com/componentes/la-importancia-de-los-nanometros-en-los-
procesadores
[4] ¿Qué es un qubit? | Microsoft Azure. (s. f.). Microsoft Azure.
https://azure.microsoft.com/es-es/overview/what-is-a-qubit/#introduction
[5] Alonso, R. (2021, 9 junio). Qué es un ordenador cuántico y en qué se
diferencia de uno normal. HardZone.
https://hardzone.es/reportajes/que-es/ordenador-cuantico/
[6] Platzi: Cursos online profesionales de tecnología. (s. f.). Platzi.
https://platzi.com/tutoriales/1098-ingenieria/1521-que-son-los-cubits/
[7] Lynley, M. (2011, 27 mayo). World’s first commercial quantum computer sold
to Lockheed Martin. VentureBeat.
https://venturebeat.com/2011/05/27/first-quantum-computer-sold/
[8] Anthony, S. (2012, 29 febrero). IBM shows off quantum computing advances,
says practical qubit computers are close. ExtremeTech.
https://www.extremetech.com/extreme/120229-ibm-shows-off-quantum-computing-
breakthroughs-says-qubit-computers-are-close
[9] colaboradores de Wikipedia. (2020, 16 octubre). Superposición cuántica.
Wikipedia, la enciclopedia libre.
https://es.wikipedia.org/wiki/Superposici%C3%B3n_cu%C3%A1ntica
[10] Vídeo: Miguel Ángel Sabadell / Texto: Laura Marcos. (2020, 3 febrero). ¿Qué
es la paradoja de Schrödinger? La ciencia de Big Bang Theory. MuyInteresante.es.
https://es.wikipedia.org/wiki/Computaci%C3%B3n_cu%C3%A1ntica
https://mayoinfografia.com/que-es-la-computacion-cuantica/
https://www.xataka.com/componentes/la-importancia-de-los-nanometros-en-los-procesadores
https://www.xataka.com/componentes/la-importancia-de-los-nanometros-en-los-procesadores
https://azure.microsoft.com/es-es/overview/what-is-a-qubit/#introduction
https://hardzone.es/reportajes/que-es/ordenador-cuantico/
https://platzi.com/tutoriales/1098-ingenieria/1521-que-son-los-cubits/
https://venturebeat.com/2011/05/27/first-quantum-computer-sold/
https://www.extremetech.com/extreme/120229-ibm-shows-off-quantum-computing-breakthroughs-says-qubit-computers-are-close
https://www.extremetech.com/extreme/120229-ibm-shows-off-quantum-computing-breakthroughs-says-qubit-computers-are-close
https://es.wikipedia.org/wiki/Superposici%C3%B3n_cu%C3%A1ntica
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 100
https://www.muyinteresante.es/ciencia/video/la-ciencia-en-big-bang-que-es-la-
paradoja-de-schroedinger
[11] Puertas Lógicas Clásicas y Cuánticas ~ Circuitos Cuánticos: Conceptos
Matemáticos Básicos de Computación Cuántica. (s. f.). Docirs.
https://www.docirs.cl/Puertas_Circuitos_Cuanticos.asp
[12] colaboradores de Wikipedia. (2020b, diciembre 14). Computadora cuántica de
Benioff. Wikipedia, la enciclopedia libre.
https://es.wikipedia.org/wiki/Computadora_cu%C3%A1ntica_de_Benioff
[13] colaboradores de Wikipedia. (2021, 29 abril). Computadora cuántica de
Feynman. Wikipedia, la enciclopedia libre.
https://es.wikipedia.org/wiki/Computadora_cu%C3%A1ntica_de_Feynman
[14] colaboradores de Wikipedia. (2022a, febrero 3). Algoritmo de Deutsch-Jozsa.
Wikipedia, la enciclopedia libre.
https://es.wikipedia.org/wiki/Algoritmo_de_Deutsch-Jozsa
[15]
https://eprints.ucm.es/id/eprint/61918/1/SANCHEZ_VELEZ_Diseno_de_algoritmos_y
_circuitos_cuanticos_4398577_287942181.pdf (2020)
[16] colaboradores de Wikipedia. (2021b, junio 28). Algoritmo de Shor. Wikipedia, la
enciclopedia libre.
https://es.wikipedia.org/wiki/Algoritmo_de_Shor
[17] colaboradores de Wikipedia. (2021c, noviembre 22). Algoritmo de Grover.
Wikipedia, la enciclopedia libre.
https://es.wikipedia.org/wiki/Algoritmo_de_Grover
[18] colaboradores de Wikipedia. (2019, 30 agosto). Algoritmo del temple cuántico.
Wikipedia, la enciclopedialibre.
https://es.wikipedia.org/wiki/Algoritmo_del_temple_cu%C3%A1ntico
[19] https://cmapscloud.ihmc.us/rid=1T0708L5V-CH22RS-6X1/G2-.pdf (2018)
[20] Rus, C. (2019, 8 enero). IBM presenta IBM Q System One, el primer
ordenador cuántico para uso comercial. Xataka.
https://www.xataka.com/ordenadores/ibm-presenta-ibm-q-system-one-primer-
ordenador-cuantico-para-uso-comercial
[21] López, J. C. (2021, 15 octubre). La supremacía cuántica ha llegado de la
mano de Google y China, pero la computación cuántica aún nos. . . Xataka.
https://www.xataka.com/investigacion/supremacia-cuantica-ha-llegado-mano-google-
china-computacion-cuantica-nos-plantea-estos-desafios-titanicos
https://www.muyinteresante.es/ciencia/video/la-ciencia-en-big-bang-que-es-la-paradoja-de-schroedinger
https://www.muyinteresante.es/ciencia/video/la-ciencia-en-big-bang-que-es-la-paradoja-de-schroedinger
https://www.docirs.cl/Puertas_Circuitos_Cuanticos.asp
https://es.wikipedia.org/wiki/Computadora_cu%C3%A1ntica_de_Benioff
https://es.wikipedia.org/wiki/Computadora_cu%C3%A1ntica_de_Feynman
https://es.wikipedia.org/wiki/Algoritmo_de_Deutsch-Jozsa
https://eprints.ucm.es/id/eprint/61918/1/SANCHEZ_VELEZ_Diseno_de_algoritmos_y_circuitos_cuanticos_4398577_287942181.pdf
https://eprints.ucm.es/id/eprint/61918/1/SANCHEZ_VELEZ_Diseno_de_algoritmos_y_circuitos_cuanticos_4398577_287942181.pdf
https://es.wikipedia.org/wiki/Algoritmo_de_Shor
https://es.wikipedia.org/wiki/Algoritmo_de_Grover
https://es.wikipedia.org/wiki/Algoritmo_del_temple_cu%C3%A1ntico
https://cmapscloud.ihmc.us/rid=1T0708L5V-CH22RS-6X1/G2-.pdf
https://www.xataka.com/ordenadores/ibm-presenta-ibm-q-system-one-primer-ordenador-cuantico-para-uso-comercial
https://www.xataka.com/ordenadores/ibm-presenta-ibm-q-system-one-primer-ordenador-cuantico-para-uso-comercial
https://www.xataka.com/ordenadores/ibm-presenta-ibm-q-system-one-primer-ordenador-cuantico-para-uso-comercial
https://www.xataka.com/investigacion/supremacia-cuantica-ha-llegado-mano-google-china-computacion-cuantica-nos-plantea-estos-desafios-titanicos
https://www.xataka.com/investigacion/supremacia-cuantica-ha-llegado-mano-google-china-computacion-cuantica-nos-plantea-estos-desafios-titanicos
Cristian Virgilio Morillas Escobar
Introducción a la computación cuántica: análisis de la tecnología y
ejemplo de aplicación práctica
Escuela Politécnica Superior de Jaén 101
[22] Computación cuántica: presente y futuro. (s. f.). DataArt Website.
https://www.dataart.com.ar/news/computacion-cuantica-presente-y-futuro/
[23] C. (2021, 30 junio). El impacto de la computación cuántica en la.
Ciberseguridad.
https://ciberseguridad.com/guias/nuevas-tecnologias/computacion-
cuantica/#Impacto_en_la_Ciberseguridad
[24] Comunicación, R. (2021, 22 abril). La computación cuántica y la medicina:
¿La unión que salvará millones de vidas? Revista digital del Somontano de
Barbastro - Rondasomontano.com.
https://rondasomontano.com/revista/158371/la-computacion-cuantica-y-la-medicina-
la-union-que-salvara-millones-de-vidas/
[25] Microsoft Docs. (2021b, noviembre 10). ¿Qué es Azure Quantum? - Azure
Quantum.
https://docs.microsoft.com/es-es/azure/quantum/overview-azure-quantum
[26] Servicio de computación cuántica: Amazon Braket - Amazon Web Services.
(s. f.). Amazon Web Services, Inc.
https://aws.amazon.com/es/braket/
[27] IBM Docs. (s. f.). IBM Quantum.
https://quantum-computing.ibm.com/docs/
[28] Qiskit. (s. f.). Qiskit.
https://qiskit.org/
[29] Microsoft Docs. (2021a, noviembre 6). ¿Qué son el QDK y el lenguaje de
programación Q#? - Azure Quantum.
https://docs.microsoft.com/es-es/azure/quantum/overview-what-is-qsharp-and-qdk
[30] Sparrow, C. Quantum Interference in Universal Linear Optical Devices for
Quantum Computation and Simulation. Ph.D. thesis, Department of Physics, Imperial
College London (2017).
https://www.dataart.com.ar/news/computacion-cuantica-presente-y-futuro/
https://ciberseguridad.com/guias/nuevas-tecnologias/computacion-cuantica/#Impacto_en_la_Ciberseguridad
https://ciberseguridad.com/guias/nuevas-tecnologias/computacion-cuantica/#Impacto_en_la_Ciberseguridad
https://rondasomontano.com/revista/158371/la-computacion-cuantica-y-la-medicina-la-union-que-salvara-millones-de-vidas/
https://rondasomontano.com/revista/158371/la-computacion-cuantica-y-la-medicina-la-union-que-salvara-millones-de-vidas/
https://docs.microsoft.com/es-es/azure/quantum/overview-azure-quantum
https://aws.amazon.com/es/braket/
https://quantum-computing.ibm.com/docs/
https://qiskit.org/
https://docs.microsoft.com/es-es/azure/quantum/overview-what-is-qsharp-and-qdk