El paralelismo que caracteriza a los algoritmos cuánticos los dota de la asombrosa capacidad de procesar información de manera exponencial con unos pocos cubits. El algoritmo Deutsch-Jozsa es un ejemplo de esta capacidad. Presentamos un análisis sobre el funcionamiento de dicho algoritmo y una implementación del mismo utilizando Qiskit de IBM.
El paralelismo que caracteriza a los algoritmos cuánticos los dota de la asombrosa capacidad de procesar información de manera exponencial con unos pocos cubits. El algoritmo Deutsch-Jozsa es un ejemplo de esta capacidad. Presentamos un análisis sobre el funcionamiento de dicho algoritmo y una implementación del mismo utilizando Qiskit de IBM.
Este trabajo estudia el papel del entrelazamiento en algoritmos cuánticos y evalúa si es posible obtener ventaja cuántica sin recurrir a este recurso. Se analizan teóricamente los algoritmos de Deutsch, Deutsch-Jozsa y Bernstein-Vazirani mediante el criterio de pureza, y se implementan tanto en simulación con Qiskit como en dispositivos reales de IBM Quantum. Los resultados muestran que Deutsch y Bernstein-Vazirani pueden ejecutarse sin generar entrelazamiento, con altas tasas de éxito en el dispositivo real (98.24 % y 93.61 %, respectivamente), y desviaciones moderadas (45 y 257). Para Deutsch-Jozsa con n = 2, se obtuvo un 96.15 % de éxito y desviación promedio de 98. Sin embargo, con n = 3, algunas funciones que requieren entrelazamiento presentaron mayores errores (hasta 52.65 %) y desviaciones (hasta 449), en contraste con aquellas que no lo requieren. Estos resultados evidencian que la fidelidad experimental se mantiene elevada cuando no hay entrelazamiento, mientras que su presencia incrementa la sensibilidad al ruido. El estudio motiva la exploración de algoritmos más complejos bajo este enfoque.
La computación clásica forma parte de nuestro día a día y ha sido uno de los pilares que ha impulsado la innovación en las últimas décadas. Sin embargo, hay problemas que esta tecnología no es capaz de resolver o es muy poco eficiente hacerlo de esta manera. Aquí es donde entra en juego la computación cuántica, campo en el cual se están alcanzando progresos significativos. La principal diferencia entre la computación clásica y la cuántica es que en esta última se hace uso de fenómenos cuánticos, tales como la superposición y el entrelazamiento. Para ello la computación cuántica se basa en el uso de qubits o bits cuánticos, dejando de lado los bits clásicos y los sistemas lógicos empleados por los sistemas informáticos convencionales. Esta tecnología resulta de gran interés actualmente por su enorme potencial, que supone la posibilidad de revolucionar el mundo de la computación. Una misma tarea puede tener diferente complejidad en computación clásica y en computación cuántica, lo que ha dado lugar a una gran expectación. También permite la resolución de problemas intratables anteriormente. En general, los ordenadores cuánticos, debido a su gran capacidad de manejo de datos, nos ofrecen la posibilidad de impulsar grandes avances en diversos campos, desde la ingeniería hasta la investigación farmacéutica, por ejemplo. En este trabajo se aborda el estudio del algoritmo cuántico de Grover, que resuelve el problema de encontrar una entrada en una base de datos desestructurada. En primer lugar se introducen los conceptos básicos para la comprensión del algoritmo, tales como el oráculo y la amplificación de amplitud. Posteriormente se tratan las mejoras respecto de los algoritmos de búsqueda clásicos y el hecho de que el algoritmo de Grover es óptimo. Esto completa la parte de desarrollo teórico. Posteriormente se presenta una componente de simulación en la plataforma IBM Quantum Experience para las diferentes situaciones propuestas. Más tarde se lleva a cabo la implementación real del algoritmo en los ordenadores cuánticos de IBM así como la implementación mitigando en cierta medida el error propio de los ordenadores cuánticos. Finalmente, se comentan algunas aplicaciones dentro del gran abanico de aplicaciones existentes a día de hoy.
La computación cuántica ha impulsado múltiples líneas de investigación en los últimos años, debido al interés conjunto de la comunidad científica y de la industria tecnológica en diseñar ordenadores cuánticos capaces de ejecutar circuitos con alta precisión. Como resultado, nuevos enfoques como el MBQC (computación cuántica basada en mediciones) han surgido como alternativas viables al modelo estándar de computación cuántica. De igual manera, empresas tecnológicas como Google o IBM continúan impulsando de manera sostenida el desarrollo del hardware para computación cuántica, logrando avances significativos como el procesador Heron de 156 cúbits de IBM o el chip Willow de Google para la corrección de errores cuánticos. En particular, la introducción de Qiskit como software libre, por parte de IBM, brinda a los usuarios la posibilidad de realizar experimentos de computación cuántica utilizando ordenadores cuánticos reales, lo que sugiere la importancia de Qiskit dentro de este campo. Por tal motivo, el objetivo de este trabajo es diseñar una plantilla en Python con Qiskit para aplicar el protocolo MQBC en diferentes circuitos y ejecutarlos en un ordenador cuántico de IBM. Esta plantilla se basa en el modelo One-Way, un enfoque particular del MQBC, aplicado a un clúster lineal de 4 cúbits, y utiliza técnicas como la Postselección, Reetiquetado y Tomografía cuántica para caracterizar los estados de salida generados. Con ello, se busca implementar 5 circuitos cuánticos correspondientes a diferentes configuraciones clústers lineales y bidimensionales, a partir del estado clúster lineal de 4 cúbits. Asimismo, se mostrarán los pasos para implementar un circuito que detalla una búsqueda cuántica de dos cúbits. Para verificar la validez de los resultados, se calculará la fidelidad para cada estado de salida, considerando los circuitos teóricos descritos en el paper Experimental One-Way Quantum Computing. Finalmente, para las configuraciones de clúster bidimensionales, se analizará el grado de entrelazamiento para confirmar la generación de estados entrelazados a partir de cúbits codificados inicialmente separables. En adición, esta tesis tiene como finalidad servir como documento de referencia para facilitar el aprendizaje de Qiskit en futuros trabajos de computación cuántica.
Este libro ofrece las herramientas fundamentales para comprender los conceptos de la computación cuántica de altas dimensiones. Comienza con una introducción a la computación cuántica en la que se explican fenómenos cómo la superposición cuántica, la de coherencia, el paralelismo cuántico y el entrelazamiento cuántico. El lector irá familiarizándose rápidamente con el uso de qubits para entender luego las ideas y el álgebra lineal que soporta el ámbito multidimensional de la computación cuántica. Una de las temáticas de mayor importancia es el desarrollo matemático de las principales compuertas cuánticas de dos dimensiones y cómo estas son extrapoladas a múltiples dimensiones. Se explica la generalización unificada de compuertas cuánticas de altas dimensiones que se obtuvo de la investigación de los autores donde se destaca la relación encontrada entre el operador adjunto de Weyl y las compuertas de Pauli de altas dimensiones, y la propuesta de una ecuación generalizada que describe la transformada cuántica de Fourier de altas dimensiones. El lector podrá conocer también de qué manera pudo llevarse a cabo la implementación en código de cada una de estas compuertas en QuantumSkynet, un novedoso simulador de computación cuántica de altas dimensiones basado en la nube. Al final se muestran los resultados obtenidos de la simulación de dos circuitos cuánticos sobre QuantumSkynet: el algoritmo de Deutsch-Jozsa y el Algoritmo de Estimación de Fase Cuántica para sus versiones en altas dimensiones. El texto está diseñado de tal manera que diferentes tipos de lectores puedan comprenderlo, ya sea que cuenten o no con conocimientos previos de mecánica cuántica.
Este Trabajo Fin de Grado tiene como objetivo el estudio de la computación cuántica y el desarrollo de un algoritmo cuántico para la resolución de una variante del problema de satisfacibilidad booleana. La computación cuántica es una rama de investigación que está actualmente en sus inicios. Basa su funcionamiento en fenómenos de la física cuántica, que permite realizar cálculos de forma paralelizable. El interés por este campo surge por la capacidad que podrían alcanzar los ordenadores cuánticos de resolver problemas computacionalmente más rápido que los ordenadores clásicos. Tras la comprensión de los principios básicos de la computación cuántica se han estudiado en detalle algunos de los algoritmos cuánticos más conocidos, centrándose en el algoritmo de Grover. Finalmente se ha podido llevar a cabo el desarrollo de un algoritmo para resolver una variante del problema de satisfacibilidad booleana, el problema ‘Exactly-1 3-SAT’, que basa su funcionamiento en el algoritmo de Grover. Se han desarrollado tres posibles implementaciones de este algoritmo y se han realizado pruebas tanto en un simulador, como en un ordenador cuántico real. El problema ‘Exactly-1 3-SAT’ es un problema perteneciente a la clase de complejidad NP-completo, cuya resolución de forma cuántica reduce el tiempo de computación notablemente con respecto a la forma clásica.