visualizacion de grafos web

24
Visualizaci´ on de Grafos Web Jos´ e Federico Medrano 1 , Jos´ e Luis Alonso Berrocal 2 y Carlos G. Figuerola 2 1 aster en Sistemas Inteligentes. Universidad de Salamanca (www.usal.es), Salamanca, Espa˜ na [email protected] 2 Departamento de Inform´atica y Autom´ atica. Universidad de Salamanca (www.usal.es), Salamanca, Espa˜ na {berrocal, figue}@usal.es Resumen. A diario somos testigos de la ingente cantidad de infor- maci´ on que se genera y que se encuentra disponible en la web, ya sea en forma de documentos, archivos o p´ aginas web. Al mismo tiempo que aumenta la cantidad de informaci´ on que debe ser procesada y entendida por las personas, cobran mayor importancia las t´ ecnicas para explorar y analizar efectivamente grandes vol´ umenes de datos. El campo de la com- putaci´ on llamado Visualizaci´ on de Informaci´on o InfoVis, se encarga de crear herramientas que explotan el sistema visual humano para ayudar a las personas a explorar o explicar conjuntos de datos grandes o complejos. Tal es el caso de la visualizaci´ on de grafos, parte del campo de InfoVis, que pretende visualizar informaci´ on abstracta mediante representaciones que describen relaciones entre entidades. Este trabajo ofrece un vistazo sobre la utilidad de las representaciones mediante grafos y centra su objetivo en la presentaci´ on y an´ alisis de tres herramientas (IGraph, JUNG y Gephi ) especializadas en la visualizaci´ on y estudio de este tipo de representaci´ on gr´ afica. Para ello se hizo uso de la red social m´ as importante del momento, Facebook, y se desarroll´o una herramienta que extrae todos los amigos y las relaciones de amistad entre estos de una cuenta de usuario de Facebook alida. Con esta informaci´ on se construy´ o un grafo de tama˜ no medio (466 nodos y 4655 aristas) en formato Pajek, para ser utilizado por las tres herramientas para eval- uar las posibilidades que ofrece cada una de ellas en cuanto al nivel de interacci´ on, disponibilidad de algoritmos de layout y representaci´ on vi- sual, y las implementaciones de los algoritmos de clustering para detectar adecuadamente las comunidades o agrupaciones dentro del grafo. 1 Introducci´ on Las t´ ecnicas para representar informaci´ on est´ atica son bien conocidas, por sus descripciones y por su dise˜ no est´ etico, ejemplo de estos son las tablas, gr´ aficos de torta, histogramas, entre otras. Si bien estas t´ ecnicas son ´ utiles para infor- maci´ on est´ atica, dejan de serlo cuando se consideran variaciones en los datos o informaci´ on din´ amica. La Web presenta un dinamismo incre´ ıble, tanto en es- tructura (cada d´ ıa se observan cambios en sitios web, p´ aginas que desaparecen,

Upload: university-of-salamanca-justsoft

Post on 23-Jul-2015

479 views

Category:

Technology


1 download

TRANSCRIPT

Visualizacion de Grafos Web

Jose Federico Medrano1, Jose Luis Alonso Berrocal2 y Carlos G. Figuerola2

1 Master en Sistemas Inteligentes. Universidad de Salamanca (www.usal.es),Salamanca, [email protected]

2 Departamento de Informatica y Automatica. Universidad de Salamanca(www.usal.es),

Salamanca, Espana{berrocal, figue}@usal.es

Resumen. A diario somos testigos de la ingente cantidad de infor-macion que se genera y que se encuentra disponible en la web, ya seaen forma de documentos, archivos o paginas web. Al mismo tiempo queaumenta la cantidad de informacion que debe ser procesada y entendidapor las personas, cobran mayor importancia las tecnicas para explorar yanalizar efectivamente grandes volumenes de datos. El campo de la com-putacion llamado Visualizacion de Informacion o InfoVis, se encarga decrear herramientas que explotan el sistema visual humano para ayudar alas personas a explorar o explicar conjuntos de datos grandes o complejos.Tal es el caso de la visualizacion de grafos, parte del campo de InfoVis,que pretende visualizar informacion abstracta mediante representacionesque describen relaciones entre entidades.

Este trabajo ofrece un vistazo sobre la utilidad de las representacionesmediante grafos y centra su objetivo en la presentacion y analisis de tresherramientas (IGraph, JUNG y Gephi) especializadas en la visualizaciony estudio de este tipo de representacion grafica. Para ello se hizo uso dela red social mas importante del momento, Facebook, y se desarrollo unaherramienta que extrae todos los amigos y las relaciones de amistad entreestos de una cuenta de usuario de Facebook valida. Con esta informacionse construyo un grafo de tamano medio (466 nodos y 4655 aristas) enformato Pajek, para ser utilizado por las tres herramientas para eval-uar las posibilidades que ofrece cada una de ellas en cuanto al nivel deinteraccion, disponibilidad de algoritmos de layout y representacion vi-sual, y las implementaciones de los algoritmos de clustering para detectaradecuadamente las comunidades o agrupaciones dentro del grafo.

1 Introduccion

Las tecnicas para representar informacion estatica son bien conocidas, por susdescripciones y por su diseno estetico, ejemplo de estos son las tablas, graficosde torta, histogramas, entre otras. Si bien estas tecnicas son utiles para infor-macion estatica, dejan de serlo cuando se consideran variaciones en los datoso informacion dinamica. La Web presenta un dinamismo increıble, tanto en es-tructura (cada dıa se observan cambios en sitios web, paginas que desaparecen,

2 Jose Federico Medrano, Jose Luis Alonso Berrocal y Carlos G. Figuerola

reestructuraciones, nuevas paginas y secciones, etc.) como en contenido (cada dıanuevos sitios web son agregados). Por ello autores como Ben Fry [21] se pregun-tan: “Como podrıa representarse la estructura de Internet, que se encuentra enconstante cambio?” Es casi imposible dar respuesta a estas y muchas preguntasrelacionadas sin pensar en tecnicas de Visualizacion de Informacion dinamica.

El rapido y descontrolado crecimiento de la informacion que reside en la Web,ha conllevado al surgimiento de numerosos campos de investigacion enfocados enla busqueda de herramientas de analisis que permitan representar y comprendervastas cantidades de informacion [10]. Actualmente existen sistemas capaces dealmacenar grandes volumenes de datos. Sin embargo, la representacion textualde los datos no permite realizar exploraciones adecuadas sobre los mismos, oca-sionando de esta forma la perdida del potencial de la informacion almacenada[36].

Como consecuencia de esto, han surgido areas de investigacion como la Re-cuperacion de Informacion, la cual provee tecnicas y metodos para la obtencionde grande cantidades de informacion, por ejemplo con el uso de crawlers. Otraarea es la Analıtica Visual, la cual se define como la ciencia del razonamientoanalıtico con ayuda de interfaces visuales altamente interactivas. Por ultimo,el area objeto de este estudio, la Visualizacion de Informacion definida comoel proceso de pasar de representaciones graficas a representaciones perceptivas,eligiendo las tecnicas de codificacion que maximicen la comprension humanay la comunicacion. El enfoque de la exploracion de datos a traves de la visu-alizacion busca combinar flexibilidad, creatividad y conocimiento general congrandes volumenes de datos almacenados, a fin de facilitar la interaccion directacon la informacion a traves de la extraccion de conocimientos y la realizacion deanalisis y conclusiones.

Existen numerosas tecnicas de visualizacion, una de ellas, los grafos, hantenido una amplia aceptacion dentro de las representaciones de la estructurade la web y mas aun en las redes sociales online. Es comun imaginar que laestructura de una pagina web se pueda representar como un grafo, donde losrecursos son los nodos y los enlaces los arcos a estos, o pensar en las relacionesde amistad dentro de una red social, donde los nodos son los distintos amigosy los arcos las relaciones de amistad entre amigos. Por ello parece acertadopensar en grafos a la hora de representar relaciones entre entidades. En estetrabajo se analiza la visualizacion de la estructura de un grafo web (un tipode grafo cuyo origen de informacion es la web) mediante la comparacion detres herramientas especializadas en analisis y representacion de grafos. Dichacomparacion se realizo generando un grafo para representar la estructura deamigos de una cuenta de usuario de Facebook [12].

1.1 Organizacion

El trabajo centra su atencion en la representacion de grafos con tres herramien-tas distintas, y analiza las caracterısticas y funcionalidades aportadas por cadauna de ellas. El apartado 2 ofrece una breve introduccion a los conceptos sobreVisualizacion de Informacion. En el apartado 3 se brindan algunas definiciones

Visualizacion de Grafos Web 3

sobre grafos y se enumeran los trabajos mas relevantes en esta area. El apartado4 realiza una breve descripcion de las caracterısticas mas importantes de cadauna de las herramientas a utilizar en nuestro estudio. El apartado 5 ofrece unvistazo sobre el concepto de redes sociales online y agrega un resumen de lostrabajos realizados mas relevantes en ese ambito. En el apartado 6 se presentala evaluacion de cada una de las herramientas utilizando el conjunto de datosen cuestion y se resumen los resultados obtenidos en cada una. Por ultimo, enel apartado 7 se senalan las conclusiones a las que hemos arribado.

2 Visualizacion de informacion

En las decadas anteriores era muy comun que los datos se presentaran textual-mente o mediante graficos estaticos, en estos casos la informacion representadaestaba limitada a cantidades pequenas, pero en los ultimos anos estos tipos derepresentaciones se ha tornado poco util cuando se trata de conjuntos de datosque contienen millones de elementos de datos [36].

La reciente aparicion de interfaces graficas ha permitido una interacciondirecta con la informacion visualizada, dando lugar a mas de una decada deinvestigacion en visualizacion de informacion [30]. InfoVis busca aumentar elconocimiento humano mediante el aprovechamiento de las capacidades visualeshumanas para dar sentido a la informacion abstracta [7], proporcionando losmedios por los cuales los seres humanos mediante sus capacidades perceptivas,pueden lidiar con el constante aumento de la cantidad de datos disponibles. Unadefinicion un tanto similar es la aportada por [33], que define a la Visualizacionde Informacion como “la practica de mapear conjuntos de datos dentro de mediosde comunicacion visual con el fin de ayudar a los usuarios en la exploracion deestos conjuntos de datos o la comunicacion al respecto a los demas”.

El objetivo de InfoVis es profundizar en los datos o conceptos ocultos. Amenudo la informacion se oculta simplemente por la enorme cantidad de datosdisponibles. De este modo, la Visualizacion de Informacion tambien puede servista como un convertidor entre los datos subyacentes y la percepcion humanade la misma [50]. El representar grandes cantidades de informacion medianteabstracciones no es una tarea facil ya que el usuario no tiene ninguna idea pre-concebida de como estos datos pueden ser representados. Ası, los metodos deInfoVis deben ser capaces de hacer frente a los datos que parecen ser al azar,pero aun ası contiene informacion valiosa [37].

La idea basica de la exploracion visual de los datos es la de presentar losdatos en alguna forma visual, permitiendo que los humanos puedan obtenerconocimiento, sacar conclusiones, e interactuar directamente con los mismos. Coneste tipo de representaciones basadas en grandes cantidades de datos, los usuariospueden detectar patrones o comportamientos que se deseaban evaluar, como asıtambien descubrir comportamientos y relaciones entre los datos desconocidoshasta el momento. Ademas de la participacion directa del usuario, las principalesventajas de la exploracion visual de los datos segun Keim [36], son:

4 Jose Federico Medrano, Jose Luis Alonso Berrocal y Carlos G. Figuerola

– La exploracion de datos visuales pueden tratar con datos muy heterogeneosy con ruido.

– La exploracion visual de los datos es intuitiva y no requiere la comprensionde complejos algoritmos matematicos o estadısticos.

3 Grafos

Antes de entrar de lleno en el tema de este trabajo (visualizacion de grafos web),es necesario dar algunas definiciones genericas de lo que es un grafo para luegocentrar la atencion en la aplicacion de este concepto.

3.1 Teorıa de Grafos

Informalmente, un grafo es un conjunto de objetos llamados vertices o no-dos (N) unidos por enlaces llamados aristas o arcos(A), que permiten rep-resentar relaciones binarias entre elementos o entidades de un conjunto [29].Matematicamente hablando se define como: “Un grafo G(N, A) es una estructuraabstracta usada para modelar una relacion A sobre un conjunto N de entidades”.

N es un conjunto no vacıo de entidades. Ademas como por definicion Nes un conjunto, esto quiere decir que solo puede contener elementos unicos eirrepetibles. La relacion A describe una coleccion de subconjuntos no vacios de N,de la forma A= [(1,2), (2,3),]. El termino arco, arista o enlace proviene del hechode que en la mayorıa de los casos, cada elemento de A relaciona exactamentedos nodos distintos.

Los grafos son abstracciones sencillas, potentes y elegantes que tienen unaamplia aplicabilidad en ciencias de la computacion y muchos otros campos.Cualquier dominio que pueda ser modelado como una coleccion de nodos vincu-lados entre sı, se puede representar mediante un grafo.

3.2 Grafos Web

Los registros de datos a menudo tienen alguna relacion con otras piezas de infor-macion. Los grafos son muy utilizados para representar esas interdependencias.Como se dijo, un grafo se compone de un conjunto de objetos denominados no-dos y conexiones entre estos objetos llamadas arcos. Ejemplos de ello son lasinterrelaciones de correo electronico entre las personas, los habitos de compra,la estructura de archivos del disco duro o los hipervınculos de la web en todo elmundo. De esta manera la Web se puede asemejar a un grafo dirigido gigante,donde los nodos son las paginas, archivos o recursos y los arcos son los enlaces(links) entre estos recursos. En sı, cualquier grafo cuyo origen de datos sea laweb se puede definir como un grafo web. Un ejemplo de un grafo web se puedeobservar en la Figura 1, el cual contiene 8 nodos y 11 arcos.

El grafo de la Web presenta una enorme estructura de datos difıcil de manejarya que contiene mas de 3 billones de nodos y cerca de 50 billones de arcos[6], dicha estructura aumenta su tamano de forma exponencial, por ello cobranimportancia las herramientas de visualizacion de grafos para poder entender,analizar y comprender los distintos fenomenos.

Visualizacion de Grafos Web 5

Fig. 1. Grafo Web utilizando la herramienta JUNG

3.3 Trabajos relacionados

Algunos sistemas centran su foco en grafos relativamente pequenos [19], mientrasque los estudios mas recientes se centran en visualizaciones a grandes escalas, tales el caso de [1] con ASK-GraphView, el cual es un sistema de visualizacion degrafos ponderados no dirigidos que permite agrupaciones y navegacion interac-tiva de grafos grandes, hasta un maximo de 200.000 nodos y 16 millones de arcos.Otros estudios se han centrado en el diseno y la disposicion de los elementos delgrafo. Un ejemplo precursor del trabajo en 3D es el de Munzner quien presentaH3 layout [42] un algoritmo de diseno y H3Viewer [43] un algoritmo de dibujo,los cuales en conjunto permiten representar grafos en un espacio hiperbolico de3D. El algoritmo de diseno esta ajustado para un buen equilibrio entre la densi-dad de la informacion y el desorden, mientras que la adaptacion del algoritmo dedibujo ofrece una experiencia interactiva fluida al usuario. Puede manejar grafosde mas de 100.000 arcos utilizando un arbol de expansion como la columna ver-tebral de los algoritmos de diseno y dibujo. Por su parte [22] propone un metodode zoom topologico para grafos grandes, de decenas de miles de nodos, basado enla vista de ojo de pez. El metodo se basa en el procesamiento de una jerarquıa degrafos ordinarios, que se combinan en la marcha en representaciones con un nivelde detalle dependiente de la distancia de uno o mas focos. Otro trabajo un tantomas especıfico es el de [8] que describe un sistema para visualizar la evolucion delsoftware, Gevol, utilizando una novedosa tecnica de visualizacion de grafos degran tamano con un componente temporal. Por ultimo, ademas de las tecnicas yalgoritmos, existen algunos frameworks desarrollados, ejemplo de ello son GraphVisualization System (GVS) [50] y Graph Visualization Framework(GVF) [39].

6 Jose Federico Medrano, Jose Luis Alonso Berrocal y Carlos G. Figuerola

4 Herramientas de visualizacion

El objeto central de este trabajo es el estudio y comparacion de tres herramientasutilizadas para el analisis y evaluacion de grafos. Estas son IGraph, JUNG yGephi. A continuacion se nombraran las caracterısticas mas relevantes de cadauna de ellas.

4.1 IGraph

IGraph es una librerıa de codigo abierto, distribuida bajo licencia GPL, para elestudio y analisis de redes/grafos. Los principales objetivos de esta librerıa sonproveer un conjunto de tipos de datos y funciones para una facil implementacionde algoritmos de grafos, un manejo rapido de grandes grafos con millones denodos y arcos, y permitir un rapido prototipado por medio de un leguaje dealto nivel como R [11]. IGraph permite manipular tanto grafos dirigidos comono dirigidos, no admite la implementacion de hipergrafos. Por otro lado cuentacon implementaciones de problemas tıpicos de teorıa de grafos como arboles deexpansion mınima y flujo de red, tambien implementa algoritmos para algunosmetodos de analisis estructural dentro de una red [31].

IGraph puede ser instalado como un librerıa del leguaje C, como un paquetede R, como un modulo de extension de Python [51] o como una extension de Ruby[52]. Para este trabajo solo se hara descripcion del funcionamiento de IGraphbajo el lenguaje R, ya que fue la opcion elegida debido a la documentacionexistente y a la facilidad que ofrece este lenguaje basado en scripting.

4.2 JUNG

JUNG (abreviacion de Java Universal Network/Graph) es un framework decodigo abierto que provee un lenguaje comun y extensible para la manipulacion,analisis y visualizacion de datos que pueden ser representados como un grafo ouna red. Esta escrito en JAVA, permitiendo el desarrollo de aplicaciones basadasen JUNG por medio de la API disponible para su uso, ası mismo permite la in-tegracion de librerıas de terceros.

JUNG no es un producto final y no intenta serlo, es una librerıa que permiteel trabajo con grafos pero que necesita conocimientos de programacion ya quenecesariamente debe estar implementada en una aplicacion JAVA.

Para este trabajo se utilizo la version JUNG 2.0 (JUNG2 www.jung.org), yla version de JAVA 6 update 24.

JUNG depende de tres librerıas externas para su funcionamiento, las cualesson: JUnit, Colt, y Common Collections.

Las principales caracterısticas de JUNG incluyen [46]:

– Soporte a una variedad de representaciones de entidades y sus relaciones,incluyendo grafos dirigidos y no dirigidos, grafos multi-modales (grafos quecontienen mas de un tipo de nodos o arcos), multigrafos e hipergrafos.

Visualizacion de Grafos Web 7

– Mecanismo para etiquetar grafos, entidades y relaciones con metadatos. Estacapacidad facilita la creacion de herramientas analıticas para conjuntos com-plejos de datos que necesitan analizar las relaciones entre las entidades asıcomo los metadatos asociados a cada entidad y relacion.

– Implementacion de algoritmos de teorıa de grafos, analisis exploratorio dedatos, analisis de redes sociales y aprendizaje automatico. Esto incluye ruti-nas para clustering, descomposicion, optimizacion, generacion aleatoria degrafos, analisis estadıstico y calculo de distancia de una red, flujo y medidasde rankeo (centralidad, PageRank, HITS, etc.).

– Un framework de visualizacion que permite de forma facil la construccion deherramientas para la exploracion interactiva de redes de datos. Los usuariospueden elegir de una cantidad de disenos y algoritmos de dibujo, o puedenusar el framework para crear sus propios algoritmos.

– Mecanismo de filtrado los cuales extraen subconjuntos de una red; permi-tiendo a los usuarios centrar su foco de atencion o sus algoritmos en unaporcion especıfica de la red.

Como librerıa, JUNG puede ser usado para construir herramientas orientadasal analisis de redes/grafos o para proveer estas capacidades a sistemas existentes,esto es posible debido a la flexibilidad que ofrece JUNG al ser una API y no unaherramienta final. Para una revision de los proyectos desarrollados con JUNGrevisar [34].

4.3 Gephi

Gephi es una herramienta para la exploracion, navegacion y analisis de grafos.Permite a los usuarios interactuar con las distintas representaciones, manipularlas estructuras, formas y colores que revelan propiedades ocultas. Utiliza unmotor de renderizado 3D para mostrar las grandes redes en tiempo real y paraacelerar la exploracion. El objetivo es ayudar a los analistas de datos a hacerhipotesis, descubrir patrones, aislar singularidades en las estructuras o encontrarfallas en los datos[25].

Gephi se destaca por ser una herramienta libre de codigo abierto y que corretanto en Windows, Linux como Mac, puede ser descargado desde [23]. Esta de-sarrollado en JAVA y se distribuye bajo licencia GNU GPL 3. Resulta ideal paradesplegar graficos representados mediante grafos, complejos graficos de visual-izacion de datos utilizados en analisis de redes sociales, o jerarquıa de datos.Ademas, es ideal para utilizar como herramienta de visualizacion en proyectosde pequeno, mediano o gran porte [26].

Soporta la representacion de grafos dirigidos, no dirigidos y mixtos, y por elmomento no permite implementar hipergrafos. Uno de los aspectos mas impor-tantes cubiertos por Gephi es la interaccion en tiempo real, permite modificarpropiedades de los nodos y arcos al mismo tiempo que se modifica la repre-sentacion o layout del grafo y ofrecerselas al usuario sin largas esperas. Ası mismopermite realizar agrupaciones, filtrado, manipulacion, navegacion y proveer unfacil acceso a los datos [3].

8 Jose Federico Medrano, Jose Luis Alonso Berrocal y Carlos G. Figuerola

Gephi dispone del codigo fuente para su utilizacion y de una API denomi-nada Gephi Toolkit [24] para desarrollar aplicaciones propias basadas en dichaherramienta.

En este trabajo se ha utilizado la version Gephi 0.8 alfa, basandonos en laherramienta final y no en la API.

5 Redes sociales

Una red social se compone de todas las personas - familiares, amigos y otros - conquien se comparte una relacion social. A nivel macro, una red social se muestracomo un grupo grande de personas que estan conectadas entre sı. En el estudiode las redes sociales se examinan estos dos niveles y, de ser posible, los intentosde relacionarlos entre sı [28]. Investigadores de las redes sociales han examinadocomo las personas hacen amigos y como la gente tiene muchos amigos ([17] y[18]), y como las personas se basan en sus redes sociales para darse apoyo social.

Las redes sociales tambien son conocidas por la propiedad de “seis gra-dos”. Varios estudios, como el experimento de Milgram[40], han demostradoempıricamente que, si una persona se encuentra alejada un “paso” de distanciade una persona que conoce, entonces cualquier persona se encuentra a lo sumoseis “pasos” de distancia de cada persona en la Tierra. Es decir, las redes socialessuelen presentar muchas agrupaciones locales con una densidad alta, y la estruc-tura global poco densa con un pequeno numero de nodos como eje conectandolas diferentes agrupaciones o clusters [9].

Se ha visto como en los ultimos anos, las redes sociales online, atraen cada veza un numero mayor de seguidores. El crecimiento exponencial que experimentanlas redes sociales se debe a la rapida propagacion de la informacion, mas aun,a traves de las plataformas de desarrollo abiertas que poseen los sitios comoFacebook o Twitter [53], que han permitido a los desarrolladores crear sus propiasaplicaciones aumentando el trafico en las redes. Por ejemplo, hubo un 30% deaumento en el trafico del sitio de Facebook en la semana siguiente al lanzamientode su plataforma de desarrollo [44].

5.1 Trabajos relacionados

Existen muchos estudios realizados analizando caracterısticas de las redes so-ciales. Uno de los primeros estudios detallados sobre las aplicaciones desar-rolladas por terceros vinculadas a redes sociales online con una gran base deusuarios como Facebook es el de [44], el cual mide y caracteriza este nuevo im-pacto en la carga de trabajo ligado a las aplicaciones de terceros, ası mismoevalua la interaccion del usuario, y su relacion con las redes sociales subya-centes. Un analisis a gran escala de las propiedades estructurales de las redessociales online realizado por Mislove [41], se baso en el estudio de multiples redessociales: Flickr (http://www.flickr.com), YouTube (http://www.youtube.com),LiveJournal (http://www.livejournal.com), y Orkut (http://www.orkut.com).

Visualizacion de Grafos Web 9

Para este estudio se obtuvo un grafo con 11,3 millones de usuarios y 328 mil-lones de arcos, los resultados confirmaron las propiedades de power-law [16],small-world[40], y scale-free[2] de las redes sociales online. En [4] se presentaun analisis de la carga de trabajo de las redes sociales online basado en unseguimiento detallado de clics sobre 37.024 usuarios que accedieron a las redessociales: Orkut (http://www.orkut.com), MySpace (http://www.myspace.com),Hi5 (http://www.hi5.com), y LinkedIn (http://www.linkedin.com). Este analisisdemuestra el poder de utilizar datos de navegacion en la identificacion de pa-trones en las cargas de trabajo de redes sociales y en las interacciones sociales.Un estudio importante realizado por Golder [28] sobre la actividad de mensajerıadentro de Facebook, pone de manifiesto caracterısticas especıficas tales como reg-ularidades en el trafico diario y semanal, y su relacion con el uso de Facebookpor parte de un grupo selecto (estudiantes universitarios). El mismo estudioencontro que la actividad en Facebook parece estar centrada en “redes” individ-uales y este comportamiento esta relacionado con los patrones de uso temporalde dichas redes. Otros estudios relevantes incluyen el trabajo de Newman [45]sobre los algoritmos de extraccion e identificacion de comunidades, y el trabajode Liben-Nowell [38] el cual encontro una fuerte correlacion entre la amistad yla ubicacion geografica de las redes sociales.

5.2 Extraccion de datos

Facebook es un sitio web de redes sociales que en los ultimos anos ha ganadouna enorme popularidad. Parte de la razon del exito se debe a su plataformade desarrollo. En Facebook, una amistad se forma cuando un usuario extiendeuna invitacion (amistad) a otro usuario. Tras la confirmacion de este ultimo, larelacion de amistad se forma. Gran parte de la actividad en Facebook se producedebido a estas relaciones de amistad. Es necesario tener en cuenta que en estecaso la relacion de amistad es bidireccional, es decir, si los usuario A y B sonamigos esto quiere decir que el usuario A es amigo de B, ası como el usuario Bes amigo de A. Debido a que el analisis realizado se hizo sobre la estructura deamigos basado en la relacion de amistad entre los usuarios de Facebook, el graforesultante es un grafo no dirigido que posee unicamente un arco entre dos nodosrelacionados y no dos arcos en direcciones opuestas. Otra caracterıstica de estegrafo es que es un grafo conectado y no ponderado.

Para proceder con la extraccion del conjunto de datos deseado se hizo usodel PHP SDK [15] provisto por la plataforma, el mismo brinda soporte para lasaplicaciones web basabas en el lenguaje PHP [48].

5.3 Plataforma de Facebook para desarrolladores

La plataforma de desarrollo de Facebook [13] fue lanzada en mayo de 2007 [49]con solo ocho aplicaciones en su lista. En los meses posteriores, la plataformaexperimento un crecimiento fenomenal ası tambien como del trafico, llegandoa tener mas de 55.000 aplicaciones activas, con desarrolladores de mas de 190paıses, con usuarios realizando 20 millones de instalaciones a diario [14].

10 Jose Federico Medrano, Jose Luis Alonso Berrocal y Carlos G. Figuerola

La arquitectura de esta plataforma de desarrollo permite a un usuario inter-actuar indirectamente con los servidores de aplicaciones a traves de los servidoresde Facebook. Esto permite a Facebook proteger a los usuarios del contenido ma-licioso que puede ser incrustado en los datos de respuesta de los servidores deaplicaciones, ya que Facebook puede procesar y descartar contenidos no deseadosde las respuestas del servidor antes de enviarlas a los usuarios. Debemos notar,sin embargo, que Facebook tiene un metodo alternativo para la implementacionde aplicaciones en su plataforma que permite a los usuarios interactuar direc-tamente con los servidores de aplicaciones, que es el esquema utilizado para eldesarrollo de nuestra aplicacion.

Registrar aplicacion Antes de iniciar con el desarrollo de la aplicacion paraextraer el conjunto de datos objeto de estudio, fue necesario registrarse comodesarrollador en la plataforma de Facebook para desarrolladores, para ello esnecesario contar con las credenciales (nombre de usuario y contrasena) de unacuenta de usuario valida. Una vez verificado el registro del usuario se habilitanlas opciones y paneles dentro de la plataforma para la creacion de aplicaciones.

El nombre de la aplicacion desarrollada es “TFM” y se encuentra publicadaen: http://www.justsoft.com.ar/TFM/tfm.php. La primera vez que se acceda ala aplicacion y una vez que el usuario se haya autentificado con las credenciales deusuario de Facebook, la misma le solicitara los permisos necesarios para accedera los datos de la cuenta de usuario, una vez aceptado, el usuario puede haceruso de la aplicacion.

Funcionamiento de la aplicacion El objetivo de la aplicacion es construirun grafo no dirgido y no ponderado en formato Pajek (archivo con extension.NET)[47] el cual refleje la estructura de amigos de un usuario dado. La apli-cacion fue desarrollada en PHP haciendo uso del PHP SDK provisto por Face-book. Se eligio el formato de Pajek debido a que es un formato ampliamenteusado en las representaciones de grafos, es muy facil de implementar y proce-sar ya que posee una sintaxis sumamente sencilla y en modo texto, y ademasporque las tres herramientas objeto de estudios brindan soporte para este tipode formato.

El funcionamiento basico de la aplicacion es el siguiente: se obtiene el listadode todos los amigos de la cuenta del usuario autentificado, luego esta lista esrecorrida uno a uno para obtener los amigos en comun entre el usuario y susamigos, esto se hace para obtener las relaciones entre los amigos de este. Amedida que se recorre la lista de amigos se va creando, por un lado el conjuntode nodos que estara formado por el usuario y los amigos del usuario, y por otrolado se crean los arcos que reflejaran las relaciones entre los nodos. En el graforesultante debe haber un arco entre el usuario y cada uno de sus amigos, yademas debe haber un arco entre los amigos en comun que tengan los amigosdel usuario.

Visualizacion de Grafos Web 11

6 Evaluacion de herramientas

Para la evaluacion de las tres herramientas se tomo el mismo conjunto de datos,el archivo Graph.net generado mediante la aplicacion TFM, el cual presenta ungrafo con 466 nodos y 4655 arcos.

Los aspectos que se evaluaran de cada herramienta son:

– Los distintos algoritmos de representacion o layout que dispone.– Los distintos algoritmos para la deteccion/identificacion de comunidades o

agrupaciones.– El grado de interaccion otorgado por la herramienta.– El desempeno y rendimiento de la herramienta.

6.1 Eleccion de algoritmos de diseno

Existen numerosos algoritmos de diseno y disposicion de los elementos(nodos yarcos) del grafo, la mayorıa de las herramientas solo implementan los mas co-munes o los que mejor resultado ofrecen al usuario. Dentro de estos, los metodosdirigidos por fuerza (force-directed) presentan una buena eleccion, no solo porsu amplio uso, sino por la naturaleza de su funcionamiento. De los algoritmos di-rigidos por fuerzas, se eligieron Fruchterman-Reingold [20] y Kamada-Kawai[35],ya que fueron los que mejor desempeno mostraron a la hora de visualizar nue-stro conjunto de datos en las pruebas realizadas, ademas existen abundantespublicaciones y documentacion sobre los mismos.

La caracterıstica especial de Fruchterman-Reingold es que las fuerzas se apli-can de manera que distribuyen los nodos de forma homogenea en el area dedibujo predefinida, dando a los disenos basados en Fruchterman-Reingold unaspecto mas expandido, En contraste, Kamada-Kawai hace uso de las distanciasteoricas del grafo como medida durante el proceso de colocacion del nodo en lu-gar de la informacion de adyacencia. Si bien la informacion de adyacencia puedeser facilmente encontrada en los grafos, las distancias teoricas del grafo tienenque ser calculadas de forma explıcita. El beneficio de las distancias teoricas delgrafo es que establecen una medida entre cualquier par de nodos que se reflejadirectamente en la distancia entre estos nodos [50].

6.2 IGraph

La herramienta IGraph funciona bajo el entorno R. Para proceder con las pruebasse creo un script basado en un ejemplo disponible en la documentacion de dichoentorno [32] para poder detectar las comunidades y asignarles distintos colores.Las visualizaciones se realizaron utilizando dos de las funciones provistas por laherramienta: plot y tkplot.

Para la deteccion de comunidades se utilizaron los siguientes algoritmosdisponibles en la herramienta IGraph: edge.betweenness.community, fastgreedy.community,leading.eigenvector.community, spinglass.community y walktrap.community

12 Jose Federico Medrano, Jose Luis Alonso Berrocal y Carlos G. Figuerola

Mientras que para el diseno y disposicion del grafo (layout) se utilizaron:kamada.kawai y fruchterman.reingold. El resto de los algoritmos de layout noson utiles para este estudio, ya sea porque la cantidad de nodos utilizada esmuy grande (Circle y Random) o porque la disposicion no es adecuada paraobservar e identificar las comunidades (Spring Embedder y Reingold-Tilford, eneste ultimo la disposicion es en forma de arbol)

A continuacion se presentan los distintos resultados obtenidos con la her-ramienta de visualizacion plot al variar el algoritmo de layout y el numero deiteraciones a ejecutar con cada algoritmo. Con respecto a los algoritmos de de-teccion de comunidades, se observo que para grafos pequenos (algunas decenasde nodos) funcionan adecuadamente, es decir, asigna los colores de acuerdo alas comunidades detectadas, pero para grafos grandes (como es el caso del estu-dio en cuestion), estos no funcionan adecuadamente, la herramienta no permitehacer un zoom sobre le representacion dificultando la visualizacion. Los coloresson asignados a los nodos pero las comunidades que se forman son visibles deacuerdo a la disposicion de los nodos (en relacion al algoritmo de layout uti-lizado) y no de acuerdo a los colores asignados a los nodos, por ello solo sepresentan los resultados utilizando el algoritmo de clustering Edge betweenness.

En las Figura 2 y Figura 3 se pueden observar los resultados de las ejecucionespara los algoritmos kamada.kawai y fruchterman.reingold para distintos numerosde iteraciones (1, 100, 500, 1000, 5000 y 9000). Como lo indican las figuras,para las ejecuciones de mas de 1000 iteraciones (5000 y 9000 en este caso), lasrepresentaciones no sufren cambios y salvo una pequena rotacion en algunoscasos, se mantienen casi constantes o al menos sin cambios significativos. Paralas representaciones con plot, el tiempo demandado es del orden de algunossegundos, de 30 a 50 segundos para 500 iteraciones o superiores.

Lo mismo sucede para las ejecuciones con tkplot, como se puede observaren las Figura 4 y Figura 5. Ya sea utilizando un metodo de visualizacion uotro, los resultado son casi identicos, a esto se debe sumar el nulo grado deinteraccion que posee plot, en el cual lo unico que se puede hacer con el grafoes imprimirlo, o guardarlo como metafile o bitmap. Del mismo modo, tkplottampoco aporta gran interaccion, mas alla de poder mover los nodos o cambiarde color los nodos y arcos, lo mas importante es que una vez representado el grafose puede intercambiar el algoritmo de visualizacion por todos los disponibles,cambiando el numero de iteraciones y demas parametros de cada uno. Para lasrepresentaciones con tkplot, el tiempo demandado es del orden de varios minutos,de 5 a 10 minutos para 500 iteraciones o superiores.

Algo tan basico como el zoom no es posible mediante estos metodos de visual-izacion. Si bien la plataforma R posee una tercera herramienta de visualizacion,rglplot, no es adecuada para la visualizacion de grafos de cientos de nodos, porello no se ofrece dicha representacion. Esta herramienta aporta un poco mas deinteraccion al poder hacer un zoom basico y una rotacion del grafo, pero aunası, los nodos y sobre todo los arcos se solapan dificultando todo el proceso devisualizacion y analisis.

Visualizacion de Grafos Web 13

Fig. 2. Ejecuciones con plot para 1, 100 y 500 iteraciones

Fig. 3. Ejecuciones con plot para 1000, 5000 y 9000 iteraciones

14 Jose Federico Medrano, Jose Luis Alonso Berrocal y Carlos G. Figuerola

Fig. 4. Ejecuciones con tkplot para 1, 100 y 500 iteraciones

Fig. 5. Ejecuciones con tkplot para 1000, 5000 y 9000 iteraciones

Visualizacion de Grafos Web 15

6.3 JUNG

A continuacion se ofrecen los resultados de la representacion de nuestro grafocon la herramienta JUNG. Para realizar esto se desarrollo una aplicacion muybasica en codigo JAVA (ya que JUNG es una API para este lenguaje y no unaherramienta final) para poder implementar los distintos algoritmos de layout yde deteccion de comunidades.

Dicha aplicacion cuenta con las opciones necesarias para indicar los distintosparametros de los algoritmos. Posee una lista desplegable donde seleccionar elalgoritmo de cluster con las siguientes opciones: Edge Betweenness, Weak Com-ponent y Voltage. Tambien posee una lista desplegable donde seleccionar el algo-ritmo de layout con las siguientes opciones: Fruchterman-Reingold y Kamada-Kawai. Ası mismo permite indicar el numero de iteraciones a realizar por losalgoritmos de layout, permite elegir el archivo .net el cual contendra el grafoque se dibujara y por ultimo permite especificar un parametro adicional, esteparametro es utilizado por los algoritmos de cluster Edge Betweenness para in-dicar la cantidad de arcos a remover y por el algoritmo Voltage para indicar lacantidad de clusters a generar, para el algoritmo Weak Component no es tenidoen cuenta.

Aquı presentamos los resultados obtenidos con la aplicacion desarrollada,para ello se realizaron variaciones de los distintos algoritmos de layout y de clus-ter. En cuanto al algoritmo de cluster WeakComponentClusterer, en las pruebasrealizadas con las distintas variantes, no mostro algun resultado relevante, esdecir, solo detectaba una comunidad la del grafo entero, esto responde a la nat-uraleza del algoritmo al no poder encontrar componentes debilmente conectadosmas que el grafo mismo. Para el resto de los algoritmos y variantes se ofrecenlas capturas correspondientes.

Para el metodo de deteccion de comunidades EdgeBetweennessClusterer serealizaron las pruebas eliminando 100 arcos. El numero 100 elegido fue el queprodujo resultados mas representativos. Para un mayor detalle de este algoritmorevisar [27].

En las Figura 6 y Figura 7 se observan las ejecuciones del algoritmo de clusterEdgeBetweennessClusterer para los algoritmos de layout Fruchtermen-Reingoldy Kamada-Kawai para 1, 100, 500, 1000 y 5000 iteraciones.

Se observa que el algoritmo Fruchtermen-Reingold ofrece mejores resultadosque el algoritmo Kamada-Kawai debido a la disposicion de los nodos, para elprimero se observan las distintas agrupaciones casi a primera vista, mientrasque para el segundo es imposible identificarlas debido a la disposicion circulary central del algoritmo. En cuanto a los colores de los clusters detectados no seobservan resultados significativos ya que las comunidades formadas se deben ala naturaleza del algoritmo de layout, es decir, las comunidades formadas poseenel mismo color de acuerdo a la asignacion y esto no hace muy evidente el fun-cionamiento del algoritmo de clustering. Se observan nodos aislados de distintoscolores pero estos no llegan a formar una comunidad, la mayorıa son nodos queunicamente estan relacionados con el nodo 0 o central, y no poseen relacionescon el resto de nodos. Para las ejecuciones de 500, 1000 y 5000 iteraciones no

16 Jose Federico Medrano, Jose Luis Alonso Berrocal y Carlos G. Figuerola

Fig. 6. Ejecucion de EdgeBetweennessClusterer para 1, 100 y 500 iteraciones

Fig. 7. Ejecucion de EdgeBetweennessClusterer para 1000 y 5000 iteraciones

Visualizacion de Grafos Web 17

se observan cambios significativos, es mas, para las ejecuciones de mas de 1000iteraciones los resultados parecen constantes.

En las Figura 8 y Figura 9 se presentan las ejecuciones para el algoritmode clustering VoltageClusterer. Este algoritmo precisa de un parametro N quees el numero de clusters a identificar/detectar, las pruebas se realizaron con unN = 10, aunque las pruebas con N = 5 arrojaron resultados muy similares.Se eligio N = 10 al observar los resultados anteriores y ver que en los mayorıade los casos se forman 4 comunidades grandes y bien definidas, aunque existencomunidades muy pequenas, de 2 o 3 elementos que no son faciles de distinguir.

Fig. 8. Ejecucion de VolatageClusterer para 1, 100 y 500 iteraciones

Nuevamente el algoritmo de layout Fruchterman-Reingold ofrece mejores re-sultados que su contrapartida Kamada-Kawai, por otro lado, se ve claramenteque el algoritmo de cluster VoltageClusterer asigna un color distinto a cadauna de las comunidades detectadas y hace evidente su funcionamiento, en com-paracion al algoritmo de clustering anterior (EdgeBetweennessClusterer).

La herramienta JUNG ofrece ciertos niveles de interaccion que no poseeIGraph. JUNG permite observar mas de cerca el grafo generado, ya que a estese le puede hacer zoom, rotar y trasladar facilmente, dejando atras los grafospequenos y estaticos, si bien a simple vista parece ser una masa de nodos, me-diante el zoom adecuado se observan las distribuciones de los nodos en comu-nidades. Es necesario destacar que JUNG ofrece un conjunto enorme de posibil-idades para desarrollar aplicaciones altamente interactivas, con interfaces mod-

18 Jose Federico Medrano, Jose Luis Alonso Berrocal y Carlos G. Figuerola

Fig. 9. Ejecucion de VolatageClusterer para 1000 y 5000 iteraciones

ernas y vistosas, y lo que se hizo en este trabajo es solo una muestra del poderque tiene esta herramienta para el desarrollo de aplicaciones a medida.

En cuanto al tiempo de ejecucion demandado, es del orden de algunos min-utos, de 3 a 6 minutos para 500 iteraciones o superiores.

6.4 Gephi

La ultima herramienta por evaluar es Gephi. Para nuestro estudio solo se utilizola herramienta final ya que posee toda la funcionalidad requerida para evaluar yanalizar grandes grafos, ofrece un conjunto grande de opciones para parametrizarlas representaciones y poder interactuar con las mismas.

Las pruebas se realizaron utilizando dos algoritmos de layout :

– Fruchterman Reingold– Force Atlas

Gephi no posee una implementacion para el algoritmo de layout Kamada-Kawai, sin embargo posee una implementacion de un algoritmo dirigido porfuerzas llamado Force Atlas [3], este algoritmo fue desarrollado por el mismoequipo que desarrollo la herramienta.

Para la deteccion de comunidades se hizo uso del algoritmo provisto por laherramienta, el cual es un metodo heurıstico que se basa en la optimizacion

Visualizacion de Grafos Web 19

de la modularidad. Este metodo encuentra las particiones de alta modularidaddentro de grafos de gran tamano en poco tiempo y desarrolla una completaestructura jerarquica de la comunidad del grafo. Contrariamente al resto dealgoritmos de deteccion de comunidades, los lımites de tamano del grafo al quese enfrenta este algoritmo se deben a la limitada capacidad de almacenamientoen lugar del tiempo de procesamiento limitado, por ejemplo: la identificacion delas comunidades en un grafo de 118 millones de nodos solo tomo 152 minutos[5].

Se realizaron dos ejecuciones por separado con el mismo conjunto se datospara poder ver la evolucion de ambos algoritmos de layout. A diferencia delas comparaciones realizadas en los apartados anteriores (6.2 y 6.3), en estaherramienta el lımite de cada algoritmo no esta dado por el numero de iteracionessino por el tiempo de ejecucion. Por ello las ejecuciones se hicieron para 1, 10,60 y 300 segundos. Luego de ejecutar el algoritmo por mas de 300 segundosno se observa absolutamente ningun cambio, por ello el lımite fijado fue de 300segundos.

En las Figura 10 y Figura 11 se observan los resultados de ambas ejecu-ciones. Se ve claramente que luego de transcurridos 60 segundos, los algoritmosmuestran resultados excelentes, sumado a eso, la deteccion de comunidades y suposterior coloracion permiten identificar estas aun mas que con las herramientasanteriores. Por otro lado es necesario destacar la velocidad de ejecucion, esta her-ramienta posee un procesador de graficos extremadamente rapido (en cuestionde segundos), sumado a las innumerables caracterısticas de interaccion, no soloel zoom o la rotacion y traslacion del grafo, sino que ademas permite el cambiode color de los nodos en grupos, mostrar u ocultar las etiquetas de los nodos,cambiar la tipografıa de estas, entre otras.

En cuanto a los algoritmos de layout, la ejecucion de Force Atlas demostroser la mejor opcion de todas las estudiadas, al menos para este caso y para esteconjunto de datos, principalmente por la velocidad de ejecucion (como se ve enlas capturas realizadas al alcanzar los 60 segundos ya se observa el resultado final)y por la disposicion correcta de las comunidades encontradas (cada comunidadidentificada con un color especıfico se encuentra geograficamente separada delresto de comunidades y los elemento pertenecientes a dichas comunidades seencuentran muy cercanos unos de otros).

7 Conclusiones

Las representaciones visuales de grandes cantidades de informacion en un for-mato sencillo, permiten que el usuario pueda obtener no solo un panoramageneral sino un entendimiento un tanto mas profundo de lo que se le intentatransmitir. Por ello el diseno de visualizaciones para que puedan ser facilmentecomprendidas por los seres humanos es el objetivo central de InfoVis, que haceuso del sentido mas poderoso del ser humano, la vista. Las personas procesangran cantidad de informacion de forma visual, por esta razon es una buena tareaasignar una importante carga de trabajo de procesamiento al sistema visual.

20 Jose Federico Medrano, Jose Luis Alonso Berrocal y Carlos G. Figuerola

Fig. 10. Ejecucion en Gephi para 1, 10 y 60 segundos

Fig. 11. Ejecucion en Gephi para 300 segundos

Visualizacion de Grafos Web 21

Existen muchas herramientas y tecnicas que brindan soporte a InfoVis. Unade estas tecnicas, los grafos, resultan adecuados para muchos de los problemasque surgen en la informatica y sus aplicaciones, basicamente para representarrelaciones entre entidades. Resulta sumamente sencillo dibujar un grafo pequenode forma manual, el usuario tiene en todo momento el control de la disposiciony colocacion de cada uno de los elementos del grafo (nodos y arcos), pero estatarea se vuelve tediosa e imposible de realizar cuando hablamos de grafos degran tamano (cientos, miles o millones de elementos). Es por esto que existenherramientas que procesan la informacion y realizan los dibujos y diseno delos grafos de forma automatica, librando de esta tarea al usuario. El objetivoprincipal de estas herramientas es que el usuario comprenda la estructura delgrafo.

Si bien existen herramientas que realizan el procesamiento y el diseno delgrafo de forma automatica, la intervencion del usuario es fundamental a la horade decidir cual es el mejor diseno para la representacion actual. Las herramien-tas especializadas en el analisis de grafos ofrecen un conjunto de algoritmos dediseno entre los que el usuario debe elegir el que mejor represente el conjuntode informacion que se esta tratando. De acuerdo al estudio realizado se vio quelos algoritmos mas utilizados y los que mejores resultados ofrecen son: Kamada-Kawai, Fruchterman-Reingold y Force Atlas.

En este trabajo hemos presentado tres herramientas de codigo abierto y libredistribucion, para la exploracion y analisis de grafos. Del estudio comparativorealizado en este trabajo sobre IGraph, JUNG y Gephi, se concluye que Gephies la herramienta que no solo ofrece la mejor representacion grafica sino tambienque es la que ofrece mayores opciones a la hora de interactuar con el resultado.Se debe tener en cuenta que la interaccion en visualizacion de informacion esfundamental. Una imagen estatica resultado de un procesamiento no sirve demucho al usuario, mientras que una representacion interactiva que permita alusuario tener cierto control sobre el resultado que esta observando, aporta muchomas al entendimiento y comprension de lo que se pretende informar. Para nuestrotrabajo, se pudo ver como pasamos desde una representacion casi estatica conIGraph donde la unica interaccion disponible era mover un nodo a la vez ycambiar de color los nodos y arcos, a JUNG la cual ofrecıa la posibilidad dehacer un zoom, rotar y trasladar el grafo sin perder calidad en la representacion,a Gephi la cual ofrecıa un conjunto enorme de posibilidades de interaccion, desdecambiar el tamano o color de los nodos segun diversos criterios, mostrar u ocultarlas etiquetas de los nodos, cambiar la forma y tamano de los arcos, hasta tenerdistintos escenarios ejecutando algoritmos distintos de layout, y todo esto enlınea obteniendo resultados en cuestion de segundos.

Un factor a tener en cuenta a medida que el grafo aumenta de tamano es laescalabilidad. En este trabajo se utilizo un grafo de unos cientos de nodos y seobservo como con herramientas como IGraph, el tratamiento es muy complicado,no solo por el tiempo demandado, sino por la disposicion del grafo en la pantalla.Nuevamente, Gephi sigue siendo la mejor opcion para grafos de gran tamano.Sin embargo, no se descarta el uso de JUNG, aunque le resta mejorar el proce-

22 Jose Federico Medrano, Jose Luis Alonso Berrocal y Carlos G. Figuerola

samiento grafico, que hasta el momento demanda una cantidad considerable detiempo (algunos minutos).

Las redes sociales online se han convertido en objeto de estudio en este ultimotiempo, por un lado debido a la gran popularidad de estas, las redes mas popu-lares cuentan con cientos de millones de usuarios, y por otro lado para compren-der las estructuras y relaciones que soportan estas comunidades. En este trabajose analizo una caracterıstica de las redes sociales, la formacion de las estructurasde amigos de la red social Facebook. Para ello se utilizaron los algoritmos dedeteccion de clusters o agrupaciones de las distintas herramientas que hemospresentado. En este aspecto una vez mas Gephi, con su propio algoritmo dedeteccion de comunidades, presento los mejores resultados, tanto en tiempo deejecucion como en la deteccion eficiente de comunidades. Igualmente, JUNG noquedo muy desfasado, la aplicacion del metodo VoltageClusterer mostro resul-tados muy satisfactorios en contraposicion con los demas algoritmos disponiblesen dicha herramienta. En el estudio de las redes sociales, el detectar e identificaradecuadamente las comunidades es una cuestion muy importante en cualquieranalisis que se realice.

Por ultimo queremos destacar que InfoVis es un campo en constante crec-imiento debido a que las cantidades de informacion y las necesidades de contarcon herramientas que analicen estos conjuntos de datos de forma correcta y efi-caz, aumentan constantamente. El contar con representaciones adecuadas y quepermitan al usuario interactuar con el resultado es un factor determinante a lahora de elegir una herramienta u otra, ya que esto tendra una relacion directaen la comprension y el entendimiento del resultado a informar.

References

1. J. Abello, F. van Ham, and N. Krishnan. Ask-graphview: A large scale graphvisualization system. IEEE Trans Vis Comput Graph, 12(5):669–676, 2006.

2. A.-L. Barabsi and R. Albert. Emergence of scaling in random networks. Science,286(5439):509–512, 1999.

3. M. Bastian, S. Heymann, and M. Jacomy. Gephi: an open source software forexploring and manipulating networks. International AAAI Conference on Weblogsand Social Media, 2009.

4. Fabrcio Benevenuto, Tiago Rodrigues, Meeyoung Cha, and Virglio Almeida. Char-acterizing user behavior in online social networks. In Proceedings of the 9th ACMSIGCOMM conference on Internet measurement conference, pages 49–62, 2009.

5. Vincent D. Blondel, Jean-Loup Guillaume, Renaud Lambiotte, and Etienne Lefeb-vre. Fast unfolding of communities in large networks. Journal of Statistical Me-chanics: Theory and Experiment, 2008(10), 2008.

6. P. Boldi and S. Vigna. The webgraph framework i: compression techniques. In The13th international conference on World Wide Web, New York, NY, USA, 2004.

7. S.K. Card, J.D. Mackinlay, and B. Shneiderman. Readings in Information Visual-ization: Using Vision to Think. Morgan-Kaufmann, San Francisco, 1999.

8. Christian Collberg, Stephen Kobourov, Jasvir Nagra, Jacob Pitts, and KevinWampler. A system for graph-based visualization of the evolution of software.Proceedings of the 2003 ACM symposium on Software visualization, pages 77–ff,2003.

Visualizacion de Grafos Web 23

9. Weiwei Cui. A Survey on Graph Visualization. Phd qualifying exam (pqe) report,Computer Science Department, Hong Kong University of Science and Technology,2007.

10. J. Drsteler. Visualizacin del contenido de la web.http://www.infovis.net/printMag.php?num=175&lang=1, 2005.

11. Lenguaje R. http://www.r-project.org/. Disponible en Junio, 2011.12. Facebook. http://www.facebook.com/.13. Developer Facebook. http://www.facebook.com/developers/. Disponible en Junio,

2011.14. Estadstica Desarrolladores Facebook. http://www.facebook.com/press/info.php?statistics.

Disponible en Junio, 2011.15. PHP SDK Facebook. https://github.com/facebook/php-sdk/. Disponible en Ju-

nio, 2011.16. Michalis Faloutsos, Petros Faloutsos, and Christos Faloutsos. On power-law rela-

tionships of the internet topology. ACM SIGCOMM Computer CommunicationReview, 29(4):251262, 1999.

17. S. Feld. The focused organization of social ties. American Journal of Sociology,86(5):10151035, 1981.

18. S. Feld. Why your friends have more friends than you do. American Journal ofSociology, 96(6):14641477, 1991.

19. Michael Frhlich and Mattias Werner. Demonstration of the interactive graph vi-sualization system davinci. In Proc of the DIMACS Workshop on Graph Drawing94, Lecture Notes in Computer Science, pages 266–269. Springer Verlag, 1995.

20. Thomas M. J. Fruchterman and Edward M. Reingold. Graph drawing by force-directed placement. Software: Practice and Experience, 21(11):1129–1164, 1991.

21. B. Fry. Organic information design. Massachusetts Institute of Technology, 2000.22. Emden Gansner, Yehuda Koren, and Stephen North. Topological fisheye views

for visualizing large graphs. IEEE Transactions on Visualization and ComputerGraphics, 11(4):457–468, 2005.

23. Download Gephi. http://gephi.org/. Disponible en Junio, 2011.24. Toolkit Gephi. http://gephi.org/toolkit/. Disponible en Junio, 2011.25. Web Gephi. http://gephi.org/. Disponible en Junio, 2011.26. Weblatam Gephi. http://weblatam.com/wp/gephi/. Disponible en Junio, 2011.27. M. Girvan and M. Newman. Community structure in social and biological net-

works. Proceedings of the National Academy of Sciences, 99(12):7821–7826, 2002.28. Scott Golder, Dennis Wilkinson, and Bernardo A. Huberman. Rhythms of social

interaction: Messaging within a massive online network. In International Confer-ence on Communities and Technologies, 2007.

29. Frank Harary. Graph Theory. Addison Wesley, 1995.30. Jeffrey Heer, Stuart K. Card, and James Landay. Prefuse: A toolkit for interactive

information visualization. In ACM Human Factors in Computing Systems (CHI),pages 421–430, 2005.

31. Web IGraph. http://igraph.sourceforge.net/introduction.html. Disponible en Ju-nio, 2011.

32. Community in R. http://igraph.wikidot.com/community-detection-in-r.Disponible en Junio, 2011.

33. Carlis John and Konstan Joseph. Interactive visualization of serial periodic data.In ACM Symposium on User Interface Software and Technology, (San Francisco,CA), ACM Press: New York, pages 29–38, 1998.

34. Projects Using JUNG. http://sourceforge.net/apps/trac/jung/wiki/ProjectsUsingJUNG.Disponible en Junio, 2011.

24 Jose Federico Medrano, Jose Luis Alonso Berrocal y Carlos G. Figuerola

35. T. Kamada and S. Kawai. An algorithm for drawing general undirected graphs.Information Processing Letters, 31(1):7–15, 1989.

36. Daniel A. Keim. Information visualization and visual data mining. IEEE Trans-actions on Visualization and Computer Graphics, 7(1), 2002.

37. R. Kosara, H. Hauser, and D. Gresh. An interaction view on information visu-alization. In EUROGRAPHICS 2003 State-of-the-Art Re-ports, pages 123–137,2003.

38. David Liben-Nowell, Jasmine Novak, Ravi Kumar, Prabhakar Raghavan, and An-drew Tomkins. Geographic routing in social networks. In Proceedings of the Na-tional Academy of Sciences of the United States of America, volume 102, pages11623–11628, 2005.

39. M. S. Marshall, I. Herman, and G. Melancon. An object-oriented design for graphvisualization. Software: Practice and Experience, 31(8):739–756, 2001.

40. S. Milgram. The small world problem. Psychology Today, 2:6067, 1967.41. A. Mislove, M. Marcon, K. P. Gummadi, P. Druschel, and B. Bhattacharjee. Mea-

surement and analysis of online social networks. In Proceedings of the 7th ACMSIGCOMM conference on Internet measurement, pages 29–42, 2007.

42. Tamara Munzner. H3: Laying out large directed graphs in 3d hyperbolic space. InProceedings of the 1997 IEEE Symposium on Information Visualization, page 210,1997.

43. Tamara Munzner. Drawing large graphs with h3viewer and site manager (systemdemonstration). In Published in the Lecture Notes in Computer Science series GD98: Symposium on Graph Drawing, page 384393, Montreal, Canada, 1998. SpringerVerlag.

44. A. Nazir, S. Raza, and C.N. Chuah. Unveiling facebook: a measurement studyof social network based applications. In IMC ’08: Proceedings of the 8th ACMSIGCOMM conference on Internet measurement, pages 43–56, 2008.

45. M.E.J. Newman. Finding community structure in networks using the eigenvectorsof matrices. In Physical Review E 74, number 3, 2006.

46. Joshua O’Madadhain, Danyel Fisher, Padhraic Smyth, White, and Yan-Biao Boey.Analysis and visualization of network data using jung. Journal of Statistical Soft-ware, VV(2), 2005.

47. Format Pajek. http://vw.indiana.edu/tutorials/pajek/. Disponible en Junio, 2011.48. PHP. http://www.php.net/.49. Lanzamiento plataforma de Desarrolladores Facebook.

http://www.facebook.com/platform?sk=info. Disponible en Junio, 2011.50. Wolfgang Prinz. The Graph Visualization System (GVS): A Flexible Java Frame-

work for Graph Drawing. Masters thesis, Graz University of Technology, 2006.51. Python. http://www.python.org/. Disponible en Junio, 2011.52. Ruby. http://www.ruby-lang.org/es/. Disponible en Junio, 2011.53. Twitter. http://twitter.com/.