Resumen.La computación cuántica es un campo de investigación dinámico y apasionante que reúne el conocimiento de diversas disciplinas, incluida la física cuántica, la informática y la teoría clásica de la complejidad.Durante la década de 1980, el trabajo de David Deutsch ayudó a definir la teoría de la computación cuántica, actualmente IBM cuenta con una computadora cuántica real.En este articulo se utilizó la plataformas de IBM QISK para realizar la implementación desde cero del algoritmo de Shor.Este algoritmo permite la factorización primaria, se tomó como referencia este algoritmo debido a que ha sido muy criticado en la literatura por mostrar la supuesta intratabilidad de la factorización y la aplicabilidad universal de la teoría de la complejidad clásica, además que poner en duda la seguridad no reversible
Resumen.La computación cuántica es un campo de investigación dinámico y apasionante que reúne el conocimiento de diversas disciplinas, incluida la física cuántica, la informática y la teoría clásica de la complejidad.Durante la década de 1980, el trabajo de David Deutsch ayudó a definir la teoría de la computación cuántica, actualmente IBM cuenta con una computadora cuántica real.En este articulo se utilizó la plataformas de IBM QISK para realizar la implementación desde cero del algoritmo de Shor.Este algoritmo permite la factorización primaria, se tomó como referencia este algoritmo debido a que ha sido muy criticado en la literatura por mostrar la supuesta intratabilidad de la factorización y la aplicabilidad universal de la teoría de la complejidad clásica, además que poner en duda la seguridad no reversible
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 trabajo se enfoca en el estudio detallado del algoritmo de Shor y su implementación en el contexto de la computación cuántica. El objetivo principal es explorar este algoritmo y extraer de él estrategias y/o patrones que puedan ser aplicables a otros contextos. En particular, se hace un análisis del algoritmo de estimación de fase cuántica (QPE) como una herramienta fundamental para la obtención de la periodicidad en funciones complejas, como la exponencial modular. Se presenta además una adaptación del QPE para explorar la periodicidad en la secuencia de Fibonacci modulada; función escogida principalmente por su amplia implicación en diversas áreas científicas y tecnológicas. Así, son revelados resultados interesantes sobre la aplicabilidad del algoritmo de Shor más allá de su uso en factorización de enteros. Mediante simulaciones utilizando el software Qiskit, se demuestra que el QPE es capaz de identificar correctamente el periodo de la secuencia de Fibonacci bajo ciertos módulos. Sin embargo, la identificación resulta fallida para el resto de consideraciones, lo que presenta una posible limitación o sesgo en el algoritmo. Debiéndose esta a la falta de optimización del circuito o a la ineficacia de la estructura propuesta. Finalmente, se discuten posibles optimizaciones del algoritmo y se proponen líneas de investigación a seguir para profundizar en la identificación de la eficacia y las limitaciones del algoritmo.
La investigación se realiza con el objetivo de relacionar la computación clásica y la computación cuántica, así como determinar cuáles serán las implicaciones que podríamos ver en un futuro. Como consecuencia, surgen las preguntas: ¿Será la computación clásica eventualmente reemplazada por su contraparte cuántica? ¿Vendrá esta tecnología a revolucionar totalmente el viejo paradigma de las computadoras clásicas o tendrá una aplicación específica en ciertas industrias y se complementará con las computadoras actuales? En este artículo responderemos a ambas preguntas por medio de la ejecución de varios algoritmos de prueba cuyos resultados son la base de nuestro análisis. Cabe destacar que este artículo no se basa en simulaciones, sino en ejecuciones reales de algoritmos cuánticos en una computadora cuántica de 15-qubits.
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 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.
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.