10 de agosto de 2016

Materia optativa en Rosario

Este semestre, además del curso de una semana (25 hs) que voy a dar en el CACIC, voy a dictar una materia optativa en la Licenciatura en Ciencias de la Computación (también da créditos para el doctorado) en la Universidad Nacional de Rosario. El nombre de la materia es
Introducción a la computación cuántica
y fundamentos de lenguajes de programación.
Aquí les dejo la página de la misma, donde iré subiendo el material.

28 de julio de 2016

Workshop INFINIS en Temas de Tesis de Licenciatura y Doctorado

INFINIS es un Laboratorio Internacional Asociado del CNRS-Université Paris Diderot y del CONICET-Universidad de Buenos Aires especializado en métodos formales en ciencias de la computación. Fue creado en 2011.

El miércoles 3 de agosto haremos un workshop en el que cada grupo de INFINIS presentará posibles temas de Licenciatura y de Doctorado. Son seis grupos y cada presentación tiene una duración de 30 minutos. Las presentaciones están destinadas a alumnos. No hace falta inscribirse, están todos bienvenidos.

En particular, yo estaré presentando los temas del grupo Logics and Dynamics of Programming Languages (o como lo rebautizamos en español, Lógica y Reescritura para Lenguajes de Programación).

Para más información pueden ver la página del workshop

17 de junio de 2016

Algoritmos Cuánticos para Optimización Multiobjetivo

Una de las aplicaciones más populares en computación cuántica es en el diseño de algoritmos de optimización. Esto es gracias a la popularidad del modelo de computación cuántica adiabática y anuncios realizados por compañías privadas que dicen poseer un computador cuántico de más de 1000 qubits basados en este modelo.

No voy a realizar un debate sobre si lo que dicen estas compañías es cierto o no. El objetivo de esta entrada es simplemente dar a conocer mi más reciente artículo que puede descargarse de este enlace arXiv:1605.03152. Este es el primer trabajo en donde se muestra como resolver un problema de optimización "multiobjetivo" en un computar cuántico (por lo menos eso creo después de hacer una revisión de la bibliografía). En principio, un problema multiobjetivo es un problema de optimización con dos o más funciones objetivo (que pueden ser contradictorios o presentan trade-offs) que deben optimizarse de forma simultánea. Entonces, pueden existir soluciones "óptimas" que son incomparables entre sí. Por ejemplo, si quiero llegar de un punto A a otro punto B en un mapa, quiero elegir el camino con menos tránsito y que sea más corto. Sin embargo, tal vez el camino más corto tenga la mayor cantidad de tránsito o el camino más transitado sea el más largo; entre esas dos soluciones pueden existir muchas otras soluciones con trade-offs entre cantidad de tránsito y longitud. Si quisiéramos considerar el tiempo de viaje, es suficiente con agregar eso como una función objetivo más. A las personas interesadas les invito a leer el artículo enlazado arriba para los detalles. 

Este es un artículo muy interesante porque al principio el problema era muy difícil, y no teníamos la menor idea de como proceder. El objetivo era conseguir un algoritmo cuántico en donde pudiéramos demostrar la convergencia a una solución óptima en tiempo finito. Ahí fue en donde el teorema adiabático resultó de mucha ayuda. Sin embargo, como en muchos otros trabajos de investigación, nuestra demostración nos ayudó a identificar propiedades que hacen difícil la implementación de algoritmos cuánticos adiabáticos para optimización multiobjetivo. Estas propiedades en particular aparentemente no son estudiadas por la comunidad de optimización multiobjetivo, y sin embargo, introducen también líneas de investigación interesantes en optimización clásica.