Publicado 15/06/2020 07:37

Primer lenguaje de programación intuitivo para computadora cuántica

Primer lenguaje de programación intuitivo para computadora cuántica
Primer lenguaje de programación intuitivo para computadora cuántica - ETH ZURICH

   MADRID, 15 Jun. (EUROPA PRESS) -

   Científicos de ETH Zurich han diseñado Silq, el primer lenguaje de programación que puede usarse en computadoras cuánticas de forma tan simple, confiable y segura como en computadoras clásicas.

   "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", explica en un comunicado Martin Vechev, profesor de ciencias de la computación en el Laboratorio de Sistemas Seguros, Confiables e Inteligentes (SRI) de ETH.

   Esta semana, Vechev presentará 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 (silq.ethz.ch).

   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 muy 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 pueden calcularse en el hardware cuántico existente porque las computadoras cuánticas todavía son muy propensas a errores.

   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.

   "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 y la implementación de la computadora ", dice en un comunicado Benjamin Bichsel, un estudiante de doctorado en el grupo de Vechev que supervisa el desarrollo de Silq.

   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 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 están libres de cualquier operación cuántica especial; son "libres de q", como dicen Vechev y Bichsel.