{"id":1513,"date":"2019-04-11T13:22:01","date_gmt":"2019-04-11T16:22:01","guid":{"rendered":"https:\/\/icc.fcen.uba.ar\/?p=1513"},"modified":"2022-03-29T10:38:54","modified_gmt":"2022-03-29T13:38:54","slug":"un-lenguaje-de-programacion-para-la-computacion-cuantica","status":"publish","type":"post","link":"https:\/\/icc.fcen.uba.ar\/en\/un-lenguaje-de-programacion-para-la-computacion-cuantica\/","title":{"rendered":"Un lenguaje de programaci\u00f3n para la computaci\u00f3n cu\u00e1ntica"},"content":{"rendered":"<div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-1 nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-0 fusion_builder_column_1_1 1_1 fusion-one-full fusion-column-first fusion-column-last\" style=\"--awb-bg-size:cover;--awb-margin-bottom:0px;\"><div class=\"fusion-column-wrapper fusion-flex-column-wrapper-legacy\"><div class=\"fusion-text fusion-text-1\"><p><em><strong>Investigadores del ICC proponen un lenguaje de programaci\u00f3n completo donde todas las operaciones que se escriben son exclusivas de la computaci\u00f3n cu\u00e1ntica, es decir, pueden compilarse en una computadora cu\u00e1ntica. El trabajo ya fue aceptado en el Simposio LICS (Logic in Computer Science) de ACM\/IEEE, cuya edici\u00f3n 2019 se realizar\u00e1 en Vancouver, Canad\u00e1.<\/strong><\/em><!--more--><\/p>\n<p>&nbsp;<\/p>\n<p><!--more--><\/p>\n<p>El Instituto de Ciencias de la Computaci\u00f3n (ICC) contin\u00faa produciendo aportes en fundamentos te\u00f3ricos de la computaci\u00f3n, impulsados por un grupo de investigadores que se dedica a estudiar lenguajes de programaci\u00f3n y l\u00f3gicas formales asociadas a estos lenguajes. Una de las aplicaciones actuales a este tema es ni m\u00e1s ni menos que la computaci\u00f3n cu\u00e1ntica (<a href=\"https:\/\/icc.fcen.uba.ar\/investigadores-desarrollan-novedosos-aportes-en-fundamentos-de-cuantica\/\">ver nota anterior del ICC<\/a>).<\/p>\n<p>Dicho de otro modo, se utilizan paradigmas de lenguajes de programaci\u00f3n y el lambda c\u00e1lculo -sistema formal dise\u00f1ado por el reconocido matem\u00e1tico Alonzo Church que resulta la base de la programaci\u00f3n funcional- \u00a0con el fin de comprender exhaustivamente la l\u00f3gica detr\u00e1s del nuevo paradigma de la computaci\u00f3n cu\u00e1ntica.<\/p>\n<p>\u00bfQu\u00e9 nuevos desaf\u00edos plantea la computaci\u00f3n cu\u00e1ntica como modelo matem\u00e1tico y cu\u00e1l es la l\u00f3gica detr\u00e1s que permitir\u00eda expresar sus propiedades naturalmente? Algunos de estos interrogantes son los que se formula diariamente <strong>Alejandro D\u00edaz-Caro<\/strong>, investigador del ICC, quien trabaja en el grupo de L\u00f3gica y Reescritura para Lenguajes de Programaci\u00f3n (LoReL).<\/p>\n<p>El investigador comenta que si bien la mec\u00e1nica cu\u00e1ntica, como rama de la f\u00edsica, ha avanzado durante el siglo XX con sus desarrollos matem\u00e1ticos y corroboraciones experimentales, existen m\u00faltiples problemas l\u00f3gicos que se intentan responder matem\u00e1ticamente para representar el funcionamiento de los programas de computaci\u00f3n. Uno de estos problemas es el de la Superposici\u00f3n. Para entenderlo conviene pensar c\u00f3mo funciona una computadora cl\u00e1sica (m\u00e1quina de Turing): la unidad b\u00e1sica de informaci\u00f3n es el bit, que puede tener dos estados posibles (0 \u00f3 1) y con los que podemos realizar diversas operaciones l\u00f3gicas. Reuniendo <em>n<\/em> bits podemos representar n\u00fameros y operar sobre esos n\u00fameros, pero con limitaciones: s\u00f3lo podemos representar hasta <em>2^n<\/em> estados distintos, y si queremos cambiar <em>x<\/em> bits tenemos que realizar al menos <em>x<\/em> operaciones sobre ellos. Eso significa que no hay forma de cambiarlos m\u00e1gicamente sin tocarlos.<\/p>\n<p>No obstante, la superposici\u00f3n nos permite reducir esas limitaciones: podemos almacenar muchos m\u00e1s que s\u00f3lo 2^n estados con n bits cu\u00e1nticos (Qubits), que pueden estar en cualquier combinaci\u00f3n de 0 y 1 al mismo tiempo. Superposici\u00f3n es otra manera de llamar a una \u201ccombinaci\u00f3n lineal\u201d, es decir, la superposici\u00f3n de estados cu\u00e1nticos consiste en la suma de todos los estados, multiplicados por alg\u00fan n\u00famero lo que nos da como resultado un nuevo estado, un vector.<\/p>\n<p>\u201c<em>A diferencia de construir un programa cl\u00e1sico que le d\u00e9 \u00f3rdenes a una computadora cu\u00e1ntica, donde no haya superposiciones posibles en esa estructura de control, estamos investigando cu\u00e1les son las operaciones l\u00f3gicas que existen dentro de la computaci\u00f3n cu\u00e1ntica e incluso qu\u00e9 operaciones se pueden superponer en los programas, en esa estructura de control\u201d,<\/em> enfatiza el doctor D\u00edaz-Caro. Para ello explica que el trabajo no consiste tanto en dise\u00f1ar el lenguaje para programar los algoritmos para la computadora cu\u00e1ntica sino en entender la l\u00f3gica que es propia y exclusiva de este modelo matem\u00e1tico.<\/p>\n<p>Con este prop\u00f3sito los investigadores no s\u00f3lo recurren a los aportes del lambda c\u00e1lculo -que es el lenguaje de programaci\u00f3n m\u00e1s simple y universal que existe- sino tambi\u00e9n espec\u00edficamente al Isomorfismo de Curry-Howard, el cual relaciona los sistemas de tipos con la l\u00f3gica proposicional. En este sentido, los tipos son <em>teoremas<\/em> y las instancias de un tipo son <em>demostraciones del teorema<\/em> que representa. \u201c<em>Entender la l\u00f3gica detr\u00e1s de un programa cu\u00e1ntico implica determinar cu\u00e1les ser\u00edan los tipos que hay en este programa y si los tipos tambi\u00e9n tienen que estar en superposici\u00f3n. Dado que los Qubits son vectores, nuestra idea es pensar a los tipos dentro de este espacio vectorial y a los programas cu\u00e1nticos como matrices que se multiplican respecto a \u00a0un vector\u201d, sostiene el investigador. Y a su vez problematiza: \u201cel tema es que no cualquier superposici\u00f3n de programas es un programa as\u00ed como tampoco no cualquier superposici\u00f3n de Qubits es un nuevo Qubit. La superposici\u00f3n de programas debe poseer algunas propiedades espec\u00edficas para que sea cu\u00e1ntica<\/em>\u201d.<\/p>\n<p><strong>En busca de un lenguaje completo para cu\u00e1ntica<\/strong><\/p>\n<p>Como parte de sus m\u00faltiples objetivos de investigaci\u00f3n, el Dr. Alejandro D\u00edaz-Caro dirige un proyecto ECOS-Sud en conjunto con el Dr. Gilles Dowek (investigador del INRIA y profesor del ENS Par\u00eds-Saclay), quien es uno de los precursores en el paradigma de superposici\u00f3n de lenguajes de programaci\u00f3n (paradigma de \u201ccontrol cu\u00e1ntico\u201d).<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"alignleft is-resized\"><img class=\"lazyload\" decoding=\"async\" src=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27262%27%20height%3D%27247%27%20viewBox%3D%270%200%20262%20247%27%3E%3Crect%20width%3D%27262%27%20height%3D%27247%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-orig-src=\"https:\/\/lh4.googleusercontent.com\/JTfcUu1khpaMK-8t_uqVETkeFP-QLuYv-R_jdRl0QQoWAWE0sKpcKUL2QFObhEj0wOPzaaivHdJD37zgySjIfLwzqlza7kMOObveU3C6szzRMo4sMzbxeBmo6oYx-KnL6JlbD0Ro\" alt=\"\" width=\"262\" height=\"247\" \/><figcaption>Alejandro D\u00edaz-Caro<\/figcaption><\/figure>\n<\/div>\n<p>Al mismo tiempo, desarrolla colaboraciones conjuntas con 4 universidades de Francia (ENS Par\u00eds-Saclay, CentraleSup\u00e9lec, Aix Marseille Universit\u00e9 y LORIA) en el marco del Laboratorio Internacional Asociado entre Francia y Argentina &#8220;SINFIN&#8221;, 1 universidad de Brasil (Universidade Federal de Santa Maria), 1 universidad de Uruguay (Universidad de la Rep\u00fablica), 1 de Chile (Universidad de Chile) y 1 de Paraguay (Universidad Nacional de Asunci\u00f3n). El art\u00edculo aceptado en el el simposio LICS enviado recientemente trata sobre el primer lenguaje de programaci\u00f3n completo en el paradigma de control cu\u00e1ntico, es decir, donde todo lo que se escribe en el programa es netamente de cu\u00e1ntica (\u201c<em>Realizability in the Unitary Sphere<\/em>\u201d, autores: Alejandro D\u00edaz-Caro, Mauricio Guillermo, Alexandre Miquel y Beno\u00eet Valiron). \u201c<em>Por ahora funciona para un s\u00f3lo Qubit pero la idea de este lenguaje coherente es que no se pueden realizar operaciones matem\u00e1ticas que no sean de la computaci\u00f3n cu\u00e1ntica<\/em>\u201d. El investigador explica en detalle que este trabajo se centr\u00f3 en un m\u00e9todo de dise\u00f1o de lenguajes conocido como Realizabilidad. \u201c<em>En lugar de dise\u00f1ar un lenguaje y ver si cumple las propiedades que necesit\u00e1s, se hace al rev\u00e9s: las propiedades que se quieren cumplir son fijadas como axiomas y se arma el lenguaje como teoremas derivados de estos axiomas<\/em>\u201d.<\/p>\n<p>El trabajo, que significa una contribuci\u00f3n destacada a los fundamentos de computaci\u00f3n cu\u00e1ntica, ya fue aceptado en el simposio de l\u00f3gica y ciencias de la computaci\u00f3n organizado por \u00a0ACM y la IEEE, cuya edici\u00f3n se realizar\u00e1 en junio de 2019 en Vancouver, Canad\u00e1.<\/p>\n<p>Otro resultado subrayado en los proyectos de D\u00edaz-Caro es haber generado una l\u00f3gica dual a la l\u00f3gica lineal para evitar el clonado de Qubits y determinar cu\u00e1ndo un programa est\u00e1 en superposici\u00f3n y cu\u00e1ndo no, respecto a una medici\u00f3n cu\u00e1ntica prefijada. Este aporte consisti\u00f3 en analizar un lenguaje de programaci\u00f3n para cu\u00e1ntica desde un punto de vista categ\u00f3rico, demostrando que al considerar la medici\u00f3n cu\u00e1ntica en un lenguaje, no alcanza s\u00f3lo con el \u00e1lgebra lineal, ya que esta medici\u00f3n es por definici\u00f3n una operaci\u00f3n no lineal. El investigador resalta que algunos de estos resultados significan un peque\u00f1o avance para entender, cada d\u00eda, un poco m\u00e1s globalmente sobre la computaci\u00f3n cu\u00e1ntica y, por ende, sobre la f\u00edsica cu\u00e1ntica, aunque efectivamente a\u00fan no se hayan desarrollado computadoras cu\u00e1nticas reales.<\/p>\n<\/div><div class=\"fusion-clearfix\"><\/div><\/div><\/div><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Investigadores del ICC proponen un lenguaje de programaci\u00f3n completo donde todas las operaciones que se escriben son exclusivas de la computaci\u00f3n cu\u00e1ntica, es decir, pueden compilarse en una computadora cu\u00e1ntica. El trabajo ya fue aceptado en el Simposio LICS (Logic in Computer Science) de ACM\/IEEE, cuya [&hellip;]<\/p>\n","protected":false},"author":9,"featured_media":1517,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[71,12],"tags":[23,30,24],"class_list":["post-1513","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-actualidad","category-noticias","tag-computacion-cuantica","tag-lenguaje","tag-teoria"],"_links":{"self":[{"href":"https:\/\/icc.fcen.uba.ar\/en\/wp-json\/wp\/v2\/posts\/1513","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/icc.fcen.uba.ar\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/icc.fcen.uba.ar\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/icc.fcen.uba.ar\/en\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/icc.fcen.uba.ar\/en\/wp-json\/wp\/v2\/comments?post=1513"}],"version-history":[{"count":10,"href":"https:\/\/icc.fcen.uba.ar\/en\/wp-json\/wp\/v2\/posts\/1513\/revisions"}],"predecessor-version":[{"id":2156,"href":"https:\/\/icc.fcen.uba.ar\/en\/wp-json\/wp\/v2\/posts\/1513\/revisions\/2156"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/icc.fcen.uba.ar\/en\/wp-json\/wp\/v2\/media\/1517"}],"wp:attachment":[{"href":"https:\/\/icc.fcen.uba.ar\/en\/wp-json\/wp\/v2\/media?parent=1513"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/icc.fcen.uba.ar\/en\/wp-json\/wp\/v2\/categories?post=1513"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/icc.fcen.uba.ar\/en\/wp-json\/wp\/v2\/tags?post=1513"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}