Algoritmos eficientes para (casi) todo

En Ciencias de la Computación, una tarea básica es la creación de nuevos métodos denominados “algoritmos”. Pero, ¿de qué hablamos cuando hablamos de  “algoritmos”? Se trata ni más ni menos que una secuencia de instrucciones que siguen ciertos pasos lógicos y ordenados, los cuales conducen a la solución de un problema.

El desafío de encontrar algoritmos y estructuras de datos más eficientes para cualquier problema que requiera una solución computacional, siempre estuvo en el centro de las preocupaciones de los científicos del área de Algoritmos del ICC.

Uno de sus principales investigadores, Esteban Feuerstein -Dr. en Ciencias de la Computación y profesor de Exactas-UBA- ha hecho un extenso recorrido por la aplicación de herramientas computacionales a problemas vinculados con estructuras de datos y grandes volúmenes de información.

Trabajé con Yahoo en un proyecto cuyo objetivo era diseñar mecanismos automáticos para que el motor de búsqueda y/o el sitio web pueda seleccionar qué publicidad mostrar. Esta investigación también me llevó a ocuparme de la recuperación de información (algoritmos más eficientes para encontrar lo que uno busca en una base textual) y mecanismos para indexación (encontrar todos los documentos que hacen referencia a una palabra o a un conjunto de palabras de la forma más rápida posible)”, detalla Feuerstein.

En el año 2014, Feuerstein junto a otros investigadores especializados en investigación operativa, continuó el trabajo de Yahoo pero orientado al problema de la jerarquización: presentar la información-resultado de la búsqueda como paquetes de elementos vinculados. Por ejemplo si uno busca la palabra “órgano”, el motor de búsqueda debe poder entender contextualmente que se trata del instrumento musical y en vez de devolver una lista de todos los vendedores de órganos del país junto con información irrelevante para el usuario, pueda empaquetar los elementos y devolver los resultados agrupados coherentemente: por ej. en el paquete 1 el órgano de una marca A, manual de órganos A, accesorios para órganos A y en el paquete 2 el órgano de una marca B, manual y accesorios B, etc. Y así sucesivamente.

Con la perspectiva de aggiornar el enfoque de los problemas algorítmicos al surgimiento de fenómenos populares de la web, tales como el crecimiento de las redes sociales digitales o el estudio de la dinámica de las redes y recuperación de la información en tiempo real, el investigador afirma que “más allá de que sigamos usando técnicas clásicas de la teoría de grafos y la optimización combinatoria, en estos últimos años hubo una revolución con todo lo que es Big Data e Inteligencia Artificial. Este cambio cuantitativo, de escala de los datos, produjo cambios cualitativos notorios en diversas disciplinas”, argumenta Feuerstein.

“En estos últimos años hubo una revolución con todo lo que es Big Data e Inteligencia Artificial. Este cambio cuantitativo, de escala de los datos, produjo cambios cualitativos notorios en diversas disciplinas”.

Para el investigador del ICC, la idea de Big Data superó una barrera para pensar nuevos fenómenos, a través del avance en la capacidad de almacenar, procesar y generar datos masivos. Además del crecimiento exponencial en el volumen de los datos surgió una nueva demanda de tener que guardar todos los datos. Todo eso junto produjo novedades: el fenómeno de las redes sociales y las aplicaciones de la inteligencia artificial, las nuevas redes de sensores con ejemplos donde las acciones del usuario dejan una huella y producen datos que pueden ser guardados y/o procesados. A partir del Big Data, aparecieron biólogos, médicos, ingenieros agrónomos y sociólogos, entre otras profesiones, que se fueron especializando en datos. Al mismo tiempo, la computación cruzó sus objetos de estudio, con temas que eran propios de la sociología, como el análisis de redes sociales y comunidades online.

A modo de ejemplo de este tipo de enfoques, Feuerstein junto a Juan Manuel Ortiz de Zarate -Becario del ICC- e investigadores de otras universidades, desarrollaron un artículo titulado “Procesamiento Eficiente de Grafos Masivos para Aplicaciones en Redes Sociales”. El objetivo del trabajo, que se está presentando en el Workshop de Investigadores en Ciencias de la Computación 2018, es pensar y diseñar algoritmos eficientes para detectar comunidades en redes sociales, particularmente en la red social Twitter.

En una primera instancia el trabajo aborda los problemas clásicos de la estructura de la red: topología, centralidad en la red, distancia de nodos, hubs, clustering, importancia de los nodos, grupos o actores que comunican grupos entre sí, dinámica de la red, etc. En el caso de Twitter,  estos problemas podrían apreciarse en la red de “seguidores” o “retweets”, que da lugar a algoritmos específicos para detectar comunidades en grupos y segmentos notoriamente separados.

Pero en una segunda instancia el trabajo va mucho más allá, profundizando en nuevos enfoques del problema. En este sentido, si el estudio se basa solamente en la estructura de la red, existen herramientas algorítmicas de random walks; el algoritmo busca un nodo, empieza a transitar aleatoriamente por la red y después de un tiempo se detiene y mira cuáles son los nodos vinculados a ese primer nodo que visitó. Los nodos que fueron visitados muchas veces pueden estructurarse como una comunidad. Sin embargo, en el caso de Twitter, el estudio del lenguaje utilizado en la red resultaría una variable relevante y valiosa para encontrar comunidades “nuestra hipótesis se basa en que al estudiar cómo hablan los usuarios, si utilizan una jerga para comunicarse entre sí a través de sus mensajes, se puede determinar si el usuario pertenece o no a una determinada comunidad sin necesidad de hacer un análisis de la estructura. Estimamos que esto se aplicaría a ciertas redes y a otras no”, explica Feuerstein.

Algoritmos eficientes para (casi) todo_icc

Al mismo tiempo, el investigador aclara que este tipo de enfoque resultaría eficiente para el estudio de comunidades con opiniones políticas, donde es marcada la polarización de opiniones de sus miembros (conocida comúnmente como “grieta” o “brecha”).

En síntesis, algunas de las proyecciones futuras del trabajo de Algoritmos aplicados a Redes Sociales consisten en: 1) comparar la performance del análisis de contenido con el análisis de la estructura de la red, de modo de determinar qué análisis resulta más eficiente para una red social 2) incorporar a los modelos de análisis que operen sobre grafos masivos (redes sociales digitales), nuevas técnicas de minería de datos y, específicamente, de aprendizaje automático (machine learning).

2018-09-20T10:10:56+00:00 22/abril/2018|Noticias|