domingo, 1 de julio de 2012

Rodrigo Gumucio, master de la inteligencia artificial

http://www.lostiempos.com/oh/entrevista/entrevista/20120701/rodrigo-gumucio-master-de-la-inteligencia_176652_372741.html
Por Mónica Oblitas Zamora - Los Tiempos - 1/07/2012

Rodrigo Gumucio, master de la inteligencia artificial - Mateo  Caballero Periodista Invitado
Rodrigo Gumucio, master de la inteligencia artificial - Mateo Caballero Periodista Invitado
ESTE JOVEN CIENTÍFICO BOLIVIANO ES UNA REFERENCIA MUNDIAL EN CUANTO A INTELIGENCIA ARTIFICIALY SUS RAMAS ANEXAS | ACABA DE GANAR UN PREMIO EN SUECIA POR SU TRABAJO.

OH! ¿Qué es la inteligencia artificial y en qué se usa?
No es fácil definir lo que es la Inteligencia Artificial porque, para hacerlo, primero tendríamos que responder una pregunta profundamente filosófica: ¿Qué es la inteligencia? A partir de ello, mientras algunos estarán de acuerdo en que la inteligencia es algo que puede producirse (de manera artificial) otros al contrario sostendrán que no es posible producir inteligencia y que el término "inteligencia artificial" es incorrecto o más bien engañoso.

En la práctica, dentro del área de las Ciencias de la Computación (o Informática), la rama que llamamos Inteligencia Artificial se ocupa de lograr que las computadoras puedan resolver problemas que (hasta el día de hoy) son difíciles para ellas.

Más precisamente, en las Ciencias de la Computación, se usa la Inteligencia Artificial para lograr resolver problemas en los que la (gran) capacidad de cómputo de los (micro) procesadores modernos no es suficiente por si sola para encontrar una solución, y que por tanto requieren un enfoque "inteligente".

Este tipo de problemas son (desafortunadamente) comunes y aparecen continuamente no solo dentro de ámbitos meramente académicos sino también dentro de la vida cotidiana. Por esto, la Inteligencia Artificial puedes ser (y es) usada para resolver problemas en varios y diversos escenarios. Un ejemplo es la calidad de ciertos buscadores en la WWW, como google, que logran ("inteligentemente") encontrar resultados relevantes a nuestros criterios de búsqueda demorando pocos segundos.

Otro ejemplo es la capacidad de ciertas aplicaciones especializadas que logran ("inteligentemente") planificar el tráfico aéreo de la mejor forma posible minimizando costos y, entre otra muchas cosas, evitando posibles colisiones (o choques) entre aviones.

OH! Deme un ejemplo... 
Un ejemplo muy ilustrativo de Inteligencia Artificial aplicada se puede encontrar en los juegos de computadora. ¿Quién no ha sido alguna vez derrotado por un juego en la computadora? Si bien la Inteligencia Artificial ha logrado alcanzar muchas de las metas que han sido propuestas, tras su concepción, hace muchos años atrás, como por ejemplo desarrollar juegos de ajedrez capaces de vencer a jugadores (humanos) profesionales, también ha encontrado muchas limitaciones para alcanzar el desarrollo que se imaginó en un principio. Es muy poco probable, por ejemplo, que veamos alguna vez a una computadora aprender por si misma (de maneras interesantes) o entablar una conversación (original) con una persona.

OH! ¿De qué trata su tesis?
He desarrollado mi tesis de maestría dentro un campo fundamental de la Inteligencia Artificial llamado Programación con Restricciones (o "Constraint Programming"). A grandes rasgos, la Inteligencia Artificial requiere principalmente de dos cosas, primero una representación del conocimiento, y segundo un mecanismo de razonamiento. El mecanismo de razonamiento esta lejos de ser un cómputo (o cálculo) sencillo: es en realidad una búsqueda. Esta búsqueda consiste básicamente en hacer conjeturas e ir “probando” diferentes posibles soluciones.

De hecho, la esencia de la Inteligencia Artificial se encuentra en las heurísticas de búsqueda, es decir en los métodos que hacen (o mejor dicho intentan hacer) conjeturas "inteligentes".

OH! ¿Qué es la Programación con Restricciones?
La Programación con Restricciones es una forma de programación declarativa, basada en restricciones (o "constraints"), que en última instancia ejecuta un método de búsqueda sistemática que permite, razonando en torno a las restricciones, encontrar en corto tiempo una solución (o todas las soluciones, o la solución óptima, o todas las soluciones óptimas, o si es el caso determinar que no existe ninguna solución) a problemas en los cuales el espacio de soluciones es enorme (mucho más grande lo que, probablemente, podemos imaginar).

Una técnica alternativa a la búsqueda sistemática (que explora, implícitamente, todo el espacio de soluciones) es la búsqueda local que (si bien no explora todo el espacio de soluciones) usualmente logra encontrar una solución en menor tiempo y escala mejor a problemas con espacios de soluciones incluso mucho más grandes! Interesante y afortunadamente, es posible aplicar la técnica de búsqueda local a problemas modelados con restricciones, y dar lugar a lo que llamamos Búsqueda Local Basada en Restricciones (o "Constraint-based Local Search").

OH! ¿Qué problemas se resuelven con ella?
A menudo, los problemas que se resuelven con tećnicas basadas en restricciones se modelan usando variables de tipo entero y restricciones sobre estas variables.

Mi tesis trata acerca de aplicar la búsqueda local basada en restricciones a problemas modelados usando restricciones sobre variables de tipo conjunto (y no de tipo entero).

Si bien esto ya se hizo con éxito para el caso de la Programación con Restricciones, en el caso de la Búsqueda Local Basada en Restricciones el estado del arte (es decir, el último avance) estaba dado por una tesis de doctorado que da un marco teórico para introducir restricciones en variables de tipo conjunto a la búsqueda local.

OH! ¿Por qué es especial su tesis?
Mi tesis es considerada especial porque avanza el estado del arte en la Inteligencia Artificial haciendo principalmente dos contribuciones, una en la parte práctica y otra en la parte teórica. La primera parte de mi tesis provee el diseño e implementación de una extensión al lenguaje de programación-basada en restricciones COMET (conocido por estar a la vanguardia en cuanto a Búsqueda Local Basada en Restricciones se refiere) para dar soporte a la definición y uso de restricciones (para búsqueda local) sobre variables de tipo conjunto.

Y la segunda parte de mi tesis  muestra experimentalmente (resolviendo problemas combinatorios difíciles usados usualmente como puntos de referencia o "benchmarks" en el desarrollo de sistemas que resuelven problemas usando restricciones) que el uso de conjuntos para modelar problemas con restricciones no solo permite realizar un modelado a más alto nivel (en comparación a un modelado con variables de tipo entero), sino que también permite (en algunos casos) reducir los tiempos requeridos para encontrar una solución y, más aun, permite reducir el consumo de memoria a tal punto que (en algunos casos) algunos problemas podrían ser resueltos exclusivamente si son modelados con conjuntos.

OH!  ¿Cómo y en qué puede aplicarse la inteligencia artificial en Bolivia?
Estas tecnologías basadas en restricciones (Programación con Restricciones y Búsqueda Local Basada en Restricciones) permiten modelar problemas combinatorios difíciles y resolverlos con la computadora de manera simple pero sobre todo eficiente. Estos problemas aparecen continuamente en nuestra sociedad, por ejemplo, en la programación de tareas, elaboración de horarios, asignación de recursos, planificación del tráfico vehicular, configuración de rutas de distribución, etc.

Estoy seguro que, en Bolivia, varias empresas de nuestro medio enfrentan este tipo de problemas y buscan soluciones que maximicen sus beneficios (o minimicen sus costos). Es en este escenario donde la Inteligencia Artificial puede encontrar aplicaciones que beneficien a nuestra sociedad. Es importante notar que las tecnologías basadas en restricciones hacen gala de su verdadero poder cuando la escala de estos problemas es muy grande.

En el exterior, empresas reconocidas como por ejemplo Google (en Francia), Oracle (en EEUU), SAP (en Alemania), QuitiQ (en Holanda), y varias otras, han aplicado estas tecnologías con mucho éxito. Sería muy gratificante ver empresas bolivianas que aprovechen de los beneficios de las tecnologías basadas en restricciones para proveer mejores y nuevos servicios.

OH! ¿Hay ejemplos de su uso en la región? Argentina, Chile, etc?
Hay universidades en nuestra región que se interesan en el estudio y la aplicación de la programación con restricciones. Por ejemplo, tengo conocimiento de que en Valparaiso (Chile) y Cali (Colombia) existen grupos que se dedican al estudio de estas tecnologías.

Sería muy bueno que las universidades de nuestro medio ofrezcan cursos de alto nivel en Inteligencia Artificial, y luego, por qué no, cursos de Programación Basada en Restricciones, para que en el futuro nuestra sociedad pueda también gozar de su beneficios.

Me gustaría, también, mencionar que las universidades se interesan en la Programación Basada en Restricciones, no solo por sus aplicaciones en la industria sino también por su aplicación dentro de otras ramas de las Ciencias de la Computación. Por ejemplo, ya se habla acerca de minería de datos (o "data-mining") basado en restricciones, generación de pruebas de software (o "test suites") basados en restricciones e incluso de generación de código máquina ("back-ends" de compiladores) basados en restricciones.

OH! ¿Cómo es que Ud., decide estudiar esta área?
Mis estudios de maestría son en Ciencias de la Computación en general, y no específicamente en el área de la Inteligencia Artificial. Sin embargo, existe, en la universidad en la que estudié, un grupo de investigación en Programación Basada en Restricciones llamado ASTRA.

Luego de tomar el curso que ellos ofrecen, y quedar profundamente admirado de cómo las tecnologías basadas en restricciones manejan de una forma muy simple, y hasta elegante, la complejidad de problemas considerados muy difíciles - de la clase NP -, decidí hacer mi tesis en esta área.

Pienso que tuve un poco de suerte tanto en encontrar para mi tesis un tema interesante y desafiante a la vez, como en haber podido coordinar con el profesor líder de este grupo de investigación para la supervisión de mi trabajo. Con el objetivo de culminar con éxito mis estudios de maestría, como siempre, di lo mejor de mí para elaborar esta tesis.

Como resultado, he recibido hace unas semanas atrás, con una gran y muy grata sorpresa, un e-mail desde Suecia notificando que había ganado un premio a nivel nacional, otorgado por la Sociedad Sueca de Inteligencia Artificial, a la mejor tesis de maestría del año en Inteligencia Artificial (en ese muy lejano país).

OH!  ¿Cuáles son sus nuevos proyectos?
En este momento me encuentro trabajando dentro de una empresa en un proyecto que considero interesante. Me gustaría trabajar también en una universidad de prestigio, sin embargo no he encontrado la oportunidad de hacerlo. También he pensado muchas veces acerca de continuar con mi estudios haciendo un doctorado. Me gusta la idea, pero sin embargo tengo mis dudas de que tras completar el doctorado pueda desarrollarme profesionalmente en nuestro país, y por tanto tenga que quedarme en el extranjero. Sin embargo, quién sabe, un doctorado dura 4 años (uno puede incluso extenderse y hacer un post-doctorado), lo cual es mucho tiempo, y la situación podría cambiar: ¿Por qué no pensar que Bolivia en el futuro próximo decida financiar centros de investigación en sus universidades y por tanto necesite repatriar a sus mejores expertos?.

"Sería muy gratificante ver empresas bolivianas que aprovechen de los beneficios de las tecnologías basadas en restricciones para proveer mejores y nuevos servicios"


Perfil - Rodrigo Gumucio

El año 2002 Rodrigo Gumucio se gradúa como bachiller del Colegio San Agustín en Cochabamba. El último año de sus estudios en el colegio participó, junto con otros compañeros, en las olimpiadas de departamentales de física y matemática. Luego de clasificar a las olimpiadas nacionales de física, ganó el segundo lugar.

El año 2007 terminó sus estudios de Ingeniería en Sistemas en la Universidad Católica Boliviana en Cochabamba, y luego obtuvo su diploma, eximido de realizar una tesis, por la excelencia académica demostrada a lo largo de su carrera. Durante sus estudios de licenciatura, el año 2006, estudió becado por un semestre en la Pontificia Universidad Católica de Chile, en Santiago.

El año pasado, después de completar dos años de estudio, se graduó como Master en Ciencias de la Computación en la Universidad de Uppsala, en Suecia. Este año recibió un premio a la mejor tesis de maestría del año en Inteligencia Artificial y presentó su trabajo mediante una charla (a través de una vídeo conferencia desde La Paz) en Örebro, Suecia.