La programación de computadoras cuánticas se está volviendo más fácil: los científicos informáticos de ETH Zurich han diseñado el primer lenguaje de programación que puede usarse para programar computadoras cuánticas de manera tan simple, confiable y segura como las computadoras clásicas. "La programación de computadoras cuánticas sigue siendo un desafío para los investigadores".dice Martin Vechev, profesor de ciencias de la computación en el Laboratorio de Sistemas Seguros, Confiables e Inteligentes SRI de ETH, "por eso estoy tan emocionado de que ahora podamos continuar la tradición de ETH Zurich en el desarrollo de computadoras cuánticas y lenguajes de programación".
Agrega: "Nuestro lenguaje de programación cuántica Silq permite a los programadores utilizar el potencial de las computadoras cuánticas mejor que con los lenguajes existentes, porque el código es más compacto, más rápido, más intuitivo y más fácil de entender para los programadores". Esta semana, Vechev lo harápresente a Silq a otros expertos en el campo en PLDI 2020, una conferencia para lenguajes de programación. Para facilitar la discusión, la adopción y el desarrollo posterior, él y su equipo también han lanzado Silq en su propio sitio web.
La computación cuántica ha visto una mayor atención en la última década, ya que estas computadoras, que funcionan de acuerdo con los principios de la física cuántica, tienen un enorme potencial. Hoy, la mayoría de los investigadores creen que estas computadoras algún día podrán resolver ciertos problemas más rápidoque las computadoras clásicas, ya que para realizar sus cálculos utilizan estados cuánticos enredados en los que se superponen varios bits de información en un determinado momento. Esto significa que en el futuro, las computadoras cuánticas podrán resolver eficientemente problemas que las computadoras clásicas no pueden resolver dentro deun plazo razonable
Esta supremacía cuántica aún no se ha demostrado de manera concluyente. Sin embargo, se han logrado algunos avances técnicos significativos recientemente. A fines del verano de 2019, una computadora cuántica logró resolver un problema, aunque muy específico, más rápido que el más rápidocomputadora clásica.
Para ciertos "algoritmos cuánticos", es decir, estrategias computacionales, también se sabe que son más rápidos que los algoritmos clásicos, que no explotan el potencial de las computadoras cuánticas. Sin embargo, hasta la fecha, estos algoritmos aún no pueden calcularse en el hardware cuántico existenteporque las computadoras cuánticas todavía son muy propensas a errores.
Expresando la intención del programador
La utilización del potencial de la computación cuántica no solo requiere la última tecnología, sino también un lenguaje de programación cuántica para describir algoritmos cuánticos. En principio, un algoritmo es una "receta" para resolver un problema; un lenguaje de programación describe el algoritmo para que unla computadora puede realizar los cálculos necesarios.
Hoy, los lenguajes de programación cuántica están estrechamente relacionados con hardware específico; en otras palabras, describen con precisión el comportamiento de los circuitos subyacentes. Para los programadores, estos "lenguajes de descripción de hardware" son engorrosos y propensos a errores, ya que las instrucciones de programación individuales debenser extremadamente detallado y así describir explícitamente las minucias necesarias para implementar algoritmos cuánticos.
Aquí es donde Vechev y su grupo entran con su desarrollo de Silq. "Silq es el primer lenguaje de programación cuántico que no está diseñado principalmente en torno a la construcción y funcionalidad del hardware, sino en la mentalidad de los programadores cuando quierenresolver un problema, sin requerir que comprendan cada detalle de la arquitectura y la implementación de la computadora ", dice Benjamin Bichsel, un estudiante de doctorado en el grupo de Vechev que supervisa el desarrollo de Silq.
Los informáticos se refieren a lenguajes de computadora que se resumen de los detalles técnicos del tipo específico de computadora como lenguajes de programación de alto nivel. Silq es el primer lenguaje de programación de alto nivel para computadoras cuánticas. Los lenguajes de programación de alto nivel son más expresivos,lo que significa que pueden describir incluso tareas y algoritmos complejos con menos código. Esto los hace más comprensibles y fáciles de usar para los programadores. También se pueden usar con diferentes arquitecturas de computadora.
Eliminando errores a través de la computación automática
La mayor innovación y simplificación que Silq aporta a los lenguajes de programación cuántica se refiere a una fuente de errores que ha plagado la programación cuántica hasta ahora. Una computadora calcula una tarea en varios pasos intermedios, lo que crea resultados intermedios o valores temporales.
Para aliviar la memoria, las computadoras clásicas borran automáticamente estos valores. Los informáticos se refieren a esto como "recolección de basura", ya que los valores temporales superfluos se eliminan.
En el caso de las computadoras cuánticas, esta eliminación es más complicada debido al enredo cuántico: los valores calculados previamente pueden interactuar con los actuales, interfiriendo con el cálculo correcto. En consecuencia, la limpieza de dichos valores temporales en las computadoras cuánticas requiere una técnica más avanzadade la llamada no computación.
"Silq es el primer lenguaje de programación que identifica y borra automáticamente los valores que ya no se necesitan", explica Bichsel. Los científicos informáticos lograron esto aplicando su conocimiento de los lenguajes de programación clásicos: su método de cálculo automático usa solo comandos de programación que son gratuitosde cualquier operación cuántica especial: son "libres de q", como dicen Vechev y Bichsel.
"Silq es un gran avance en términos de optimización de la programación de computadoras cuánticas; no es la fase final de desarrollo", dice Vechev. Todavía hay muchas preguntas abiertas, pero porque Silq es más fácil de entender, Vechev y Bichsel esperanpara estimular tanto el desarrollo posterior de los lenguajes de programación cuántica como la teoría y el desarrollo de nuevos algoritmos cuánticos.
"Nuestro equipo de cuatro personas ha logrado un gran avance después de dos años de trabajo gracias a la combinación de diferentes conocimientos en diseño del lenguaje, física cuántica e implementación. Si otros equipos de investigación y desarrollo adoptan nuestras innovaciones, será un gran éxito".dice Bichsel.
Fuente de la historia :
Materiales proporcionado por ETH Zúrich . Original escrito por Florian Meyer. Nota: El contenido puede ser editado por estilo y longitud.
Cita esta página :