¡Esta es una revisión vieja del documento!
Tabla de Contenidos
Repositorio de posibles temas para trabajos finales de la Licenciatura en Ciencias de la Computación
Resolución HCD 3/12 (reglamentación desarrollo trabajo especial).
Tema: Algoritmos de Clustering No-Supervisados y Protocolos de Auto-Configuración para Redes Espaciales
Director: Dr. Juan A. Fraire
Resumen: Mientras que Internet asume rutas estables, las redes espaciales y satelitales deben implementar arquitecturas tolerante a demoras (Delay Tolerant Networks o DTN) para operar en contextos de alta disrupción y demora de propagación. Debido a la consideración del aspecto temporal, la escalabilidad de estas redes espaciales ha resultado limitada, especialmente en lo que respecta a la gestión y despliegue de nuevos nodos. Para superar este problema, es necesario automatizar la configuración de regiones (particiones) de la topología así como diseñar mecanismos de auto-configuración. El primer objetivo se conoce bajo el nombre de Inter-Regional Forwarding, mientras que el segundo supone lograr la asignación de URI a nuevos nodos en el sistema (más detalle).
Idea: Luego de realizar una adecuada revisión bibliográfica de la temática, el trabajo se enfocará en el estudio y comparación de estrategias clustering (aprendizaje de máquina no-supervisado) mediante el cual se puedan generar regiones en estructuras de datos conocidas como contact plans o planes de contactos. Luego, se explorarán estrategias de auto-configuración que permitan la incorporación de nuevos nodos a la topología, adaptando dinámicamente la definición de regiones. Finalmente, las soluciones se evaluarán en plataformas de simulación como DTNSim (ver presentación, y paper del simulador).
Contacto: juanfraire@unc.edu.ar
Tema: Estrategias de Aprendizaje para la Predicción de Congestión en Redes Espaciales Tolerantes a Demoras
Director: Dr. Juan A. Fraire
Resumen: Las redes tolerantes a demoras (Delay Tolerant Networks o DTN) generalizan las redes tradicionales al permitir la operación en entornos con enlaces con alta latencia y disrupciones prolongadas (posiblemente de minutos u horas), como las evidenciadas por redes espaciales. Para este fin, los nodos DTN cuentan con almacenamiento temporario, mientras que los protocolos y aplicaciones de capa superior se diseñan para minimizar los intercambios de mensajes end-to-end. El principal problema de estas redes es que la carencia de feedback inmediato impide la implementación de mecanismos de mitigación de congestión reactivos como los que se usan en el protocolo TCP. En efecto, en redes DTN la única estrategia es anticiparse al problema, para lo cual los mecanismos de aprendizaje de máquinas tan en boga en la actualidad se presentan como una alternativa atractiva, aunque poco explorada (más detalle).
Idea: Este trabajo final comenzará por realizar una revisión en profundidad de las redes DTN aplicadas al espacio, y en particular sobre los problemas de congestión que las afectan (publicación de referencia). Luego, se retomará una serie de resultados preliminares de predicción de congestión utilizando un modelo Gradient Boosting Regressor (GBR) entrenado con data sets sintéticos generados por medio de simulaciones de evento discretos (link al repo). Durante este trabajo se pulirá el modelo y se lo estudiará en casos más generales para luego evaluar exhaustivamente su precisión. Finalmente, se estudiarán alternativas de implementación de mecanismos de red que permitan hacer uso práctico de las predicciones realizadas, y así, reducir los efectos de la congestión.
Contacto: juanfraire@unc.edu.ar
Tema: Análisis de Grafos para Redes Tolerantes a Demoras
Director: Dr. Juan A. Fraire
Resumen: La Internet y sus protocolos asumen cierta estabilidad en los enlaces de comunicaciones, lo que permite el uso de estructuras de grafos estáticas para razonar sobre las topologías (i.e., enrutar, optimizar, etc.). Sin embargo, las redes tolerantes a demoras (Delay Tolerant Networks o DTN) -típicamente particionadas- (i.e., redes espaciales, vehiculares, y sub-acuaticas) requieren de estructuras de datos más generales. Una de ellas se conoce como grafos evolutivos en el tiempo (time-evolving graphs), en los que el tiempo se discretiza, para así aprovechar un grafo estático que describe la red en un intervalo de tiempo donde permanece estable. Debido a la escasa escalabilidad de este enfoque, una estructura de datos alternativa llamada grafos de contactos (contact graphs) ha tomado relevancia, y es hoy parte de los stacks de protocolos DTN más populares, aunque existen pocos análisis que justifiquen su elección (más detalle).
Idea: Durante este trabajo se hará una revisión exhaustiva de la literatura alrededor de protocolos y modelos DTNs, así como de las estructuras de datos mencionadas (time-evolving graphs y contact graphs). En base a esto se desarrollará una herramienta de simulación y análisis que permita ganar intuición sobre el rendimiento de algoritmos (i.e., Dijkstra, Shortest-Path Tree, etc.) sobre cada una de ellas (ver prototipo). Los resultados obtenidos se basarán en casos de uso concretos y serán utilizados para validar un análisis teórico/formal que compare ambas estructuras de datos en general.
Contacto: juanfraire@unc.edu.ar
Tema: Diseño de Topologías de Red y Protocolos de Comunicaciones a Escala Interestelar (En desarrollo por Juan Costamagna)
Director: Dr. Juan A. Fraire
Resumen: El reciente descubrimiento de planetas potencialmente habitables en estrellas remotas (i.e., TRAPPIST-1) ha renovado el interés en la exploración interestelar. A pesar de que el objeto más lejano creado por el humano (Voyager 1) podría tomar miles de años en llegar la estrella más cercana (Próxima Centauri), numerosos proyectos han propuesto ideas de propulsión (y sistemas de energía) para reducir esta duración en órdenes de magnitud. Lo que aún requiere de mayor discusión (y que motiva este trabajo) es el análisis de estrategias y arquitecturas de comunicaciones para dar soporte al transporte de datos en dichas misiones. En particular, resulta inevitable recurrir a estrategias de múltiples saltos, lo que demandaría un sistema en red tolerantes a demoras de escala y latencia sin precedentes (más detalle).
Idea: Realizar una revisión bibliográfica en profundidad del entorno interestelar cercano, así como de las tecnologías recientemente propuestas. En base a estas, identificar mecanismos de diseño de topologías en red (i.e., métodos MILP, algoritmos de spanning tree) que permitan dotar de conectividad a misiones interestelares con la mínima latencia y recursos. Finalmente, y aprovechando las topologías obtenidas, se evaluará por medio de simulaciones de eventos discreto posibles protocolos de transporte de datos.
Contacto: juanfraire@unc.edu.ar
Tema: Algoritmos de Consenso para una Economía Interplanetaria. (En desarrollo por Ezekiel Carranza)
Director: Dr. Juan A. Fraire
Resumen: La cantidad de objetos creados por el hombre en el espacio crece exponencialmente en el marco del new space. Ya son corrientes las misiones de espacio profundo basadas en nanosatélites, que habilitarán aplicaciones futuristas basadas en redes federadas y autónomas a escala interplanetaria. En este marco, este trabajo propone explorar mecanismos de transferencia de valor digital entre naves en el espacio exterior tal como lo hacen Bitcoin o Ethereum hoy en tierra. Sin embargo, los mecanismos de consenso proof of work o proof of stake son inviables para el entorno espacial, por lo que deberían ser reemplazados por alternativas basadas en proof of authority o directed acyclic graphs (más detalle).
Idea: Elaborar un estudio del estado del arte de los algoritmos de consenso disponibles. Identificar algoritmos o adaptaciones específicas que satisfagan las condiciones de cómputo y conectividad de las redes espacio profundo. Implementar un modelo analítico o de simulación (a definir en función de la alternativa identificada) que permita el estudio y validación del concepto (más detalle).
Contacto: juanfraire@unc.edu.ar
Tema: Implementación multiusuario online de la librería MIGSA (Massive and integrative gene set analysis).
Directores: Lic. Juan Cruz Rodriguez y Dr. Elmer Andrés Fernández
Resumen: MIGSA (http://bioconductor.org/packages/MIGSA/) es una librería de data mining que permite indagar sobre grandes fuentes de datos biológicos. Esta librería se puede correr en cualquier computadora de escritorio, sin embargo, su principal fuerte es la comparación de resultados propios contra grandes bases de datos de resultados previamente procesados. Para esto, en el presente proyecto de tesis se pretende extender MIGSA de manera que corra en un servidor. De esta manera permitir a diversos usuarios, de manera online, procesar sus datos y a su vez compararlos con los resultados de corridas previas. Adicionalmente se desarrollaran nuevas técnicas de data visualization sobre estos datos, como ser grafos.
Idea: Llevar a cabo el proceso necesario de Ingeniería del Software para dicha implementación. Mediante el framework Shiny (https://shiny.rstudio.com/) poner en funcionamiento online de MIGSA. Shiny permite crear aplicaciones web que corran código R como backend, sin conocimientos de R, HTML, JavaScript, ni CSS. Mediante el paquete Graphviz y la librería Rgraphviz (http://bioconductor.org/packages/Rgraphviz/), mejorar la visualización existente de grafos de MIGSA.
Contacto: jcrodriguez@bdmg.com.ar
Tema: Optimización del algoritmo mGSZ.
Directores: Lic. Juan Cruz Rodriguez y Dr. Elmer Andrés Fernández
Resumen: mGSZ (https://CRAN.R-project.org/package=mGSZ) es una librería del lenguaje de programación R, que mediante técnicas estadísticas no paramétricas obtiene, a partir, de matrices de genes * sujetos, conjuntos de genes que se encuentran actuando en común. Dicha librería no presenta ténicas optimizadas, por lo que la ejecución llega a demorar, en la práctica, alrededor de 14 horas. Los directores propuestos de este trabajo aplicaron diversas técnicas de optimización sobre mGSZ, llegando a un speed-up de 10X, sin embargo, existen infinidades de altertivas para optimizar aún más dicho algoritmo.
Idea: Mediante técnicas de performance detectar puntos críticos del algoritmo, tanto en memoria RAM como en tiempo de ejecución. Para las porciones de código críticas en tiempo de ejecución, implementarlas en lenguaje C eficiente. Para las porciones de código críticas en memoria, idear modificaciones algorítmicas que relajen este aspecto.
Contacto: jcrodriguez@bdmg.com.ar
Tema: Implementación de una suite de análisis de variantes sobre exomas completos para análisis de paneles y comparación de pacientes en medicina de presición
Interés en presentar a beca (http://www.msal.gov.ar/inc/destacados/becas-de-investigacion-en-cancer-2017/)
Directores: Dr. Elmer Andrés Fernández y M.V. Juan Carlos Vázquez
Resumen: El análisis de variantes es una nueva metodología de explorar la aparición de variantes (mutaciones, deleciones o inserciones) en el ADN que estén asociadas a enfermedades complejas. En la actualidad existen diferentes herramientas pero tiene la limitación de que proporcionan funcionalidades limitadas no siempre apropiadas para una disciplina determinada de medicina de presición. En este proyecto se propone implementar una herramienta basada en lenguage R para la busqueda de variantes, comparación de las mismas en grupos de individuos (análisis de DUOS y TRIOS), identificación de variantes en genes específicos (paneles) y generación de una base de datos no relacional para búsqueda, y comparación eficiente de variantes supoblacionales.
Idea: Llevar a cabo el proceso necesario de Ingeniería del Software para dicha implementación. Mediante el framework Shiny (https://shiny.rstudio.com/) poner en funcionamiento la suite de análisis de variantes. Shiny permite crear aplicaciones web que corran código R como backend, sin conocimientos de R, HTML, JavaScript, ni CSS. Evaluar estrategias de Big Data con spark en R (http://spark.rstudio.com/) Proponer estrategias de visualización y representación de información basada en Big Data.
Contacto: efernandez@bdmg.com.ar
(Sub)grupo Fundamentos de Programación
Tema: Actualización de formalización de Lua a su útlima versión.
Resumen: Lua es un lenguaje de programación dinámico, con mecanismos de meta-programación que permiten adaptar el lenguajes a dominios específicos. Incluye a su vez una API madura que facilita la tarea de embeber programas Lua dentro de aplicaciones escritas en C, permitiendo así extender las características ofrecidas por C con nuevas facilidades útiles para la rápida implementación de pequeñas aplicaciones (como tipado dinámico, junto con recolección de basura). Es ampliamente utilizado en la industria de los video juegos, o como lenguaje para implementar extensiones a aplicaciones [1].
A los fines de desarrollar herramientas que faciliten el análisis de código Lua, se precisa de una semántica formal del mismo. Actualmente se cuenta con una semántica para la versión 5.2 del lenguaje [2], utilizando un estilo operacional, junto con conceptos de reduction semantics [3]. A su vez se dispone de una mecanización de la semántica, utilizando la herramienta PLT Redex [4], lo que permitió testear el modelo con respecto a la suite de tests del intérprete oficial de Lua.
La versión estable más reciente del lenguaje es la 5.3 [5], en la cual se agregan nuevos operadores, nuevos servicios de librería estándar y cambios en la semántica de los mecanismos de metaprogramación.
Idea: La propuesta de este trabajo consiste en actualizar lo necesario del modelo presentado en [2], para adecuarlo a la versión 5.3. Esto incluye modificar el modelo formal, mecanizarlo en PLT Redex y testearlo. Por las características de la tarea hay un amplio margen de libertad para adecuar el trabajo a los tiempos/interés del/la tesista,
Directores: Beta Ziliani y Mallku Soldevila.
Referencias:
- Soldevila M, Ziliani B, Silvestre B, Fridlender D, Mascarenhas F (2017) Decoding Lua: Formal semantics for the developer and the semanticist. In: Proceedings of the 13th ACM SIGPLAN Dynamic Languages Symposium, DLS 2017
Tema: Modelado “liviano” de la semántica de Crystal mediante tests.
Resumen: El lenguaje de programación open source Crystal, nacido en Argentina, posee muchas características que lo hacen un lenguaje único. Con una sintaxis que se asemeja a Ruby, posee un sistema de tipos y es compilado a llvm, lo que lo hace eficiente y portable. Para no sobrecargar con información de tipos al/a la desarrollador/a, Crystal permite omitir la información de tipado, infiriéndola a partir del contexto.
Actualmente las semánticas del lenguaje y su inferidor de tipos se encuentran testeadas con una batería de tests surgidos de los reportes de bugs de les usuaries del lenguaje.
Idea: El objetivo de esta tesis será entonces extender la batería de tests con programas que busquen estresar los aspectos críticos del lenguaje, para así poder definir, mediante tests, la semántica esperada del lenguaje.
Director: Beta Ziliani
Grupo Lógica, Interacción y Sistemas Inteligentes (LISI)
Tema: Procesamiento automático para diálogos ruidosos generados por estudiantes.
Resumen: En el marco de un proyecto de colaboración entre FAMAF y la Universidad de Stanford, se busca un estudiante avanzado de la Licenciatura en Ciencias de la Computación de FAMAF para realizar su trabajo final en el área de “Automatic processing of noisy student-generated dialogues”. El trabajo se realiza en cooperación con la empresa https://www.yup.com/, quien provee diálogos para su análisis automático.
Idea: Aquí podrán encontrar resultados preliminares del proyecto publicados en The 4th Workshop on Noisy User-generated Text (W-NUT), 2018 Conference on Empirical Methods for Natural Language Processing (EMNLP). Para los estudiantes interesados en conocer más detalles: contactar a la directora adjuntando un listado de materias aprobadas (que puede ser obtenido desde guarani) y describiendo brevemente su nivel de Inglés.
Director: Luciana Benotti