Docencia: ICSR - MDSBD 2017-2018

Modificado el 27 de Enero de 2018

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 II, año 2017-2018).

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 realizar 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 en su máquina, y después descargue en cualquier carpeta los ficheros asociados al modelo Complex Networks Toolbox que se ha visto en clase (ha de 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 lo cargue). 

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.

Fecha de entrega: Por determinar.

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. Selecciona un modelo de generación de redes que dependa de uno, o más, parámetros (uno cualquiera de los que vienen incluidos en la herramienta) y analiza cómo afecta el valor del parámetro a las diversas medidas globales de centralidad de la red.
  2. De forma similar al ejercicio anterior, haz experimentos de difusión haciendo uso de Spread para una familia de redes parametrizada e intenta concluir 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).
  3. Haciendo comprobaciones experimentales sobre familias de redes adecuadas, ¿puedes indicar la existencia de correlaciones (positivas o negativas) entre algunas medidas de centralidad? (por ejemplo, cuando el coeficiente de clustering crece, el de PageRank también, o al revés).

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 also powers HubNet participatory simulations. It is authored by Uri Wilensky and developed at the CCL. You can download it 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