Visualizacion de grafos web - Artículo Científico
Upcoming SlideShare
Loading in...5
×
 

Visualizacion de grafos web - Artículo Científico

on

  • 2,032 views

Artículo Científico desarrollado en base a la memoria con el mismo nombre, para obtener la Titulación de Master en Sistemas Inteligentes por la Universidad de Salamanca, España 2010-2011

Artículo Científico desarrollado en base a la memoria con el mismo nombre, para obtener la Titulación de Master en Sistemas Inteligentes por la Universidad de Salamanca, España 2010-2011

Statistics

Views

Total Views
2,032
Views on SlideShare
2,032
Embed Views
0

Actions

Likes
1
Downloads
58
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Visualizacion de grafos web - Artículo Científico Visualizacion de grafos web - Artículo Científico Document Transcript

  • Visualizaci´n de Grafos Web o Jos´ Federico Medrano1 , Jos´ Luis Alonso Berrocal2 y Carlos G. Figuerola2 e e 1 M´ster en Sistemas Inteligentes. Universidad de Salamanca (www.usal.es), a Salamanca, Espa˜a n fmedrano@usal.es 2 Departamento de Inform´tica y Autom´tica. Universidad de Salamanca a a (www.usal.es), Salamanca, Espa˜a n {berrocal, figue}@usal.es Resumen. A diario somos testigos de la ingente cantidad de infor- maci´n que se genera y que se encuentra disponible en la web, ya sea o en forma de documentos, archivos o p´ginas web. Al mismo tiempo que a aumenta la cantidad de informaci´n que debe ser procesada y entendida o por las personas, cobran mayor importancia las t´cnicas para explorar y e analizar efectivamente grandes vol´menes de datos. El campo de la com- u putaci´n llamado Visualizaci´n de Informaci´n o InfoVis, se encarga de o o o 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´n de grafos, parte del campo de InfoVis, o que pretende visualizar informaci´n abstracta mediante representaciones o 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´n y an´lisis de tres o a herramientas (IGraph, JUNG y Gephi) especializadas en la visualizaci´n o y estudio de este tipo de representaci´n gr´fica. Para ello se hizo uso de o a la red social m´s importante del momento, Facebook, y se desarroll´ una a o herramienta que extrae todos los amigos y las relaciones de amistad entre estos de una cuenta de usuario de Facebook v´lida. Con esta informaci´n a o se construy´ un grafo de tama˜o medio (466 nodos y 4655 aristas) en o n 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´n, disponibilidad de algoritmos de layout y representaci´n vi- o o sual, y las implementaciones de los algoritmos de clustering para detectar adecuadamente las comunidades o agrupaciones dentro del grafo.1 Introducci´n oLas t´cnicas para representar informaci´n est´tica son bien conocidas, por sus e o adescripciones y por su dise˜o est´tico, ejemplo de estos son las tablas, gr´ficos n e ade torta, histogramas, entre otras. Si bien estas t´cnicas son utiles para infor- e ´maci´n est´tica, dejan de serlo cuando se consideran variaciones en los datos o ao informaci´n din´mica. La Web presenta un dinamismo incre´ o a ıble, tanto en es-tructura (cada d´ se observan cambios en sitios web, p´ginas que desaparecen, ıa a
  • 2 Jos´ Federico Medrano, Jos´ Luis Alonso Berrocal y Carlos G. Figuerola e ereestructuraciones, nuevas p´ginas y secciones, etc.) como en contenido (cada d´ a ıanuevos sitios web son agregados). Por ello autores como Ben Fry [21] se pregun-tan: “C´mo podr´ representarse la estructura de Internet, que se encuentra en o ıaconstante cambio?” Es casi imposible dar respuesta a estas y muchas preguntasrelacionadas sin pensar en t´cnicas de Visualizaci´n de Informaci´n din´mica. e o o a El r´pido y descontrolado crecimiento de la informaci´n que reside en la Web, a oha conllevado al surgimiento de numerosos campos de investigaci´n enfocados en ola b´squeda de herramientas de an´lisis que permitan representar y comprender u avastas cantidades de informaci´n [10]. Actualmente existen sistemas capaces de oalmacenar grandes vol´menes de datos. Sin embargo, la representaci´n textual u ode los datos no permite realizar exploraciones adecuadas sobre los mismos, oca-sionando de esta forma la p´rdida del potencial de la informaci´n almacenada e o[36]. Como consecuencia de esto, han surgido ´reas de investigaci´n como la Re- a ocuperaci´n de Informaci´n, la cual provee t´cnicas y m´todos para la obtenci´n o o e e ode grande cantidades de informaci´n, por ejemplo con el uso de crawlers. Otra oa´rea 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 ´rea objeto de este estudio, la Visualizaci´n de Informaci´n definida como a o oel proceso de pasar de representaciones gr´ficas a representaciones perceptivas, aeligiendo las t´cnicas de codificaci´n que maximicen la comprensi´n humana e o oy la comunicaci´n. El enfoque de la exploraci´n de datos a trav´s de la visu- o o ealizaci´n busca combinar flexibilidad, creatividad y conocimiento general con ograndes vol´menes de datos almacenados, a fin de facilitar la interacci´n directa u ocon la informaci´n a trav´s de la extracci´n de conocimientos y la realizaci´n de o e o oan´lisis y conclusiones. a Existen numerosas t´cnicas de visualizaci´n, una de ellas, los grafos, han e otenido una amplia aceptaci´n dentro de las representaciones de la estructura ode la web y m´s aun en las redes sociales online. Es com´n imaginar que la a uestructura de una p´gina web se pueda representar como un grafo, donde los arecursos 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 visualizaci´n de la estructura de un grafo web (un tipo ode grafo cuyo origen de informaci´n es la web) mediante la comparaci´n de o otres herramientas especializadas en an´lisis y representaci´n de grafos. Dicha a ocomparaci´n se realiz´ generando un grafo para representar la estructura de o oamigos de una cuenta de usuario de Facebook [12].1.1 Organizaci´n oEl trabajo centra su atenci´n en la representaci´n de grafos con tres herramien- o otas distintas, y analiza las caracter´ ısticas y funcionalidades aportadas por cadauna de ellas. El apartado 2 ofrece una breve introducci´n a los conceptos sobre oVisualizaci´n de Informaci´n. En el apartado 3 se brindan algunas definiciones o o
  • Visualizaci´n de Grafos Web o 3sobre grafos y se enumeran los trabajos m´s relevantes en esta ´rea. El apartado a a4 realiza una breve descripci´n de las caracter´ o ısticas m´s importantes de cada auna 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 m´s relevantes en ese ´mbito. En el apartado 6 se presenta a ala evaluaci´n de cada una de las herramientas utilizando el conjunto de datos oen cuesti´n y se resumen los resultados obtenidos en cada una. Por ultimo, en o ´el apartado 7 se se˜alan las conclusiones a las que hemos arribado. n2 Visualizaci´n de informaci´n o oEn las d´cadas anteriores era muy com´n que los datos se presentaran textual- e umente o mediante gr´ficos est´ticos, en estos casos la informaci´n representada a a oestaba limitada a cantidades peque˜as, pero en los ultimos a˜os estos tipos de n ´ nrepresentaciones se ha tornado poco util cuando se trata de conjuntos de datos ´que contienen millones de elementos de datos [36]. La reciente aparici´n de interfaces gr´ficas ha permitido una interacci´n o a odirecta con la informaci´n visualizada, dando lugar a m´s de una d´cada de o a einvestigaci´n en visualizaci´n de informaci´n [30]. InfoVis busca aumentar el o o oconocimiento humano mediante el aprovechamiento de las capacidades visualeshumanas para dar sentido a la informaci´n abstracta [7], proporcionando los omedios por los cuales los seres humanos mediante sus capacidades perceptivas,pueden lidiar con el constante aumento de la cantidad de datos disponibles. Unadefinici´n un tanto similar es la aportada por [33], que define a la Visualizaci´n o ode Informaci´n como “la pr´ctica de mapear conjuntos de datos dentro de medios o ade comunicaci´n visual con el fin de ayudar a los usuarios en la exploraci´n de o oestos conjuntos de datos o la comunicaci´n al respecto a los dem´s”. o a El objetivo de InfoVis es profundizar en los datos o conceptos ocultos. Amenudo la informaci´n se oculta simplemente por la enorme cantidad de datos odisponibles. De este modo, la Visualizaci´n de Informaci´n tambi´n puede ser o o evista como un convertidor entre los datos subyacentes y la percepci´n humana ode la misma [50]. El representar grandes cantidades de informaci´n mediante oabstracciones no es una tarea f´cil ya que el usuario no tiene ninguna idea pre- aconcebida de c´mo estos datos pueden ser representados. As´ los m´todos de o ı, eInfoVis deben ser capaces de hacer frente a los datos que parecen ser al azar,pero a´n as´ contiene informaci´n valiosa [37]. u ı o La idea b´sica de la exploraci´n visual de los datos es la de presentar los a odatos 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´ ıtambi´n descubrir comportamientos y relaciones entre los datos desconocidos ehasta el momento. Adem´s de la participaci´n directa del usuario, las principales a oventajas de la exploraci´n visual de los datos seg´n Keim [36], son: o u
  • 4 Jos´ Federico Medrano, Jos´ Luis Alonso Berrocal y Carlos G. Figuerola e e – La exploraci´n de datos visuales pueden tratar con datos muy heterog´neos o e y con ruido. – La exploraci´n visual de los datos es intuitiva y no requiere la comprensi´n o o de complejos algoritmos matem´ticos o estad´ a ısticos.3 GrafosAntes de entrar de lleno en el tema de este trabajo (visualizaci´n de grafos web), oes necesario dar algunas definiciones gen´ricas de lo que es un grafo para luego ecentrar la atenci´n en la aplicaci´n de este concepto. o o3.1 Teor´ de Grafos ıaInformalmente, un grafo es un conjunto de objetos llamados v´rtices o no- edos (N) unidos por enlaces llamados aristas o arcos(A), que permiten rep-resentar relaciones binarias entre elementos o entidades de un conjunto [29].Matem´ticamente hablando se define como: “Un grafo G(N, A) es una estructura aabstracta usada para modelar una relaci´n A sobre un conjunto N de entidades”. o N es un conjunto no vac´ de entidades. Adem´s como por definici´n N ıo a oes un conjunto, esto quiere decir que s´lo puede contener elementos unicos e o ´irrepetibles. La relaci´n A describe una colecci´n de subconjuntos no vacios de N, o ode la forma A= [(1,2), (2,3),]. El t´rmino arco, arista o enlace proviene del hecho ede que en la mayor´ de los casos, cada elemento de A relaciona exactamente ıados nodos distintos. Los grafos son abstracciones sencillas, potentes y elegantes que tienen unaamplia aplicabilidad en ciencias de la computaci´n y muchos otros campos. oCualquier dominio que pueda ser modelado como una colecci´n de nodos vincu- olados entre s´ se puede representar mediante un grafo. ı,3.2 Grafos WebLos registros de datos a menudo tienen alguna relaci´n con otras piezas de infor- omaci´n. Los grafos son muy utilizados para representar esas interdependencias. oComo 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 electr´nico entre las personas, los h´bitos de compra, o ala 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 p´ginas, archivos o recursos y los arcos son los enlaces a(links) entre estos recursos. En s´ cualquier grafo cuyo origen de datos sea la ı,web 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´ de manejar ıcilya que contiene m´s de 3 billones de nodos y cerca de 50 billones de arcos a[6], dicha estructura aumenta su tama˜o de forma exponencial, por ello cobran nimportancia las herramientas de visualizaci´n de grafos para poder entender, oanalizar y comprender los distintos fen´menos. o
  • Visualizaci´n de Grafos Web o 5 Fig. 1. Grafo Web utilizando la herramienta JUNG3.3 Trabajos relacionadosAlgunos sistemas centran su foco en grafos relativamente peque˜os [19], mientras nque los estudios m´s recientes se centran en visualizaciones a grandes escalas, tal aes el caso de [1] con ASK-GraphView, el cual es un sistema de visualizaci´n de ografos ponderados no dirigidos que permite agrupaciones y navegaci´n interac- otiva de grafos grandes, hasta un m´ximo de 200.000 nodos y 16 millones de arcos. aOtros estudios se han centrado en el dise˜o y la disposici´n de los elementos del n ografo. Un ejemplo precursor del trabajo en 3D es el de Munzner quien presentaH3 layout [42] un algoritmo de dise˜o y H3Viewer [43] un algoritmo de dibujo, nlos cuales en conjunto permiten representar grafos en un espacio hiperb´lico de o3D. El algoritmo de dise˜o est´ ajustado para un buen equilibrio entre la densi- n adad de la informaci´n y el desorden, mientras que la adaptaci´n del algoritmo de o odibujo ofrece una experiencia interactiva fluida al usuario. Puede manejar grafosde m´s de 100.000 arcos utilizando un ´rbol de expansi´n como la columna ver- a a otebral de los algoritmos de dise˜o y dibujo. Por su parte [22] propone un m´todo n ede zoom topol´gico para grafos grandes, de decenas de miles de nodos, basado en ola vista de ojo de pez. El m´todo se basa en el procesamiento de una jerarqu´ de e ıagrafos ordinarios, que se combinan en la marcha en representaciones con un nivelde detalle dependiente de la distancia de uno o m´s focos. Otro trabajo un tanto am´s espec´ a ıfico es el de [8] que describe un sistema para visualizar la evoluci´n del osoftware, Gevol, utilizando una novedosa t´cnica de visualizaci´n de grafos de e ogran tama˜o con un componente temporal. Por ultimo, adem´s de las t´cnicas y n ´ a ealgoritmos, existen algunos frameworks desarrollados, ejemplo de ello son GraphVisualization System (GVS) [50] y Graph Visualization Framework(GVF) [39].
  • 6 Jos´ Federico Medrano, Jos´ Luis Alonso Berrocal y Carlos G. Figuerola e e4 Herramientas de visualizaci´n oEl objeto central de este trabajo es el estudio y comparaci´n de tres herramientas outilizadas para el an´lisis y evaluaci´n de grafos. Estas son IGraph, JUNG y a oGephi. A continuaci´n se nombrar´n las caracter´ o a ısticas m´s relevantes de cada auna de ellas.4.1 IGraphIGraph es una librer´ de c´digo abierto, distribuida bajo licencia GPL, para el ıa oestudio y an´lisis de redes/grafos. Los principales objetivos de esta librer´ son a ıaproveer un conjunto de tipos de datos y funciones para una f´cil implementaci´n a ode algoritmos de grafos, un manejo r´pido de grandes grafos con millones de anodos y arcos, y permitir un r´pido prototipado por medio de un leguaje de aalto nivel como R [11]. IGraph permite manipular tanto grafos dirigidos comono dirigidos, no admite la implementaci´n de hipergrafos. Por otro lado cuenta ocon implementaciones de problemas t´ ıpicos de teor´ de grafos como ´rboles de ıa aexpansi´n m´ o ınima y flujo de red, tambi´n implementa algoritmos para algunos em´todos de an´lisis estructural dentro de una red [31]. e a IGraph puede ser instalado como un librer´ del leguaje C, como un paquete ıade R, como un m´dulo de extensi´n de Python [51] o como una extensi´n de Ruby o o o[52]. Para este trabajo s´lo se har´ descripci´n del funcionamiento de IGraph o a obajo el lenguaje R, ya que fue la opci´n elegida debido a la documentaci´n o oexistente y a la facilidad que ofrece este lenguaje basado en scripting.4.2 JUNGJUNG (abreviaci´n de Java Universal Network/Graph) es un framework de oc´digo abierto que provee un lenguaje com´n y extensible para la manipulaci´n, o u oan´lisis y visualizaci´n de datos que pueden ser representados como un grafo o a ouna red. Est´ escrito en JAVA, permitiendo el desarrollo de aplicaciones basadas aen JUNG por medio de la API disponible para su uso, as´ mismo permite la in- ıtegraci´n de librer´ de terceros. o ıas JUNG no es un producto final y no intenta serlo, es una librer´ que permite ıael trabajo con grafos pero que necesita conocimientos de programaci´n ya que onecesariamente debe estar implementada en una aplicaci´n JAVA. o Para este trabajo se utiliz´ la versi´n JUNG 2.0 (JUNG2 www.jung.org), y o ola versi´n de JAVA 6 update 24. o JUNG depende de tres librer´ externas para su funcionamiento, las cuales ıasson: 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 que contienen m´s de un tipo de nodos o arcos), multigrafos e hipergrafos. a
  • Visualizaci´n de Grafos Web o 7 – Mecanismo para etiquetar grafos, entidades y relaciones con metadatos. Esta capacidad facilita la creaci´n de herramientas anal´ o ıticas para conjuntos com- plejos de datos que necesitan analizar las relaciones entre las entidades as´ ı como los metadatos asociados a cada entidad y relaci´n. o – Implementaci´n de algoritmos de teor´ de grafos, an´lisis exploratorio de o ıa a datos, an´lisis de redes sociales y aprendizaje autom´tico. Esto incluye ruti- a a nas para clustering, descomposici´n, optimizaci´n, generaci´n aleatoria de o o o grafos, an´lisis estad´ a ıstico y c´lculo de distancia de una red, flujo y medidas a de rankeo (centralidad, PageRank, HITS, etc.). – Un framework de visualizaci´n que permite de forma f´cil la construcci´n de o a o herramientas para la exploraci´n interactiva de redes de datos. Los usuarios o pueden elegir de una cantidad de dise˜os y algoritmos de dibujo, o pueden n usar 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 atenci´n o sus algoritmos en una o porci´n espec´ o ıfica de la red. Como librer´ JUNG puede ser usado para construir herramientas orientadas ıa,al an´lisis de redes/grafos o para proveer estas capacidades a sistemas existentes, aesto es posible debido a la flexibilidad que ofrece JUNG al ser una API y no unaherramienta final. Para una revisi´n de los proyectos desarrollados con JUNG orevisar [34].4.3 GephiGephi es una herramienta para la exploraci´n, navegaci´n y an´lisis de grafos. o o aPermite 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 exploraci´n. El objetivo es ayudar a los analistas de datos a hacer ohip´tesis, descubrir patrones, aislar singularidades en las estructuras o encontrar ofallas en los datos[25]. Gephi se destaca por ser una herramienta libre de c´digo abierto y que corre otanto en Windows, Linux como Mac, puede ser descargado desde [23]. Est´ de- asarrollado en JAVA y se distribuye bajo licencia GNU GPL 3. Resulta ideal paradesplegar gr´ficos representados mediante grafos, complejos gr´ficos de visual- a aizaci´n de datos utilizados en an´lisis de redes sociales, o jerarqu´ de datos. o a ıaAdem´s, es ideal para utilizar como herramienta de visualizaci´n en proyectos a ode peque˜o, mediano o gran porte [26]. n Soporta la representaci´n de grafos dirigidos, no dirigidos y mixtos, y por el omomento no permite implementar hipergrafos. Uno de los aspectos m´s impor- atantes cubiertos por Gephi es la interacci´n en tiempo real, permite modificar opropiedades de los nodos y arcos al mismo tiempo que se modifica la repre-sentaci´n o layout del grafo y ofrec´rselas al usuario sin largas esperas. As´ mismo o e ıpermite realizar agrupaciones, filtrado, manipulaci´n, navegaci´n y proveer un o of´cil acceso a los datos [3]. a
  • 8 Jos´ Federico Medrano, Jos´ Luis Alonso Berrocal y Carlos G. Figuerola e e Gephi dispone del c´digo fuente para su utilizaci´n y de una API denomi- o onada Gephi Toolkit [24] para desarrollar aplicaciones propias basadas en dichaherramienta. En este trabajo se ha utilizado la versi´n Gephi 0.8 alfa, bas´ndonos en la o aherramienta final y no en la API.5 Redes socialesUna red social se compone de todas las personas - familiares, amigos y otros - conquien se comparte una relaci´n social. A nivel macro, una red social se muestra oc´mo un grupo grande de personas que est´n conectadas entre s´ En el estudio o a ı.de las redes sociales se examinan estos dos niveles y, de ser posible, los intentosde relacionarlos entre s´ [28]. Investigadores de las redes sociales han examinado ıc´mo las personas hacen amigos y c´mo la gente tiene muchos amigos ([17] y o o[18]), y c´mo las personas se basan en sus redes sociales para darse apoyo social. o Las redes sociales tambi´n son conocidas por la propiedad de “seis gra- edos”. 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 peque˜o n´mero de nodos como eje conectando n ulas diferentes agrupaciones o clusters [9]. Se ha visto c´mo en los ultimos a˜os, las redes sociales online, atraen cada vez o ´ na un n´mero mayor de seguidores. El crecimiento exponencial que experimentan ulas redes sociales se debe a la r´pida propagaci´n de la informaci´n, m´s aun, a o o aa trav´s de las plataformas de desarrollo abiertas que poseen los sitios como eFacebook o Twitter [53], que han permitido a los desarrolladores crear sus propiasaplicaciones aumentando el tr´fico en las redes. Por ejemplo, hubo un 30% de aaumento en el tr´fico del sitio de Facebook en la semana siguiente al lanzamiento ade su plataforma de desarrollo [44].5.1 Trabajos relacionadosExisten 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´ mismoıeval´a la interacci´n del usuario, y su relaci´n con las redes sociales subya- u o ocentes. Un an´lisis a gran escala de las propiedades estructurales de las redes asociales online realizado por Mislove [41], se bas´ en el estudio de m´ltiples redes o usociales: Flickr (http://www.flickr.com), YouTube (http://www.youtube.com),LiveJournal (http://www.livejournal.com), y Orkut (http://www.orkut.com).
  • Visualizaci´n de Grafos Web o 9Para 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 an´lisis de la carga de trabajo de las redes sociales online basado en un aseguimiento 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 an´lisis ademuestra el poder de utilizar datos de navegaci´n en la identificaci´n de pa- o otrones 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 tr´fico diario y semanal, y su relaci´n con el uso de Facebook a opor parte de un grupo selecto (estudiantes universitarios). El mismo estudioencontr´ que la actividad en Facebook parece estar centrada en “redes” individ- ouales y este comportamiento est´ relacionado con los patrones de uso temporal ade dichas redes. Otros estudios relevantes incluyen el trabajo de Newman [45]sobre los algoritmos de extracci´n e identificaci´n de comunidades, y el trabajo o ode Liben-Nowell [38] el cual encontr´ una fuerte correlaci´n entre la amistad y o ola ubicaci´n geogr´fica de las redes sociales. o a5.2 Extracci´n de datos oFacebook es un sitio web de redes sociales que en los ultimos a˜os ha ganado ´ nuna enorme popularidad. Parte de la raz´n del ´xito se debe a su plataforma o ede desarrollo. En Facebook, una amistad se forma cuando un usuario extiendeuna invitaci´n (amistad) a otro usuario. Tras la confirmaci´n de este ultimo, la o o ´relaci´n de amistad se forma. Gran parte de la actividad en Facebook se produce odebido a estas relaciones de amistad. Es necesario tener en cuenta que en estecaso la relaci´n de amistad es bidireccional, es decir, si los usuario A y B son oamigos esto quiere decir que el usuario A es amigo de B, as´ como el usuario B ıes amigo de A. Debido a que el an´lisis realizado se hizo sobre la estructura de aamigos basado en la relaci´n de amistad entre los usuarios de Facebook, el grafo oresultante es un grafo no dirigido que posee unicamente un arco entre dos nodos ´relacionados 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 extracci´n del conjunto de datos deseado se hizo uso odel 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 desarrolladoresLa plataforma de desarrollo de Facebook [13] fue lanzada en mayo de 2007 [49]con s´lo ocho aplicaciones en su lista. En los meses posteriores, la plataforma oexperiment´ un crecimiento fenomenal as´ tambi´n como del tr´fico, llegando o ı e aa tener m´s de 55.000 aplicaciones activas, con desarrolladores de m´s de 190 a apa´ ıses, con usuarios realizando 20 millones de instalaciones a diario [14].
  • 10 Jos´ Federico Medrano, Jos´ Luis Alonso Berrocal y Carlos G. Figuerola e e La arquitectura de esta plataforma de desarrollo permite a un usuario inter-actuar indirectamente con los servidores de aplicaciones a trav´s de los servidores ede 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 m´todo alternativo para la implementaci´n e ode 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 aplicaci´n. oRegistrar aplicaci´n Antes de iniciar con el desarrollo de la aplicaci´n para o oextraer 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 contrase˜a) de una ncuenta de usuario v´lida. Una vez verificado el registro del usuario se habilitan alas opciones y paneles dentro de la plataforma para la creaci´n de aplicaciones. o El nombre de la aplicaci´n desarrollada es “TFM” y se encuentra publicada oen: http://www.justsoft.com.ar/TFM/tfm.php. La primera vez que se acceda ala aplicaci´n y una vez que el usuario se haya autentificado con las credenciales de ousuario de Facebook, la misma le solicitar´ los permisos necesarios para acceder aa los datos de la cuenta de usuario, una vez aceptado, el usuario puede haceruso de la aplicaci´n. oFuncionamiento de la aplicaci´n El objetivo de la aplicaci´n es construir o oun grafo no dirgido y no ponderado en formato Pajek (archivo con extensi´n o.NET)[47] el cual refleje la estructura de amigos de un usuario dado. La apli-caci´n fue desarrollada en PHP haciendo uso del PHP SDK provisto por Face- obook. Se eligi´ el formato de Pajek debido a que es un formato ampliamente ousado en las representaciones de grafos, es muy f´cil de implementar y proce- asar ya que posee una sintaxis sumamente sencilla y en modo texto, y adem´s aporque las tres herramientas objeto de estudios brindan soporte para este tipode formato. El funcionamiento b´sico de la aplicaci´n es el siguiente: se obtiene el listado a ode todos los amigos de la cuenta del usuario autentificado, luego esta lista esrecorrida uno a uno para obtener los amigos en com´n entre el usuario y sus uamigos, 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 estar´ formado por el usuario y los amigos del usuario, y por otro alado se crean los arcos que reflejar´n las relaciones entre los nodos. En el grafo aresultante debe haber un arco entre el usuario y cada uno de sus amigos, yadem´s debe haber un arco entre los amigos en com´n que tengan los amigos a udel usuario.
  • Visualizaci´n de Grafos Web o 116 Evaluaci´n de herramientas oPara la evaluaci´n de las tres herramientas se tom´ el mismo conjunto de datos, o oel archivo Graph.net generado mediante la aplicaci´n TFM, el cual presenta un ografo con 466 nodos y 4655 arcos. Los aspectos que se evaluar´n de cada herramienta son: a – Los distintos algoritmos de representaci´n o layout que dispone. o – Los distintos algoritmos para la detecci´n/identificaci´n de comunidades o o o agrupaciones. – El grado de interacci´n otorgado por la herramienta. o – El desempe˜o y rendimiento de la herramienta. n6.1 Elecci´n de algoritmos de dise˜ o o nExisten numerosos algoritmos de dise˜o y disposici´n de los elementos(nodos y n oarcos) del grafo, la mayor´ de las herramientas s´lo implementan los m´s co- ıa o amunes o los que mejor resultado ofrecen al usuario. Dentro de estos, los m´todos edirigidos por fuerza (force-directed) presentan una buena elecci´n, no solo por osu 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 desempe˜o mostraron a la hora de visualizar nue- nstro conjunto de datos en las pruebas realizadas, adem´s existen abundantes apublicaciones y documentaci´n sobre los mismos. o La caracter´ıstica especial de Fruchterman-Reingold es que las fuerzas se apli-can de manera que distribuyen los nodos de forma homog´nea en el ´rea de e adibujo predefinida, dando a los dise˜os basados en Fruchterman-Reingold un naspecto m´s expandido, En contraste, Kamada-Kawai hace uso de las distancias ate´ricas del grafo como medida durante el proceso de colocaci´n del nodo en lu- o ogar de la informaci´n de adyacencia. Si bien la informaci´n de adyacencia puede o oser f´cilmente encontrada en los grafos, las distancias te´ricas del grafo tienen a oque ser calculadas de forma expl´ ıcita. El beneficio de las distancias te´ricas del ografo es que establecen una medida entre cualquier par de nodos que se reflejadirectamente en la distancia entre estos nodos [50].6.2 IGraphLa herramienta IGraph funciona bajo el entorno R. Para proceder con las pruebasse cre´ un script basado en un ejemplo disponible en la documentaci´n de dicho o oentorno [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 detecci´n de comunidades se utilizaron los siguientes algoritmos odisponibles en la herramienta IGraph: edge.betweenness.community, fastgreedy.community,leading.eigenvector.community, spinglass.community y walktrap.community
  • 12 Jos´ Federico Medrano, Jos´ Luis Alonso Berrocal y Carlos G. Figuerola e e Mientras que para el dise˜o y disposici´n del grafo (layout) se utilizaron: n okamada.kawai y fruchterman.reingold. El resto de los algoritmos de layout noson utiles para este estudio, ya sea porque la cantidad de nodos utilizada es ´muy grande (Circle y Random) o porque la disposici´n no es adecuada para oobservar e identificar las comunidades (Spring Embedder y Reingold-Tilford, eneste ultimo la disposici´n es en forma de ´rbol) ´ o a A continuaci´n se presentan los distintos resultados obtenidos con la her- oramienta de visualizaci´n plot al variar el algoritmo de layout y el n´mero de o uiteraciones a ejecutar con cada algoritmo. Con respecto a los algoritmos de de-tecci´n de comunidades, se observ´ que para grafos peque˜os (algunas decenas o o nde 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 cuesti´n), estos no funcionan adecuadamente, la herramienta no permite ohacer un zoom sobre le representaci´n dificultando la visualizaci´n. Los colores o oson asignados a los nodos pero las comunidades que se forman son visibles deacuerdo a la disposici´n de los nodos (en relaci´n al algoritmo de layout uti- o olizado) y no de acuerdo a los colores asignados a los nodos, por ello s´lo se opresentan 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 n´meros ude iteraciones (1, 100, 500, 1000, 5000 y 9000). Como lo indican las figuras,para las ejecuciones de m´s de 1000 iteraciones (5000 y 9000 en este caso), las arepresentaciones no sufren cambios y salvo una peque˜a rotaci´n en algunos n ocasos, 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 m´todo de visualizaci´n u e ootro, los resultado son casi id´nticos, a esto se debe sumar el nulo grado de einteracci´n que posee plot, en el cual lo unico que se puede hacer con el grafo o ´es imprimirlo, o guardarlo como metafile o bitmap. Del mismo modo, tkplottampoco aporta gran interacci´n, m´s all´ de poder mover los nodos o cambiar o a ade color los nodos y arcos, lo m´s importante es que una vez representado el grafo ase puede intercambiar el algoritmo de visualizaci´n por todos los disponibles, ocambiando el n´mero de iteraciones y dem´s par´metros de cada uno. Para las u a arepresentaciones con tkplot, el tiempo demandado es del orden de varios minutos,de 5 a 10 minutos para 500 iteraciones o superiores. Algo tan b´sico como el zoom no es posible mediante estos m´todos de visual- a eizaci´n. Si bien la plataforma R posee una tercera herramienta de visualizaci´n, o orglplot, no es adecuada para la visualizaci´n de grafos de cientos de nodos, por oello no se ofrece dicha representaci´n. Esta herramienta aporta un poco m´s de o ainteracci´n al poder hacer un zoom b´sico y una rotaci´n del grafo, pero aun o a oas´ los nodos y sobre todo los arcos se solapan dificultando todo el proceso de ı,visualizaci´n y an´lisis. o a
  • Visualizaci´n de Grafos Web o 13 Fig. 2. Ejecuciones con plot para 1, 100 y 500 iteracionesFig. 3. Ejecuciones con plot para 1000, 5000 y 9000 iteraciones
  • 14 Jos´ Federico Medrano, Jos´ Luis Alonso Berrocal y Carlos G. Figuerola e e Fig. 4. Ejecuciones con tkplot para 1, 100 y 500 iteraciones Fig. 5. Ejecuciones con tkplot para 1000, 5000 y 9000 iteraciones
  • Visualizaci´n de Grafos Web o 156.3 JUNGA continuaci´n se ofrecen los resultados de la representaci´n de nuestro grafo o ocon la herramienta JUNG. Para realizar esto se desarroll´ una aplicaci´n muy o ob´sica en c´digo JAVA (ya que JUNG es una API para este lenguaje y no una a oherramienta final) para poder implementar los distintos algoritmos de layout yde detecci´n de comunidades. o Dicha aplicaci´n cuenta con las opciones necesarias para indicar los distintos opar´metros de los algoritmos. Posee una lista desplegable donde seleccionar el aalgoritmo de cluster con las siguientes opciones: Edge Betweenness, Weak Com-ponent y Voltage. Tambi´n posee una lista desplegable donde seleccionar el algo- eritmo de layout con las siguientes opciones: Fruchterman-Reingold y Kamada-Kawai. As´ mismo permite indicar el n´mero de iteraciones a realizar por los ı ualgoritmos de layout, permite elegir el archivo .net el cual contendr´ el grafo aque se dibujar´ y por ultimo permite especificar un par´metro adicional, este a ´ apar´metro es utilizado por los algoritmos de cluster Edge Betweenness para in- adicar 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 aplicaci´n desarrollada, ı opara 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 mostr´ alg´n resultado relevante, es o udecir, s´lo detectaba una comunidad la del grafo entero, esto responde a la nat- ouraleza del algoritmo al no poder encontrar componentes d´bilmente conectados em´s que el grafo mismo. Para el resto de los algoritmos y variantes se ofrecen alas capturas correspondientes. Para el m´todo de detecci´n de comunidades EdgeBetweennessClusterer se e orealizaron las pruebas eliminando 100 arcos. El n´mero 100 elegido fue el que uprodujo resultados m´s representativos. Para un mayor detalle de este algoritmo arevisar [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 disposici´n de los nodos, para el oprimero se observan las distintas agrupaciones casi a primera vista, mientrasque para el segundo es imposible identificarlas debido a la disposici´n circular oy 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 asignaci´n y esto no hace muy evidente el fun- ocionamiento del algoritmo de clustering. Se observan nodos aislados de distintoscolores pero estos no llegan a formar una comunidad, la mayor´ son nodos que ıaunicamente est´n relacionados con el nodo 0 o central, y no poseen relaciones´ acon el resto de nodos. Para las ejecuciones de 500, 1000 y 5000 iteraciones no
  • 16 Jos´ Federico Medrano, Jos´ Luis Alonso Berrocal y Carlos G. Figuerola e e Fig. 6. Ejecuci´n de EdgeBetweennessClusterer para 1, 100 y 500 iteraciones o Fig. 7. Ejecuci´n de EdgeBetweennessClusterer para 1000 y 5000 iteraciones o
  • Visualizaci´n de Grafos Web o 17se observan cambios significativos, es m´s, para las ejecuciones de m´s de 1000 a aiteraciones 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 par´metro N que aes el n´mero de clusters a identificar/detectar, las pruebas se realizaron con un uN = 10, aunque las pruebas con N = 5 arrojaron resultados muy similares.Se eligi´ N = 10 al observar los resultados anteriores y ver que en los mayor´ o ıade los casos se forman 4 comunidades grandes y bien definidas, aunque existencomunidades muy peque˜as, de 2 o 3 elementos que no son f´ciles de distinguir. n a Fig. 8. Ejecuci´n de VolatageClusterer para 1, 100 y 500 iteraciones o 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-paraci´n al algoritmo de clustering anterior (EdgeBetweennessClusterer ). o La herramienta JUNG ofrece ciertos niveles de interacci´n que no posee oIGraph. JUNG permite observar m´s de cerca el grafo generado, ya que a este ase le puede hacer zoom, rotar y trasladar f´cilmente, dejando atr´s los grafos a apeque˜os y est´ticos, si bien a simple vista parece ser una masa de nodos, me- n adiante 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 Jos´ Federico Medrano, Jos´ Luis Alonso Berrocal y Carlos G. Figuerola e e Fig. 9. Ejecuci´n de VolatageClusterer para 1000 y 5000 iteraciones oernas y vistosas, y lo que se hizo en este trabajo es s´lo una muestra del poder oque tiene esta herramienta para el desarrollo de aplicaciones a medida. En cuanto al tiempo de ejecuci´n demandado, es del orden de algunos min- outos, de 3 a 6 minutos para 500 iteraciones o superiores.6.4 GephiLa ultima herramienta por evaluar es Gephi. Para nuestro estudio s´lo se utiliz´ ´ o ola 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 implementaci´n para el algoritmo de layout Kamada- oKawai, sin embargo posee una implementaci´n de un algoritmo dirigido por ofuerzas llamado Force Atlas [3], este algoritmo fue desarrollado por el mismoequipo que desarroll´ la herramienta. o Para la detecci´n de comunidades se hizo uso del algoritmo provisto por la oherramienta, el cual es un m´todo heur´ e ıstico que se basa en la optimizaci´n o
  • Visualizaci´n de Grafos Web o 19de la modularidad. Este m´todo encuentra las particiones de alta modularidad edentro de grafos de gran tama˜o en poco tiempo y desarrolla una completa nestructura jer´rquica de la comunidad del grafo. Contrariamente al resto de aalgoritmos de detecci´n de comunidades, los l´ o ımites de tama˜o del grafo al que nse enfrenta este algoritmo se deben a la limitada capacidad de almacenamientoen lugar del tiempo de procesamiento limitado, por ejemplo: la identificaci´n deolas comunidades en un grafo de 118 millones de nodos s´lo tom´ 152 minutos o o[5]. Se realizaron dos ejecuciones por separado con el mismo conjunto se datospara poder ver la evoluci´n de ambos algoritmos de layout. A diferencia de olas comparaciones realizadas en los apartados anteriores (6.2 y 6.3), en estaherramienta el l´ ımite de cada algoritmo no est´ dado por el n´mero de iteraciones a usino por el tiempo de ejecuci´n. Por ello las ejecuciones se hicieron para 1, 10, o60 y 300 segundos. Luego de ejecutar el algoritmo por m´s de 300 segundos ano se observa absolutamente ning´n cambio, por ello el l´ u ı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 detecci´n de comunidades y su oposterior coloraci´n permiten identificar estas aun m´s que con las herramientas o aanteriores. Por otro lado es necesario destacar la velocidad de ejecuci´n, esta her- oramienta posee un procesador de gr´ficos extremadamente r´pido (en cuesti´n a a ode segundos), sumado a las innumerables caracter´ ısticas de interacci´n, no s´lo o oel zoom o la rotaci´n y traslaci´n del grafo, sino que adem´s permite el cambio o o ade color de los nodos en grupos, mostrar u ocultar las etiquetas de los nodos,cambiar la tipograf´ de estas, entre otras. ıa En cuanto a los algoritmos de layout, la ejecuci´n de Force Atlas demostr´ o oser la mejor opci´n de todas las estudiadas, al menos para este caso y para este oconjunto de datos, principalmente por la velocidad de ejecuci´n (como se ve en olas capturas realizadas al alcanzar los 60 segundos ya se observa el resultado final)y por la disposici´n correcta de las comunidades encontradas (cada comunidad oidentificada con un color espec´ ıfico se encuentra geogr´ficamente separada del aresto de comunidades y los elemento pertenecientes a dichas comunidades seencuentran muy cercanos unos de otros).7 ConclusionesLas representaciones visuales de grandes cantidades de informaci´n en un for- omato sencillo, permiten que el usuario pueda obtener no s´lo un panorama ogeneral sino un entendimiento un tanto m´s profundo de lo que se le intenta atransmitir. Por ello el dise˜o de visualizaciones para que puedan ser f´cilmente n acomprendidas por los seres humanos es el objetivo central de InfoVis, que haceuso del sentido m´s poderoso del ser humano, la vista. Las personas procesan agran cantidad de informaci´n de forma visual, por esta raz´n es una buena tarea o oasignar una importante carga de trabajo de procesamiento al sistema visual.
  • 20 Jos´ Federico Medrano, Jos´ Luis Alonso Berrocal y Carlos G. Figuerola e e Fig. 10. Ejecuci´n en Gephi para 1, 10 y 60 segundos o Fig. 11. Ejecuci´n en Gephi para 300 segundos o
  • Visualizaci´n de Grafos Web o 21 Existen muchas herramientas y t´cnicas que brindan soporte a InfoVis. Una ede estas t´cnicas, los grafos, resultan adecuados para muchos de los problemas eque surgen en la inform´tica y sus aplicaciones, b´sicamente para representar a arelaciones entre entidades. Resulta sumamente sencillo dibujar un grafo peque˜o nde forma manual, el usuario tiene en todo momento el control de la disposici´n oy colocaci´n de cada uno de los elementos del grafo (nodos y arcos), pero esta otarea se vuelve tediosa e imposible de realizar cuando hablamos de grafos degran tama˜o (cientos, miles o millones de elementos). Es por esto que existen nherramientas que procesan la informaci´n y realizan los dibujos y dise˜o de o nlos grafos de forma autom´tica, librando de esta tarea al usuario. El objetivo aprincipal de estas herramientas es que el usuario comprenda la estructura delgrafo. Si bien existen herramientas que realizan el procesamiento y el dise˜o del ngrafo de forma autom´tica, la intervenci´n del usuario es fundamental a la hora a ode decidir cu´l es el mejor dise˜o para la representaci´n actual. Las herramien- a n otas especializadas en el an´lisis de grafos ofrecen un conjunto de algoritmos de adise˜o entre los que el usuario debe elegir el que mejor represente el conjunto nde informaci´n que se est´ tratando. De acuerdo al estudio realizado se vio que o alos algoritmos m´s utilizados y los que mejores resultados ofrecen son: Kamada- aKawai, Fruchterman-Reingold y Force Atlas. En este trabajo hemos presentado tres herramientas de c´digo abierto y libre odistribuci´n, para la exploraci´n y an´lisis de grafos. Del estudio comparativo o o arealizado en este trabajo sobre IGraph, JUNG y Gephi, se concluye que Gephies la herramienta que no s´lo ofrece la mejor representaci´n gr´fica sino tambi´n o o a eque es la que ofrece mayores opciones a la hora de interactuar con el resultado.Se debe tener en cuenta que la interacci´n en visualizaci´n de informaci´n es o o ofundamental. Una imagen est´tica resultado de un procesamiento no sirve de amucho al usuario, mientras que una representaci´n interactiva que permita al ousuario tener cierto control sobre el resultado que est´ observando, aporta mucho am´s al entendimiento y comprensi´n de lo que se pretende informar. Para nuestro a otrabajo, se pudo ver como pasamos desde una representaci´n casi est´tica con o aIGraph donde la unica interacci´n disponible era mover un nodo a la vez y ´ ocambiar de color los nodos y arcos, a JUNG la cual ofrec´ la posibilidad de ıahacer un zoom, rotar y trasladar el grafo sin perder calidad en la representaci´n, oa Gephi la cual ofrec´ un conjunto enorme de posibilidades de interacci´n, desde ıa ocambiar el tama˜o o color de los nodos seg´n diversos criterios, mostrar u ocultar n ulas etiquetas de los nodos, cambiar la forma y tama˜o de los arcos, hasta tener ndistintos escenarios ejecutando algoritmos distintos de layout, y todo esto enl´ ınea obteniendo resultados en cuesti´n de segundos. o Un factor a tener en cuenta a medida que el grafo aumenta de tama˜o es la nescalabilidad. En este trabajo se utiliz´ un grafo de unos cientos de nodos y se oobserv´ c´mo con herramientas como IGraph, el tratamiento es muy complicado, o ono s´lo por el tiempo demandado, sino por la disposici´n del grafo en la pantalla. o oNuevamente, Gephi sigue siendo la mejor opci´n para grafos de gran tama˜o. o nSin embargo, no se descarta el uso de JUNG, aunque le resta mejorar el proce-
  • 22 Jos´ Federico Medrano, Jos´ Luis Alonso Berrocal y Carlos G. Figuerola e esamiento gr´fico, que hasta el momento demanda una cantidad considerable de atiempo (algunos minutos). Las redes sociales online se han convertido en objeto de estudio en este ultimo ´tiempo, por un lado debido a la gran popularidad de estas, las redes m´s popu-alares 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 analiz´ una caracter´ o ıstica de las redes sociales, la formaci´n de las estructuras ode amigos de la red social Facebook. Para ello se utilizaron los algoritmos dedetecci´n de clusters o agrupaciones de las distintas herramientas que hemos opresentado. En este aspecto una vez m´s Gephi, con su propio algoritmo de adetecci´n de comunidades, present´ los mejores resultados, tanto en tiempo de o oejecuci´n como en la detecci´n eficiente de comunidades. Igualmente, JUNG no o oqued´ muy desfasado, la aplicaci´n del m´todo VoltageClusterer mostr´ resul- o o e otados muy satisfactorios en contraposici´n con los dem´s algoritmos disponibles o aen dicha herramienta. En el estudio de las redes sociales, el detectar e identificaradecuadamente las comunidades es una cuesti´n muy importante en cualquier oan´lisis que se realice. a Por ultimo queremos destacar que InfoVis es un campo en constante crec- ´imiento debido a que las cantidades de informaci´n y las necesidades de contar ocon 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 tendr´ una relaci´n directa a oen la comprensi´n y el entendimiento del resultado a informar. oReferences 1. J. Abello, F. van Ham, and N. Krishnan. Ask-graphview: A large scale graph visualization 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 for exploring and manipulating networks. International AAAI Conference on Weblogs and 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 ACM SIGCOMM 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 The 13th 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 Kevin Wampler. A system for graph-based visualization of the evolution of software. Proceedings of the 2003 ACM symposium on Software visualization, pages 77–ff, 2003.
  • Visualizaci´n de Grafos Web o 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 Communication Review, 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 of Sociology, 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 Drawing 94, 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 Computer Graphics, 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 Jos´ Federico Medrano, Jos´ Luis Alonso Berrocal y Carlos G. Figuerola e e35. 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, pages 11623–11628, 2005.39. M. S. Marshall, I. Herman, and G. Melancon. An object-oriented design for graph visualization. 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 ACM SIGCOMM conference on Internet measurement, pages 29–42, 2007.42. Tamara Munzner. H3: Laying out large directed graphs in 3d hyperbolic space. In Proceedings of the 1997 IEEE Symposium on Information Visualization, page 210, 1997.43. Tamara Munzner. Drawing large graphs with h3viewer and site manager (system demonstration). In Published in the Lecture Notes in Computer Science series GD 98: Symposium on Graph Drawing, page 384393, Montreal, Canada, 1998. Springer Verlag.44. A. Nazir, S. Raza, and C.N. Chuah. Unveiling facebook: a measurement study of social network based applications. In IMC ’08: Proceedings of the 8th ACM SIGCOMM conference on Internet measurement, pages 43–56, 2008.45. M.E.J. Newman. Finding community structure in networks using the eigenvectors of 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/.