Martín Muñoz
Enero 9, 2023
Martín Muñoz: “Tenemos un algoritmo que recibe una consulta de un usuario, sobre una colección masiva de datos que éste posee y usando este lenguaje de programación obtiene todas las respuestas posibles sobre el tema consultado”.
Martín Muñoz: “Tenemos un algoritmo que recibe una consulta de un usuario, sobre una colección masiva de datos que éste posee y usando…”
Un proyecto de índole teórico que busca ayudar a un usuario a encontrar todas las respuestas posibles dentro de un repositorio digital o stream de datos de gran tamaño, a través de un lenguaje de programación es lo que desarrolla desde 2019 Martín Muñoz, estudiante de cuarto año del Doctorado en Ciencias de la Ingeniería, área Ciencias de la Computación. Esta investigación fue una de las 10 finalistas del Concurso Tesis en Tres Minutos UC (3MT® UC) de este año.
“Una colección de lenguajes para consultas con conjuntos de respuestas masivos” es el nombre inicial del proyecto de tesis con el que Martín Muñoz busca dar respuestas a todas las consultas que un usuario haga sobre un repositorio digital gracias al uso de algoritmos o códigos de programación. La investigación ya cuenta con tres papers de conferencia, que representan las tres fases de su trabajo.
“Es un proyecto de índole teórico, más de matemática que de aplicación. Como los resultados son abstractos, están hechos independiente del ámbito que se quiera usar. El escenario que nos interesa es donde un usuario hace una cierta consulta sobre un documento muy grande que él posee. Nosotros tenemos un algoritmo que recibe esta consulta y este documento entrega todas las respuestas disponibles”, explicó.
Lo que se busca es que este algoritmo, que trabaja específicamente sobre documentos en formato pdf, archivos en Word o imágenes, entregue soluciones a todo tipo de requerimientos. “Es un método que detalla cómo resolver un problema formal. Por ejemplo, un biólogo puede tener un genoma (que es una secuencia de millones de proteínas) y él quiere encontrar todos los lugares en donde se cumpla algo que él requiere saber. Si puede describirlo en el lenguaje de consulta podemos entregarle todas las respuestas de forma óptima”, agregó el candidato a doctor y miembro del Instituto Milenio Fundamentos de los Datos (IMFD).
Lenguaje abstracto
Esta investigación, que se encuentra en su última fase y que se espera esté lista en septiembre próximo, partió en 2018 con Cristian Riveros, experto del Departamento de Ciencias de la Computación UC y profesor guía de Martín en el doctorado.
“Él ya había publicado resultados relacionados con esto. Me presentó el problema y lo encontré bien interesante porque me propuso implementar lo que ya había o extenderlo teóricamente. Ahí yo tenía claro que lo que me interesaba era encontrar otros resultados teóricos y hacer más algoritmos”, comentó el doctorando.
Martín explicó que los investigadores e investigadoras que hacen algoritmos están constantemente monitoreando sitios webs especializados, como el de Stack Exchange, donde se discuten y difunden los nuevos descubrimientos. “A veces uno tiene un problema puntual y no sabe qué algoritmos existen o siquiera si es que existe alguno o no. Ahí uno suele preguntarle a una persona que conoce y que ya estudió eso, pero también se puede dejar una pregunta abierta y ver si alguien más sabe”, agregó.
“Lo que le interesa a esta comunidad es juntar los resultados obtenidos en el tiempo. Por ejemplo, tomar el algoritmo descubierto en 2009 con otro del 2014 y a través de una técnica que sea creativa e interesante poder llegar a un resultado mejor que es el que quedará como ‘estado del arte’. En unos casos, la gente se queda con el algoritmo mismo y lo usa sin ver lo que hay adentro, y en otros lo interesante no es el resultado sino cómo se llegó a él”, dijo.
Creando algoritmos
Martín comentó que su afinidad por la computación teórica partió en el tercer año de su pregrado en la Facultad de Ingeniería UC. “Me di cuenta que más que desarrollar aplicaciones, me interesaba entender la matemática que había detrás de los programas. En esa época entré al Taller de Programación Avanzada en donde encontré los problemas algorítmicos que de verdad me interesaban. Allí el código estaba en segundo plano y lo que importaba era entender el algoritmo que estaba detrás y cuál era el problema matemático que estábamos resolviendo”.
En 2017 ingresó al Magíster en Computación en la universidad y este mismo año hizo su primera publicación “Descriptive Complexity for Counting Complexity Classes” junto a los profesores Marcelo Arenas y Cristian Riveros.
“Hace poco aceptaron mi cuarto paper de conferencia y estoy en planes de escribir mi segundo paper de revista”, comentó Martín quien también fue profesor por un semestre del curso Estructuras de Datos en la Facultad de Ingeniería y coach del grupo de programación competitiva en la UC desde 2018.
En diciembre, Martín terminó su pasantía en el Telecom Paris, Francia, junto a Antoine Amarilli quien fue su profesor anfitrión y miembro del equipo DIG (Data, Intelligence & Graphs).
“Mi motivación principal es encontrar una solución a un problema interesante y desafiante más que algo útil. En algunos ámbitos teóricos se suelen desarrollar resultados que empujan las técnicas al límite para buscar la mejor solución a un problema. Puede que esto le sea útil a alguien mañana o recién en veinte años más”, concluyó.