Descripción de la computación cuántica

La computación cuántica ofrece la promesa de resolver algunos de los mayores desafíos de nuestro planeta, en las áreas del medio ambiente, la agricultura, la salud, la energía, el clima, la ciencia de materiales, etc. Para algunos de estos problemas, la computación clásica tiene cada vez más dificultades a medida que aumenta el tamaño del sistema. Cuando se diseña para escalar, es probable que los sistemas cuánticos tengan funcionalidades que superen las de los superequipos más potentes de hoy en día. A medida que la comunidad global de investigadores cuánticos, científicos, ingenieros y líderes empresariales colaboran para avanzar en el ecosistema cuántico, esperamos ver que el impacto cuántico se acelere en todos los sectores.

Para más información sobre los principios y la motivación de la computación cuántica, consulte Historia y contexto de la computación cuántica.

Azure Quantum es un ecosistema abierto para crear soluciones de computación cuántica en una selección diversa del hardware cuántico actual y ofrece flexibilidad para usar las herramientas de desarrollo preferidas con compatibilidad con Cirq, Qiskit y Q#. Puedes utilizar la conocida y fiable plataforma Azure para aprender a desarrollar algoritmos cuánticos y a programarlos y ejecutarlos en hardware real de varios proveedores.

Aprenda a crear un área de trabajo de Azure Quantum y a empezar a enviar programas cuánticos en hardware cuántico real. Los usuarios nuevos obtienen créditos de Azure Quantum automáticamente para usar con cada proveedor de hardware cuántico participante (500 USD cada uno) al crear el área de trabajo. Si necesita más créditos, puede solicitar participar en el programa de créditos de Azure Quantum.

Sugerencia

Evaluación gratuita. Si no tiene una suscripción de Azure, puede crear una cuenta gratuita de Azure (consulte las cuentas gratuitas de Azure para estudiantes).

¿Para qué se puede usar la computación cuántica y Azure Quantum?

Un equipo cuántico no es un superequipo que pueda hacer todo más rápido. De hecho, uno de los objetivos de la investigación de computación cuántica es estudiar qué problemas pueden resolverse por un equipo cuántico más rápido que un equipo clásico y cuánto puede ser la velocidad.

Los ordenadores cuánticos funcionan excepcionalmente bien con problemas que requieren el cálculo de un gran número de combinaciones posibles. Estos tipos de problemas se pueden encontrar en muchas áreas, como simulación cuántica, criptografía, aprendizaje automático cuántico y problemas de búsqueda.

Para obtener la información más reciente de la investigación sobre la computación cuántica de Microsoft, consulte la página Computación cuántica de Microsoft Research.

Estimación de recursos

Los equipos cuánticos disponibles actualmente permiten experimentación e investigación interesantes, pero no pueden acelerar los cálculos necesarios para resolver problemas reales. Aunque el sector espera avances de hardware, los innovadores de software cuántico están ansiosos por avanzar y prepararse para un futuro cuántico. La creación de algoritmos hoy que finalmente se ejecutarán en los equipos cuánticos escalados con tolerancia a errores de mañana es una tarea intimidante. Estos innovadores se enfrentan a preguntas como qué recursos de hardware se requieren? ¿Cuántos cúbits físicos y lógicos son necesarios y qué tipo? ¿Cuánto tiempo tarda el tiempo de ejecución?

Puede usar el estimador de recursos de Azure Quantum para ayudar a responder a estas preguntas. Como resultado, podrá refinar los algoritmos y crear soluciones que aprovechen las ventajas de los equipos cuánticos escalados cuando estén disponibles.

Para empezar, consulte Ejecución de la primera estimación de recursos.

Obtenga más información sobre cómo evaluar los requisitos para escalar a ventajas cuánticas prácticas mediante el estimador de recursos de Azure Quantum en arXiv:2211.07629.

Simulación cuántica

La mecánica cuántica es el "sistema operativo" subyacente de nuestro universo. Describe cómo se comportan los bloques de creación fundamentales de la naturaleza. Los comportamientos de la naturaleza, como las reacciones químicas, las reacciones biológicas y las formaciones materiales, suelen implicar interacciones cuánticas de muchos cuerpos. Para simular sistemas mecánicos cuánticos intrínsecamente, como moléculas, la computación cuántica es prometedor, ya que los cúbits (bits cuánticos ) se pueden usar para representar los estados naturales en cuestión. Entre los ejemplos de sistemas cuánticos que se pueden modelar se incluyen la fototésis, la superconductividad y las formaciones moleculares complejas.

El kit de desarrollo de Quantum (QDK) incluye la biblioteca de química cuántica para simular problemas de estructura electrónica y dinámica cuántica en un equipo cuántico. Un ejemplo de estas simulaciones es la estimación de energía molecular simple del estado de tierra de una molécula. Estos y más ejemplos de QDK y Azure Quantum se pueden encontrar en los ejemplos de código.

Aceleraciones cuánticas

Uno de los objetivos de la investigación de la computación cuántica es estudiar qué problemas puede resolver un equipo cuántico más rápido que un equipo clásico y cuánto puede ser la aceleración. Dos ejemplos conocidos son el algoritmo de Grover y el algoritmo de Shor, que producen un polinomio y una aceleración exponencial, respectivamente, sobre sus homólogos clásicos.

El algoritmo de Shor ejecutado en un ordenador cuántico podría desmontar esquemas criptográficos clásicos, como el esquema Dest-Shamir-Adleman (RSA), muy utilizado en el comercio electrónico para la transmisión segura de datos. Este esquema se basa en la dificultad práctica de la factorización de números primos mediante algoritmos clásicos. La criptografía cuántica promete la seguridad de la información al aprovechar la física básica en lugar de las suposiciones de complejidad.

Al igual que el algoritmo de Shor para la factorización, el problema de desplazamiento oculto es una fuente natural de problemas para los que un equipo cuántico tiene una ventaja exponencial sobre los algoritmos clásicos más conocidos. Esto puede ayudar a resolver problemas de desconvolución y permitirnos encontrar patrones de forma eficaz en conjuntos de datos complejos. Resulta que un equipo cuántico puede en principio calcular convoluciones a alta velocidad, que a su vez se basa en la capacidad del equipo cuántico para calcular las transformaciones de Fourier muy rápidamente. En la galería de ejemplos del área de trabajo de Azure Quantum, encontrará un ejemplo de cuadernos Jupyter Notebook de Hidden Shifts (se requiere una cuenta de Azure).

El algoritmo de Grover acelera la solución de las búsquedas de datos no estructurados, ejecutando la búsqueda en menos pasos que cualquier algoritmo clásico. De hecho, cualquier problema que permita comprobar si un valor determinado $x$ es una solución válida (un "sí o no hay ningún problema") se puede formular en términos del problema de búsqueda. A continuación se muestran algunos ejemplos.

  • Problema de satisfacibilidad booleana: ¿Es el conjunto de valores booleanos $x$ una interpretación (una asignación de valores a variables) que satisface la fórmula booleana determinada?
  • Problema del viajante: ¿Describe $X$ el bucle más corto posible que conecta todas las ciudades?
  • Problema de búsqueda en la base de datos: ¿La tabla de base de datos contiene un registro $x$?
  • Problema de factorización de enteros: ¿Es el número fijo $N$ divisible por el número $x$?

Para una implementación práctica del algoritmo de Grover para resolver problemas matemáticos, eche un vistazo al Jupyter Notebook de Búsqueda de Grover en la galería de ejemplo del área de trabajo de Azure Quantum (se requiere una cuenta de Azure) o consulte este tutorial para implementar el algoritmo de búsqueda de Grover.

Para ver más muestras de algoritmos cuánticos, consulte los ejemplos de código.

Aprendizaje automático cuántico

El aprendizaje automático en equipos clásicos está revolucionando el mundo de la ciencia y la empresa. Sin embargo, el alto costo computacional de entrenar los modelos dificulta el desarrollo y el alcance de este campo. El área del aprendizaje automático cuántico explora cómo diseñar e implementar software cuántico que permita el aprendizaje automático con una ejecución más rápida que en los equipos clásicos.

El kit de desarrollo de Microsoft Quantum (QDK) incluye la biblioteca de aprendizaje automático cuántico, que ofrece la posibilidad de ejecutar experimentos de aprendizaje automático híbridos cuánticos-clásicos. La biblioteca incluye ejemplos y tutoriales, y ofrece las herramientas necesarias para implementar un nuevo algoritmo híbrido cuántico-clásico, el clasificador cuántico centrado en el circuito, para solucionar problemas de clasificación supervisada.

¿Cómo resuelve los problemas la computación cuántica?

Los equipos cuánticos son dispositivos mecánicos cuánticos controlables que aprovechan las propiedades de la física cuántica para realizar cálculos. En algunas tareas de cálculo, la computación cuántica proporciona aceleraciones exponenciales. Estos aumentos de velocidad son posibles gracias a tres fenómenos de la mecánica cuántica: superposición, interferencia y entrelazamiento.

Superposición

Imagine que está haciendo ejercicio en su salón. Gira completamente a la izquierda y, a continuación, gira completamente a la derecha. Ahora, gire a la izquierda y a la derecha al mismo tiempo. No se puede (no sin dividirse en dos, al menos). Obviamente, no puede estar en ambos estados a la vez: no puede estar mirando a la izquierda y a la derecha al mismo tiempo.

Sin embargo, si fuera una partícula cuántica, tendría una probabilidad determinada de estar mirando a la izquierda y una probabilidad determinada de estar mirando a la derecha debido a un fenómeno conocido como superposición (o también coherencia).

Al igual que los bits son las unidades fundamentales de información en la computación clásica, los cúbits son las unidades fundamentales de información en la computación cuántica. Mientras que un bit, o dígito binario, puede tener el valor 0 o 1, un cúbit puede tener un valor que sea 0, 1 o una superposición cuántica de 0 y 1.

A diferencia de las partículas clásicas, si dos estados $A$ y $B$ son estados cuánticos válidos de una partícula cuántica, cualquier combinación lineal de los estados también es un estado cuántico válido: $\text{qubit state}=\alpha A + \beta B$. Esta combinación lineal de estados cuánticos $A$ y $B$ se denomina superposición. Aquí, $\alpha$ y $\beta$ son las amplitudes de probabilidad de $A$ y $B$, respectivamente, de modo que $|\alpha|^{2} + |\beta|^{2} = 1$.

Solo los sistemas cuánticos, como iones o circuitos superconductores, pueden existir en los estados de superposición que hacen posible la eficacia de la computación cuántica. Una partícula cuántica, como el electrón, tiene sus propias propiedades "orientado a la izquierda o a la derecha" (denominado, el espín, conocido como "hacia arriba" o "hacia abajo"), por lo que el estado cuántico de un electrón es una superposición de "espín hacia arriba" y "espín hacia abajo".

Por lo general, y para poder relacionarlo mejor con la computación binaria clásica, si un sistema cuántico puede estar en dos estados cuánticos, estos estados se conocen como estado 0 y estado 1.

Cúbits y probabilidad

Los equipos clásicos almacenan y procesan información en bits, que pueden tener un estado de 1 o 0, pero nunca ambos. El equivalente en computación cuántica es el cúbit. Un cúbit es cualquier sistema cuántico que puede estar en una superposición de dos estados cuánticos, 0 y 1. Cada estado cuántico posible tiene una amplitud de probabilidad asociada. Solo después de medir un cúbit, su estado se contrae al estado 0 o al estado 1, en función de la probabilidad asociada; por lo tanto, se obtiene uno de los estados posibles con una probabilidad determinada.

La probabilidad de que un cúbit colapse en una u otra forma está determinada por la interferencia cuántica. La interferencia cuántica afecta al estado de un cúbit e influye en la probabilidad de un determinado resultado durante la medición. En este estado probabilístico es donde destacan las capacidades de la computación cuántica.

Por ejemplo, con dos bits en un equipo clásico, cada bit puede almacenar 1 o 0, por lo que juntos puede almacenar cuatro valores posibles: 00, 01, 10 y 11, pero solo uno de ellos a la vez. Sin embargo, con dos cúbits en superposición, cada cúbit puede ser 1 o 0 o ambos, por lo que se pueden representar los mismos cuatro valores simultáneamente. Con tres cúbits, se pueden representar ocho valores, con cuatro cúbits, puede representar 16 valores, etc.

Para más información, consulte el cúbit en la computación cuántica.

Entrelazamiento

El fenómeno más interesante de la mecánica cuántica es la capacidad que dos o más sistemas cuánticos tienen de entrelazarse. El entrelazamiento es una correlación cuántica entre sistemas cuánticos. Cuando los cúbits se entrelazan, forman un sistema global de modo que el estado cuántico de los subsistemas individuales no se puede describir de forma independiente. Dos sistemas están entrelazados cuando el estado del sistema global no se puede escribir como una combinación lineal de los subsistemas.

Los sistemas cuánticos entrelazados pueden mantener esta correlación aunque se separen a grandes distancias. Esto significa que cualquier operación o proceso que se aplique a un subsistema se correlaciona también con el otro subsistema. Dado que hay una correlación entre los cúbits entrelazados, al medir el estado de un cúbit se obtiene información sobre el estado del otro cúbit; esta propiedad concreta es muy útil en la computación cuántica.

Nota:

No todas las correlaciones entre las mediciones de dos bits cuánticos significan que los dos bits cuánticos estén entrelazados. Los bits clásicos también se pueden correlacionar. Dos bits cuánticos están entrelazados cuando presentan correlaciones que no se pueden reproducir mediante bits clásicos. Esta diferencia entre las correlaciones clásicas y cuánticas es sutil pero esencial para el incremento de velocidad que proporcionan los equipos cuánticos.

Para más información, consulte el tutorial de exploración del entrelazamiento cuántico con Q# y Azure Quantum.

Equipos cuánticos frente a simuladores cuánticos

Un equipo cuántico es una máquina que combina la potencia de la computación clásica y la computación cuántica. Los equipos cuánticos actuales usan un modelo híbrido: un equipo clásico que controla un procesador cuántico.

El desarrollo de los ordenadores cuánticos aún está en sus inicios. El hardware cuántico es caro y la mayoría de los sistemas se encuentran en universidades y laboratorios de investigación. Los equipos clásicos usan los conocidos chips de silicio, mientras que los equipos cuánticos usan sistemas cuánticos como átomos, iones o electrones. Sin embargo, la tecnología está avanzando y existe un acceso limitado a los sistemas cuánticos en la nube pública.

Azure Quantum permite crear algoritmos cuánticos para varias plataformas a la vez, al tiempo que conserva la flexibilidad para ajustar los mismos algoritmos para sistemas específicos. Puede elegir entre muchos lenguajes de programación como Qiskit, Cirq y Q# y ejecutar los algoritmos en varios sistemas cuánticos. En Azure Quantum, es fácil explorar simultáneamente los sistemas cuánticos actuales y estar listos para los sistemas cuánticos escalados del futuro.

Sugerencia

La primera vez que los usuarios obtienen automáticamente 500 USD (USD)créditos de Azure Quantum para su uso con cada proveedor de hardware cuántico participante. Si ha consumido todos los créditos y necesita más, puede solicitar participar en el programa Créditos de Azure Quantum.

Hardware Azure Quantum

Un equipo cuántico tiene tres partes principales:

  • Un dispositivo que aloja los cúbits
  • Método para realizar operaciones cuánticas (también conocidas como puertas cuánticas) en los cúbits y medirlas.
  • Un equipo clásico para ejecutar un programa y enviar instrucciones

Los cúbits son frágiles y altamente sensibles a las interferencias ambientales. En algunos métodos de almacenamiento de cúbits, la unidad que hospeda los cúbits se mantiene a una temperatura justo por encima del cero absoluto para maximizar su coherencia. Otros tipos de alojamiento de cúbits usan una cámara de vacío para ayudar a minimizar las vibraciones y estabilizar los cúbits.
Las operaciones se pueden llevar a cabo con distintos métodos, entre los que se incluyen microondas, láser y tensión eléctrica, en función del tipo de cúbit.

Los equipos cuánticos se enfrentan a numerosos desafíos para funcionar correctamente. La corrección de errores en los equipos cuánticos supone un problema importante, y el escalado vertical (agregar más cúbits) aumenta la tasa de errores. Debido a estas limitaciones, los equipos cuánticos de escritorio aún son cosa del futuro, pero un equipo cuántico de laboratorio que sea viable comercialmente ya está más cerca.

Microsoft se ha asociado con compañías de hardware cuántico para proporcionar acceso en la nube a hardware cuántico. Con la plataforma Azure Quantum y el QDK, puede explorar y ejecutar programas cuánticos en diferentes tipos de hardware cuántico. Estos son los destinos cuánticos disponibles actualmente:

  • Quantinuum: sistema de iones atrapados con cúbits totalmente conectados de alta fidelidad y la capacidad de tomar medidas en el circuito medio.
  • IonQ: equipo cuántico de iones atrapados reconfigurable dinámicamente hasta 11 cúbits totalmente conectados, lo que le permite ejecutar una puerta de dos cúbits entre cualquier par.
  • Rigetti: los procesadores superconductores basados en puertas estarán disponibles en Azure Quantum pronto y usarán la representación intermedia cuántica (QIR) para permitir la ejecución en paralelo y una baja latencia.

Para más información, consulte la lista de destinos de computación de Quantum completa.

Simuladores Azure Quantum

Por el momento, el uso de hardware cuántico real está limitado debido a los recursos y el presupuesto. Los simuladores cuánticos sirven para ejecutar algoritmos cuánticos. Esto facilita la prueba y depuración de un algoritmo que, después, se ejecuta en hardware real con la confianza de que el resultado cumplirá las expectativas.

Los simuladores cuánticos son programas de software que se ejecutan en equipos clásicos y permiten ejecutar y probar programas cuánticos en un entorno que predice cómo reaccionan los cúbits a diferentes operaciones, lo que facilita la prueba y depuración de un algoritmo y, a continuación, lo ejecuta en hardware real con confianza de que el resultado coincida con las expectativas.

El Kit de desarrollo cuántico (QDK) incluye diferentes clases de simuladores cuánticos que representan diferentes formas de simular el mismo algoritmo cuántico, como un simulador disperso para simular sistemas grandes, un simulador de ruido para simular algoritmos cuánticos bajo la presencia de ruido. Para más información, consulte simuladores cuánticos.

Si tiene una cuenta de Azure, en la galería de ejemplos del área de trabajo de Azure Quantum encontrará varios ejemplos de cuadernos de Jupyter Notebook que utilizan simuladores cuánticos. Consulte Introducción a Q# y los cuadernos de Azure Quantum.

Pasos siguientes