Docencia: ICSR - MDSBD 2018-19

Modificado el 16 de Septiembre de 2019

Esta página contiene el material, recursos e información relativa al primer bloque de la asignatura "Inteligencia Colectiva y Sistemas de Recomendación" correspondiente al Master Propio en Data Science y Big Data (Edición III, año 2018-2019).

Este bloque comprende una introducción a la Inteligencia Colectiva en su relación con los Sistemas Complejos, así como un análisis a más profundidad de las Redes Complejas como una de las posibles aproximaciones al modelado de este tipo de sistemas.

Aunque para el seguimiento de las clases no es imprescindible tener instalado NetLogo (ver Enlaces de Interés) puede ser interesante que se instale lo antes posible, junto con del modelo de Complex Networks Toolbox (ver Recursos) para poder realizar experimentos similares a los mostrados en las clases de teoría y poder avanzar en la práctica de entrega obligatoria asociada a este bloque de la asignatura.

Contenido

  1. De la Inteligencia Colectiva a los Sistemas Complejos.
  2. Sistemas Dinámicos y Sistemas Multiagente.
  3. Redes Complejas.
    1. Modelos de Redes.
    2. Dinámica de Redes.
    3. Aplicaciones y Casos Prácticos.

Recursos

Se recomienda que el alumno baje e instale NetLogo 6.0.4 (la última versión disponible) en su máquina, y después descargue en cualquier carpeta los ficheros asociados al modelo Complex Networks Toolbox que se usa en la clase (hay que bajarse el fichero con extensión .nlogo, que es el modelo, y también scripts.nls, donde se pueden escribir los scripts personalizados). Posteriormente, basta cargar el modelo .nlogo en NetLogo (normalmente, con una instalación estándar, bastaría hacer doble clic en el modelo para que se abra la herramienta y cargue el modelo). 

Los modelos vistos a lo largo de las sesiones del bloque son:

  • Modelos de Sistemas Complejos en NetLogo (incluidos en la distribución de NetLogo): AntsFlockingFirefliesLife, PageRank.
  • Complex Networks Toolbox (no incluido en la distribución de NetLogo, desarrollado exclusivamente para este curso):
  • Sistemas de Recomendación basados en PageRank (no incluido en la distribución de NetLogo, desarrollado exclusivamente para este curso): Explora el uso de ideas similares a las usadas en PageRank (especialmente, el uso de surfistas aleatorios) para la construcción de Sistemas de Recomendación dinámicos, distribuidos, y personalizables.

Práctica Entregable

Entrega: Para la realización de los experimentos propuestos en los ejercicios siguientes puede usarse la herramienta vista en clase, y posteriormente exportar los resultados a la herramienta de análisis que resulte más conocida/cómoda para el alumno.

En el informe (en PDF) que hay que entregar debe ir una explicación de los experimentos realizados, con los scripts que se hayan generado, una breve explicación del proceso que se ha seguido en el análisis, y las conclusiones que se puedan derivar de los resultados obtenidos. No deben adjuntarse los datos recopilados durante la fase de experimentación.

Fecha de entrega: 03/Marzo/2019.

Ejercicios: Los ejercicios propuestos a continuación pueden cambiarse (previa consulta con el profesor) por alguna propuesta personalizada que explore uno, o varios, problemas relacionados con el contenido del bloque:

  1. Realiza una comparativa de, al menos, dos familias de generadores de redes que dependan de parámetros equivalentes (para que la comparativa se pueda realizar en función de esos parámetros). Por ejemplo: probabilidad de creación de aristas, número de nodos, etc. En la comparativa se debe analizar cómo varían las diversas métricas que hemos estudiado en función de los parámetros seleccionados.
  2. De forma similar al ejercicio anterior, haz experimentos de difusión haciendo uso de Spread para esas familias de redes parametrizadas e intenta concluir y comparar si hay relación entre el valor del parámetro y la permeabilidad de las redes para el comportamiento a largo plazo de la difusión obtenida (es decir, si la red se vuelve más resistente o más permeable al contagio y la pandemia).

Enlaces de Interés

  • NetLogo: a multi-agent programmable modeling environment. It is used by many tens of thousands of students, teachers and researchers worldwide. It is authored by Uri Wilensky and developed at the CCL. It is open source and free of charge. You can also try it online through NetLogo Web. https://ccl.northwestern.edu/netlogo/
  • Gephi: the leading visualization and exploration software for all kinds of graphs and networks. Gephi is open source and free. https://gephi.org
  • Cytoscape:  an open source software platform for visualizing complex networks and integrating these with any type of attribute data. A lot of Apps are available for various kinds of problem domains, including bioinformatics, social network analysis, and semantic web.  http://www.cytoscape.org
  • NetworkX: a Python package for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks.  https://networkx.github.io
  • Network: R package to create and modify network objects. The network class can represent a range of relational data types, and supports arbitrary vertex/edge/graph attributes. https://cran.r-project.org/web/packages/network/index.html
  • igraph: a collection of network analysis tools with the emphasis on efficiency, portability and ease of use. igraph is open source and free. igraph can be programmed in R, Python and C/C++. http://igraph.org
  • Tutorial de igraph en Rhttp://kateto.net/networks-r-igraph