Fecha de publicación: 2021-05-05 ### ¿Por qué deberíamos prestar atención a la computación cuántica? - A pesar de todos los avances que hemos hecho en computación y la potencia de la nube, siguen existiendo problemas que no podremos resolver incluso con toda la potencia de cómputo que tenemos. Problemas relacionados con el cambio climático, la elaboración de nuevos compuestos químicos, creación de nuevos medicamentos. - La computación cuántica es lo que muchos de nosotros, científicos y tecnólogos, estamos buscando para ayudarnos a resolver estos problemas debido a su capacidad para resolver problemas a un ritmo exponencialmente más rápido. - La computación cuántica es el lenguaje de la naturaleza, es cómo funcionan los átomos y las moléculas.  - Con esa capacidad, por ejemplo, podríamos imaginar ser capaces de crear un compuesto que extraiga el carbono del aire, o diseñar materiales superconductores a temperatura ambiente, avances que podrían ayudar a mitigar el calentamiento global. En MSFT, estamos construyendo las herramientas y capacidades para perseguir desafíos como estos: - Décadas de trabajo para comprender profundamente los algoritmos y aplicaciones y desarrollar las herramientas para permitir a los programadores - Eso conduce a una comprensión profunda de lo que necesitamos del hardware.  Necesitamos que el hardware cuántico permanezca cuántico el tiempo suficiente para superar los problemas que se le planteen.  También se requieren avances en los sistemas de control clásicos y de correción de errores. - Nuestra comprensión de cómo las computadoras cuánticas resolverán los problemas ha llevado a avances que podemos usar hoy en día, donde podemos usar lo que llamamos métodos de inspiración cuántica que se ejecutan en hardware que ya tenemos. Nuestro planteamiento es llevar todos estos avances a Azure en un nuevo conjunto de servicios denominado Azure Quantum, poniendo no sólo la tecnología de Microsoft al alcance de su mano, sino también una comunidad de proveedores de hardware y soluciones cuánticas. Si tomamos como ejemplo un problema de química difícil.  A medida que las moléculas se hacen más grandes, y están más altas en la tabla periódica, la escala del algoritmo clásico necesario para tratar su complejidad es exponencial a la complejidad de las moléculas.    Las soluciones aproximadas se pueden utilizar para materiales simples, pero con moléculas de mayor complejidad, que involucran metales y tierras raras, por ejemplo, o problemas donde se producen reacciones que rompen enlaces moleculares, estas soluciones ya no son lo suficientemente precisas porque los cálculos clásicos no escalan lo suficiente para tener en cuenta las correlaciones cuánticas de estos materiales.   Incluso con mejoras continuas en el rendimiento de la computación clásica, pasando a la computación exaescalar, la complejidad es tan alta que resulta imposible solucionar el problema con una computadora clásica. Aquí es donde la computación cuántica nos da la oportunidad de reducir o aplanar la curva de complejidad. Con la computación cuántica tenemos la oportunidad de convertir un problema que crece exponencialmente en el tiempo e imposible de resolver en un problema polinómico. Debido a que las computadoras cuánticas funcionan con principios diferentes a los clásicos, y hablan de forma nativa el mismo lenguaje que la naturaleza (mecánica cuántica), éstas serán capaces de imitar las reacciones, diseños y procesos de la naturaleza, y calcular estas ecuaciones complejas como predecir con precisión las propiedades catalizadoras a través de la simulación cuántica en cuestión de semanas, días u horas. Esto nos ofrecerá un camino diferente a través del cual podremos abordar los desafíos que tenemos a escala planetaria.  Y esto es cierto no sólo para la química, sino para la ciencia que estudia otros materiales materiales, la factorización y otros grandes problemas informáticos. ### ¿Qué hace que la computación cuántica sea tan diferente? El término "cuántica" en "computación cuántica" hace referencia a la mecánica cuántica que el sistema usa para calcular los resultados. En física, un cuanto, es la cantidad mínima indivisible de una magnitud física que puede existir. Normalmente, hace referencia a las propiedades de las partículas atómicas o subatómicas, como los electrones, los neutrinos y los fotones. Para explicarlo mejor, hagamos algunos paralelismos con las computadoras clásicas.  Si abrieras un ordenador y miraras en su interior, encontrarías entre otras cosas un montón de transistores.  Los transistores son sólo interruptores diminutos que pueden estar encendidos o apagados, como un interruptor de luz.  Pueden tener un estado, encendido o apagado.  Y los mapeamos con un bit que puede tener un valor de 0 o 1. Cuanta más información y potencia se necesite, más y ceros y unos se necesitará y, por lo tanto, más transistores serán necesarios, razón por la cual hoy nos esforzamos por meter cada vez más transistores en un solo chip sin que el tamaño crezca demasiado. Hemos pasado de computadoras que tenían 13.000 transistores, y que tenían el tamaño de una habitación en los años sesenta a consolas de videojuegos como la Xbox que tienen más de 5 mil millones de transistores. Por otro lado... Un cúbit es la unidad básica de información en la computación cuántica. Los cúbits desempeñan en la computación cuántica un papel similar al que desempeñan los bits en la computación clásica, pero se comportan de manera muy diferente. Los bits clásicos son binarios y como hemos visto solo pueden tener una posición de 0 o 1, mientras que los cúbits pueden tener una superposición de todos los estados posibles amén de otras propiedades. Para entender por qué esto es tan potente, volvamos a la computadora clásica.  Si tomamos un registro de 4 bits. Con dicho registro podremos generar 2^4 = 16 combinaciones de 0s y 1s, pero este registro de 4 bits sólo puede tomar una de esas 16 combinaciones en cada momento del tiempo. Sin embargo con un registro cuántico de 4 cubits, debido a que cada cubit puede tener una superposición de 0 y 1, podemos codificar la información clásica con una superposicón de las 16 combinaciones y calcular sobre ellas esta superposición. Para tener ese nivel de computación paralela con una computadora clásica, necesitaríamos transistores para representar los estados de las 16 combinaciones de los 4 bits. Debido a que la computadora cuántica es exponencialmente más potente, sólo necesitamos estos 4 bits!  Cada vez que añadimos un cubit, duplicamos la cantidad de información que podemos codificar.  Y es esta naturaleza inherente de los cubits lo que nos da la oportunidad de acelerar el cálculo de forma masiva. ### ¿Qué es un cúbit? Los equipos cuánticos aprovechan el comportamiento único de la física cuántica, como la superposición, el entrelazamiento y la interferencia cuántica, y lo aplican al cálculo. Esto introduce nuevos conceptos en los métodos de programación tradicionales. - **Superposición:** en la superposición, las partículas cuánticas son una combinación de todos los estados posibles. Fluctúan hasta que se observan y se miden. Una forma de ilustrar la diferencia entre la posición binaria y la superposición es imaginar una moneda. Los bits clásicos se miden "volteando la moneda" y obteniendo cara o cruz. Sin embargo, si giramos una moneda sobre wsu canto, y miramos la moneda desde arriba veríamos las dos caras a la vez, y todos los estados entre medias, la moneda estaría en una superposición. - **Entrelazamiento (Entanglement):** - Los cúbits pueden estar entrelazados, lo que significa que el estado de un cúbit puede depender del estado de otro, sin importar la distancia entre ellos. Este fenómeno permite correlaciones que no son posibles en la computación clásica. Cuando los cúbits están entrelazados, forman un único sistema y se influyen entre sí. Podemos usar las medidas de un cúbit para sacar conclusiones sobre los demás. Al agregar y entrelazar más cúbits en un sistema, los equipos cuánticos pueden calcular exponencialmente más información y resolver problemas más complejos. - **Interferencia cuántica:** la interferencia cuántica es el comportamiento intrínseco de un cúbit, debido a la superposición, de influir en la probabilidad de que colapse de una u otra forma. Los equipos cuánticos están diseñados y creados para reducir la interferencia tanto como sea posible y asegurar los resultados más precisos. Con este fin, Microsoft está investigando en áreas de cúbits topológicos, que se estabilizan manipulando su estructura y rodeándolos con compuestos químicos que los protegen frente a interferencias externas. - **Medición:** al medir un cúbit, colapsa a uno de los estados base ∣0⟩∣0⟩ o ∣1⟩∣1⟩. La probabilidad de colapsar en cada estado depende de los coeficientes de superposición antes de la medición. ### ¿Cómo funciona una computadora cuántica? ‎La arquitectura física de una máquina cuántica incluye varios componentes clave que permiten su funcionamiento. Aquí te detallo las partes principales: 1. **Cubits** (que ya hemos explicado antes): - Son las unidades básicas de información en una computadora cuántica. Pueden estar hechos de diferentes tecnologías, como trampas de iones, superconductores, puntos cuánticos, entre otros. 2. **Puertas Cuánticas**: - Estas son análogas a las puertas lógicas en las computadoras clásicas, pero operan en qubits. Permiten realizar operaciones cuánticas básicas necesarias para los algoritmos cuánticos 3. **Interconexiones y Enlaces Cuánticos**: - Los qubits necesitan estar conectados entre sí para permitir el entrelazamiento y la transferencia de información. Esto se logra mediante enlaces cuánticos que pueden ser físicos o a través de fotones 4. **Sistema de Control y Medición**: - Este sistema incluye la electrónica necesaria para controlar los qubits y medir sus estados. La medición colapsa el estado cuántico de un qubit a un estado clásico (0 o 1) 5. **Refrigeración**: - Muchas tecnologías de qubits, como los superconductores, requieren temperaturas extremadamente bajas para funcionar correctamente. Esto se logra mediante sistemas de refrigeración criogénica 6. **Corrección de Errores Cuánticos**: - Debido a la fragilidad de los estados cuánticos, es esencial tener mecanismos para detectar y corregir errores sin destruir la información cuántica 7. **Interfaz Clásica-Cuántica**: - Permite la comunicación entre la computadora cuántica y los sistemas clásicos. Esto es crucial para la entrada y salida de datos, así como para la ejecución de algoritmos híbridos ### Usos y áreas de aplicación de los equipos cuánticos Una máquina cuántico no puede hacerlo todo con más rapidez que una máquina clásica, pero hay algunas áreas en las que las máquinas cuánticas pueden tener un gran impacto. - **Simulación cuántica:** las máquinas cuánticas funcionan excepcionalmente bien para modelar otros sistemas cuánticos, porque usan fenómenos cuánticos en el cálculo. Esto significa que pueden gestionar la complejidad y la ambigüedad de sistemas que sobrecargarían las máquinas clásicas. Algunos ejemplos de sistemas cuánticos que podemos modelar son la fotosíntesis, la superconductividad y las formaciones moleculares complejas. - **Criptografía:** la criptografía clásica, como el algoritmo Rivest–Shamir–Adleman (RSA), que se usa ampliamente para proteger la transmisión de datos, se basa en la insolubilidad de problemas como la factorización de enteros o los logaritmos discretos. Muchos de estos problemas se pueden resolver de una forma más eficaz con las máquinas cuánticas. Aunque hay otros mecanismos de cifrado amenazados: 1. **Cifrado Asimétrico**: - **RSA**: Basado en la factorización de números grandes, es vulnerable al algoritmo de Shor, que puede factorizar números grandes de manera eficiente - **ECC (Criptografía de Curva Elíptica)**: También amenazada por el algoritmo de Shor, ya que se basa en la dificultad del logaritmo discreto en curvas elípticas - **DSA (Digital Signature Algorithm)**: Utiliza el logaritmo discreto, lo que lo hace vulnerable a los ataques cuánticos 2. **Cifrado Simétrico**: - **AES (Advanced Encryption Standard)**: Aunque es más resistente que los cifrados asimétricos, el algoritmo de Grover puede reducir el tiempo necesario para un ataque de fuerza bruta a la mitad 3. **Protocolos de Seguridad**: - **TLS/SSL**: Utilizan una combinación de cifrado simétrico y asimétrico. La parte asimétrica (como RSA) es particularmente vulnerable a los ataques cuánticos. - **Optimización:** la optimización es el proceso de encontrar la mejor solución para un problema, según sus restricciones y el resultado deseado. En la ciencia y la industria, las decisiones críticas se toman en función de factores como el costo, la calidad y el tiempo de producción, que se pueden optimizar. La ejecución de algoritmos de optimización inspirados en la teoría cuántica en equipos clásicos nos permite encontrar soluciones que antes eran imposibles. Esto nos ayuda a buscar mejores formas de administrar sistemas complejos, como los flujos del tráfico, la asignación de puertas a los aviones, la entrega de paquetes y el almacenamiento de energía. - **Aprendizaje automático cuántico:** el aprendizaje automático en los equipos clásicos está revolucionando el mundo científico y empresarial. Sin embargo, el entrenamiento de los modelos de aprendizaje automático conlleva un alto costo computacional y eso ha obstaculizado el desarrollo de este campo. Con el fin de acelerar el progreso en esta área, estamos explorando nuevas formas de crear e implementar software cuántico que permita un aprendizaje automático más rápido. - **Búsqueda:** un algoritmo cuántico desarrollado en 1996 aceleró drásticamente la solución a las búsquedas en datos no estructurados, ya que permitía ejecutar una búsqueda en menos pasos que cualquier algoritmo clásico.