Propuesta de una metodología para simular el comportamiento de ...

3 may. 2006 - Ferdinand Tönnies [3]. Tönnies discutió que los grupos sociales pueden existir como lazos sociales personales y lazos sociales directos en ...
1MB Größe 9 Downloads 81 vistas
Facultad de Matemática y Computación Universidad de La Habana

Propuesta de una metodología para simular el comportamiento de una información en redes sociales.

Autor Oscar S. González Mota Tutor Lic. Yudivián Almeida Cruz

Trabajo de Diploma presentado en opción del título de Licenciado en Ciencia de la Computación Junio de 2009

A

mi familia querida y aguerrida que nunca se cansa, ...y representa mi columna espiritual... ...A mi mama, mi papa, mis abuelas y abuelos... ...A mi segundo papa ...

Agradecimientos

A mi tutor Yudivián que es un personaje celebre. A mi guía de estudio Otero por estar siempre luchando con nosotros. A ese grupito de aplicaciones que con el que me relaciono día a día, a Campi, Danelia y Jacque que tanto me ayudaron en lograr mi objetivo. A mis compañeros de aula Josué, Maurice, Nestor, David, Marcel, Joan, Yanay, German, Alejandro que luchan por alcanzar este sueño. A mis compañeros graduados Erick, Daniel, Juliet, Raidel, Dayana, Maibis, Eidel, Yanice que han compartido incontables experiencias. A mis profesores y alumnos ayudantes que se sacrificaron los fines de semanas por aportar un granito de arena en mis conocimientos. A todos los que me han dado apoyo constante e incondicional a lo largo de mi carrera estudiantil y mi vida personal. … Hacia aquellas personas que luchan por algo sin cesar...

Resumen Se propone una metodología para la diseminación de la información en una red social, el cual esté estructurado de forma que pueda simular las características que incluyan los sistemas actuales. A través de las redes complejas se procede a brindar una alternativa para la implementación del mismo, estudiando sus características y propiedades. Además de utilizar el empleo de la lógica difusa, el concepto de perfil y la inserción de los pesos, para efectuar el proceso de divulgación de la información en la red.

Índice general Introducción

1

1. Redes sociales

3

1.1 Definición

.

.

.

.

.

.

.

.

3

.

.

.

.

.

.

.

4

1.2.1 Teoría de los seis grados de separación .

.

.

6

1.2.2 Proyecto small_world

1.2 Origen

.

.

.

.

.

7

1.3 Proyectos de redes sociales en internet .

.

.

.

7

1.3.1 MySpace .

.

.

.

.

.

.

8

1.3.2 Facebook .

.

.

.

.

.

.

9

1.3.3 Orkut

.

.

.

.

.

.

10

1.3.4 Otras redes sociales

.

.

.

.

.

10

1.3.5 Aplicaciones

.

.

.

.

.

11

1.3.5.1 APIs de Facebook

.

.

.

.

11

1.3.5.2 OpenSocial de Google .

.

.

.

12

.

.

2. Redes Complejas 2.1 Definición

13 .

.

.

.

.

.

.

.

13

.

.

.

.

.

14

2.3 Modelos de construcción de redes

.

.

.

.

16

2.4 Grafos aleatorios

.

.

.

.

16

.

.

.

.

17

.

.

.

.

17

.

.

.

.

.

18

2.5.1 Modelo Albert Barabási .

.

.

.

.

19

2.5.2 Enlace preferencial

.

.

.

.

.

19

2.5.3 Adaptabilidad

.

.

.

.

.

21

2.5.4 Crecimiento de redes

.

.

.

.

.

21

2.6 Modelo Powerlaw Cluster

.

.

.

.

.

22

2.2 Propiedades y características .

.

2.4.1 Modelo Erdos-Renyi(E-R) 2.4.1.1 Estructura del modelo 2.5 Redes de libre escala

.

.

I

3. Diseño e Implementación 3.1 Diseño

.

24 .

.

.

.

.

.

24

3.1.1 Formación de la red

.

.

.

.

.

.

24

3.1.2 Peso en las aristas

.

.

.

.

.

.

26

3.1.3 Envío de la información

.

.

.

.

.

26

3.1.4 Sistema Difuso

.

.

.

.

..

27

.

.

.

.

.

29

3.2.1 Librerías utilizadas

.

.

.

.

.

29

3.2.2 Estructura de la aplicación

.

.

.

.

.

30

3.2.3 Modulo interfaz

.

.

.

.

.

31

.

3.2 Implementación de la aplicación

3.2.4 Modulo simulator

.

.

.

.

.

.

32

3.2.5 Modulo útil

.

.

.

.

.

.

34

.

.

.

.

35

.

3.2.5.1 Modulo evento 3.2.6 Modulo system

.

.

.

.

.

.

35

3.2.7 Modulo perfiles

.

.

.

.

.

.

37

.

.

.

.

38

3.2.7.1 Modulo introvertido, conservador, sociable,comunicador 3.2.8 Modulo func_gráficas .

.

.

.

.

.

39

3.2.9 Interfaz de la aplicación

.

.

.

.

.

39

4. Resultados realizados

43

4.1 Grafo Erdos-Renyi .

.

.

.

.

.

.

44

4.2 Grafo Albert Barabási

.

.

.

.

.

.

47

4.3 Grafo Power-law Cluster

.

.

.

.

.

.

50

4.4 Comparativas entre modelos.

.

.

.

.

53

Conclusiones

55

Recomendaciones

56

Bibliografía

57

II

Índice de figuras 1.1

Esquema de una red social

.

.

.

.

.

.

4

1.2

Esquema de la teoría de los seis grados

.

.

.

.

6

2.1

Esquema de una red Heterogénea,modularidad alta .

.

.

15

2.2

Esquema de una red Aleatoria

.

.

.

.

.

17

2.3

Esquema de una red Barabási (1)

.

.

.

.

.

19

2.4

Ejemplo de enlace preferencial

.

.

.

.

.

20

2.5

Ejemplo de una red Powerlaw Cluster

.

.

.

.

22

2.6

Ejemplo de una red Barabási (2)

.

.

.

.

.

23

3.1

Esquema IN: Ajena

.

.

.

.

.

.

28

3.2

Esquema IN:Interesante

.

.

.

.

.

.

28

3.3

Esquema NR:Enemigo

.

.

.

.

.

.

28

3.4

Esquema NR:Conocido

.

.

.

.

.

.

28

3.5

Esquema NR:Amigo

.

.

.

.

.

.

28

3.6

Arquitectura del software por módulos

.

.

.

.

31

3.7

Esquema del Sistema difuso

.

.

.

.

.

.

36

3.8

Esquema de la interfaz

.

.

.

.

.

.

39

3.9

Esquema de Datos del modelo Barabási

.

.

.

.

40

3.10 Esquema de Datos del modelo Erdos Renyi

.

.

.

40

3.11 Esquema de Datos del modelo Powerlaw Cluster

.

.

.

40

3.12 Esquema de Configuración de Perfiles (1)

.

.

.

.

41

3.13 Esquema de Configuración de Perfiles (2)

.

.

.

.

41

3.14 Esquema de Otras Propiedades

.

.

.

.

.

42

3.15 Esquema de graficación

.

.

.

.

.

42

4.1

Esquema del grafo Erdos Renyi para n=100, k=0.04 (G1) .

.

44

4.2

Tabla del grafo Erdos Renyi para n=100, k=0.04 (G1)

.

.

44

4.3

Esquema del grafo Erdos Renyi para n=100, k=0.26 (G2) .

.

45

4.4

Tabla del grafo Erdos Renyi para n=100, k=0.26 (G2)

.

.

45

4.5

Esquema del grafo Erdos Renyi para n=1000, k=0.01 (G3) .

.

46

4.6

Tabla del grafo Erdos Renyi para n=1000, k=0.01 (G3)

.

.

46

4.7

Esquema de una red de Barabási para n=100 y m=2 (G1)

.

.

47

4.8

Tabla de una red de Barabási para n=100 y m=2 (G1)

.

.

47

.

III

4.9

Esquema de una red de Barabási para n=100 y m=25 (G2) .

.

48

.

.

48

4.11 Esquema de una red de Barabási para n=1000 y m=5 (G3) .

.

49

4.12 Tabla de una red de Barabási para n=1000 y m=5 (G3)

.

49

4.10 Tabla de una red de Barabási para n=100 y m=25 (G2)

.

4.13 Esquema del grafo Power-law Cluster para n=100, m=2, k=1.0 (G1)

50

4.14 Tabla del grafo Power-law Cluster para n=100, m=2, k=1.0 (G1) .

50

4.15 Esquema del grafo Power-law Cluster para n=100, m=15, k=1.0 (G2)

51

4.16 Tabla del grafo Power-law Cluster para n=100, m=15, k=1.0 (G2)

51

4.17

52

Esquema del grafo Power-law Cluster para n=1000, m=5, k=1.0 (G3)

4.18 Tabla del grafo Power-law Cluster para n=1000, m=5, k=1.0 (G3) .

52

4.19 Tabla perfil 'Introvertido' x Grafos

.

.

.

.

.

53

4.20 Tabla perfil 'Social' x Grafos .

.

.

.

.

.

54

4.21 Tabla perfil 'Comunicador' x Grafos .

.

.

.

.

54

IV

Introducción Desde tiempos antaños el hombre ha necesitado convivir en sociedad, provocando la adopción de medidas, herramientas, metodologías y soluciones para perfeccionarla. La creación del lenguaje y los medios de comunicación son un ejemplo claro de estas herramientas. Hoy en día han alcanzado un gran desarrollo aplicando un gran numero de teorías en diversas ramas. En el caso de la computación se ha visto un incremento exponencial de la teoría en los últimos 20 años. En la web especifícamente, las redes sociales han tenido un gran impacto a partir de nuevas tecnologías como la web 2.0, que facilitan el avance de ellas en este sector. Facebook es una de los tantos proyectos sociales que inundan la internet, facilitando un amplio uso de la comunicación, y estableciendo mecanismos para acercar mas a las personas, como compartir información, recomendar amigos, conocerlos a través de un perfil,ect... El uso de las redes complejas ha propiciado un avance matemático en la teoría de las redes sociales, creadas con el objetivo de modelar los procesos que ocurren en la actualidad; siendo una herramienta indispensable para el estudio y análisis de la misma. En este documento se enunciarán las premisas fundamentales para la modelación teniendo en cuenta: ◦ Realizar una revisión bibliográfica sobre las redes sociales existentes en el campo de la computación ◦ Realizar una revisión bibliográfica sobre las redes complejas con el propósito de identificar técnicas, mecanismos, características y propiedades que poseen las redes actuales. ◦ Proponer una metodologia para simular el comportamiento que tiene una red social en cuanto a la divulgación de una noticia, a partir de las redes complejas. ◦ Implementar una aplicación que proponga como version inicial el uso y la práctida de dicha metodología.

1

Introducción

Para una mejor comprensión, el trabajo se ha estructurado en 4 capítulos que detallan con mucho cuidado el desarrollo del modelo propuesto. En el capítulo 1 se describe el concepto de redes sociales, el surgimiento, su origen, algunas teorías mencionadas, el impacto que ha presentado en la web. Así como una breve introducción de algunas redes sociales en internet como facebook que han desarrollado, llevando a la practica muchos conceptos de comunicación como “El amigo de tu amigo es también mi amigo”. En el capítulo 2 se introduce la teoría de las redes complejas como herramienta matemática principal para analizar el estudio y composición de algunas estructuras sociales que están presentes en la actualidad. Además de mencionar modelos de redes que definen sus propiedades, características, topología, ventajas y desventajas. La importancia que se le atribuye a cada uno, es también un factor clave en la modelación de las redes. En el capitulo 3 se procede a publicar el diseño y la implementación de una metodologia propuesta. Combinando las redes complejas para la formación del grafo, la unificación de la lógica difusa, con el concepto de perfil y la inserción de los pesos para la diseminación de la información, hace posible el surgimiento de una metodología que trata de simular el comportamiento de una noticia en la red. En la implementación se describe el funcionamiento de la aplicación a través de módulos y bibliotecas de clases. También se enuncia paso por paso el proceso de simulación. En el capitulo 4 se muestran los resultados obtenidos a partir de la metodologia propuesta. También se hace una comparación a partir de los tipos de redes que se atribuyen en la aplicación, con el objetivo de visualizar algunas diferencias de cada grafo, mostrar ventajas y desventajas. Para concluir el trabajo se presentan las conclusiones y las recomendaciones que incluyen algunas lineas para darle continuidad a este y finalmente la bibliografía consultada.

2

Capítulo 1 Redes Sociales El análisis de redes sociales ha irrumpido en muchas ciencias sociales en los últimos años  provocando un gran impacto en la sociedad.  En la actualidad  se encuentran extendidas en muchos  sectores como la Psicología, Tecnología y Sociología. La necesidad de buscar el apoyo de otras  personas   hizo   que   el   hombre   interactuara   más   en   sociedad,   perfeccionando   técnicas   de  comunicación, estrategias y metodologías para su mejor desempeño.

1.1 Definición  Existen   distintas   definiciones   de   redes   sociales   según   el     medio   en   el   que   esté  contextualizada. Para la Sociología una red social es "Un conjunto de relaciones humanas que   tienen un impacto duradero en la vida de cualquier persona. La red social está conformada por   los sujetos significativos cercanos al individuo y constituye su ambiente social primario. Está   constituida por los miembros de la familia nuclear, amigos, vecinos, compañeros de trabajo y   conocidos de la comunidad"[1]. 

En Comunicación una red social es: "Un grupo de personas (organizaciones) conectadas   por diversas relaciones sociales como amistad, trabajo, intercambio de información, etc."[40].

  Matemáticamente es  vista como:  “Una estructura social que se puede  representar   en   forma de uno o varios grafos en el cual los nodos representan individuos (a veces denominados   actores) y las aristas relaciones entre ellos ”[3]. 

 3

Capitulo 1. Redes Sociales                                                                                                                                                     

Fig 1.1 Esquema de una red social 

Un ejemplo de redes sociales en la computación, específicamente en Internet; se muestra a  través   de   una   aplicación   web.   En   ellas   cada   usuario   se   construye   un   perfil   donde   especifica  información sobre sí mismo (Ya sea edad, fecha de nacimiento, sexo, etc.). Este perfil  puede ser  público o semi­público a otros usuarios. Luego de estar creado el perfil, el usuario se dispone a  agregar   amigos/conocidos   o   simplemente   a   buscar   nuevo.   Creándose   las     nuevas   relaciones   o  simplemente reafirmando otras.  

1.2   Origen:

Los precursores de las redes sociales a finales del 1800 incluyen a Émile Durkheim y a  Ferdinand Tönnies [3]. Tönnies discutió que los grupos sociales pueden existir como lazos sociales  personales y lazos sociales directos en cualquier acoplamiento que compartan valores y creencia.  Durkheim   dio   una   explicación   no­individualista   de   los   hechos   sociales   argumentando   que   los  fenómenos sociales cuando interactúan los individuos que obran recíprocamente, constituyen una   4

Capitulo 1. Redes Sociales                                                                                                                                                     

realidad que se puede explicar no más en términos de características de agentes individuales. Él  distinguió entre una sociedad tradicional con la “solidaridad mecánica” que prevalece si son las  diferencias individuales están minimizadas, y la sociedad moderna con   la “solidaridad orgánica”  que desarrolla fuera de las diferencias de los individuos resultados de cooperación[3].  Georg   Simmel,   escribiendo   a   final   del   vigésimo   siglo,   era   el   primer   erudito   en   pensar  directamente en términos de redes sociales. Sus ensayos señalan a la interacción del tamaño de la  red   en   la   naturaleza  y a la probabilidad de interacción de  manera  ramificada. En  las  primeras  décadas del vigésimo siglo, tres tradiciones principales en redes sociales aparecieron[3].   En los años 30, una tradición trabajó en el análisis sociométrico de los pequeños grupos,  J.L. Moreno tomaba el liderazgo en estudiar las salas de clase y grupos de trabajo. Un grupo de  Harvard con W. Lloyd Warner y Elton Mayo exploró las relaciones interpersonales en el trabajo. En  el   1950s­1960s,   los   antropólogos   se   encontraban   centrados   alrededor   de   la   universidad   de  Manchester, tal como Gluckmann Radcliffe­Marrón, tal como A.R., J. Clyde Mitchell y Elizabeth  Bott investigaron redes comunitarias en África meridional, la India y el Reino Unido[3].  Para   el   año   1929   se   dieron   los   primeros   pasos   en     torno   a   la   teoría.   Fue   inicialmente  propuesta en 1929 por el escritor húngaro Frigyes Karinthy1  [3,5], en una corta historia llamada  “Chains”. Donde se explica la idea de que el número de conocidos crece exponencialmente con el  número de enlaces en la cadena, y sólo un pequeño número de enlaces son necesarios para que el  conjunto de conocidos se convierta en la población humana entera. En la década de los ´50   se  dieron los  primeros pasos  dentro de las Matemáticas para demostrar la teoría. Pero les tomó cerca  de 20 años llegar  a un resultado satisfactorio. Pero no es hasta  1995 que  se ejemplifica a  través de  la web. En ese año es cuando  Randy Conrads crea el sitio web classmates.com. Con el objetivo de  mantener y recuperar el contacto con compañeros [7].  En 1973 el sociólogo Mark Granovetter realizó un famoso estudio sobre dos comunidades  bostonianas que se movilizaban frente a las consecuencias del crecimiento urbano. De este estudio  emergía la idea de que la coordinación social dependía, a la hora de la verdad, no tanto de los  vínculos fuertes como las relaciones familiares, de amistad o de cuadrilla, como de los vínculos  débiles establecidos con anterioridad con otros actores con los que hasta entonces habían tenido   5

Capitulo 1. Redes Sociales                                                                                                                                                     

poco   o   ningún  contacto.  En  un  estudio   posterior   corroboró  esta  idea  estudiando  qué  contactos  servían realmente a la hora de encontrar trabajo. Granovetter llamó a este fenómeno “la fuerza de  los vínculos débiles ”[2]. A  partir  del  2003  comienza  entonces  una  nueva  época     para  las  redes  sociales,  el  cual  empiezan a  aparecer  sitios web como MySpace, Facebook, etc.; que promocionan la consolidación  del círculo de amistades. Estos sitios han llegado a ser muy populares, tanto, que   las grandes  compañías  han entrado en este mercado.   1.2.1 Teoría de los Seis grados de separación  “Seis grados de separación” es una teoría que ratifica lo que ya había enunciado Frigyes  Karinthy. Donde se demuestra  que a través de  una cadena de  5 intermediarios  se puede  contactar  a una persona  en  el lugar más recóndito del planeta.  Esta   teoría   plantea   que     por   lo   general     una   persona   conoce     de   forma   promedio   100  personas. Si cada una de esas conoce a otros 100, entonces un mensaje de la persona original puede  ser transmitido a 10 000 personas (este sería el 2do nivel).Entonces en un sexto nivel el mensaje ha  sido transmitido  a  1 000 000 000 000. En seis pasos, y con las tecnologías disponibles, se podría  enviar un mensaje a cualquier lugar individuo del planeta [8,10].  En   la   figura   1.2   se   muestra   un  ejemplo de dicha teoría.

fig 1.2 Esquema de la teoría de los seis grados

 6

Capitulo 1. Redes Sociales                                                                                                                                                     

En 1967, el psicólogo estadounidense Stanley Milgram ideó una nueva manera de probar  la teoría, que él llamó "el problema del mundo pequeño". Al azar seleccionó varias personas del  medio   oeste   estadounidense   para   que   enviaran   tarjetas   postales   a   un   extraño   situado   en  Massachusetts, situado a varios miles de millas de distancia. Los remitentes conocían el nombre del  destinatario, su ocupación y la localización aproximada. Se les indicó que enviaran el paquete a una  persona que ellos conocieran directamente y que pensaran que fuera la que más probabilidades  tendría, de todos sus amigos, de conocer directamente al destinatario. Esta persona tendría que  hacer   lo   mismo   y   así   sucesivamente   hasta   que   el   paquete   fuera   entregado   personalmente   a   su  destinatario final[3]. 

 1.2.2 Proyecto small world

El proyecto small world (mundo pequeño), es un experimento realizado por la Universidad  de Columbia. Para poner en práctica este proyecto se necesitan pocos requisitos. Solo se necesita  registrarse y el sistema le asignará una «persona­objetivo», de la cual  se tiene acceso a su nombre,  edad y ciudad donde vive. El objetivo consiste en contactar con ella utilizando solamente nuestra  red de contactos de la vida real. Entonces hay que difuminar a través de toda la red de contactos  si  alguien conoce a la persona­objetivo hasta llegar a contactar con él. Este proyecto intenta probar la  teoría de los seis grados de separación [7, 9,10]. 

1.3 Proyectos de Redes Sociales en Internet Las redes sociales basadas en Internet   tienen como objetivo establecer la comunicación,  integrar comunidades y aumentar la cooperación entre las personas. Dándole un nuevo enfoque al  concepto de comunicación   podemos tener nuevas amistades y relaciones en cualquier parte del  mundo; que antes se nos hacía muy difícil lograr. Las redes sociales se han convertido en una  herramienta de gran utilidad proporcionando una comunicación global.

Este  

  fenómeno   en 

crecimiento  congrega en la actualidad a millones de personas de distintas partes del planeta. 

 7

Capitulo 1. Redes Sociales                                                                                                                                                     

Estas redes se clasifican en dos grandes grupos:  Las   redes   sociales   personales   o   de   amistad,   motivadas   por   afinidades   musicales,   por  intereses   comunes,   etc.   Este   tipo   de   redes   permiten   una   mayor   interacción   entre   los   usuarios.  Algunas redes como estas son MySpace [13], Facebook [12] y Orkut [11]

Las profesionales, que están orientadas al trabajo mediante la utilización de la red. Ejemplos  de este tipo son: Plaxo [14] o Xing [15]. Por los beneficios que traen consigo la utilización de las  redes sociales estas han sido aceptadas y gozan de mucha popularidad mundialmente.

1.3.1 MySpace Es una de las redes sociales más populares en la actualidad. La plataforma  incluye redes de  amigos,   grupos,   blogs,   fotos,   vídeos   y   música   y   una   red   interna   de   mensajería   para   poder  comunicarte con otros usuarios. Cuenta con herramientas simples y sencillas donde se puede crear  un perfil personal, con fotos, comentarios, música y la posibilidad de comunicarse rápidamente con  otros usuarios. Triunfando especialmente entre los jóvenes. Esta red no ha parado de crecer y cuenta  con más de 300 millones de usuarios y más de 116 millones de visitantes únicos. Es una de las más  populares dentro de la población mundial. Según el sitio web Alexa, dedicado a medir el tráfico de  Internet, MySpace es el sexto sitio más visitado de toda la Red y el cuarto más visitado de lengua  inglesa   [19,   20,   22].   Dentro   de   las   aplicaciones   que   contiene   la   plataforma   se   encuentran   los  Boletines, Grupos, MySpaceIM, MySpaceTV. 

Algunas de las aplicaciones  que lo hacen más populares son:  MySpace Mobile: Proporciona el acceso a contenido de MySpace a través de la telefonía  celular.  MySpace News: Es un servicio que permite enviar feeds RSS o recibas noticias. 

 8

Capitulo 1. Redes Sociales                                                                                                                                                     

MySpace Classifieds: Es la sección de clasificados del MySpace. MySpace Poll: Para que los usuarios puedan incluir encuestas en sus perfiles y compartir  con otros usuarios [13]. 1.3.2 Facebook Este sitio fue creado para los estudiantes de la Universidad de Harvard, pero ya hoy en día  ha sido abierto a cualquier persona que tenga una cuenta de correo electrónico. Se ha hecho popular  debido a que en esta  plataforma, se pueden desarrollar aplicaciones y hacer negocio a partir de la  red social. Estando publicado solamente en inglés  llegó a ser el sitio que más usuarios  de nivel  superior tenia registrados, teniendo 20 millones. Para el 2008 fue lanzado en   francés, alemán y  español   para   impulsar   su   expansión   fuera   del   mercado   en   inglés   [16].   Una   de   las   ventajas   de  Facebook es  su gran versatilidad. La creación de aplicaciones externas abiertas que se alimentan de  unas interfaces de programas de aplicaciones (APIs) que tienen implementado; permitiendo el uso  particular de aplicaciones como si se tratara de un sistema operativo web, en el que cada cual,  aporta a dicho sitio. Se pueden hacer muchas cosas como subir tus fotos, controlar los libros que has  leído o quieres leer, distintos test, encuestas, herramientas de interacción social... hasta aplicaciones  para seguir acciones en bolsa [19,20,21,22]. Dentro de las aplicaciones más populares aparecen: iLike: Integra el servicio social de la red y la recomendación de música en el perfil.  Picnik: Corrige las fotos que tengas en Facebook sin salir de la aplicación. Touchgraph: Muestra un gráfico de nuestra red social de amigos.

 9

Capitulo 1. Redes Sociales                                                                                                                                                     

1.3.3 Orkut Orkut es una red social promovida por Google desde enero del 2004. La red está diseñada  para permitir a sus integrantes  mantener sus relaciones existentes y hacer nuevos amigos, contactos  comerciales   o   relaciones   más   íntimas.   Es   posible   crear   y   mantener   comunidades,   que   agrupan  personas de acuerdo a sus gustos e intereses, en diferentes categorías, entre las que se cuentan:  actividades, negocios, juegos, música, mascotas, religión, escuelas, comidas, preferencias sexuales,  y   algunas   más.   Hasta   hace   algún   tiempo   solo   podían   acceder   a   esta   comunidad   aquellos   que  recibían una invitación de alguien que ya pertenecía a ella, esto mientras el servicio permanecía en  fase beta. Hoy está abierta a cualquier persona, para ello  es necesario tener una cuenta en algún  servicio de Google [11].

1.3.4 Otras Redes Sociales Xing [15] es una plataforma donde se puede gestionar y  establecer contactos profesionales.  Una  de  las   funciones   principales  que  tiene  es  la   opción   de  visualizar  la   red  de   contactos,   por  ejemplo: un usuario puede ver a través de cuántos intermediarios están conectados con otros. Se  basa  en   el  principio  de  los  “Seis   grados   de separación”  o  el  fenómeno  del  "mundo  pequeño".  Adicionalmente esta plataforma online ofrece numerosas opciones para contactar, buscar personas  por nombre, ciudad, sector, empresa, áreas de interés, etc. Ofrece también un calendario público de  eventos, que se presentan al usuario por orden temático o geográfico, donde se puede aprovechar la  función de “eventos” para la gestión de la agenda personal. Además brinda una bolsa de trabajo con  el nombre en inglés de “Marketplace”. Los usuarios de la plataforma pueden ofrecer o buscar allí  puestos o proyectos de trabajo [23].  La novedad está en el pago de los anuncios por interés  de los  usuarios, medido en la cantidad de clic por anuncio y llamado anuncios de coste por clic (CPC).

 10

Capitulo 1. Redes Sociales                                                                                                                                                     

Plaxo [14] es una libreta de direcciones en línea y la creación de redes de servicios sociales  fundada   por  Napster.     Permite   la   actualización   automática   de   información   de   contacto.   Los  usuarios y sus  contactos almacenan su información en los servidores. Cuando esta información es  editada por el usuario, los cambios aparecen en los libros de dirección de todos aquellos que figuran  en la cuenta en el cambiador de sus propios libros.  Una vez que los contactos se almacenan en la ubicación central, es posible establecer una  lista de conexiones entre los contactos y acceder a la libreta de direcciones desde cualquier lugar. 

Un  plug­Plaxo  apoya  en   los   principales   libros   de  dirección   incluidos   los   de  Outlook  /  Outlook Express, Mozilla Thunderbird, y Mac OS X de la Libreta de direcciones, aunque otras  pueden ser apoyadas a través de una interfaz de programación de aplicaciones. 

1.3.5 Aplicaciones  Existen una gran variedad de herramientas y aplicaciones para estas redes sociales, la cual  hace mucho más flexible y dinámica  la comunicación, desarrollo y el manejo entre ellas. 

1.3.5.1 APIs de Facebook La  API  de  Facebook  es   una   plataforma   para   la   creación   de   aplicaciones   que   están  disponibles para los miembros de la red social de Facebook. Esta permite a las aplicaciones utilizar  la conexión social y el perfil de información para hacer más aplicaciones que impliquen, y publicar  las actividades de las noticias y páginas de perfil de  Facebook, con sujeción a los usuarios la  configuración de privacidad [24].

 11

Capitulo 1. Redes Sociales                                                                                                                                                     

1.3.5.2 OpenSocial de Google OpenSocial es un servicio de Google que mediante un conjunto de APIs permite construir  aplicaciones para redes sociales. Es un estándar que cumplen muchos sitios que implementan redes  sociales.   De   tal   forma   que   la   forma   de   programar   aplicaciones   para   diferentes   sitios   de   redes  sociales sea común.  Este es el mismo concepto utilizado por Facebook, pero con una diferencia importante: Los  desarrolladores de  Facebook  tienen que trabajar con lenguajes de propiedad de  Facebook  y con  APIs  como  FBML  y  FQL. Las aplicaciones desarrolladas con estos lenguajes no funcionan en  ningún   otro   sitio.   En  cambio  los  desarrolladores   que  trabajan  con  OpenSocial  pueden  trabajar  usando estándar  HTML  y  Javascript.  Sus aplicaciones  serán  posible de correr en cualquier otro  lado donde haya un contenedor OpenSocial [25].

 12

Capítulo 2 Redes Complejas    Para   realizar   el   análisis   de   las   redes   sociales   hacen   faltan   herramientas   que   modelen   y  estudien sus estructuras relacionales. Estas surgen cuando diferentes organizaciones o individuos  interaccionan, se comunican, coinciden, colaboran, a través de diversos procesos o acuerdos, que  pueden ser bilaterales o multilaterales. De este modo la estructura que emerge de la interrelación se  traduce   en   la   existencia   de   una   red   social.   Estas   estructuras   relacionales   llamadas     “Redes  Complejas”, permiten una mejor comprensión.  Tradicionalmente el estudio de las redes complejas ha sido territorio de las matemáticas,  especialmente la teoría de grafos. Inicialmente se enfoco en grafos regulares, sin tener en cuenta los  principios   de   los   grafos   aleatorios;   proponiéndose     como   los   que   mejor   definían   a   las   redes  complejas. Leonhard Euler, pionero en la teoría de grafos, fue el primero en estudiar los grafos  regulares   en   el   siglo   18.   en   el   siglo   19   la   teoría   se   desarrollo   mucho   más   algorítmica   y  estadísticamente [26,27].     2.1 Definición:

Para definir a una red compleja se utiliza la teoria de grafos. Estos “ han  sido muy útil para   el análisis de redes sociales  porque: tiene un vocabulario que puede ser utilizado para analizar   muchas propiedades de las estructuras sociales; nos ofrece las operaciones matemáticas por las   cuales esas propiedades pueden analizarse y medirse; y  permite probar teoremas sobre los grafos   y, por tanto, deducir y someter a test determinados enunciados”[28].

 13

Capítulo 2. Redes Complejas                                                                                                                                                 

Una red compleja es  un grafo que tiene ciertas propiedades y características definido de   la forma:    “...Una red R consiste de un conjunto de nodos V = {v1 , v2 , . . . , vN }, y un conjunto   de parejas ordenadas E = {(vi , vj )}  ⊂  V x V. Cada pareja ordenada (vi , vj ) se llama conexión   dirigida del nodo vi al nodo vj . La red R se llama no dirigida si para cada pareja (vi , vj )  ∈ E   también existe la pareja (vj , vi ) ∈ E. De lo contrario, la red se denomina dirigida. Llamaremos a   todos los nodos que están conectados directamentea un nodo  vi , los vecinos de vi . Finalmente,   el numero ki de vecinos del nodo vi (es decir, el numero de conexiones de vi ) se llama la  N

conectividad de vi , y el promedio de estas conectividades,  k =N

−1

∑ k i , es la conectividad i=1   i=1

de la red. ..”[27].

 

 2.2 Propiedades  y Características En el estudio de las redes complejas se encuentran diversas propiedades  que identifican a 

sus respectivos modelos, estas determinan  su estructura y composición. Una de las propiedades  importantes del análisis de la estructura de las redes es  la distribución de grado en una red que se  representa habitualmente como pk y es definida como la fracción de nodos en la red con un cierto  grado k. Es  decir  si la red posee una cantidad de n nodos en total y nk de ellos repartidos en cada  grado k, de esta forma se tiene que p k=

nk n

. También existen otras como el coeficiente de 

agrupamiento, la modularidad, la heterogeneidad en el conexionado, y la propiedad mundo pequeño  que caracteriza de forma general a dichas redes. El Coeficiente de Agrupamiento (clustering)  es la probabilidad de que dos elementos de  una red estén conectados si ambos están conectados a otro elemento en común osea que en una red  compleja se formen conexiones triangulares, o también se conoce como la regla de que “el amigo  de mi amigo es también mi amigo”. La media de este parámetro para todos los nodos se conoce  como coeficiente de agrupamiento de la red. 

 14

Capítulo 2. Redes Complejas                                                                                                                                                 

La longitud Mínima entre dos nodos es el número mínimo de saltos necesarios para llegar de  un nodo vi a otro nodo vj de la red. La longitud promedio de la red es promedio de las longitudes  mínimas Lij entre todas las posibles parejas de nodos (vi, vj) de la red. De aquí surge El fenómeno  small world o mundo pequeño, indicando que la distancia media entre cualquier par de nodos no  conectados directamente es pequeña, la misma dota a las redes de alta eficiencia en la transmisión  de información. Las redes small world se da en aquellas redes en las que a pesar de existir un gran  número de nodos, es posible encontrar sendas cortas que conecten a 2 nodos cualesquiera.  La modularidad es una medida que categoriza a los tipos de redes, es decir si los nodos están  muy interconectados entonces se dice que la modularidad es alta. Una red es Heterogénea cuando existen  nodos con pocas, medias y muchas conexiones. Los  nodos altamente conectados se denominan “ hub” o centros de la red. Estas  redes que presentan  heterogeneidad en el conexionado  logran ajustarse más a una red social [29]. Un ejemplo de una  red heterogénea y modularidad alta es la figura 2.1.

          

     fig 2.1 Esquema de una red Heterogénea,modularidad alta

 15

Capítulo 2. Redes Complejas                                                                                                                                                 

 2.3 Modelos de construcción de redes Una red esta compuesta estructuralmente por modelos matemáticos que definen su  topología y sus propiedades particulares, estos son llamados  Modelos Estadísticos y Modelos  Dinámicos. Los Estadísticos se guían por una variable probabilística que influyen en la toma de  decisiones de crear la red. Es decir el grafo depende exclusivamente de esa variable para poder  lograr su composición,un ejemplo son los grafos aleatorios de Erdos­Renyi. Los Modelos  Dinámicos consideran las redes como sistemas con interacciones que varían en el tiempo según  determinadas leyes. Se llaman también Modelos de crecimiento o de evolución imitando los  procesos de crecimiento mediante la adición gradual de nodos o enlaces[27].  

Uno de estos ejemplos es el modelo de Enlace Preferencial de Albert  Barabási, el cual 

asume que la conexión de los nuevos nodos añadidos al sistema está regulada por la cantidad de  conexiones de los ya presentes, es decir los nuevos elementos se unirán con mayor probabilidad a  los más conectados ya ubicados en la red[27,29].    2.4 Grafos Aleatorios      Los Grafos Aleatorios son una rama de las redes complejas donde utilizan variables  aleatorias como premisa fundamental para la construcción de los grafos. A partir de estos grafos y  con determinadas características de cada modelo, se logran estudiar y simular algunas redes sociales  reales [26]. Es importante señalar que se escogen los grafos aleatorios como herramienta principal  porque existen eventos en la actualidad que se generan de forma aleatoria como es el presentar a dos  personas que tengan rasgos en comunes llegando a ser “amigos”. En la figura 2.2 se muestra un  ejemplo de una red aleatoria.

 

 16

Capítulo 2. Redes Complejas                                                                                                                                                 

fig 2.2 Esquema de una red Aleatoria 

2.4.1 Modelo Erdos­Renyi (E­R)   El modelo (E­R) revoluciono el desarrollo de los grafos aleatorios,  conociéndose como uno  de los primeros grafos generados para el estudio y la simulación de las redes sociales. Tambien se  conoce como modelo Bernoulli, y a pesar de ser un modelo no muy aplicado, se le atribuye su  importancia por ser el primer modelo que introduce las funciones de probabilidad sobre la creación  de grafos[42,33]. Como depende de una variable aleatoria para poder decidir si conectar o no a los nodos de la  red, existen características que varían. Mientras más probabilidad tenga una arista de ser insertada  en el grafo, entonces el coeficiente de agrupamiento y la modularidad variaran en ascenso. No es  una red de tipo mundo pequeño porque podría generarse un grafo con nodos desconectados. No es  heterogénea, y su grado pk genera una distribución de poisson[27].

2.4.1.1 Estructura del modelo  Este modelo devuelve un grafo aleatorio, con las características del modelo (E­R). Los  parámetros de entrada, "n" es la cantidad de nodo que va a tener el grafo y "p" es la probabilidad en  que una arista escogida al azar sea parte del grafo.  Se tiene que un nodo se enlaza con igual  probabilidad “p” con el resto de la red. Se escogen dos nodos cualesquiera del grafo vi ,vj. Se genera   17

Capítulo 2. Redes Complejas                                                                                                                                                 

una variable aleatoria uniforme “u”, si  “u” es menor que la probabilidad “p” entonces se crea la  arista (vi ,vj) y se agrega al grafo. Repetimos el proceso  M =

n⋅n−1  veces habiendo  2

establecido como máximo M enlaces entre parejas de nodos. Si M es un valor pequeño con respecto  al valor total de nodos, muchos de estos estarán desconectados, mientras que por el contrario si M  es grande en comparación con “n” , es muy posible que casi todos los nodos estén enlazados entre  sí. Cuando se enlazan los nodos de esta forma aparecen propiedades específicas en la distribución  de grado Pk donde posee propiedades de distribución de Poisson [2,6].

2.5 Redes de Escala Libre       Existen muchos sistemas en la naturaleza que pueden ser descritos por medio de redes  aleatorias. Se creía que todas las redes de este tipo se comportaban de la misma manera, siguiendo  el modelo de Erdős y Rényi [33]. Sin embargo Watts y Strogatz [30] estudiando redes sociales,  descubrieron que estas no se comportaban de dicha forma. Al observar los resultados de varios  experimentos con redes reales, Barabási y Albert [32] observaron que todas las redes de los  experimentos se comportaban siguiendo una ley de potencia en la distribución de los grados de los  vértices, y llaman a estas redes “redes de escala libre”. 

 

Las redes de escala libre  poseen alta heterogeneidad al contener nodos con pocas,medias y 

muchas conexiones. El valor medio de la distribución no es representativo de la conectividad de la  red. La mayoría de los vértices tienen baja conectividad y alta solo unos pocos. Una propiedad  especialmente importante de las redes de escala libre es la robustez de sus conexiones frente a la  supresión aleatoria de nodos. En estas redes es más probable la eliminación de un nodo poco  conectado que la de uno muy conectado, aunque la supresión de un “hub” puede producir un  cambio en el sistema que cause su fragmentación[36].       

 18

Capítulo 2. Redes Complejas                                                                                                                                                 

 2.5.1 Modelo Albert Barabási   

Albert­László Barabási, profesor de física, se ha dado a conocer por sus investigaciones  acerca de redes libres de escala y las redes biológicas. Barabási descubrió las redes libres de escala  en muchos dominios (enlaces entres aeropuertos, cableado eléctrico, relaciones sexuales entre  personas, coautorías de artículos),explicaron éste fenómeno apelando a dos mecanismos:  Crecimiento y enlace preferencial. Su formulación sostiene que las redes de escala libre van  creciendo con el tiempo y los nuevos nodos que se adosan se enlazan preferentemente con los nodos  ya existentes en función de su número previo de conexiones. Estos mecanismos bastan para explicar  el surgimiento de las redes de escala libre, su mantenimiento en diferentes tamaños (escalas de la  red) y también su presencia muy frecuente [35]. En la figura 2.3 se muestra un ejemplo de una red  de tipo Barabási.   

 

fig 2.3 Esquema de una red Barabási (1)

2.5.2 Enlace Preferencial  En la vida real las conexiones entre diferentes nodos no se dan de manera igualitaria. Por  ejemplo, si una persona tiene una computadora nueva y  quiere conectarla a internet, no va a  contratar el servicio de internet de alguna compañía elegida al azar, sino que buscara la compañía  que ofrezca el mejor servicio y al mejor precio, y probablemente sera esta compañía la que tenga  más clientes. En una escuela los varones no buscan a su pareja al azar, sino que buscaran salir con la   19

Capítulo 2. Redes Complejas                                                                                                                                                 

chica más bonita, o tal vez con la más inteligente, y sera esta muchacha la que tenga más  pretendientes. Por esta razón, Barabási inventó el concepto de enlace preferencial en el cual los  nuevos nodos que se añaden a la red se conectaran preferentemente con los nodos ya existentes que  tengan el mayor numero de conexiones. Intuitivamente podemos pensar que el enlace preferencial  consiste en que uno siempre trata de estar conectado con los nodos más “populares”, es decir, con  los nodos de mayor conectividad.  Para incorporar este comportamiento Barabási sugirió que la probabilidad de enlace 

∑  N t 

preferencial seria: k , t=

n=0

kn

⋅k  siendo  k , t  la probabilidad en que un nodo 

−1

aleatorio sea seleccionado, donde kn es la conectividad del n­ésimo nodo ya existente al tiempo t. El 

∑  N t 

factor  

n =0

kn

−1

 es la sumatoria de conectividades que tiene cada nodo del grafo osea  2⋅M

siendo M la cantidad de aristas del grafo. En otras palabras  k , t=

k .  2⋅M

   Por ejemplo el grafo de la figura 2.4, y se  quiere calcular la probabilidad  de que un nodo  sea seleccionado para enlazarlo con un nodo  nuevo “6”.  Entonces dado la fórmula propuesta  por  Barabási  indica que el nodo “0” es el que  más probabilidad tiene para que este sea el  indicado,  su probabilidad p=0.5 ,y la de los  nodos restantes seria 0.1.        fig 2.4 Ejemplo de enlace preferencial

 20

Capítulo 2. Redes Complejas                                                                                                                                                 

2.5.3 Adaptabilidad               El concepto de adaptabilidad es uno de los elementos claves para analizar una red de social.  Existen personas que desarrollan determinados rasgos mas rápidos y en menos tiempo que otras.  Esto se debe a un factor que inside más en su medio social facilitando  un rápido desarrollo para  aprender dichos rasgos. Por ejemplo sean dos personas A, B que tienen como objetivo llegar a ser  comunicadores, la primera es una persona extrovertida, que puede establecer fácilmente un tema de  conversación o crear relaciones de amistad. En cambio B es introvertido y le resulta muy dificil el  poder relacionarse. Esto hace que A sea mejor adaptable para cumplir dicho objetivo, Puede que B  también lo cumpla, pero necesitará mas tiempo y dedicación para alcanzarlo. Esta observación hizo que Barabási propusiera el concepto de adaptabilidad en el que cada  uno de los nodos vn ,además de tener una conectividad kn , también tenia un parámetro de  adaptabilidad asociado wn. Este parámetro es una medida de que también estaba adaptado el nodo vn  a su entorno: entre más grande es el valor de wn , mayor es el grado de adaptabilidad de vn.  Específicamente, lo que Barabási hizo fue proponer una función de enlace preferencial Π(k, w, t)  que, además de ser   proporcional a la conectividad k de los nodos ya existentes, también es  proporcional a su adaptabilidad w . De esta forma, la probabilidad de que un nuevo nodo añadido a  la red se conecte con el nodo vn ya existente, cuya conectividad es kn y cuya adaptabilidad es wn ,  queda dada por  Π  k n ,wn ,t  =Cwn k n  donde C es una constante de normalización. Cada nodo nace  con su propia adaptabilidad, la cual no cambia en el tiempo.     

2.5.4 Crecimiento de redes  En la actualidad las redes nunca permanecen fijas, por el contrario evolucionan y crecen con 

el tiempo a través de la adición simultánea tanto de conexiones como de nodos. En el modelo más  simple de redes añadimos un nuevo nodo en cada paso de tiempo. Este puede conectarse con  algunos de los nodos ya existentes. Cada uno de los cuales pueden ser seleccionados para la  conexión con una probabilidad  k n , t siendo kn la conectividad al tiempo t del n­ésimo nodo  existente.   21

Capítulo 2. Redes Complejas                                                                                                                                                 

Hay que resaltar la gran importancia que presentan este tipo de redes para estudiar el  comportamiento de muchos procesos que ocurren en la actualidad, por ejemplo: La red de  distribución eléctrica, en que existen estaciones enormes que abastecen a zonas enormes, y al  mismo tiempo una miríada de transformadores pequeños. Las redes de comercio internacional,  donde los países desarrollados, que son la minoría, concentran la mayor cantidad de intercambio de  bienes, mientras que en los países no desarrollados, que son la mayoría, el intercambio comercial es  relativamente menor.  Esto se aplica también a las redes de comercio entre empresas dentro de cada país. La red de  páginas web, que unos pocos sitios reciben gran cantidad de enlaces, mientras que la mayoría no  recibe ninguno. 

2.6 Modelo Powerlaw Cluster Powerlaw Cluster es una mejora al modelo de Albert  Barabási , el cual utiliza el mismo  paradigma de crecimiento de la red, mantiene el enlace preferencial.  La innovación en este modelo  es un factor 'k' de probabilidad que aumenta el grado de coeficiente de agrupamiento. Permitiendo  que las subredes implícitas estén más interconectadas, provocando un mayor auge de la famosa  frase: “El amigo de mi amigo, es también mi amigo”. Que no es más que una triangulación entre  nodos de una misma vecindad[37]. 

En la figura 2.5  se muestra una red de  tipo Powerlaw Cluster con n=30, m=2,  k=1.0.

 22

Capítulo 2. Redes Complejas                                                                                                                                                 

       fig 2.5: Esquema de una red Powerlaw Cluster 

En la figura 2.6 se muestra una red de  Barabási con las mismas condiciones n=30,  m=2.

fig 2.6: Esquema de una red Albert Barabási  (2)

Nótese que en la figura 2.5 la red Powerlaw Cluster tiene más “hubs”,posibilitando que la  red este mejor distribuida. Una diferencia notable son las triangulaciones de nodos, fíjese que la red  de Barabási presenta un coeficiente de agrupamiento muy bajo, con respecto a la otra. Otra  comparación que resalta a la vista es la heterogeneidad en el conexionado de estas redes. En el  primer caso el modelo de la figura 2.5, tiene más diversidad en el conexionado, osea que hayan más  nodos con muchas, medias y pocas conexiones que en el de la figura 2.6.

 23

Capítulo 3 Diseño e Implementación Un sistema que simule el comportamiento de la divulgación de una noticia en una red social de nodos será el enfoque principal. Con el propósito de ver que alcance tiene este, estableciendo parámetros como: Nodo que más porciento tuvo en difundir la noticia, porciento de nodos que divulgaron la noticia, se podrá

identificar una metodología capaz de abordar los elementos

descritos anteriores. 3.1 Diseño El sistema esta compuesto por dos procesos fundamentales : la creación de la red, que van a estar compuesto por algoritmos de redes complejas, y la forma en que se propaga la información dentro del grafo. Cada uno de estos procesos tiene características propias y cruciales para el diseño del mismo. 3.1.1 Formación de la red Se quiere utilizar para la formación de la red 3 modelos de crecimientos de redes,estos son: el modelo de Erdos-Renyi, el modelo de Albert Barabási y el Powerlaw Cluster. Cada uno presenta propiedades imprescindible como el coeficiente de agrupamiento, la modularidad y la diversidad en sus conexiones. Asi como tambien la propiedad small world. La formación de la misma es una etapa crucial en el sistema porque las decisiones que se tomen en el momento en que un nodo se conecte a la red incidirá en la topología del modelo escogido.

24

Capítulo 3. Diseño e Implementación

El modelo propuesto por Erdos Renyi presenta un paradigma diferente en la formación de la red con respecto a los demás modelos. Este se rige por una variable aleatoria que determina la inserción de cada arista al grafo. Osea por cada par de nodos (formando una arista) que se agregue al grafo, dependerá de una variable aleatoria para que sea parte de este. Asi en cada instante de tiempo será conformada la red, presentando propiedades inestables como la del mundo pequeño, el cual, el grafo puede contener nodos aislados y entonces quedaría anulada. Para que se cumpla lo enunciado la probabilidad tendrá que ser muy baja. El coeficiente de agrupamiento y la modularidad varian en este aspecto. Por ejemplo para un grafo con 100 nodos y la probabilidad de enlazar es 0.08, el grafo es conexo, el coeficiente de agrupamiento es alto, no es heterogénea, la modularidad es alta. y presenta la propiedad mundo pequeño. El algoritmo definido por Albert Barabási, el cual presenta propiedades esenciales como el “enlace preferencial” permite ajustarse mejor a una red social. Determinar como formar la red es básicamente la construcción del grafo y para esto Barabási brinda una alternativa. Se muestran elementos a tener en cuenta para este grafo: – “n” es la cantidad de nodos que tendrá el grafo y “m” que sera la cantidad de conexiones posibles que un nodo pueda agregar. – El valor “m” tiene que es estar entre (1,n) , de lo contrario el grafo no se construiría. – Cada vez que un nodo se conecta al grafo este elegirá a sus vecinos a través del enlace preferencial. – A medida que el grafo va creciendo los nodos más viejos son los que irán adquiriendo mayor numero de conexiones. – Este grafo presenta la propiedad “Mundo Pequeño” el cual permite encontrar distancias mínimas entre nodos. – Los nodos también cuentan con un coeficiente de adaptabilidad, que esta dado por una variable probabilística, esto hace posible que existan nodos que desde que son añadidos al grafo, puedan crecer más rápido y lograr convertirse en “hubs”. – Mientras más grande se haga “m”, existirá en el grafo mayor coeficiente de agrupamiento, (Triangulaciones de nodos). También es posible lograr una alta heterogeneidad en sus conexiones, así como elevada modularidad.

25

Capítulo 3. Diseño e Implementación

También como propuesta tenemos el algoritmo “powerlaw cluster graph”[37], que brinda un paso adicional en la ejecución del grafo, dando la posibilidad de crear una triangulación cada vez que un nodo sea añadido al grafo. Esto trae como consigo que la red generada pueda alcanzar un mayor promedio de coeficientes de agrupamientos, si se desea. Es ajustable por una variable aleatoria uniforme entre (0,1). 3.1.2 Peso en las aristas Se quiere establecer un parámetro para medir el “grado de amistad” entre los nodos del grafo, dicho parámetro esta definido por valores entre [0,10]. Esta medida de clasificacion numérica es vital para el empleo de la lógica difusa en la red. Una vez definida las reglas y las variables del sistema, se procede al calculo con dichos pesos obtenidos. En la red que se desea generar , existirán dos tipos de pesos p1,p2. El primero representa la fortaleza social que exista entre dos nodos cualesquiera , es decir representa una medida de amistad. Mientras más se acerque p1 al valor '10', más amigo sera con el nodo adyacente. El otro peso define el interés de la noticia que el nodo origen divulga. Por ejemplo se tiene la arista (a,b), si un nodo 'a' genera un peso p2=8 entonces la noticia que le llegara al nodo 'b' sera interesante, mientras más grande sea p2 , más interesante se hará la noticia con respecto al nodo destino. 3.1.3 Envío de la información La divulgación de una noticia es el otro proceso clave para la implementación del sistema, para ello utilizamos el concepto de perfil. En la actualidad las personas se relacionan de acuerdo a los rasgos de la personalidad, conducta y comportamiento en su circulo social. Estas responden a partir de un conjunto de condiciones a determinadas acciones. Por ejemplo: sea A ,B sujetos sociales, si “A” es amigo de “B” , siendo “B” Extrovertido, el primero lo invita al cine, lo más probable es que este acepte la salida. A dichos rasgos lo identificaremos como “perfiles”. Se ha tomado como alternativa el empleo de este mecanismo, para clasificar a los nodos de la red, osea que cada nodo tenga asignado un perfil. Dichos perfiles son generados por un sistema difuso [38].

26

Capítulo 3. Diseño e Implementación

3.1.4 Sistema Difuso Los sistemas difusos son estudiados a menudo en el campo de la simulación para aproximar una respuesta a un conjunto de valores no definido[38]. Se quiere lograr que cada nodo pueda decidir el envío de la noticia a cada uno de sus vecinos, utilizando dos valores de entradas: – Interés de la Noticia (IN): – Interesante – Ajena – Noticia recibida por (NR): – Amigo – Conocido – Enemigo Estos valores son recibidos cuando al nodo le llega la noticia. Una vez efectuado, se procesa al cálculo de la defuzificación para generar la respuesta a sus adyacentes. Cabe señalar que él genera respuesta particulares para cada nodo de acuerdo a su perfil. Los parámetros se clasifican de acuerdo a un rango de (0,10), y un grado de membresía entre (0,1) , donde la curva define la membresía en un conjunto difuso. Este comportamiento representa a las figuras 3.1, 3.2, 3.3, 3.4 y 3.5.

27

Capítulo 3. Diseño e Implementación

Fig 3.1: Esquema IN: Ajena

Fig 3.2 Esquema IN:Interesante

Fig 3.3: Esquema NR:Enemigo

Fig 3.4: Esquema NR:Conocido

Fig 3.5: Esquema NR:Amigo

28

Capítulo 3. Diseño e Implementación

El valor de salida del sistema difuso, seria:

– Enviar Noticia (EN): – Si – No

3.2 Implementación de la aplicación Con el objetivo de crear una plataforma posible para poder visualizar las estrategias de los modelos de redes complejas, la diseminación de la información y el empleo de la lógica difusa, se procede a conformar una aplicación capaz de recopilar los elementos mencionados en los capítulos anteriores. Tomando como lenguaje de programación el python para lograr unificar mucha de estas tecnologías dadas a conocer por este lenguaje.

3.2.1 Librerías utilizadas Para la implementación de la aplicación se tuvo en cuenta un conjunto de bibliotecas y paquetes importantes. Para el python2.6 hicieron falta los siguientes paquetes: Python-tk: Conocido también como Tkinter, es un paquete hecho para escribir aplicaciones GUI portátiles con Python . Python-Matplotlib: es una librería de funciones para integrar a Python la capacidad de generar gráficas en formatos apropiados. Es útil para la visualización de los grafos generados por el paquete python-networkx.

Python-Networkx: Es el paquete usado para la manipulación, creación y estudio de las redes complejas. Los modelos propuestos que se insertan en la aplicación, son utilizados por esta librería.

29

Capítulo 3. Diseño e Implementación

Pyfuzzy 0.0.2: Es un paquete que sirve para aplicar los conocimientos de la lógica difusa en python. Facilita el manejo, contiene estructuras diseñadas y brinda una amplia gama de funciones de membresía predefinidas para conjuntos difusos. Gnuplot: Es requerido para la representación de las funciones de lógica difusa, tales como Zfunction. Python-gtk2: Es utilizado para desarrollar la interfaz de la aplicación, con el objetivo de mostrarle al usuario las comodidades más apropiadas para la interacción del programa. 3.2.2 Estructura de la aplicación La aplicación esta estructurada por los módulos que se muestran en la figura 3.6, el cual definen su composición.El módulo Interfaz es el puente entre los restantes módulos y la petición que hace el usuario. Una vez que la interfaz recibe los datos, procede a enviarlos a los módulos simulator y system. El primero esta diseñado para la formacion de la red y la simulación de la información, el último para la utilización de la logica difusa. El módulo util contiene metodos importantes para completar el proceso de simulación. El módulo perfiles esta diseñado para el trabajo la lógica difusa, guardando las característica que define a cada perfil. Por ultimo el módulo func_graficas visualiza las funciones de membresía de las variables de entrada del sistema difuso.

30

Capítulo 3. Diseño e Implementación

Fig 3.6: Arquitectura del software por módulos

3.2.3 Modulo Interfaz Es el que integra las funcionalidades del software,brindando una serie de opciones para este sea más flexible. Permite que el usuario interactúe con el sistema, haciendo los pedidos del dato que se desea insertar para la obtención de los resultados. Contiene los siguientes métodos:



Un método delete_event que cierra la aplicación.



Un método evento_agregar: guarda las las configuraciones de los perfiles personalizados que se desean simular en el grafo seleccionado.



Un método evento_combo: guarda el modelo de red que se desea simular.



Un método evento_botón_grafo: que es el encargado de transmitir la información del grafo al modulo simulator para que este pueda procesar y crearlo.Propiedades como el “Tipo de nodo que difunde la noticia”, tamaño de la red, cantidad de conexiones, tipo de red, son las que el usuario puede escoger en este método.



Un método evento_simular: Una vez creado el grafo como se desea, este captura las restantes opciones para la simulación, como los pesos de “Interés de la noticia”(IN), “Noticia Recibida”(NR). También si el perfil del grafo sera personalizado o global. Y por

31

Capítulo 3. Diseño e Implementación

ultimo ordena la simulación de como se divulga la noticia por todo el grafo, imprimiendo los resultados. •

Un método evento_grafica_nr que manda a llamar al modulo funciones_gráficas para graficar las funciones de membresía de la “noticia recibida (NR)”.



Un método evento_grafica_in que manda a llamar al modulo funciones_gráficas para graficar las funciones de membresía de la “interés de la noticia (IN)”.



Un método toggle_radio_perfil que reinicia los valores de los perfiles. Contiene además las variables:



self.s: Es el método simulator() guardado en dicha variable.



self.perfil_p: un contenedor para guardar la información de los perfiles. 3.2.4 Modulo simulator Inicialmente se escoge un nodo para que este comience con el proceso de simulación

diseminando la información en la red. Este nodo ya sea escogido por cumplir determinadas condiciones, se encarga de hacer una búsqueda entre sus vecinos y empezar el proceso. Dicha búsqueda es definida como “Recorrido a lo ancho”, el cual permite moverse siempre por la vecindad del nodo, priorizando a sus adyacentes primeros. Para la utilización del recorrido hizo falta la creación de una cola de eventos que guardara los estados de los eventos. Un evento puede ser de tipo “envía_noticia” o “recibe_noticia”. Cuando un nodo origen genera un evento de tipo envía_noticia, este manda a que el nodo destino genere un evento de tipo recibe_noticia con el identificado del nodo origen, y lo manda a guardar en la cola de eventos. Cuando se genera un evento de tipo recibe_noticia, se procede a hacer el calculo de la diseminación de la noticia en los vecinos del nodo que le es llegada la noticia. Si el nodo ya conoce la noticia es descartado este paso y continua el proceso repitiendo los mismo pasos a sus adyacentes. De esta manera se logra recorrer la red y guardar los resultados que se desean mostrar. Al terminar la simulación se genera un archivo que almacena paso por paso, el proceso entero.

Ejecuta las ordenes hechas por los métodos evento_botón_grafo y evento_simular. Capturando todas las peticiones hechas por el usuario, para proceder a la simulación de la 32

Capítulo 3. Diseño e Implementación

aplicación. Utiliza el paquete networkx para la implementación de las redes. Tiene una clase simulator contiene las variables: •

self.grafo: tipo de red para generar con el modulo python-networkx.



self.n: Cantidad de nodos que se quiere generar



self.m: Cantidad de conexiones promedio que se quiere generar por cada nodo



self.k: Probabilidad que tendrá una conexión de conectarse entre dos nodos (caso ErdosRenyi) y Probabilidad que tendrá un nodo de hacer una triangulación con uno de sus vecinos (caso Powerlaw Cluster)



num_random: Variable que guarda el tipo de nodo que va a difundir la noticia. Puede ser nodo más popular, menos popular o algún nodo que se quiera utilizar en particular.



El método run_simulator comienza con la simulación de la divulgación de la noticia en el grafo creado, se apoya en los métodos Recibe_noticia y Envía_noticia del modulo Útil. Además contiene las variables: ◦ id_noticia: es el nodo que va a difundir la noticia ◦ pesos: guarda la información de los pesos modificados por el usuarios, valor máximo y mínimo del interés de la Noticia (IN). Lo mismo para Noticia Recibida (NR). ◦ perfil: Guarda la información de los perfiles para los nodos del grafo. ◦ cola_eventos: Utilizado para saber cuando los nodos tienen que difundir o recibir la noticia. ◦ lista_noticias: Lista de todos los nodos del grafo, donde guarda si recibió o no la noticia a cada uno. ◦ lista_nodos_que_difunden_noticias:Lista de nodos que difunden la noticia. ◦ lista_nodos_que_sabían_la_noticia:Lista de nodos que conocen la noticia.

33

Capítulo 3. Diseño e Implementación

3.2.5 Modulo Útil Contiene un conjunto de métodos importantes para el empleo de la simulación, los cuales son descritos:



El método Envía_noticia crea un evento “Recibe Noticia” al nodo que sera enviada, y lo agrega en la cola_eventos.



El método Recibe_noticia es el encargado de que cuando le llega la noticia a un nodo decidir a que nodos enviarle dicha información, para esto se apoya en el método lógica_difusa, para saber la respuesta, si esta es afirmativa entonces crea un evento “Enviar noticia” al nodo elegido, y lo agrega a la cola de eventos, este proceso es realizado a todos los vecinos del nodo que recibe la noticia.



El método lógica_difusa devuelve la respuesta de enviar o no la noticia a un nodo. Se apoya en los módulos system y Perfiles para efectuar el proceso completo de la lógica difusa.



El método Porciento apoyado en las variables lista_nodos_que_difunden_noticias,



lista_nodos_que_sabían_la_noticia, lista_noticias, grafo, calcula los resultados que serán mostrados al usuario, estos son: ◦

Porciento de nodos que divulgaron la noticia.



Nodo que más difundió la noticia.



Porciento del nodo que más difundió la noticia.



Porciento de nodos que recibieron la noticia y que ya la sabían.



Porciento de nodos que no recibieron la noticia.

Además de utilizar las siguientes variables: ◦ nodo: Representa el índice de la lista lista_nodos_que_difunden_noticias. ◦

Total: Cantidad

de nodos del grafo.



nodo_que_mas_difundió_noticia:

Lista donde guarda el nodo que difundió más la

noticia con la cantidad. ◦

nodo_que_mas_porciento_difundió_noticia: Lista donde guarda

más porciento de nodos al difundir la noticia, con la cantidad. 34

el nodo que tuvo

Capítulo 3. Diseño e Implementación



El método crea_lista genera una lista de tamaño nodos y le asigna a cada nodo el tipo valor.



El método cuenta_nodos devuelve la cantidad de nodos que tienen el valor “True”.



El método Vértice_mas_popular devuelve el nodo que mas conexiones tiene en la red.



El método Vértice_menos_popular devuelve uno de los nodo que menos conexiones tiene en la red.



El método dame_perfil devuelve un perfil aleatorio en caso que el usuario quiera que la red tenga múltiples perfiles.



El método convierte_de_porciento_cantidad convierte la información de los perfiles guardada en porciento por cantidad de nodos.

3.2.5.1 Modulo Evento Este modulo fue diseñado con el objetivo de crear una clase evento que contiene las variables: •

tipo_evento: puede almacenar los valores “ENVÍA_NOTICIA” o “RECIBE_NOTICIA”.



id: guarda el nodo que para vincular el tipo_evento.

3.2.6 Modulo system El sistema difuso esta dividido en 2 partes, “system” que guarda las variables del sistema con las funciones, y los perfiles que contienen las reglas. En la figura 3.7 se muestra un esquema de como esta implementado.

35

Capítulo 3. Diseño e Implementación

fig 3.7: Esquema del Sistema difuso

Cada perfil contiene dentro todo el proceso de fusificación y desdifusificación, así como el cálculo del centroide. ión se muestran las reglas.

R1: Introvertido – si IN es 'ajena' o NR es 'enemigo' o NR es conocido entonces EN es 'no' – si IN es 'interesante' o NR es 'amigo' entonces EN es 'si' R2: Conservador – si IN es 'ajena' o NR es 'enemigo' entonces EN es 'no' – si IN es 'interesante' y NR es 'conocido' o IN es 'interesante' y NR es 'amigo' entonces EN es 'si' R3: Social – si NR es 'enemigo' entonces EN es 'no' – si IN es 'ajena' o IN es 'interesante' o NR es 'amigo' o NR es 'conocido' entonces EN es 'si'

36

Capítulo 3. Diseño e Implementación

R4: Comunicador – si IN es 'ajena' y NR es 'enemigo' entonces EN es 'no' si IN es 'Interesante' o NR es 'amigo' o NR es 'conocido' entonces EN es 'si' Este modulo utiliza las funciones del paquete Pyfuzzy 0.0.2, para la implementación del sistema difuso. Contiene al método create_system que su objetivo es crear la variable global sistema donde este va a almacenar las variables de entrada y salida con sus respectivas funciones: •

noticia_recibida: ◦ enemigo:fuzzy.set.ZFunction.ZFunction(a=2.,delta=2.) ◦ conocido:fuzzy.set.PiFunction.PiFunction(a=5.,delta=3.) ◦ amigo: fuzzy.set.SFunction.SFunction(a=8.,delta=2.)



interés_noticia: ◦ ajena: fuzzy.set.Trapez.Trapez(m2=1.,beta=4.5) ◦ interesante: fuzzy.set.Trapez.Trapez(m1=9.,m2=12.,alpha=4.5)



enviar_noticia: ◦ si:fuzzy.set.Triangle.Triangle(y_max=1.0,y_min=0.0,m=7.5,alpha=2.5, beta=2.5) ◦ no:fuzzy.set.Triangle.Triangle(y_max=1.0,y_min=0.0,m=2.5,alpha=2.5, beta=2.5)

3.2.7 Modulo Perfiles Este módulo esta creado con el objetivo de utilizar métodos y variables comunes para los tipos de perfiles que hay creados. Dentro de los métodos tenemos los que crean reglas para la utilización del proceso de la lógica difusa. •

El método centroide determina el punto balance de la región difusa calculando el área bajo la curva de la figura creada.



El método Evalúa_función es para que la respuesta del modelo este acotada entre el rango [0,10].



El método create_and_implication_rule crea la regla “si A es a y B es b entonces C es c”.



El método create_and_implication_rule_1 crea la regla “si 'A es a y B es b' o 'D es d y E es e' entonces C es c”.



El método create_implication_rule crea la regla “si A es a entonces C es c”. 37

Capítulo 3. Diseño e Implementación



El método create_or_more_implication_rule crea la regla “si A es a o B es b o D es d entonces C es c”.



El método create_or_implication_rule crea la regla “si A es a o B es b entonces C es c”.



El método create_or_more_implication_rule_1 crea la regla “si A es a o B es b o D es d o E es e entonces C es c”. También contiene las variables que actúan como identificadores: ◦ INTROVERTIDO ◦ CONSERVADOR ◦ SOCIABLE ◦ COMUNICADOR

3.2.7.1 Modulo Introvertido, Conservador, Sociable, Comunicador Contiene una clase defuzifica y un método Reglas_del_sistema , que este ultimo es la unión de todas las reglas que que conforma el perfil. La clase esta estructurada por las variables: •

self.di: son los valores que van a tomar las variables de entrada.



self.sistema : contiene a todas las variables del sistema con sus funciones.



El método centroide unifica los métodos Reglas_del_sistema y centro id que contiene las variables : ◦ intervalos: cantidad de intervalos que se desea hacer para calcular el centroide. ◦ nombre_variable_salida: como lo indica, es el nombre de la variable de salida. ◦ Func: funciones devuelta por el método Reglas_del_sistema.

38

Capítulo 3. Diseño e Implementación

3.2.8 Modulo Func_gráficas Utiliza las librerías de Gnuplot para graficar las funciones de membresía de las variable “noticia recibida” y “interés de la noticia”.Contiene los métodos interés_noticia y noticia_recibida.

3.2.9 Interfaz de la aplicación La aplicación esta estructurada por 3 cuadros fundamentales para el manejo de la misma. Estos cuadros son: •

Datos del Grafo



Configuración de Perfiles



Otras Propiedades

38

fig 3.8 Esquema de la interfaz

El menú “Datos del Grafo” es donde el usuario escoge el tipo de grafo con sus parámetros de entrada. Por ejemplo en la fig 3.9 se muestra los Datos de la red de Barabási, donde te pide la cantidad de nodos que tendrá la red (n) y la cantidad de aristas iniciales de que cada nodo(m).

39

Capítulo 3. Diseño e Implementación

Otra opción que se incluyó en este recuadro fue quien pudiera comenzar a difundir la noticia.

fig 3.9 Esquema de Datos del modelo Barabási

En la fig 3.10 se muestran otros datos con respecto al modelo solicitado por el usuario. El modelo de Erdos Renyi, como ya se ha explicado anteriormente, tiene otros parámetros de entrada como la probabilidad de conectar una arista al grafo (k).

fig 3.10 Esquema de Datos del modelo Erdos Renyi

El modelo “Powerlaw Cluster” que se visualiza en la fig 3.11 muestra 3 opciones para generar la red, una más que las anteriores. Cabe señalar que la probabilidad (k) no es la misma que la del modelo Erdos Renyi. Es por esto que cada modelo contiene dentro de si sus propias variables para su utilización.

Fig 3.11 Esquema de Datos del modelo Powerlaw Cluster

El recuadro “Configuración de Perfiles” incluye características de los perfiles que se quieren asociar a la red escogida. Podemos escoger por “Perfil 40

Capítulo 3. Diseño e Implementación

Global” o “Perfil Personalizado”. El personalizado se crea con el objetivo de escoger cuantos nodos tendrá de cada perfil en el grafo.

Fig 3.12 Esquema de Configuración de Perfiles (1)

El usuario escoge el perfil que desee modificando los valores del porciento. Se da clic en el botón “Agregar”, para realizar dicha elección. Una vez realizada la acción,el limite del valor del porciento decrece a causa de la petición hecha por el usuario. Por ejemplo en la fig 3.12 se muestra este paso.

Ahora el usuario tiene para agregar hasta un 75%, porque en la primera petición escogió un 25% del perfil “introvertido”.

Fig 3.13 Esquema de Configuración de Perfiles (2)

El botón “Simular” se ejecuta cuando el usuario haya personalizado los recuadros “Datos del Grafo” y “Configuración de Perfiles” . Es necesario que el grafo se haya creado antes de dar clic a este botón, de lo contrario la aplicación no procedería a realizar el modelo pedido.

41

Capítulo 3. Diseño e Implementación

En el recuadro “Otras Propiedades” de la figura 3.14 muestra opciones para hacer más flexible y dinámico el rango de pesos de las variables “Interés de la Noticia” y “Noticia Recibida” . Puesto que estos valores se generan aleatorios, se trata de que el usuario pueda acotar los limites de los mismos. Tiene como objetivo que si se quisiera divulgar la noticia en la red de manera optimista , entonces los valores mínimos se incrementaría.

fig 3.14 Esquema de Otras Propiedades

Otra opción que brinda el recuadro “Otras Propiedades” es la posibilidad de representar las funciones de membresía con el paquete Gnuplot, vemos un ejemplo en la figura 3.15.

Fig 3.15 Esquema de graficación

42

Bibliografía [1] Lozares Colinas, Carlos (1996). “La teoría de las redes sociales”. Papers, Nº 48, Universidad Autónoma de Barcelona.

[2] David de Ugarte . Breve Historia del análisis de redes sociales . [3] Dr. Luis Joyanes Aquilar. Innovaciones Tecnológicas en Redes Sociales Virtuales. Facultad de informática, Universidad Pontificia de Salamanca , Campus de Madrid. [4] Hanneman, R. A. and M. Riddle (2005). Introduction to Social Network Methods.Riverside, CA: University of California, Riverside (published in digital form at http://www.faculty.ucr.edu/~hanneman/nettext/) [5] Redes Sociales en el punto de mira, Panda Security 2008. En: Boletines PandaLabs.Pcurity 200 http://www.pandasecurity.com/img/enc/Red_Soc_punto_mira.pdf [6] Gabriel Vélez Cuartas. La Teoría de la Estructuración para la Economía Basada en el Conocimiento: una propuesta metodológica a partir del concepto de red social, Universidad de Antioquia, Facultad de Ciencias Sociales y Humanas, Medellín [7] S. Milgram. The small world problem. Psychology Today, 1:61–67, 1967. [8] Saket Sathe. Six Degrees of Separation. June, 2008. http://lca2srv30.epfl.ch/sathe/data/six-degree.pdf [9] http://smallworld.columbia.edu/ [10] Charles Kadushin. Introduction to Social Network Theory, February 17, 2004 (published in digital form at http://home.earthlink.net/~ckadushin/Texts/Basic%20Network%20Concepts.pdf ) [11] http://www.orkut.com

57

Bibliografía [12] http://www.facebook.com [13] MySpace (2006a). Myspace.com a place for friends. Retrieved July 20, 2006 from: http://www.myspace.com/ [14] http://www.plaxo.com [15] http://www.xing.com [16] Eugene Barsky and Michelle Purdon. Introducing Web 2.0: social networking and social bookmarking for healt librarians, Publication: JCHLA/ JABSC Vol. 27,2006 [17] Attorney General. A Parent’s Guide to Social Networking Websites, LAWRENCE WASDEN, Boise, ID 83720-0010 ,NOVEMBER 2006 [18] David Fernández Quijada. El análisis de redes sociales aplicado al estudio de la estructura de las industrias culturales, Universidad Autònoma de Barcelona. [19] Romano, A. (2006, April 24). Walking a new beat: Surfing MySpace.com helps cops crack the case. Newsweek, 48. [20] Johnny Snyder, Don Carpenter, Gayla Jo Slauson. MySpace.com – A Social Networking Site and Social Contract Theory, Department of Business – CIS Mesa State College, Grand Junction, Colorado 81501. [21] Jennifer L. Behrens. About Facebook, Change at the social-networking juggernaut creates new opportunities for law library outreach, AALL Spectrum, April 2008. [22] MySpace, Facebook and Other Social Networking Sites: Hot Today, Gone Tomorrow?, Published: May 03, 2006, (http://knowledge.wharton.upenn.edu) [23] Publicacion #2, Redes Sociales, Mayo 2008, Enlace: http://www.proteccion.com.co/portal/secciones/PROTPORTAL/ HERRAMIIENTAS1/ RECURSOS/__html/descargas/Redes_sociales_2.pdf 58

Bibliografía

[24] Facebook API – Developers Guide [25] Proyecto de Grado Plataforma para Red Social: Plan Ceibal,Redes Sociales, [26] Jan Porekar: Random Networks. Prof. Rudi Podgornik. Ljubljana (2002) [27] Maximino Aldana : Redes Complejas .Noviembre (2006 ) [28] Luis Sanz. Análisis de redes sociales: o cómo representar las estructuras sociales subyacentes. Unidad de Políticas Comparadas (CSIC), Documento de Trabajo 03-07 [29] R. Albert and A.-L. Barabási, "Statistical mechanics of complex networks", Reviews of Modern Physics, 74, pp. 47-97, 2002. (Preprint available online at http://citeseer.ist.psu.edu/442178.html or http://arxiv.org/abs/cond-mat/0106096) [30] D. J. Watts and S. H. Strogatz., Collective dynamics of 'small-world' networks, Nature Vol 393 (1998) 440-442 [31] B. Bollobas: Mathematical results on scale-free random graphs. January 16, 2003 [32] A. Barabási, R Albert, “Emerge of Scaling in Random Networks”. Science, 1999. [33] Erdős and Rényi, “On Random Graphs”, 1959. [34] R Albert, H Jeong, AL Barabási, “The Internet's Achilles'hell: error and attack tolerance of complex networks”. Nature, 2000. [35] Jorge Miceli, Sergio Guerrero1:Redes libres de escala y su uso en el análisis de datos etnográficos: el caso de la comunidad tehuelche del Chalía [36] A. Barabási, Eric Bonabeau: Scale-Free Networks. Ameri 288, 60-69 (2003)

59

Bibliografía [37] P. Holme and B. J. Kim :Growing scale-free networks with tunable clustering. Phys. Rev. E, 2002, volume: 65. [38] Luciano Garcia, Luis Perez, Luis Marti:Temas de Simulacion. Editorial: Felix Varela, La habana,2006. [39] Aric Hagberg, Dan Schult, y Pieter Swart. NetworkX: High productivity soft-ware for complex networks.https://networkx.lanl.gov. [40] Anita Valdés Jahnsen. Modelo de análisis para una red social, Departamento de Comunicación Social,Concepción, Chile. http://periodismoudec.cl/estudiosdeperiodismo/index.php? [41] Colectivo de Autores. WEB 2.0 Aplicaciones Didácticas, CDI de Educacion de Madrid. [42] Alan Terry. Exponential random graphs. Dissertation submitted for the MSc in Data Analysis, Networks, and Nonlinear Dynamics, Department of Mathematics, University of York, UK .

60