El lenguaje de programación cuántica de Microsoft, Q#, podría ayudarle a aprender física cuántica

Krysta Svore Microsoft Q# Codificación de Computación Cuántica
microsoft

Las computadoras están a punto de volverse raras.

Contenido

  • Hacer accesible el misterio
  • Una comunidad cuántica
  • Preparándose para mañana

Después de décadas como teoría, las primeras computadoras cuánticas ahora se encuentran en unos pocos laboratorios seleccionados en todo el mundo. Son rudimentarios y posiblemente menos prácticos que las primeras computadoras electrónicas como la ENIAC de 50 toneladas. Sin embargo, los investigadores están avanzando. IBM, Google e Intel están avanzando en hardware cuántico, y una computadora cuántica práctica finalmente parece una realidad del futuro cercano en lugar de un tema de ciencia ficción.

Esa es una oportunidad. También es un problema. La física cuántica es un extraño reino de teletransportación y probabilidad que no sigue las reglas que conocemos. La mayoría de la gente no entiende la mecánica cuántica, y eso incluye a los programadores, las personas que necesitarán poner en práctica las computadoras cuánticas.

Relacionado

  • Las piezas de reparación de superficies ya están disponibles a través de Microsoft Store
  • Microsoft Teams está obteniendo nuevas herramientas de inteligencia artificial, y son gratuitas
  • Microsoft adelanta una revisión del diseño de una importante aplicación de Windows 11

Microsoft tiene un plan para educarlos.

Hacer accesible el misterio

Cualquier desarrollador que quiera aprender un nuevo lenguaje de programación, como C# o Javascript, quiere aprovechar sus lecciones de inmediato. Sin embargo, la infancia de la computación cuántica puede dificultar esa tarea. Crear un programa para muchos dispositivos cuánticos es muy parecido a intentar escribir en código de máquina binario, excepto que es aún más difícil debido a la mecánica cuántica. Este no es sólo un campo bien comprendido pero difícil de traducir. Es un área de estudio donde algunos fundamentos aún se desconocen.

Microsoft Quantum Q#, codificando en una computadora
Matt Smith/Tendencias digitales

Eso incluye la razón por qué Las computadoras cuánticas funcionan. "Lo que tenemos en la computación cuántica son pruebas de que las computadoras cuánticas pueden superar a las computadoras clásicas". dijo Krysta Svore, directora principal de investigación en el grupo de Computación y Arquitecturas Cuánticas de Microsoft. "El Santo Grial en nuestro campo sería una prueba matemática real de ello".

La computación cuántica es tan nueva y tan diferente a todo lo anterior, que incluso los mejores investigadores permanecen en la ignorancia sobre elementos importantes y fundamentales.

Computación cuántica 101

Enseñar a los programadores a codificar cuánticamente en hardware real está fuera de discusión por ahora. El lenguaje de programación cuántica de Microsoft, Q#, evita ese problema al ofrecer acceso simple a las herramientas necesarias para comenzar a programar. Eso significa hacer que Q# sea lo más familiar y accesible posible, incluso mientras los científicos continúan logrando avances en los fundamentos de cómo funcionan las computadoras cuánticas.

Q# no está escondido detrás de un muro de documentación terrible e instaladores mal explicados. Los programadores pueden acceder a él a través de Visual Studio, El entorno de desarrollo más popular del mundo.. Y los programadores no necesitan acceso a una computadora cuántica para usarla.

En cambio, pueden programar como si su código fuera a ejecutarse en un dispositivo cuántico real, pero luego ejecutarlo en una simulación virtual. Esto es posible porque la computadora cuántica no se trata como un sistema completo e independiente. sino como un acelerador que es invocado por una computadora clásica que ejecuta una computadora clásica código.

“Prevemos que la computadora cuántica sea otro recurso en Azure, además de la GPU, la FPGA y el ASIC, para usar. Azure se convierte en todo este tejido que incluye en su cómputo una computadora cuántica”, dijo Svore a Digital Trends.

cuántico microsoft q codificación python interoperabilidad jpg 3605
muestras de codificación cuántica de microsoft q github jpg 3604
codificación cuántica de microsoft q 3603
simulación cuántica de microsoft q codificación python jpg 3602

La mayoría de los programadores están familiarizados con el uso de hardware diseñado específicamente para tareas específicas, y la mayoría está familiarizada con el uso de recursos en la nube. Iniciar Q# no es diferente de esas tareas conocidas. El hardware cuántico puede ser exótico y raro, pero el entorno de programación que ofrece Microsoft para Q# es exactamente lo que verías hoy si miraras por encima del hombro de un programador como máximo Fortune 500 compañías. Eso lo hace mucho menos intimidante.

"La visión final es que el usuario no esté diciendo 'Ok, ahora necesito tomar esta aplicación y ejecutarla en esta parte de la CPU, esta parte aquí, esta parte allá'", dijo Svore. “Lo mismo ocurre con la computación cuántica. Queremos que el acelerador funcione sin problemas”.

Una comunidad cuántica

Los programadores pueden presentarse a Q# a través de un conjunto de tutoriales gratuitos que Microsoft llama Quantum Katas. Cada lección implica “una secuencia de tareas sobre un determinado tema de computación cuántica” que los programadores deben resolver. Encontrar la solución correcta es el objetivo, pero el camino es igualmente importante. Los katas no deben resolverse de una sola vez. Enseñan mediante prueba y error, presentando a los programadores los conceptos básicos de la programación cuántica a lo largo del camino.

Q# y Quantum Katas aportan un nivel transformador de retroalimentación a la programación cuántica

Chris Granade, ingeniero de desarrollo de software de investigación en Microsoft, los vio con sus propios ojos mientras asistía a una sesión de tutoría organizada por la Universidad de Tecnología de Sydney. "Fue realmente sorprendente ver cómo la gente podía pasar del conocimiento cero en materia cuántica a escribirlo", dijo a Digital Trends. “Lo que fue transformador fue que cuando la gente tenía un malentendido, no sufría por ello. Podían ejecutar los katas, podían ver que habían recibido la respuesta incorrecta y esa retroalimentación realmente hizo que la gente entendiera de manera práctica”.

Esa experiencia práctica transforma inmediatamente la computación cuántica de un concepto teórico a una realidad práctica, lo que marca la diferencia en la forma en que las personas la abordan. Puede que los programadores no fabriquen objetos físicos, pero están acostumbrados a ver comentarios como cualquier otro artesano. Crean algo y funciona, o no. Q# y Quantum Katas aportan ese nivel de retroalimentación a la programación cuántica, brindando a cualquier persona interesada la oportunidad de profundizar y comprender lo que la computación cuántica hace posible.

Computación cuántica

El cambio que Granada vio en persona no está ocurriendo sólo en las aulas. Cualquiera puede descargar el kit de desarrollo Quantum, del que forma parte Q#, con una licencia de código abierto. Los desarrolladores interesados ​​no sólo pueden empezar a utilizarlo, sino también contribuir activamente a la comunidad. Svore dijo a Digital Trends que las descargas de QDK ascienden a “las decenas de miles” y los participantes ya han agregado "un puñado de contribuciones sustanciales", incluidos nuevos algoritmos y documentación.

Si bien sigue siendo un nicho de mercado, este kit de desarrollo cuántico coloca el listón de entrada lo suficientemente bajo como para que incluso un principiante El programador puede comenzar a experimentar con Q# y, al hacerlo, comenzar a comprender qué hace que la computación cuántica sea garrapata. Esto es útil no sólo para los programadores, sino para todo el campo de la física cuántica. Explicar las teorías cuánticas es un gran dolor de cabeza no sólo porque el mundo cuántico es extraño comparado con el “clásico” física que la mayoría de los programadores conocen, sino también porque las implicaciones prácticas de la física cuántica pueden ser difíciles de entender. demostrar.

“No es necesario saber física. No es necesario conocer la mecánica cuántica”.

Las computadoras clásicas se ocupan de absolutos binarios. 1 y 0. Apagado o encendido. Quantum se ocupa de las probabilidades, y la programación cuántica significa crear algoritmos que manipulen las probabilidades para producir la solución correcta. “Sabes que esta ola incluye mi solución. Estas otras olas no incluyen una solución. Entonces, quiero que esas ondas, cuando interfieran, desaparezcan”, explicó Svore. “Y quiero que la ola que incluye mi solución crezca mucho. Al final, medimos los estados cuánticos. La probabilidad de que salga la onda alta es mayor cuanto más alta sea esa onda. Así es como diseñamos algoritmos cuánticos”.

¿Entiendes lo que significa Svore?

Si no, no te sientas mal. No es fácil de entender y no es fácil de demostrar. Incluso los experimentos mentales destinados a simplificar la mecánica cuántica, como el famoso gato de Schrodinger, pueden dejarte rascándote la cabeza.

Ingenieros de Microsoft Quantum Q#
microsoft

Microsoft espera que Q# y Quantum Katas ofrezcan una alternativa práctica para abordar el tema. “No es necesario saber física. No es necesario saber la mecánica cuántica. De hecho, admito que no estudié mecánica cuántica hasta mis estudios de posgrado”, dijo Svore. “Entré en la computación cuántica sin haber estudiado física en la universidad. Soy informático de formación”.

La programación cuántica podría convertirse en una ventana de conocimiento al brindar a los programadores la oportunidad de hacer un uso práctico de las teorías cuánticas sin abandonar las herramientas en las que confían. No es necesario pasar años aprendiendo física. Simplemente ingrese, cree una aplicación que use Q# y vea qué sucede.

Preparándose para mañana

El uso práctico actual de Q# es limitado porque no hay hardware al que recurrir. Microsoft aún no ha construido una computadora cuántica, e incluso si lo fuera, sería demasiado primitivo para realizar cálculos útiles. Pero un programador puede comprobar su trabajo ejecutando Q# en una computadora cuántica simulada. Eso hace posible codificar un programa cuántico con una expectativa razonable de que, una vez que el hardware esté disponible, funcionará.

Krysta Svore, Chris Granade, Microsoft Quantum Q#
Krysta Svore, directora principal de investigación del grupo de Computación y Arquitecturas Cuánticas de Microsoft (izquierda) y Chris Granade, ingeniero de desarrollo de software de investigación en Microsoft.Matt Smith/Tendencias digitales

Eso es crucial. Las computadoras cuánticas no son simplemente una mejor PC moderna. Son fundamentalmente diferentes. Requieren hardware diferente, algoritmos diferentes y un enfoque diferente para resolver problemas complejos. Incluso si apareciera un viajero en el tiempo con una computadora cuántica funcional y estable de millones de qubits, tendríamos problemas para ponerla en uso, del mismo modo que los eruditos romanos se quedarían perplejos si les entregaran una computadora portátil. El 99,9 por ciento de los desarrolladores, programadores e informáticos modernos no tienen experiencia en codificación cuántica y no tienen idea de cómo funciona la física cuántica. Es necesario introducir los conceptos básicos antes de que se puedan hacer descubrimientos más impresionantes.

Enseñar eso llevará tiempo, pero Q# de Microsoft es un importante paso adelante.

Recomendaciones de los editores

  • ChatGPT ahora puede generar claves funcionales de Windows 11 de forma gratuita
  • Es posible que Microsoft haya ignorado las advertencias sobre las respuestas desquiciadas de Bing Chat
  • Hackers chinos atacan infraestructura crítica de EE. UU., advierte Microsoft
  • Ya puedes probar avatares y espacios virtuales en Microsoft Teams
  • Microsoft Build 2023: los anuncios más importantes en IA, Windows y más