Descarga la aplicación para disfrutar aún más
Vista previa del material en 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 cual
Compartir