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.
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.
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.
El objetivo de esta investigación es proponer una implementación del algoritmo de Grover, un método cuántico que permite reducir significativamente el tiempo de búsqueda en bases de datos no estructuradas. Se aplicó una metodología que integró diferentes experimentos en simuladores y una computadora cuántica en el cual se incluyó el análisis del algoritmo cuántico, y se compara con los algoritmos clásicos deterministas en diferentes escenarios de búsquedas. Se estructura la arquitectura del algoritmo ajustando los parámetros que lo constituyen y tipo de búsqueda. Por ende, dando una versión de los fundamentos de la computación cuántica, destacando los principios de superposición y entrelazamiento como elementos clave para abordar problemas de búsquedas en listas no ordenadas con tecnologías cuánticas. Asimismo, se introducen los conceptos de qubits, compuertas cuánticas, circuitos cuánticos, y se describe la interpretación geométrica de su acción sobre los estados cuánticos mediante la esfera de Bloch. Se detalla el funcionamiento del algoritmo de Grover con la utilización de simuladores cuánticos y su escalabilidad en la computadora cuántica ibmbrisbane, para la estructuración de la solución a problemas de búsqueda en listas no ordenadas, explicando cómo logra una aceleración cuadrática al reducir la complejidad de búsqueda de ( O(N) ) a ( O(sqrt{N}) ). Esta investigación siguió un enfoque cuantitativo, experimental y comparativo, visualizando como este algoritmo representa una ventaja computacional significativa en la resolución de problemas de búsqueda en estructuras de datos no organizadas y con el objeto experimental del tamaño de la búsqueda.
El presente trabajo de integración curricular tiene como objetivo analizar y comparar el desempeño de un algoritmo de búsqueda clásico y de un cuántico, en específico el algoritmo de Grover, con el fin de analizar y contrastar la ventaja computacional teórica y asintótica que proporciona la computación cuántica frente a los algoritmos clásicos, considerando las limitaciones del hardware cuántico actual. Se analizan las bases teóricas de estos dos enfoques, su complejidad temporal y su comportamiento frente a conjuntos de datos de tamaño distinto. La metodología que se emplea es la simulación de ambos algoritmos, es experimental, ya que permite observar y realizar comparaciones de tiempo y eficiencia para la localización de un elemento objetivo. En el caso del algoritmo cuántico, se implementa el algoritmo de Grover mediante simuladores cuánticos, analizando el impacto del número de qubits y de las iteraciones en los resultados obtenidos. Los resultados muestran que para la búsqueda clásica la complejidad de tiempo es O(n) en cambio en el caso del algoritmo de Grover esta se reduce a O(√n) siendo una mejora interesante que se centra en un n grande. A pesar de esto, existen limitaciones en la implementación de ordenadores cuánticos en la actualidad. Por último, se concluyó que el algoritmo de Grover es una alternativa bastante interesante para resolver problemas de búsqueda no estructurada y se muestra el potencial de la computación cuántica como una tecnología emergente con aplicaciones en la ingeniería.
La computación cuántica tiene una base teórica de más de tres décadas que muestra aceleraciones polinómicas y exponenciales sobre los algoritmos clásicos. Los procesadores que se construyen hoy, sin embargo, son ruidosos, pequeños y de conectividad limitada, aún lejos de aprovechar esa ventaja en problemas de escala real. Este trabajo es un estudio experimental que mide qué tan profunda es esa brecha para cuatro algoritmos cuánticos fundamentales: Bernstein–Vazirani, Simon, Grover sobre instancias de k-SAT y la estimación cuántica de fase. Para cada algoritmo se construyó una contraparte clásica de referencia y se evaluaron, por cada tamaño de entrada, todas las combinaciones posibles de tres modelos de ruido (error de lectura, despolarizante y relajación térmica) con tres topologías de hardware (ideal, lineal de 20 qubits y heavy-hex de 127 qubits, esta última inspirada en el chip ibm_brisbane). El estudio se hizo enteramente en simulación porque permite controlar de forma independiente cada parámetro del ruido y de la conectividad, condición necesaria para hacer comparaciones limpias entre escenarios. Cada uno de los 39 escenarios resultantes por tamaño se repitió 25 veces y los resultados se reportan con intervalo de confianza al 95 % calculado con la t de Student. Toda la infraestructura (algoritmos, generador de instancias, modelos de ruido, scripts de análisis e interfaz gráfica para exploración interactiva) queda reproducible y abierta. Los hallazgos principales son tres. Primero, la ventaja teórica sobrevive en los algoritmos de poca profundidad como Bernstein–Vazirani, mientras que en Grover y en la estimación de fase el ruido deteriora rápidamente el speedup a medida que crece el número de iteraciones. Segundo, el tipo de ruido importa tanto como su nivel: el error de lectura es el menos agresivo porque no se acumula con la profundidad del circuito, mientras que el despolarizante es el más severo. Tercero, la topología influye de forma indirecta pero significativa porque condiciona la cantidad de compuertas SWAP que el compilador debe insertar y, por esa vía, aumenta la profundidad efectiva del circuito. El framework, los datos y los análisis quedan disponibles para quien quiera prototipar pruebas de algoritmos cuánticos en la era NISQ sin depender de tiempo en hardware real.
La tesis se centra en el problema de la simulación de un computador cuántico teórico (libre de errores) y de propósito general, basado en el modelo de circuitos. El problema es del tipo NP, por lo que se ha abordado en primer lugar tratando de detectar los cuellos de botella existentes tanto en espacio como en tiempo y después realizando propuestas que los van reduciendo uno por uno. De esta forma, si bien sigue siendo imposible ejecutar una simulación demasiado grande en un tiempo razonable, ha sido posible reducir los recursos necesarios para hacer una misma simulación. Gran parte del trabajo realizado ha consistido en hacer modificaciones sobre las estructuras de datos utilizadas para modelar el problema desde su perspectiva matricial. El resultado se ha materializado a través de mejoras implementadas dentro de dos proyectos de software libre y de código abierto (Free/Libre and Open Source Software en inglés) (FLOSS): QSimov y Doki, centrados en permitir al usuario trabajar en computación cuántica con pocos recursos y tratando que el paso del diagrama de un circuito cuántico a su código sea lo más inmediato posible.
Este trabajo presenta una introducción a la teoría de complejidad asociada a los algoritmos cuánticos, tomando como marco principal el modelo de circuitos cuánticos. Se estudia cómo se mide la complejidad de un algoritmo cuántico, cómo se relacionan las clases de complejidad clásicas y cuánticas, y cómo ciertos problemas permiten caracterizar la dificultad computacional de una clase completa. Como punto de partida, se considera el papel del teorema de Cook–Levin en la teoría clásica de la complejidad, el cual establece que el problema SAT es completo para la clase . Este resultado proporciona un problema concreto cuya dificultad representa la de todos los problemas pertenecientes a dicha clase. De manera análoga, en el contexto cuántico se estudia el problema cuántico de solución de sistemas lineales, conocido como QLSP, y su relación con el modelo de circuitos cuánticos. En particular, se muestra cómo la ejecución de un circuito cuántico puede reducirse a una instancia de QLSP. Esta reducción permite comprender el papel central de dicho problema en la teoría de complejidad cuántica y establecer una conexión entre la simulación de circuitos cuánticos y la solución de sistemas lineales mediante algoritmos cuánticos.