Historia y contexto de la computación cuántica

En los últimos años ha surgido un conjunto de nuevas tecnologías, y la computación cuántica es posiblemente la tecnología que requiere el mayor cambio de paradigma por parte de los desarrolladores. Richard Feynman y Yuri Manin ya propusieron equipos cuánticos en la década de 1980. El origen de la computación cuántica se debió al que solía considerarse uno de los aspectos más embarazosos de la física: los grandes progresos científicos se enfrentaban a la imposibilidad de modelar incluso sistemas simples. La mecánica cuántica se desarrolló entre 1900 y 1925, y sigue siendo la piedra angular en la que se basan la química, la física de la materia condensada y tecnologías que van desde los chips informáticos a la iluminación LED. Y, a pesar de estos éxitos, incluso algunos de los sistemas más sencillos parecían quedar fuera del alcance de la capacidad humana para modelar con mecánica cuántica. Esto se debe a que la simulación de sistemas de incluso unas pocas decenas de partículas en interacción requiere más potencia de computación de la que pueda proporcionar cualquier equipo convencional durante miles de años.

Por qué usar equipos cuánticos

Hay muchas maneras de entender por qué la mecánica cuántica es difícil de simular. Quizás la más sencilla de entender es la interpretación de la teoría cuántica que dice que la materia, en el nivel cuántico, está en multitud de configuraciones posibles (conocidas como estados). A diferencia de la teoría clásica de las probabilidades, estas numerosas configuraciones del estado de un cuanto, que se podrían llegar a observar, pueden interferir entre sí como las olas en una piscina de mareas. Esta interferencia impide el uso del muestreo estadístico para obtener las configuraciones del estado cuántico. En su lugar, tenemos que hacer un seguimiento de todas las configuraciones posibles en las que un sistema cuántico podría estar si queremos comprender la evolución de los cuantos.

Tomemos un sistema de electrones en el que los electrones pueden estar en cualquiera de $40$ posiciones. Por lo tanto, los electrones pueden estar en cualquiera de las $2^{40}$ configuraciones (porque cada posición puede tener o no un electrón). Para almacenar el estado cuántico de los electrones en la memoria de un equipo convencional, se necesitarían más de $130$ GB de memoria. Esto es importante, pero factible para algunos equipos. Si permitimos que las partículas estén en cualquiera de las $41$ posiciones, tendríamos el doble de configuraciones en $2^{41}$ que, a su vez, necesitaría más de $260$ GB de memoria para almacenar el estado cuántico. Este juego de aumentar el número de posiciones no se puede reproducir indefinidamente si se desea almacenar el estado convencionalmente, porque superaríamos rápidamente las capacidades de memoria de las máquinas más eficaces del mundo. Con unos cientos de electrones, la memoria necesaria para almacenar el sistema supera el número de partículas del universo; por lo tanto, no hay ninguna esperanza de que nuestros equipos convencionales simulen su dinámica cuántica. Y, sin embargo, en la naturaleza, estos sistemas evolucionan fácilmente en el tiempo según las leyes de la mecánica cuántica, completamente inconsciente de su incapacidad para diseñar y simular su evolución con la potencia de la informática convencional.

Esta observación llevó a los primeros visionarios de la computación cuántica a formular una pregunta sencilla pero impactante: ¿podemos convertir esta dificultad en una oportunidad? En concreto, si la dinámica cuántica es difícil de simular, ¿qué sucedería si se creara hardware que tuviera efectos cuánticos como operaciones fundamentales? ¿Podríamos simular sistemas de partículas en interacción utilizando un sistema que aprovecha exactamente las mismas leyes que los rigen de forma natural? ¿Podríamos investigar las tareas que no existen en la naturaleza y aún así seguir o aprovechar las leyes de la mecánica cuántica? Estas preguntas condujeron a la aparición de la computación cuántica.

La base fundamental de la computación cuántica consiste en almacenar información en los estados cuánticos de la materia y usar operaciones de puertas cuánticas para realizar procesos con dicha información, aprovechando y aprendiendo a "programar" la interferencia cuántica.

Uno de los primeros ejemplos de la programación de interferencias para solucionar un problema que se consideraba difícil en nuestros equipos convencionales lo planteó Peter Shor en 1994 para un problema conocido como factorización. La solución de la factorización conlleva la posibilidad de vulnerar muchos de nuestros sistemas de cifrado de claves públicas que subyacen a la seguridad del comercio electrónico actual, incluidas la criptografía de curva elíptica y RSA. A partir de entonces, se han desarrollado algoritmos de computación cuántica eficientes para muchas de las tareas difíciles clásicas: simular sistemas físicos en química, física y ciencia de los materiales, buscar en una base de datos desordenada, resolver sistemas de ecuaciones lineales y aprendizaje automático.

Un equipo cuántico no es un superequipo que puede hacer todo más rápido o que puede resolver cualquier problema. Los problemas que un equipo cuántico puede resolver de forma más eficaz que un equipo clásico se denominan BQP (polinomiales cuánticos de error limitado), lo que significa que un equipo cuántico puede resolverlos en tiempo polinómico. Algunos ejemplos de problemas de BQP incluyen el problema de factorización y el problema de búsqueda.

Uso de Azure Quantum y el kit de desarrollo de Quantum para la computación cuántica

La computación cuántica está evolucionando rápidamente. Azure Quantum es un ecosistema de nube abierto, flexible y preparado para el futuro para la computación cuántica que le permite ofrecer un impacto con sus aplicaciones, exploración e investigación cuánticas. Azure Quantum ofrece un conjunto diverso de soluciones y tecnologías de computación cuántica.

  • Créditos Azure Quantum gratuitos para impulsar el desarrollo.
  • Los cuadernos Jupyter Notebooks alojados gratuitamente para empezar a trabajar en minutos.
  • Compatibilidad con los lenguajes cuánticos y SDK más populares: Q#, Qiskit y Cirq.
  • Escribe una vez y ejecuta en múltiples arquitecturas de hardware.

Sugerencia

Si no tiene una cuenta de Azure, regístrese de forma gratuita y regístrese para obtener una suscripción de pago por uso. Con los créditos de Azure Quantum, tendrá 500 USD (USD) para usarlos en cada proveedor de hardware cuántico. Si es estudiante, puede aprovechar una cuenta gratuita de Azure para los alumnos.

Diseñar un programa cuántico para aprovechar las interferencias puede parecer un reto abrumador y, aunque lo es, han aparecido muchas técnicas y herramientas, entre ellas el kit de desarrollo de Quantum (QDK), que facilitan la programación cuántica y el desarrollo de algoritmos. Hay una serie de estrategias básicas que se pueden usar para manipular las interferencias cuánticas de una manera útil para la computación, sin hacer que la solución se pierda en las infinitas posibilidades cuánticas. La programación cuántica es un arte distinto de la programación clásica que requiere herramientas muy diferentes para comprender y expresar la lógica de los algoritmos cuánticos. En realidad, el desarrollo de algoritmos no es tan sencillo si el desarrollador cuántico no cuenta con la ayuda de herramientas generales.

El kit de desarrollo de Quantum da a una comunidad en constante crecimiento las herramientas necesarias para desbloquear la revolución cuántica. El lenguaje de programación cuántica de alto nivel, Q#, se diseñó para abordar los desafíos del procesamiento de la información cuántica; se integra en una pila de software que permite compilar un algoritmo cuántico en las operaciones primitivas de un equipo cuántico.

Antes de comenzar a trabajar con el lenguaje de programación, resulta útil revisar los principios básicos en los que se basa la computación cuántica. Consulte algunos conceptos importantes de computación cuántica, como el cúbit, las medidas de Pauli o el álgebra lineal para la computación cuántica. Si desea realizar un estudio más profundo de la historia y los principios de la computación cuántica, consulte la sección de referencia.

Pasos siguientes