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 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 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.
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.
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 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 ibm_brisbane, 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(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.
La computación cuántica es un paradigma de computación basado en las propiedades de la mecánica cuántica. Su unidad básica de información es el qubit, que permite estar en una superposición de múltiples estados. Esta propiedad, entre otras, permite la representación y manipulación de información de maneras que presentan potenciales ventajas respecto de otros tipos de computación. Sin embargo los ordenadores cuánticos actuales están limitados por la cantidad de ruido que sufren sus qubits. Los algoritmos cuánticos variacionales son una familia de arquitecturas de algoritmos cuánticos que surgen como una oportunidad en esta situación ya que debido a sus propiedades son capaces de alcanzar buenos resultados a pesar del ruido. La efectividad de esta aproximación depende de diversos factores como la tarea a resolver, el circuito cuántico utilizado, la optimización clásica, etc. que deben ser adaptados en cada situación. El objetivo de este proyecto es comprender y estudiar esta familia de arquitecturas desde sus fundamentos teóricos, y posteriormente realizar simulaciones que pongan en práctica estos conceptos. Para ello en la primera sección se definen los principios teóricos de la computación cuántica, para luego definir la arquitectura común entre los algoritmos variacionales y finalmente concretar en tres implementaciones relevantes, que después de exponerse serán implementadas con herramientas software de simulación de computación cuántica.
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.