Informatica

Científicos Logran un Avance Importante en el Campo de los Lenguajes de Programación

El lenguaje cuántico es el primero de su clase que es tan elegante, simple y seguro como los lenguajes de computadora clásicos.

Programar computadoras cuánticas es cada vez más fácil: los científicos informáticos de ETH Zurich han diseñado el primer lenguaje de programación que se puede usar 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 con 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 llamado ‘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 presentará a Silq a otros expertos en el campo en PLDI 2020, en 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ápido que 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 en un plazo razonable.

Esta supremacía cuántica aún no se ha demostrado de manera concluyente. Sin embargo, recientemente se han logrado algunos avances técnicos importantes. A fines del verano de 2019, una computadora cuántica logró resolver un problema, aunque sea específico, más rápidamente que la computadora clásica más rápida.
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 se pueden calcular en el hardware cuántico existente porque las computadoras cuánticas todavía son demasiado propensas a errores.

Expresando la intención del programador

Utilizar el 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 una computadora pueda realizar los cálculos necesarios.

Hoy, los lenguajes de programación cuántica están estrechamente vinculados a 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 deben ser extremadamente detalladas y, por lo tanto, 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 la funcionalidad del hardware, sino en la mentalidad de los programadores cuando quieren resolver un problema, sin necesidad de que comprendan cada detalle de la arquitectura de la computadora e implementación», dice Benjamin Bichsel, un estudiante de doctorado en el grupo de Vechev.

Los informáticos se refieren a lenguajes de computadora que se resumen a partir 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 se eliminan los valores temporales superfluos.

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 tales valores temporales en computadoras cuánticas requiere una técnica más avanzada de la llamada no computación.

«Silq es el primer lenguaje de programación que identifica y borra automáticamente valores que ya no son necesarios», explica Bichsel. Los científicos de la computación 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 están libres de 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 del desarrollo», dice Vechev. Todavía hay muchas preguntas abiertas, pero debido a que Silq es más fácil de entender, Vechev y Bichsel esperan 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 de 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: ETH Zurich

SHARE
RELATED POSTS
AI calcula a la velocidad de la luz
CUANDO LA INTELIGENCIA ARTIFICIAL SE CONSOLIDA CON LA MECÁNICA CUÁNTICA
Cómo Google Está Entrenando Chips Para Que Se Auto Diseñen

Comments are closed.