SlideShare una empresa de Scribd logo
1 de 24
Descargar para leer sin conexión
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
                o

Las t´cnicas para representar informaci´n est´tica son bien conocidas, por sus
      e                                  o     a
descripciones y por su dise˜o est´tico, ejemplo de estos son las tablas, gr´ficos
                           n     e                                         a
de 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     a
o 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                      e

reestructuraciones, nuevas p´ginas y secciones, etc.) como en contenido (cada d´
                               a                                                 ıa
nuevos 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        ıa
constante cambio?” Es casi imposible dar respuesta a estas y muchas preguntas
relacionadas 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                                               o
ha conllevado al surgimiento de numerosos campos de investigaci´n enfocados en
                                                                   o
la b´squeda de herramientas de an´lisis que permitan representar y comprender
     u                                a
vastas cantidades de informaci´n [10]. Actualmente existen sistemas capaces de
                                  o
almacenar grandes vol´menes de datos. Sin embargo, la representaci´n textual
                          u                                              o
de 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                o
cuperaci´n de Informaci´n, la cual provee t´cnicas y m´todos para la obtenci´n
            o               o                   e        e                      o
de grande cantidades de informaci´n, por ejemplo con el uso de crawlers. Otra
                                      o
a
´rea es la Anal´  ıtica Visual, la cual se define como la ciencia del razonamiento
anal´ ı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             o
el proceso de pasar de representaciones gr´ficas a representaciones perceptivas,
                                               a
eligiendo las t´cnicas de codificaci´n que maximicen la comprensi´n humana
                 e                     o                                o
y la comunicaci´n. El enfoque de la exploraci´n de datos a trav´s de la visu-
                   o                                 o                e
alizaci´n busca combinar flexibilidad, creatividad y conocimiento general con
         o
grandes vol´menes de datos almacenados, a fin de facilitar la interacci´n directa
               u                                                          o
con la informaci´n a trav´s de la extracci´n de conocimientos y la realizaci´n de
                   o         e               o                                o
an´lisis y conclusiones.
   a
    Existen numerosas t´cnicas de visualizaci´n, una de ellas, los grafos, han
                            e                       o
tenido una amplia aceptaci´n dentro de las representaciones de la estructura
                               o
de la web y m´s aun en las redes sociales online. Es com´n imaginar que la
                  a                                           u
estructura de una p´gina web se pueda representar como un grafo, donde los
                        a
recursos son los nodos y los enlaces los arcos a estos, o pensar en las relaciones
de amistad dentro de una red social, donde los nodos son los distintos amigos
y los arcos las relaciones de amistad entre amigos. Por ello parece acertado
pensar en grafos a la hora de representar relaciones entre entidades. En este
trabajo se analiza la visualizaci´n de la estructura de un grafo web (un tipo
                                    o
de grafo cuyo origen de informaci´n es la web) mediante la comparaci´n de
                                       o                                      o
tres herramientas especializadas en an´lisis y representaci´n de grafos. Dicha
                                           a                  o
comparaci´n se realiz´ generando un grafo para representar la estructura de
              o           o
amigos de una cuenta de usuario de Facebook [12].

1.1   Organizaci´n
                o
El trabajo centra su atenci´n en la representaci´n de grafos con tres herramien-
                             o                    o
tas distintas, y analiza las caracter´
                                     ısticas y funcionalidades aportadas por cada
una de ellas. El apartado 2 ofrece una breve introducci´n a los conceptos sobre
                                                          o
Visualizaci´n de Informaci´n. En el apartado 3 se brindan algunas definiciones
            o                o
Visualizaci´n de Grafos Web
                                                           o                    3

sobre grafos y se enumeran los trabajos m´s relevantes en esta ´rea. El apartado
                                          a                    a
4 realiza una breve descripci´n de las caracter´
                              o                 ısticas m´s importantes de cada
                                                         a
una de las herramientas a utilizar en nuestro estudio. El apartado 5 ofrece un
vistazo sobre el concepto de redes sociales online y agrega un resumen de los
trabajos realizados m´s relevantes en ese ´mbito. En el apartado 6 se presenta
                      a                    a
la evaluaci´n de cada una de las herramientas utilizando el conjunto de datos
           o
en 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.
                    n


2   Visualizaci´n de informaci´n
               o              o

En las d´cadas anteriores era muy com´n que los datos se presentaran textual-
           e                             u
mente o mediante gr´ficos est´ticos, en estos casos la informaci´n representada
                      a        a                                  o
estaba limitada a cantidades peque˜as, pero en los ultimos a˜os estos tipos de
                                     n                ´        n
representaciones 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                                o
directa con la informaci´n visualizada, dando lugar a m´s de una d´cada de
                          o                                a               e
investigaci´n en visualizaci´n de informaci´n [30]. InfoVis busca aumentar el
             o              o                  o
conocimiento humano mediante el aprovechamiento de las capacidades visuales
humanas para dar sentido a la informaci´n abstracta [7], proporcionando los
                                             o
medios por los cuales los seres humanos mediante sus capacidades perceptivas,
pueden lidiar con el constante aumento de la cantidad de datos disponibles. Una
definici´n un tanto similar es la aportada por [33], que define a la Visualizaci´n
         o                                                                     o
de Informaci´n como “la pr´ctica de mapear conjuntos de datos dentro de medios
                 o          a
de comunicaci´n visual con el fin de ayudar a los usuarios en la exploraci´n de
                   o                                                         o
estos 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. A
menudo la informaci´n se oculta simplemente por la enorme cantidad de datos
                      o
disponibles. De este modo, la Visualizaci´n de Informaci´n tambi´n puede ser
                                            o              o          e
vista como un convertidor entre los datos subyacentes y la percepci´n humana
                                                                        o
de la misma [50]. El representar grandes cantidades de informaci´n mediante
                                                                      o
abstracciones no es una tarea f´cil ya que el usuario no tiene ninguna idea pre-
                                 a
concebida de c´mo estos datos pueden ser representados. As´ los m´todos de
                    o                                          ı,         e
InfoVis 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                o
datos en alguna forma visual, permitiendo que los humanos puedan obtener
conocimiento, sacar conclusiones, e interactuar directamente con los mismos. Con
este tipo de representaciones basadas en grandes cantidades de datos, los usuarios
pueden detectar patrones o comportamientos que se deseaban evaluar, como as´     ı
tambi´n descubrir comportamientos y relaciones entre los datos desconocidos
       e
hasta el momento. Adem´s de la participaci´n directa del usuario, las principales
                          a                   o
ventajas 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      Grafos
Antes de entrar de lleno en el tema de este trabajo (visualizaci´n de grafos web),
                                                                o
es necesario dar algunas definiciones gen´ricas de lo que es un grafo para luego
                                          e
centrar la atenci´n en la aplicaci´n de este concepto.
                 o                o

3.1     Teor´ de Grafos
            ıa
Informalmente, un grafo es un conjunto de objetos llamados v´rtices o no-
                                                                      e
dos (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
        a
abstracta 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                     o
es 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                        o
de la forma A= [(1,2), (2,3),]. El t´rmino arco, arista o enlace proviene del hecho
                                    e
de que en la mayor´ de los casos, cada elemento de A relaciona exactamente
                      ıa
dos nodos distintos.
    Los grafos son abstracciones sencillas, potentes y elegantes que tienen una
amplia aplicabilidad en ciencias de la computaci´n y muchos otros campos.
                                                      o
Cualquier dominio que pueda ser modelado como una colecci´n de nodos vincu-
                                                                o
lados entre s´ se puede representar mediante un grafo.
              ı,

3.2     Grafos Web
Los registros de datos a menudo tienen alguna relaci´n con otras piezas de infor-
                                                     o
maci´n. Los grafos son muy utilizados para representar esas interdependencias.
      o
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 las
interrelaciones de correo electr´nico entre las personas, los h´bitos de compra,
                                o                              a
la estructura de archivos del disco duro o los hiperv´
                                                     ınculos de la web en todo el
mundo. 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 puede
observar 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
                                                                   ıcil
ya 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
                                       n
importancia las herramientas de visualizaci´n de grafos para poder entender,
                                              o
analizar y comprender los distintos fen´menos.
                                        o
Visualizaci´n de Grafos Web
                                                             o                     5




                Fig. 1. Grafo Web utilizando la herramienta JUNG




3.3   Trabajos relacionados


Algunos sistemas centran su foco en grafos relativamente peque˜os [19], mientras
                                                                   n
que los estudios m´s recientes se centran en visualizaciones a grandes escalas, tal
                    a
es el caso de [1] con ASK-GraphView, el cual es un sistema de visualizaci´n de  o
grafos ponderados no dirigidos que permite agrupaciones y navegaci´n interac-
                                                                          o
tiva de grafos grandes, hasta un m´ximo de 200.000 nodos y 16 millones de arcos.
                                     a
Otros estudios se han centrado en el dise˜o y la disposici´n de los elementos del
                                             n               o
grafo. Un ejemplo precursor del trabajo en 3D es el de Munzner quien presenta
H3 layout [42] un algoritmo de dise˜o y H3Viewer [43] un algoritmo de dibujo,
                                       n
los cuales en conjunto permiten representar grafos en un espacio hiperb´lico de
                                                                              o
3D. El algoritmo de dise˜o est´ ajustado para un buen equilibrio entre la densi-
                           n      a
dad de la informaci´n y el desorden, mientras que la adaptaci´n del algoritmo de
                     o                                           o
dibujo ofrece una experiencia interactiva fluida al usuario. Puede manejar grafos
de m´s de 100.000 arcos utilizando un ´rbol de expansi´n como la columna ver-
      a                                    a               o
tebral de los algoritmos de dise˜o y dibujo. Por su parte [22] propone un m´todo
                                  n                                             e
de zoom topol´gico para grafos grandes, de decenas de miles de nodos, basado en
               o
la vista de ojo de pez. El m´todo se basa en el procesamiento de una jerarqu´ de
                              e                                                   ıa
grafos ordinarios, que se combinan en la marcha en representaciones con un nivel
de detalle dependiente de la distancia de uno o m´s focos. Otro trabajo un tanto
                                                    a
m´s espec´
  a        ıfico es el de [8] que describe un sistema para visualizar la evoluci´n del
                                                                                o
software, Gevol, utilizando una novedosa t´cnica de visualizaci´n de grafos de
                                                e                    o
gran tama˜o con un componente temporal. Por ultimo, adem´s de las t´cnicas y
            n                                      ´             a          e
algoritmos, existen algunos frameworks desarrollados, ejemplo de ello son Graph
Visualization System (GVS) [50] y Graph Visualization Framework(GVF) [39].
6      Jos´ Federico Medrano, Jos´ Luis Alonso Berrocal y Carlos G. Figuerola
          e                      e

4      Herramientas de visualizaci´n
                                  o

El objeto central de este trabajo es el estudio y comparaci´n de tres herramientas
                                                            o
utilizadas para el an´lisis y evaluaci´n de grafos. Estas son IGraph, JUNG y
                      a                 o
Gephi. A continuaci´n se nombrar´n las caracter´
                     o               a              ısticas m´s relevantes de cada
                                                              a
una de ellas.


4.1     IGraph

IGraph es una librer´ de c´digo abierto, distribuida bajo licencia GPL, para el
                       ıa   o
estudio y an´lisis de redes/grafos. Los principales objetivos de esta librer´ son
             a                                                              ıa
proveer un conjunto de tipos de datos y funciones para una f´cil implementaci´n
                                                              a                o
de algoritmos de grafos, un manejo r´pido de grandes grafos con millones de
                                         a
nodos y arcos, y permitir un r´pido prototipado por medio de un leguaje de
                                 a
alto nivel como R [11]. IGraph permite manipular tanto grafos dirigidos como
no dirigidos, no admite la implementaci´n de hipergrafos. Por otro lado cuenta
                                           o
con implementaciones de problemas t´    ıpicos de teor´ de grafos como ´rboles de
                                                      ıa                a
expansi´n m´
        o    ınima y flujo de red, tambi´n implementa algoritmos para algunos
                                           e
m´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
                                                ıa
de 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          o
bajo el lenguaje R, ya que fue la opci´n elegida debido a la documentaci´n
                                           o                                   o
existente y a la facilidad que ofrece este lenguaje basado en scripting.


4.2     JUNG

JUNG (abreviaci´n de Java Universal Network/Graph) es un framework de
                   o
c´digo abierto que provee un lenguaje com´n y extensible para la manipulaci´n,
 o                                          u                                o
an´lisis y visualizaci´n de datos que pueden ser representados como un grafo o
   a                  o
una red. Est´ escrito en JAVA, permitiendo el desarrollo de aplicaciones basadas
             a
en 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
                                                                  ıa
el trabajo con grafos pero que necesita conocimientos de programaci´n ya que
                                                                      o
necesariamente 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         o
la versi´n de JAVA 6 update 24.
        o
    JUNG depende de tres librer´ externas para su funcionamiento, las cuales
                                   ıas
son: 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,
     a
esto es posible debido a la flexibilidad que ofrece JUNG al ser una API y no una
herramienta final. Para una revisi´n de los proyectos desarrollados con JUNG
                                     o
revisar [34].


4.3   Gephi

Gephi es una herramienta para la exploraci´n, navegaci´n y an´lisis de grafos.
                                                o             o      a
Permite a los usuarios interactuar con las distintas representaciones, manipular
las estructuras, formas y colores que revelan propiedades ocultas. Utiliza un
motor de renderizado 3D para mostrar las grandes redes en tiempo real y para
acelerar la exploraci´n. El objetivo es ayudar a los analistas de datos a hacer
                      o
hip´tesis, descubrir patrones, aislar singularidades en las estructuras o encontrar
    o
fallas en los datos[25].
    Gephi se destaca por ser una herramienta libre de c´digo abierto y que corre
                                                            o
tanto en Windows, Linux como Mac, puede ser descargado desde [23]. Est´ de-     a
sarrollado en JAVA y se distribuye bajo licencia GNU GPL 3. Resulta ideal para
desplegar gr´ficos representados mediante grafos, complejos gr´ficos de visual-
              a                                                     a
izaci´n de datos utilizados en an´lisis de redes sociales, o jerarqu´ de datos.
      o                             a                                   ıa
Adem´s, es ideal para utilizar como herramienta de visualizaci´n en proyectos
        a                                                            o
de peque˜o, mediano o gran porte [26].
           n
    Soporta la representaci´n de grafos dirigidos, no dirigidos y mixtos, y por el
                              o
momento no permite implementar hipergrafos. Uno de los aspectos m´s impor- a
tantes cubiertos por Gephi es la interacci´n en tiempo real, permite modificar
                                             o
propiedades 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            o
f´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                             o
nada Gephi Toolkit [24] para desarrollar aplicaciones propias basadas en dicha
herramienta.
   En este trabajo se ha utilizado la versi´n Gephi 0.8 alfa, bas´ndonos en la
                                           o                     a
herramienta final y no en la API.


5     Redes sociales

Una red social se compone de todas las personas - familiares, amigos y otros - con
quien se comparte una relaci´n social. A nivel macro, una red social se muestra
                               o
c´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 intentos
de 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-
                                e
dos”. Varios estudios, como el experimento de Milgram[40], han demostrado
emp´ ıricamente que, si una persona se encuentra alejada un “paso” de distancia
de una persona que conoce, entonces cualquier persona se encuentra a lo sumo
seis “pasos” de distancia de cada persona en la Tierra. Es decir, las redes sociales
suelen 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 u
las diferentes agrupaciones o clusters [9].
    Se ha visto c´mo en los ultimos a˜os, las redes sociales online, atraen cada vez
                 o           ´         n
a un n´mero mayor de seguidores. El crecimiento exponencial que experimentan
        u
las redes sociales se debe a la r´pida propagaci´n de la informaci´n, m´s aun,
                                    a              o                    o    a
a trav´s de las plataformas de desarrollo abiertas que poseen los sitios como
        e
Facebook o Twitter [53], que han permitido a los desarrolladores crear sus propias
aplicaciones aumentando el tr´fico en las redes. Por ejemplo, hubo un 30% de
                                  a
aumento en el tr´fico del sitio de Facebook en la semana siguiente al lanzamiento
                  a
de 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 de
usuarios 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                           o
centes. Un an´lisis a gran escala de las propiedades estructurales de las redes
               a
sociales online realizado por Mislove [41], se bas´ en el estudio de m´ltiples redes
                                                  o                     u
sociales: 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                    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 presenta
un an´lisis de la carga de trabajo de las redes sociales online basado en un
       a
seguimiento detallado de clics sobre 37.024 usuarios que accedieron a las redes
sociales: Orkut (http://www.orkut.com), MySpace (http://www.myspace.com),
Hi5 (http://www.hi5.com), y LinkedIn (http://www.linkedin.com). Este an´lisis a
demuestra el poder de utilizar datos de navegaci´n en la identificaci´n de pa-
                                                   o                      o
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´  ıa
dentro 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                                  o
por parte de un grupo selecto (estudiantes universitarios). El mismo estudio
encontr´ que la actividad en Facebook parece estar centrada en “redes” individ-
         o
uales y este comportamiento est´ relacionado con los patrones de uso temporal
                                  a
de 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              o
de Liben-Nowell [38] el cual encontr´ una fuerte correlaci´n entre la amistad y
                                      o                     o
la ubicaci´n geogr´fica de las redes sociales.
           o       a

5.2   Extracci´n de datos
              o
Facebook es un sitio web de redes sociales que en los ultimos a˜os ha ganado
                                                         ´         n
una enorme popularidad. Parte de la raz´n del ´xito se debe a su plataforma
                                           o      e
de desarrollo. En Facebook, una amistad se forma cuando un usuario extiende
una 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
      o
debido a estas relaciones de amistad. Es necesario tener en cuenta que en este
caso la relaci´n de amistad es bidireccional, es decir, si los usuario A y B son
              o
amigos 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
                                     a
amigos basado en la relaci´n de amistad entre los usuarios de Facebook, el grafo
                           o
resultante 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 este
grafo es que es un grafo conectado y no ponderado.
    Para proceder con la extracci´n del conjunto de datos deseado se hizo uso
                                   o
del PHP SDK [15] provisto por la plataforma, el mismo brinda soporte para las
aplicaciones 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 s´lo ocho aplicaciones en su lista. En los meses posteriores, la plataforma
     o
experiment´ un crecimiento fenomenal as´ tambi´n como del tr´fico, llegando
            o                              ı       e              a
a tener m´s de 55.000 aplicaciones activas, con desarrolladores de m´s de 190
          a                                                             a
pa´
  ı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
                                                               e
de 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 de
aplicaciones, ya que Facebook puede procesar y descartar contenidos no deseados
de 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                                        o
de aplicaciones en su plataforma que permite a los usuarios interactuar direc-
tamente con los servidores de aplicaciones, que es el esquema utilizado para el
desarrollo de nuestra aplicaci´n.
                              o


Registrar aplicaci´n Antes de iniciar con el desarrollo de la aplicaci´n para
                      o                                                   o
extraer el conjunto de datos objeto de estudio, fue necesario registrarse como
desarrollador en la plataforma de Facebook para desarrolladores, para ello es
necesario contar con las credenciales (nombre de usuario y contrase˜a) de una
                                                                        n
cuenta de usuario v´lida. Una vez verificado el registro del usuario se habilitan
                     a
las 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
                             o
en: http://www.justsoft.com.ar/TFM/tfm.php. La primera vez que se acceda a
la aplicaci´n y una vez que el usuario se haya autentificado con las credenciales de
           o
usuario de Facebook, la misma le solicitar´ los permisos necesarios para acceder
                                            a
a los datos de la cuenta de usuario, una vez aceptado, el usuario puede hacer
uso de la aplicaci´n.
                  o


Funcionamiento de la aplicaci´n El objetivo de la aplicaci´n es construir
                                   o                               o
un 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-
    o
book. Se eligi´ el formato de Pajek debido a que es un formato ampliamente
              o
usado en las representaciones de grafos, es muy f´cil de implementar y proce-
                                                    a
sar ya que posee una sintaxis sumamente sencilla y en modo texto, y adem´s        a
porque las tres herramientas objeto de estudios brindan soporte para este tipo
de formato.
    El funcionamiento b´sico de la aplicaci´n es el siguiente: se obtiene el listado
                        a                  o
de todos los amigos de la cuenta del usuario autentificado, luego esta lista es
recorrida uno a uno para obtener los amigos en com´n entre el usuario y sus
                                                        u
amigos, esto se hace para obtener las relaciones entre los amigos de este. A
medida que se recorre la lista de amigos se va creando, por un lado el conjunto
de nodos que estar´ formado por el usuario y los amigos del usuario, y por otro
                    a
lado se crean los arcos que reflejar´n las relaciones entre los nodos. En el grafo
                                   a
resultante debe haber un arco entre el usuario y cada uno de sus amigos, y
adem´s debe haber un arco entre los amigos en com´n que tengan los amigos
      a                                                 u
del usuario.
Visualizaci´n de Grafos Web
                                                            o                     11

6     Evaluaci´n de herramientas
              o

Para la evaluaci´n de las tres herramientas se tom´ el mismo conjunto de datos,
                o                                 o
el archivo Graph.net generado mediante la aplicaci´n TFM, el cual presenta un
                                                   o
grafo 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.
                  n


6.1     Elecci´n de algoritmos de dise˜ o
              o                       n

Existen numerosos algoritmos de dise˜o y disposici´n de los elementos(nodos y
                                          n            o
arcos) del grafo, la mayor´ de las herramientas s´lo implementan los m´s co-
                             ıa                       o                        a
munes o los que mejor resultado ofrecen al usuario. Dentro de estos, los m´todos
                                                                              e
dirigidos por fuerza (force-directed) presentan una buena elecci´n, no solo por
                                                                     o
su 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-
                                          n
stro conjunto de datos en las pruebas realizadas, adem´s existen abundantes
                                                             a
publicaciones 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           a
dibujo predefinida, dando a los dise˜os basados en Fruchterman-Reingold un
                                         n
aspecto m´s expandido, En contraste, Kamada-Kawai hace uso de las distancias
           a
te´ricas del grafo como medida durante el proceso de colocaci´n del nodo en lu-
  o                                                               o
gar de la informaci´n de adyacencia. Si bien la informaci´n de adyacencia puede
                     o                                      o
ser f´cilmente encontrada en los grafos, las distancias te´ricas del grafo tienen
     a                                                       o
que ser calculadas de forma expl´   ıcita. El beneficio de las distancias te´ricas del
                                                                           o
grafo es que establecen una medida entre cualquier par de nodos que se refleja
directamente en la distancia entre estos nodos [50].


6.2     IGraph

La herramienta IGraph funciona bajo el entorno R. Para proceder con las pruebas
se cre´ un script basado en un ejemplo disponible en la documentaci´n de dicho
      o                                                               o
entorno [32] para poder detectar las comunidades y asignarles distintos colores.
Las visualizaciones se realizaron utilizando dos de las funciones provistas por la
herramienta: plot y tkplot.
    Para la detecci´n de comunidades se utilizaron los siguientes algoritmos
                    o
disponibles 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            o
kamada.kawai y fruchterman.reingold. El resto de los algoritmos de layout no
son 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
                                                      o
observar e identificar las comunidades (Spring Embedder y Reingold-Tilford, en
este ultimo la disposici´n es en forma de ´rbol)
     ´                  o                 a
    A continuaci´n se presentan los distintos resultados obtenidos con la her-
                 o
ramienta de visualizaci´n plot al variar el algoritmo de layout y el n´mero de
                        o                                              u
iteraciones 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                        n
de nodos) funcionan adecuadamente, es decir, asigna los colores de acuerdo a
las comunidades detectadas, pero para grafos grandes (como es el caso del estu-
dio en cuesti´n), estos no funcionan adecuadamente, la herramienta no permite
             o
hacer un zoom sobre le representaci´n dificultando la visualizaci´n. Los colores
                                     o                           o
son asignados a los nodos pero las comunidades que se forman son visibles de
acuerdo a la disposici´n de los nodos (en relaci´n al algoritmo de layout uti-
                       o                          o
lizado) y no de acuerdo a los colores asignados a los nodos, por ello s´lo se
                                                                          o
presentan los resultados utilizando el algoritmo de clustering Edge betweenness.
    En las Figura 2 y Figura 3 se pueden observar los resultados de las ejecuciones
para los algoritmos kamada.kawai y fruchterman.reingold para distintos n´meros
                                                                            u
de 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
                           a
representaciones no sufren cambios y salvo una peque˜a rotaci´n en algunos
                                                          n         o
casos, se mantienen casi constantes o al menos sin cambios significativos. Para
las representaciones con plot, el tiempo demandado es del orden de algunos
segundos, de 30 a 50 segundos para 500 iteraciones o superiores.
    Lo mismo sucede para las ejecuciones con tkplot, como se puede observar
en las Figura 4 y Figura 5. Ya sea utilizando un m´todo de visualizaci´n u
                                                        e                    o
otro, los resultado son casi id´nticos, a esto se debe sumar el nulo grado de
                                 e
interacci´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, tkplot
tampoco aporta gran interacci´n, m´s all´ de poder mover los nodos o cambiar
                                 o    a   a
de color los nodos y arcos, lo m´s importante es que una vez representado el grafo
                                a
se puede intercambiar el algoritmo de visualizaci´n por todos los disponibles,
                                                    o
cambiando el n´mero de iteraciones y dem´s par´metros de cada uno. Para las
                u                           a      a
representaciones 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                                                e
izaci´n. Si bien la plataforma R posee una tercera herramienta de visualizaci´n,
       o                                                                       o
rglplot, no es adecuada para la visualizaci´n de grafos de cientos de nodos, por
                                            o
ello no se ofrece dicha representaci´n. Esta herramienta aporta un poco m´s de
                                    o                                       a
interacci´n al poder hacer un zoom b´sico y una rotaci´n del grafo, pero aun
           o                             a                 o
as´ 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 iteraciones




Fig. 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                    15

6.3   JUNG

A continuaci´n se ofrecen los resultados de la representaci´n de nuestro grafo
               o                                                 o
con la herramienta JUNG. Para realizar esto se desarroll´ una aplicaci´n muy
                                                             o              o
b´sica en c´digo JAVA (ya que JUNG es una API para este lenguaje y no una
  a          o
herramienta final) para poder implementar los distintos algoritmos de layout y
de detecci´n de comunidades.
            o
     Dicha aplicaci´n cuenta con las opciones necesarias para indicar los distintos
                     o
par´metros de los algoritmos. Posee una lista desplegable donde seleccionar el
     a
algoritmo de cluster con las siguientes opciones: Edge Betweenness, Weak Com-
ponent y Voltage. Tambi´n posee una lista desplegable donde seleccionar el algo-
                           e
ritmo de layout con las siguientes opciones: Fruchterman-Reingold y Kamada-
Kawai. As´ mismo permite indicar el n´mero de iteraciones a realizar por los
            ı                              u
algoritmos de layout, permite elegir el archivo .net el cual contendr´ el grafo
                                                                         a
que se dibujar´ y por ultimo permite especificar un par´metro adicional, este
                  a      ´                                   a
par´metro es utilizado por los algoritmos de cluster Edge Betweenness para in-
     a
dicar la cantidad de arcos a remover y por el algoritmo Voltage para indicar la
cantidad de clusters a generar, para el algoritmo Weak Component no es tenido
en cuenta.
     Aqu´ presentamos los resultados obtenidos con la aplicaci´n desarrollada,
         ı                                                          o
para ello se realizaron variaciones de los distintos algoritmos de layout y de clus-
ter. En cuanto al algoritmo de cluster WeakComponentClusterer, en las pruebas
realizadas con las distintas variantes, no mostr´ alg´n resultado relevante, es
                                                    o    u
decir, s´lo detectaba una comunidad la del grafo entero, esto responde a la nat-
         o
uraleza del algoritmo al no poder encontrar componentes d´bilmente conectados
                                                               e
m´s que el grafo mismo. Para el resto de los algoritmos y variantes se ofrecen
   a
las capturas correspondientes.
     Para el m´todo de detecci´n de comunidades EdgeBetweennessClusterer se
                e               o
realizaron las pruebas eliminando 100 arcos. El n´mero 100 elegido fue el que
                                                      u
produjo resultados m´s representativos. Para un mayor detalle de este algoritmo
                       a
revisar [27].
     En las Figura 6 y Figura 7 se observan las ejecuciones del algoritmo de cluster
EdgeBetweennessClusterer para los algoritmos de layout Fruchtermen-Reingold
y Kamada-Kawai para 1, 100, 500, 1000 y 5000 iteraciones.
     Se observa que el algoritmo Fruchtermen-Reingold ofrece mejores resultados
que el algoritmo Kamada-Kawai debido a la disposici´n de los nodos, para el
                                                           o
primero se observan las distintas agrupaciones casi a primera vista, mientras
que para el segundo es imposible identificarlas debido a la disposici´n circular
                                                                        o
y central del algoritmo. En cuanto a los colores de los clusters detectados no se
observan resultados significativos ya que las comunidades formadas se deben a
la naturaleza del algoritmo de layout, es decir, las comunidades formadas poseen
el mismo color de acuerdo a la asignaci´n y esto no hace muy evidente el fun-
                                           o
cionamiento del algoritmo de clustering. Se observan nodos aislados de distintos
colores pero estos no llegan a formar una comunidad, la mayor´ son nodos que
                                                                   ıa
unicamente est´n relacionados con el nodo 0 o central, y no poseen relaciones
´                  a
con 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                  17

se observan cambios significativos, es m´s, para las ejecuciones de m´s de 1000
                                         a                            a
iteraciones los resultados parecen constantes.
    En las Figura 8 y Figura 9 se presentan las ejecuciones para el algoritmo
de clustering VoltageClusterer. Este algoritmo precisa de un par´metro N que
                                                                  a
es el n´mero de clusters a identificar/detectar, las pruebas se realizaron con un
       u
N = 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                                                                      ıa
de los casos se forman 4 comunidades grandes y bien definidas, aunque existen
comunidades 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 claramente
que el algoritmo de cluster VoltageClusterer asigna un color distinto a cada
una 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
                                                               o
IGraph. JUNG permite observar m´s de cerca el grafo generado, ya que a este
                                    a
se le puede hacer zoom, rotar y trasladar f´cilmente, dejando atr´s los grafos
                                             a                      a
peque˜os y est´ticos, si bien a simple vista parece ser una masa de nodos, me-
      n        a
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    Jos´ Federico Medrano, Jos´ Luis Alonso Berrocal y Carlos G. Figuerola
         e                      e




        Fig. 9. Ejecuci´n de VolatageClusterer para 1000 y 5000 iteraciones
                       o



ernas y vistosas, y lo que se hizo en este trabajo es s´lo una muestra del poder
                                                       o
que tiene esta herramienta para el desarrollo de aplicaciones a medida.
   En cuanto al tiempo de ejecuci´n demandado, es del orden de algunos min-
                                    o
utos, de 3 a 6 minutos para 500 iteraciones o superiores.


6.4   Gephi

La ultima herramienta por evaluar es Gephi. Para nuestro estudio s´lo se utiliz´
    ´                                                               o          o
la herramienta final ya que posee toda la funcionalidad requerida para evaluar y
analizar grandes grafos, ofrece un conjunto grande de opciones para parametrizar
las 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-
                                      o
Kawai, sin embargo posee una implementaci´n de un algoritmo dirigido por
                                               o
fuerzas llamado Force Atlas [3], este algoritmo fue desarrollado por el mismo
equipo que desarroll´ la herramienta.
                    o
   Para la detecci´n de comunidades se hizo uso del algoritmo provisto por la
                  o
herramienta, el cual es un m´todo heur´
                              e          ıstico que se basa en la optimizaci´n
                                                                            o
Visualizaci´n de Grafos Web
                                                            o                     19

de la modularidad. Este m´todo encuentra las particiones de alta modularidad
                              e
dentro de grafos de gran tama˜o en poco tiempo y desarrolla una completa
                                    n
estructura jer´rquica de la comunidad del grafo. Contrariamente al resto de
                a
algoritmos de detecci´n de comunidades, los l´
                         o                       ımites de tama˜o del grafo al que
                                                                    n
se enfrenta este algoritmo se deben a la limitada capacidad de almacenamiento
en lugar del tiempo de procesamiento limitado, por ejemplo: la identificaci´n deo
las 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 datos
para poder ver la evoluci´n de ambos algoritmos de layout. A diferencia de
                             o
las comparaciones realizadas en los apartados anteriores (6.2 y 6.3), en esta
herramienta el l´ ımite de cada algoritmo no est´ dado por el n´mero de iteraciones
                                                a                 u
sino por el tiempo de ejecuci´n. Por ello las ejecuciones se hicieron para 1, 10,
                                o
60 y 300 segundos. Luego de ejecutar el algoritmo por m´s de 300 segundos
                                                                  a
no se observa absolutamente ning´n cambio, por ello el l´
                                      u                       ımite fijado fue de 300
segundos.
     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 algoritmos
muestran resultados excelentes, sumado a eso, la detecci´n de comunidades y su
                                                            o
posterior coloraci´n permiten identificar estas aun m´s que con las herramientas
                    o                                   a
anteriores. Por otro lado es necesario destacar la velocidad de ejecuci´n, esta her-
                                                                         o
ramienta posee un procesador de gr´ficos extremadamente r´pido (en cuesti´n
                                        a                           a             o
de segundos), sumado a las innumerables caracter´    ısticas de interacci´n, no s´lo
                                                                           o     o
el zoom o la rotaci´n y traslaci´n del grafo, sino que adem´s permite el cambio
                      o           o                              a
de 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                            o
ser la mejor opci´n de todas las estudiadas, al menos para este caso y para este
                   o
conjunto de datos, principalmente por la velocidad de ejecuci´n (como se ve en
                                                                     o
las 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
                    o
identificada con un color espec´    ıfico se encuentra geogr´ficamente separada del
                                                           a
resto de comunidades y los elemento pertenecientes a dichas comunidades se
encuentran muy cercanos unos de otros).


7   Conclusiones

Las representaciones visuales de grandes cantidades de informaci´n en un for-
                                                                  o
mato sencillo, permiten que el usuario pueda obtener no s´lo un panorama
                                                              o
general sino un entendimiento un tanto m´s profundo de lo que se le intenta
                                             a
transmitir. Por ello el dise˜o de visualizaciones para que puedan ser f´cilmente
                            n                                          a
comprendidas por los seres humanos es el objetivo central de InfoVis, que hace
uso del sentido m´s poderoso del ser humano, la vista. Las personas procesan
                   a
gran cantidad de informaci´n de forma visual, por esta raz´n es una buena tarea
                            o                              o
asignar 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
                                      e
de estas t´cnicas, los grafos, resultan adecuados para muchos de los problemas
          e
que surgen en la inform´tica y sus aplicaciones, b´sicamente para representar
                          a                         a
relaciones entre entidades. Resulta sumamente sencillo dibujar un grafo peque˜o
                                                                             n
de forma manual, el usuario tiene en todo momento el control de la disposici´n
                                                                             o
y colocaci´n de cada uno de los elementos del grafo (nodos y arcos), pero esta
          o
tarea se vuelve tediosa e imposible de realizar cuando hablamos de grafos de
gran tama˜o (cientos, miles o millones de elementos). Es por esto que existen
           n
herramientas que procesan la informaci´n y realizan los dibujos y dise˜o de
                                          o                               n
los grafos de forma autom´tica, librando de esta tarea al usuario. El objetivo
                            a
principal de estas herramientas es que el usuario comprenda la estructura del
grafo.
    Si bien existen herramientas que realizan el procesamiento y el dise˜o del
                                                                          n
grafo de forma autom´tica, la intervenci´n del usuario es fundamental a la hora
                       a                  o
de decidir cu´l es el mejor dise˜o para la representaci´n actual. Las herramien-
              a                 n                      o
tas especializadas en el an´lisis de grafos ofrecen un conjunto de algoritmos de
                           a
dise˜o entre los que el usuario debe elegir el que mejor represente el conjunto
    n
de informaci´n que se est´ tratando. De acuerdo al estudio realizado se vio que
             o            a
los algoritmos m´s utilizados y los que mejores resultados ofrecen son: Kamada-
                 a
Kawai, Fruchterman-Reingold y Force Atlas.
     En este trabajo hemos presentado tres herramientas de c´digo abierto y libre
                                                                o
distribuci´n, para la exploraci´n y an´lisis de grafos. Del estudio comparativo
           o                    o         a
realizado en este trabajo sobre IGraph, JUNG y Gephi, se concluye que Gephi
es la herramienta que no s´lo ofrece la mejor representaci´n gr´fica sino tambi´n
                           o                                o      a            e
que 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              o
fundamental. Una imagen est´tica resultado de un procesamiento no sirve de
                                a
mucho al usuario, mientras que una representaci´n interactiva que permita al
                                                     o
usuario tener cierto control sobre el resultado que est´ observando, aporta mucho
                                                       a
m´s al entendimiento y comprensi´n de lo que se pretende informar. Para nuestro
   a                               o
trabajo, se pudo ver como pasamos desde una representaci´n casi est´tica con
                                                                o        a
IGraph donde la unica interacci´n disponible era mover un nodo a la vez y
                    ´              o
cambiar de color los nodos y arcos, a JUNG la cual ofrec´ la posibilidad de
                                                                ıa
hacer un zoom, rotar y trasladar el grafo sin perder calidad en la representaci´n,
                                                                               o
a Gephi la cual ofrec´ un conjunto enorme de posibilidades de interacci´n, desde
                      ıa                                                 o
cambiar el tama˜o o color de los nodos seg´n diversos criterios, mostrar u ocultar
                 n                           u
las etiquetas de los nodos, cambiar la forma y tama˜o de los arcos, hasta tener
                                                       n
distintos escenarios ejecutando algoritmos distintos de layout, y todo esto en
l´
 ı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
                                                                          n
escalabilidad. En este trabajo se utiliz´ un grafo de unos cientos de nodos y se
                                        o
observ´ c´mo con herramientas como IGraph, el tratamiento es muy complicado,
       o o
no s´lo por el tiempo demandado, sino por la disposici´n del grafo en la pantalla.
    o                                                 o
Nuevamente, Gephi sigue siendo la mejor opci´n para grafos de gran tama˜o.
                                                o                             n
Sin 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                      e

samiento gr´fico, que hasta el momento demanda una cantidad considerable de
             a
tiempo (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-a
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 trabajo
se analiz´ una caracter´
          o              ıstica de las redes sociales, la formaci´n de las estructuras
                                                                 o
de amigos de la red social Facebook. Para ello se utilizaron los algoritmos de
detecci´n de clusters o agrupaciones de las distintas herramientas que hemos
        o
presentado. En este aspecto una vez m´s Gephi, con su propio algoritmo de
                                             a
detecci´n de comunidades, present´ los mejores resultados, tanto en tiempo de
        o                              o
ejecuci´n como en la detecci´n eficiente de comunidades. Igualmente, JUNG no
       o                        o
qued´ muy desfasado, la aplicaci´n del m´todo VoltageClusterer mostr´ resul-
     o                               o         e                               o
tados muy satisfactorios en contraposici´n con los dem´s algoritmos disponibles
                                            o                a
en dicha herramienta. En el estudio de las redes sociales, el detectar e identificar
adecuadamente las comunidades es una cuesti´n muy importante en cualquier
                                                    o
an´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
                                                       o
con herramientas que analicen estos conjuntos de datos de forma correcta y efi-
caz, aumentan constantamente. El contar con representaciones adecuadas y que
permitan al usuario interactuar con el resultado es un factor determinante a la
hora de elegir una herramienta u otra, ya que esto tendr´ una relaci´n directa
                                                               a            o
en la comprensi´n y el entendimiento del resultado a informar.
                 o

References
 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                      e

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, 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/.

Más contenido relacionado

Similar a Visualizacion de grafos web - Artículo Científico

Problemas de diseño de información cuantitativa
Problemas de diseño de información cuantitativaProblemas de diseño de información cuantitativa
Problemas de diseño de información cuantitativamanolitocruam
 
Tecnicas de Recoleccion de Datos
Tecnicas de Recoleccion de DatosTecnicas de Recoleccion de Datos
Tecnicas de Recoleccion de DatosTensor
 
Técnicas recolección de datos en entornos virtuales copia.pdf
Técnicas recolección de datos en entornos virtuales copia.pdfTécnicas recolección de datos en entornos virtuales copia.pdf
Técnicas recolección de datos en entornos virtuales copia.pdfMaiteotondobriceo
 
Intercambio de información científica y académica entre los profesionales en ...
Intercambio de información científica y académica entre los profesionales en ...Intercambio de información científica y académica entre los profesionales en ...
Intercambio de información científica y académica entre los profesionales en ...jair
 
La documentación hipermedia en el ámbito de la publicidad y las relaciones pú...
La documentación hipermedia en el ámbito de la publicidad y las relaciones pú...La documentación hipermedia en el ámbito de la publicidad y las relaciones pú...
La documentación hipermedia en el ámbito de la publicidad y las relaciones pú...Universidad Veracruzana
 
Monografia ontologias - Primera Aproximación
Monografia ontologias - Primera AproximaciónMonografia ontologias - Primera Aproximación
Monografia ontologias - Primera AproximaciónMarcos Umaño
 
PROYECCION BASES DE DATOS AL FUTURO
PROYECCION BASES DE DATOS AL FUTUROPROYECCION BASES DE DATOS AL FUTURO
PROYECCION BASES DE DATOS AL FUTUROdaayala
 
Fracisco actividad 3_unidad_3 slide_share
Fracisco actividad 3_unidad_3 slide_shareFracisco actividad 3_unidad_3 slide_share
Fracisco actividad 3_unidad_3 slide_shareMARIOFIGEROACARDENAS
 
La Web semántica como facilitador de búsqueda en los estudiantes
La Web semántica como facilitador de búsqueda en los estudiantesLa Web semántica como facilitador de búsqueda en los estudiantes
La Web semántica como facilitador de búsqueda en los estudiantesAnthony-Macas
 
El Big Data como fenómeno y herramienta para el e‐research en CSyH Digitales
El Big Data como fenómeno y herramienta para el e‐research en CSyH DigitalesEl Big Data como fenómeno y herramienta para el e‐research en CSyH Digitales
El Big Data como fenómeno y herramienta para el e‐research en CSyH DigitalesMaría Sánchez González (@cibermarikiya)
 
La ciencia compartida y la web social. Mendeley, una red social científica
La ciencia compartida y la web social. Mendeley, una red social científica La ciencia compartida y la web social. Mendeley, una red social científica
La ciencia compartida y la web social. Mendeley, una red social científica Miguel Zapata-Ros
 
La ciencia compartida y la web social. Mendeley, una red social científica
La ciencia compartida y la web social. Mendeley, una red social científica La ciencia compartida y la web social. Mendeley, una red social científica
La ciencia compartida y la web social. Mendeley, una red social científica Miguel Zapata-Ros
 

Similar a Visualizacion de grafos web - Artículo Científico (20)

Diapositivasss
DiapositivasssDiapositivasss
Diapositivasss
 
Problemas de diseño de información cuantitativa
Problemas de diseño de información cuantitativaProblemas de diseño de información cuantitativa
Problemas de diseño de información cuantitativa
 
Tecnicas de Recoleccion de Datos
Tecnicas de Recoleccion de DatosTecnicas de Recoleccion de Datos
Tecnicas de Recoleccion de Datos
 
Tdrd
TdrdTdrd
Tdrd
 
Técnicas recolección de datos en entornos virtuales copia.pdf
Técnicas recolección de datos en entornos virtuales copia.pdfTécnicas recolección de datos en entornos virtuales copia.pdf
Técnicas recolección de datos en entornos virtuales copia.pdf
 
Intercambio de información científica y académica entre los profesionales en ...
Intercambio de información científica y académica entre los profesionales en ...Intercambio de información científica y académica entre los profesionales en ...
Intercambio de información científica y académica entre los profesionales en ...
 
Unidad2
Unidad2Unidad2
Unidad2
 
Tecnologia en investigacion
Tecnologia en investigacionTecnologia en investigacion
Tecnologia en investigacion
 
La documentación hipermedia en el ámbito de la publicidad y las relaciones pú...
La documentación hipermedia en el ámbito de la publicidad y las relaciones pú...La documentación hipermedia en el ámbito de la publicidad y las relaciones pú...
La documentación hipermedia en el ámbito de la publicidad y las relaciones pú...
 
Monografia ontologias - Primera Aproximación
Monografia ontologias - Primera AproximaciónMonografia ontologias - Primera Aproximación
Monografia ontologias - Primera Aproximación
 
PROYECCION BASES DE DATOS AL FUTURO
PROYECCION BASES DE DATOS AL FUTUROPROYECCION BASES DE DATOS AL FUTURO
PROYECCION BASES DE DATOS AL FUTURO
 
Bloque i cmap
Bloque i cmapBloque i cmap
Bloque i cmap
 
Fracisco actividad 3_unidad_3 slide_share
Fracisco actividad 3_unidad_3 slide_shareFracisco actividad 3_unidad_3 slide_share
Fracisco actividad 3_unidad_3 slide_share
 
Prueba PRUEBA TITULO
Prueba PRUEBA TITULOPrueba PRUEBA TITULO
Prueba PRUEBA TITULO
 
La Web semántica como facilitador de búsqueda en los estudiantes
La Web semántica como facilitador de búsqueda en los estudiantesLa Web semántica como facilitador de búsqueda en los estudiantes
La Web semántica como facilitador de búsqueda en los estudiantes
 
El Big Data como fenómeno y herramienta para el e‐research en CSyH Digitales
El Big Data como fenómeno y herramienta para el e‐research en CSyH DigitalesEl Big Data como fenómeno y herramienta para el e‐research en CSyH Digitales
El Big Data como fenómeno y herramienta para el e‐research en CSyH Digitales
 
La ciencia compartida y la web social. Mendeley, una red social científica
La ciencia compartida y la web social. Mendeley, una red social científica La ciencia compartida y la web social. Mendeley, una red social científica
La ciencia compartida y la web social. Mendeley, una red social científica
 
La ciencia compartida y la web social. Mendeley, una red social científica
La ciencia compartida y la web social. Mendeley, una red social científica La ciencia compartida y la web social. Mendeley, una red social científica
La ciencia compartida y la web social. Mendeley, una red social científica
 
GESTION DEL
GESTION DELGESTION DEL
GESTION DEL
 
Red semántica
Red semánticaRed semántica
Red semántica
 

Último

Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...JaquelineJuarez15
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 

Último (20)

Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 

Visualizacion de grafos web - Artículo Científico

  • 1. 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 o Las t´cnicas para representar informaci´n est´tica son bien conocidas, por sus e o a descripciones y por su dise˜o est´tico, ejemplo de estos son las tablas, gr´ficos n e a de 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 a o 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. 2 Jos´ Federico Medrano, Jos´ Luis Alonso Berrocal y Carlos G. Figuerola e e reestructuraciones, nuevas p´ginas y secciones, etc.) como en contenido (cada d´ a ıa nuevos 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 ıa constante cambio?” Es casi imposible dar respuesta a estas y muchas preguntas relacionadas 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 o ha conllevado al surgimiento de numerosos campos de investigaci´n enfocados en o la b´squeda de herramientas de an´lisis que permitan representar y comprender u a vastas cantidades de informaci´n [10]. Actualmente existen sistemas capaces de o almacenar grandes vol´menes de datos. Sin embargo, la representaci´n textual u o de 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 o cuperaci´n de Informaci´n, la cual provee t´cnicas y m´todos para la obtenci´n o o e e o de grande cantidades de informaci´n, por ejemplo con el uso de crawlers. Otra o a ´rea es la Anal´ ıtica Visual, la cual se define como la ciencia del razonamiento anal´ ı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 o el proceso de pasar de representaciones gr´ficas a representaciones perceptivas, a eligiendo las t´cnicas de codificaci´n que maximicen la comprensi´n humana e o o y la comunicaci´n. El enfoque de la exploraci´n de datos a trav´s de la visu- o o e alizaci´n busca combinar flexibilidad, creatividad y conocimiento general con o grandes vol´menes de datos almacenados, a fin de facilitar la interacci´n directa u o con la informaci´n a trav´s de la extracci´n de conocimientos y la realizaci´n de o e o o an´lisis y conclusiones. a Existen numerosas t´cnicas de visualizaci´n, una de ellas, los grafos, han e o tenido una amplia aceptaci´n dentro de las representaciones de la estructura o de la web y m´s aun en las redes sociales online. Es com´n imaginar que la a u estructura de una p´gina web se pueda representar como un grafo, donde los a recursos son los nodos y los enlaces los arcos a estos, o pensar en las relaciones de amistad dentro de una red social, donde los nodos son los distintos amigos y los arcos las relaciones de amistad entre amigos. Por ello parece acertado pensar en grafos a la hora de representar relaciones entre entidades. En este trabajo se analiza la visualizaci´n de la estructura de un grafo web (un tipo o de grafo cuyo origen de informaci´n es la web) mediante la comparaci´n de o o tres herramientas especializadas en an´lisis y representaci´n de grafos. Dicha a o comparaci´n se realiz´ generando un grafo para representar la estructura de o o amigos de una cuenta de usuario de Facebook [12]. 1.1 Organizaci´n o El trabajo centra su atenci´n en la representaci´n de grafos con tres herramien- o o tas distintas, y analiza las caracter´ ısticas y funcionalidades aportadas por cada una de ellas. El apartado 2 ofrece una breve introducci´n a los conceptos sobre o Visualizaci´n de Informaci´n. En el apartado 3 se brindan algunas definiciones o o
  • 3. Visualizaci´n de Grafos Web o 3 sobre grafos y se enumeran los trabajos m´s relevantes en esta ´rea. El apartado a a 4 realiza una breve descripci´n de las caracter´ o ısticas m´s importantes de cada a una de las herramientas a utilizar en nuestro estudio. El apartado 5 ofrece un vistazo sobre el concepto de redes sociales online y agrega un resumen de los trabajos realizados m´s relevantes en ese ´mbito. En el apartado 6 se presenta a a la evaluaci´n de cada una de las herramientas utilizando el conjunto de datos o en 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. n 2 Visualizaci´n de informaci´n o o En las d´cadas anteriores era muy com´n que los datos se presentaran textual- e u mente o mediante gr´ficos est´ticos, en estos casos la informaci´n representada a a o estaba limitada a cantidades peque˜as, pero en los ultimos a˜os estos tipos de n ´ n representaciones 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 o directa con la informaci´n visualizada, dando lugar a m´s de una d´cada de o a e investigaci´n en visualizaci´n de informaci´n [30]. InfoVis busca aumentar el o o o conocimiento humano mediante el aprovechamiento de las capacidades visuales humanas para dar sentido a la informaci´n abstracta [7], proporcionando los o medios por los cuales los seres humanos mediante sus capacidades perceptivas, pueden lidiar con el constante aumento de la cantidad de datos disponibles. Una definici´n un tanto similar es la aportada por [33], que define a la Visualizaci´n o o de Informaci´n como “la pr´ctica de mapear conjuntos de datos dentro de medios o a de comunicaci´n visual con el fin de ayudar a los usuarios en la exploraci´n de o o estos 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. A menudo la informaci´n se oculta simplemente por la enorme cantidad de datos o disponibles. De este modo, la Visualizaci´n de Informaci´n tambi´n puede ser o o e vista como un convertidor entre los datos subyacentes y la percepci´n humana o de la misma [50]. El representar grandes cantidades de informaci´n mediante o abstracciones no es una tarea f´cil ya que el usuario no tiene ninguna idea pre- a concebida de c´mo estos datos pueden ser representados. As´ los m´todos de o ı, e InfoVis 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 o datos en alguna forma visual, permitiendo que los humanos puedan obtener conocimiento, sacar conclusiones, e interactuar directamente con los mismos. Con este tipo de representaciones basadas en grandes cantidades de datos, los usuarios pueden detectar patrones o comportamientos que se deseaban evaluar, como as´ ı tambi´n descubrir comportamientos y relaciones entre los datos desconocidos e hasta el momento. Adem´s de la participaci´n directa del usuario, las principales a o ventajas de la exploraci´n visual de los datos seg´n Keim [36], son: o u
  • 4. 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 Grafos Antes de entrar de lleno en el tema de este trabajo (visualizaci´n de grafos web), o es necesario dar algunas definiciones gen´ricas de lo que es un grafo para luego e centrar la atenci´n en la aplicaci´n de este concepto. o o 3.1 Teor´ de Grafos ıa Informalmente, un grafo es un conjunto de objetos llamados v´rtices o no- e dos (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 a abstracta 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 o es 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 o de la forma A= [(1,2), (2,3),]. El t´rmino arco, arista o enlace proviene del hecho e de que en la mayor´ de los casos, cada elemento de A relaciona exactamente ıa dos nodos distintos. Los grafos son abstracciones sencillas, potentes y elegantes que tienen una amplia aplicabilidad en ciencias de la computaci´n y muchos otros campos. o Cualquier dominio que pueda ser modelado como una colecci´n de nodos vincu- o lados entre s´ se puede representar mediante un grafo. ı, 3.2 Grafos Web Los registros de datos a menudo tienen alguna relaci´n con otras piezas de infor- o maci´n. Los grafos son muy utilizados para representar esas interdependencias. o 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 las interrelaciones de correo electr´nico entre las personas, los h´bitos de compra, o a la estructura de archivos del disco duro o los hiperv´ ınculos de la web en todo el mundo. 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 puede observar 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 ıcil ya 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 n importancia las herramientas de visualizaci´n de grafos para poder entender, o analizar y comprender los distintos fen´menos. o
  • 5. Visualizaci´n de Grafos Web o 5 Fig. 1. Grafo Web utilizando la herramienta JUNG 3.3 Trabajos relacionados Algunos sistemas centran su foco en grafos relativamente peque˜os [19], mientras n que los estudios m´s recientes se centran en visualizaciones a grandes escalas, tal a es el caso de [1] con ASK-GraphView, el cual es un sistema de visualizaci´n de o grafos ponderados no dirigidos que permite agrupaciones y navegaci´n interac- o tiva de grafos grandes, hasta un m´ximo de 200.000 nodos y 16 millones de arcos. a Otros estudios se han centrado en el dise˜o y la disposici´n de los elementos del n o grafo. Un ejemplo precursor del trabajo en 3D es el de Munzner quien presenta H3 layout [42] un algoritmo de dise˜o y H3Viewer [43] un algoritmo de dibujo, n los cuales en conjunto permiten representar grafos en un espacio hiperb´lico de o 3D. El algoritmo de dise˜o est´ ajustado para un buen equilibrio entre la densi- n a dad de la informaci´n y el desorden, mientras que la adaptaci´n del algoritmo de o o dibujo ofrece una experiencia interactiva fluida al usuario. Puede manejar grafos de m´s de 100.000 arcos utilizando un ´rbol de expansi´n como la columna ver- a a o tebral de los algoritmos de dise˜o y dibujo. Por su parte [22] propone un m´todo n e de zoom topol´gico para grafos grandes, de decenas de miles de nodos, basado en o la vista de ojo de pez. El m´todo se basa en el procesamiento de una jerarqu´ de e ıa grafos ordinarios, que se combinan en la marcha en representaciones con un nivel de detalle dependiente de la distancia de uno o m´s focos. Otro trabajo un tanto a m´s espec´ a ıfico es el de [8] que describe un sistema para visualizar la evoluci´n del o software, Gevol, utilizando una novedosa t´cnica de visualizaci´n de grafos de e o gran tama˜o con un componente temporal. Por ultimo, adem´s de las t´cnicas y n ´ a e algoritmos, existen algunos frameworks desarrollados, ejemplo de ello son Graph Visualization System (GVS) [50] y Graph Visualization Framework(GVF) [39].
  • 6. 6 Jos´ Federico Medrano, Jos´ Luis Alonso Berrocal y Carlos G. Figuerola e e 4 Herramientas de visualizaci´n o El objeto central de este trabajo es el estudio y comparaci´n de tres herramientas o utilizadas para el an´lisis y evaluaci´n de grafos. Estas son IGraph, JUNG y a o Gephi. A continuaci´n se nombrar´n las caracter´ o a ısticas m´s relevantes de cada a una de ellas. 4.1 IGraph IGraph es una librer´ de c´digo abierto, distribuida bajo licencia GPL, para el ıa o estudio y an´lisis de redes/grafos. Los principales objetivos de esta librer´ son a ıa proveer un conjunto de tipos de datos y funciones para una f´cil implementaci´n a o de algoritmos de grafos, un manejo r´pido de grandes grafos con millones de a nodos y arcos, y permitir un r´pido prototipado por medio de un leguaje de a alto nivel como R [11]. IGraph permite manipular tanto grafos dirigidos como no dirigidos, no admite la implementaci´n de hipergrafos. Por otro lado cuenta o con implementaciones de problemas t´ ıpicos de teor´ de grafos como ´rboles de ıa a expansi´n m´ o ınima y flujo de red, tambi´n implementa algoritmos para algunos e m´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 ıa de 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 o bajo el lenguaje R, ya que fue la opci´n elegida debido a la documentaci´n o o existente y a la facilidad que ofrece este lenguaje basado en scripting. 4.2 JUNG JUNG (abreviaci´n de Java Universal Network/Graph) es un framework de o c´digo abierto que provee un lenguaje com´n y extensible para la manipulaci´n, o u o an´lisis y visualizaci´n de datos que pueden ser representados como un grafo o a o una red. Est´ escrito en JAVA, permitiendo el desarrollo de aplicaciones basadas a en 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 ıa el trabajo con grafos pero que necesita conocimientos de programaci´n ya que o necesariamente 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 o la versi´n de JAVA 6 update 24. o JUNG depende de tres librer´ externas para su funcionamiento, las cuales ıas son: 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
  • 7. 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, a esto es posible debido a la flexibilidad que ofrece JUNG al ser una API y no una herramienta final. Para una revisi´n de los proyectos desarrollados con JUNG o revisar [34]. 4.3 Gephi Gephi es una herramienta para la exploraci´n, navegaci´n y an´lisis de grafos. o o a Permite a los usuarios interactuar con las distintas representaciones, manipular las estructuras, formas y colores que revelan propiedades ocultas. Utiliza un motor de renderizado 3D para mostrar las grandes redes en tiempo real y para acelerar la exploraci´n. El objetivo es ayudar a los analistas de datos a hacer o hip´tesis, descubrir patrones, aislar singularidades en las estructuras o encontrar o fallas en los datos[25]. Gephi se destaca por ser una herramienta libre de c´digo abierto y que corre o tanto en Windows, Linux como Mac, puede ser descargado desde [23]. Est´ de- a sarrollado en JAVA y se distribuye bajo licencia GNU GPL 3. Resulta ideal para desplegar gr´ficos representados mediante grafos, complejos gr´ficos de visual- a a izaci´n de datos utilizados en an´lisis de redes sociales, o jerarqu´ de datos. o a ıa Adem´s, es ideal para utilizar como herramienta de visualizaci´n en proyectos a o de peque˜o, mediano o gran porte [26]. n Soporta la representaci´n de grafos dirigidos, no dirigidos y mixtos, y por el o momento no permite implementar hipergrafos. Uno de los aspectos m´s impor- a tantes cubiertos por Gephi es la interacci´n en tiempo real, permite modificar o propiedades 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 o f´cil acceso a los datos [3]. a
  • 8. 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 o nada Gephi Toolkit [24] para desarrollar aplicaciones propias basadas en dicha herramienta. En este trabajo se ha utilizado la versi´n Gephi 0.8 alfa, bas´ndonos en la o a herramienta final y no en la API. 5 Redes sociales Una red social se compone de todas las personas - familiares, amigos y otros - con quien se comparte una relaci´n social. A nivel macro, una red social se muestra o c´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 intentos de 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- e dos”. Varios estudios, como el experimento de Milgram[40], han demostrado emp´ ıricamente que, si una persona se encuentra alejada un “paso” de distancia de una persona que conoce, entonces cualquier persona se encuentra a lo sumo seis “pasos” de distancia de cada persona en la Tierra. Es decir, las redes sociales suelen 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 u las diferentes agrupaciones o clusters [9]. Se ha visto c´mo en los ultimos a˜os, las redes sociales online, atraen cada vez o ´ n a un n´mero mayor de seguidores. El crecimiento exponencial que experimentan u las redes sociales se debe a la r´pida propagaci´n de la informaci´n, m´s aun, a o o a a trav´s de las plataformas de desarrollo abiertas que poseen los sitios como e Facebook o Twitter [53], que han permitido a los desarrolladores crear sus propias aplicaciones aumentando el tr´fico en las redes. Por ejemplo, hubo un 30% de a aumento en el tr´fico del sitio de Facebook en la semana siguiente al lanzamiento a de 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 de usuarios 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 o centes. Un an´lisis a gran escala de las propiedades estructurales de las redes a sociales online realizado por Mislove [41], se bas´ en el estudio de m´ltiples redes o u sociales: Flickr (http://www.flickr.com), YouTube (http://www.youtube.com), LiveJournal (http://www.livejournal.com), y Orkut (http://www.orkut.com).
  • 9. Visualizaci´n de Grafos Web o 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 presenta un an´lisis de la carga de trabajo de las redes sociales online basado en un a seguimiento detallado de clics sobre 37.024 usuarios que accedieron a las redes sociales: Orkut (http://www.orkut.com), MySpace (http://www.myspace.com), Hi5 (http://www.hi5.com), y LinkedIn (http://www.linkedin.com). Este an´lisis a demuestra el poder de utilizar datos de navegaci´n en la identificaci´n de pa- o o 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´ ıa dentro 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 o por parte de un grupo selecto (estudiantes universitarios). El mismo estudio encontr´ que la actividad en Facebook parece estar centrada en “redes” individ- o uales y este comportamiento est´ relacionado con los patrones de uso temporal a de 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 o de Liben-Nowell [38] el cual encontr´ una fuerte correlaci´n entre la amistad y o o la ubicaci´n geogr´fica de las redes sociales. o a 5.2 Extracci´n de datos o Facebook es un sitio web de redes sociales que en los ultimos a˜os ha ganado ´ n una enorme popularidad. Parte de la raz´n del ´xito se debe a su plataforma o e de desarrollo. En Facebook, una amistad se forma cuando un usuario extiende una 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 o debido a estas relaciones de amistad. Es necesario tener en cuenta que en este caso la relaci´n de amistad es bidireccional, es decir, si los usuario A y B son o amigos 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 a amigos basado en la relaci´n de amistad entre los usuarios de Facebook, el grafo o resultante 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 este grafo es que es un grafo conectado y no ponderado. Para proceder con la extracci´n del conjunto de datos deseado se hizo uso o del PHP SDK [15] provisto por la plataforma, el mismo brinda soporte para las aplicaciones 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 s´lo ocho aplicaciones en su lista. En los meses posteriores, la plataforma o experiment´ un crecimiento fenomenal as´ tambi´n como del tr´fico, llegando o ı e a a tener m´s de 55.000 aplicaciones activas, con desarrolladores de m´s de 190 a a pa´ ıses, con usuarios realizando 20 millones de instalaciones a diario [14].
  • 10. 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 e de 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 de aplicaciones, ya que Facebook puede procesar y descartar contenidos no deseados de 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 o de aplicaciones en su plataforma que permite a los usuarios interactuar direc- tamente con los servidores de aplicaciones, que es el esquema utilizado para el desarrollo de nuestra aplicaci´n. o Registrar aplicaci´n Antes de iniciar con el desarrollo de la aplicaci´n para o o extraer el conjunto de datos objeto de estudio, fue necesario registrarse como desarrollador en la plataforma de Facebook para desarrolladores, para ello es necesario contar con las credenciales (nombre de usuario y contrase˜a) de una n cuenta de usuario v´lida. Una vez verificado el registro del usuario se habilitan a las 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 o en: http://www.justsoft.com.ar/TFM/tfm.php. La primera vez que se acceda a la aplicaci´n y una vez que el usuario se haya autentificado con las credenciales de o usuario de Facebook, la misma le solicitar´ los permisos necesarios para acceder a a los datos de la cuenta de usuario, una vez aceptado, el usuario puede hacer uso de la aplicaci´n. o Funcionamiento de la aplicaci´n El objetivo de la aplicaci´n es construir o o un 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- o book. Se eligi´ el formato de Pajek debido a que es un formato ampliamente o usado en las representaciones de grafos, es muy f´cil de implementar y proce- a sar ya que posee una sintaxis sumamente sencilla y en modo texto, y adem´s a porque las tres herramientas objeto de estudios brindan soporte para este tipo de formato. El funcionamiento b´sico de la aplicaci´n es el siguiente: se obtiene el listado a o de todos los amigos de la cuenta del usuario autentificado, luego esta lista es recorrida uno a uno para obtener los amigos en com´n entre el usuario y sus u amigos, esto se hace para obtener las relaciones entre los amigos de este. A medida que se recorre la lista de amigos se va creando, por un lado el conjunto de nodos que estar´ formado por el usuario y los amigos del usuario, y por otro a lado se crean los arcos que reflejar´n las relaciones entre los nodos. En el grafo a resultante debe haber un arco entre el usuario y cada uno de sus amigos, y adem´s debe haber un arco entre los amigos en com´n que tengan los amigos a u del usuario.
  • 11. Visualizaci´n de Grafos Web o 11 6 Evaluaci´n de herramientas o Para la evaluaci´n de las tres herramientas se tom´ el mismo conjunto de datos, o o el archivo Graph.net generado mediante la aplicaci´n TFM, el cual presenta un o grafo 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. n 6.1 Elecci´n de algoritmos de dise˜ o o n Existen numerosos algoritmos de dise˜o y disposici´n de los elementos(nodos y n o arcos) del grafo, la mayor´ de las herramientas s´lo implementan los m´s co- ıa o a munes o los que mejor resultado ofrecen al usuario. Dentro de estos, los m´todos e dirigidos por fuerza (force-directed) presentan una buena elecci´n, no solo por o su 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- n stro conjunto de datos en las pruebas realizadas, adem´s existen abundantes a publicaciones 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 a dibujo predefinida, dando a los dise˜os basados en Fruchterman-Reingold un n aspecto m´s expandido, En contraste, Kamada-Kawai hace uso de las distancias a te´ricas del grafo como medida durante el proceso de colocaci´n del nodo en lu- o o gar de la informaci´n de adyacencia. Si bien la informaci´n de adyacencia puede o o ser f´cilmente encontrada en los grafos, las distancias te´ricas del grafo tienen a o que ser calculadas de forma expl´ ıcita. El beneficio de las distancias te´ricas del o grafo es que establecen una medida entre cualquier par de nodos que se refleja directamente en la distancia entre estos nodos [50]. 6.2 IGraph La herramienta IGraph funciona bajo el entorno R. Para proceder con las pruebas se cre´ un script basado en un ejemplo disponible en la documentaci´n de dicho o o entorno [32] para poder detectar las comunidades y asignarles distintos colores. Las visualizaciones se realizaron utilizando dos de las funciones provistas por la herramienta: plot y tkplot. Para la detecci´n de comunidades se utilizaron los siguientes algoritmos o disponibles en la herramienta IGraph: edge.betweenness.community, fastgreedy.community, leading.eigenvector.community, spinglass.community y walktrap.community
  • 12. 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 o kamada.kawai y fruchterman.reingold. El resto de los algoritmos de layout no son 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 o observar e identificar las comunidades (Spring Embedder y Reingold-Tilford, en este ultimo la disposici´n es en forma de ´rbol) ´ o a A continuaci´n se presentan los distintos resultados obtenidos con la her- o ramienta de visualizaci´n plot al variar el algoritmo de layout y el n´mero de o u iteraciones 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 n de nodos) funcionan adecuadamente, es decir, asigna los colores de acuerdo a las comunidades detectadas, pero para grafos grandes (como es el caso del estu- dio en cuesti´n), estos no funcionan adecuadamente, la herramienta no permite o hacer un zoom sobre le representaci´n dificultando la visualizaci´n. Los colores o o son asignados a los nodos pero las comunidades que se forman son visibles de acuerdo a la disposici´n de los nodos (en relaci´n al algoritmo de layout uti- o o lizado) y no de acuerdo a los colores asignados a los nodos, por ello s´lo se o presentan los resultados utilizando el algoritmo de clustering Edge betweenness. En las Figura 2 y Figura 3 se pueden observar los resultados de las ejecuciones para los algoritmos kamada.kawai y fruchterman.reingold para distintos n´meros u de 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 a representaciones no sufren cambios y salvo una peque˜a rotaci´n en algunos n o casos, se mantienen casi constantes o al menos sin cambios significativos. Para las representaciones con plot, el tiempo demandado es del orden de algunos segundos, de 30 a 50 segundos para 500 iteraciones o superiores. Lo mismo sucede para las ejecuciones con tkplot, como se puede observar en las Figura 4 y Figura 5. Ya sea utilizando un m´todo de visualizaci´n u e o otro, los resultado son casi id´nticos, a esto se debe sumar el nulo grado de e interacci´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, tkplot tampoco aporta gran interacci´n, m´s all´ de poder mover los nodos o cambiar o a a de color los nodos y arcos, lo m´s importante es que una vez representado el grafo a se puede intercambiar el algoritmo de visualizaci´n por todos los disponibles, o cambiando el n´mero de iteraciones y dem´s par´metros de cada uno. Para las u a a representaciones 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 e izaci´n. Si bien la plataforma R posee una tercera herramienta de visualizaci´n, o o rglplot, no es adecuada para la visualizaci´n de grafos de cientos de nodos, por o ello no se ofrece dicha representaci´n. Esta herramienta aporta un poco m´s de o a interacci´n al poder hacer un zoom b´sico y una rotaci´n del grafo, pero aun o a o as´ los nodos y sobre todo los arcos se solapan dificultando todo el proceso de ı, visualizaci´n y an´lisis. o a
  • 13. Visualizaci´n de Grafos Web o 13 Fig. 2. Ejecuciones con plot para 1, 100 y 500 iteraciones Fig. 3. Ejecuciones con plot para 1000, 5000 y 9000 iteraciones
  • 14. 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
  • 15. Visualizaci´n de Grafos Web o 15 6.3 JUNG A continuaci´n se ofrecen los resultados de la representaci´n de nuestro grafo o o con la herramienta JUNG. Para realizar esto se desarroll´ una aplicaci´n muy o o b´sica en c´digo JAVA (ya que JUNG es una API para este lenguaje y no una a o herramienta final) para poder implementar los distintos algoritmos de layout y de detecci´n de comunidades. o Dicha aplicaci´n cuenta con las opciones necesarias para indicar los distintos o par´metros de los algoritmos. Posee una lista desplegable donde seleccionar el a algoritmo de cluster con las siguientes opciones: Edge Betweenness, Weak Com- ponent y Voltage. Tambi´n posee una lista desplegable donde seleccionar el algo- e ritmo de layout con las siguientes opciones: Fruchterman-Reingold y Kamada- Kawai. As´ mismo permite indicar el n´mero de iteraciones a realizar por los ı u algoritmos de layout, permite elegir el archivo .net el cual contendr´ el grafo a que se dibujar´ y por ultimo permite especificar un par´metro adicional, este a ´ a par´metro es utilizado por los algoritmos de cluster Edge Betweenness para in- a dicar la cantidad de arcos a remover y por el algoritmo Voltage para indicar la cantidad de clusters a generar, para el algoritmo Weak Component no es tenido en cuenta. Aqu´ presentamos los resultados obtenidos con la aplicaci´n desarrollada, ı o para ello se realizaron variaciones de los distintos algoritmos de layout y de clus- ter. En cuanto al algoritmo de cluster WeakComponentClusterer, en las pruebas realizadas con las distintas variantes, no mostr´ alg´n resultado relevante, es o u decir, s´lo detectaba una comunidad la del grafo entero, esto responde a la nat- o uraleza del algoritmo al no poder encontrar componentes d´bilmente conectados e m´s que el grafo mismo. Para el resto de los algoritmos y variantes se ofrecen a las capturas correspondientes. Para el m´todo de detecci´n de comunidades EdgeBetweennessClusterer se e o realizaron las pruebas eliminando 100 arcos. El n´mero 100 elegido fue el que u produjo resultados m´s representativos. Para un mayor detalle de este algoritmo a revisar [27]. En las Figura 6 y Figura 7 se observan las ejecuciones del algoritmo de cluster EdgeBetweennessClusterer para los algoritmos de layout Fruchtermen-Reingold y Kamada-Kawai para 1, 100, 500, 1000 y 5000 iteraciones. Se observa que el algoritmo Fruchtermen-Reingold ofrece mejores resultados que el algoritmo Kamada-Kawai debido a la disposici´n de los nodos, para el o primero se observan las distintas agrupaciones casi a primera vista, mientras que para el segundo es imposible identificarlas debido a la disposici´n circular o y central del algoritmo. En cuanto a los colores de los clusters detectados no se observan resultados significativos ya que las comunidades formadas se deben a la naturaleza del algoritmo de layout, es decir, las comunidades formadas poseen el mismo color de acuerdo a la asignaci´n y esto no hace muy evidente el fun- o cionamiento del algoritmo de clustering. Se observan nodos aislados de distintos colores pero estos no llegan a formar una comunidad, la mayor´ son nodos que ıa unicamente est´n relacionados con el nodo 0 o central, y no poseen relaciones ´ a con el resto de nodos. Para las ejecuciones de 500, 1000 y 5000 iteraciones no
  • 16. 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
  • 17. Visualizaci´n de Grafos Web o 17 se observan cambios significativos, es m´s, para las ejecuciones de m´s de 1000 a a iteraciones los resultados parecen constantes. En las Figura 8 y Figura 9 se presentan las ejecuciones para el algoritmo de clustering VoltageClusterer. Este algoritmo precisa de un par´metro N que a es el n´mero de clusters a identificar/detectar, las pruebas se realizaron con un u N = 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 ıa de los casos se forman 4 comunidades grandes y bien definidas, aunque existen comunidades 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 claramente que el algoritmo de cluster VoltageClusterer asigna un color distinto a cada una 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 o IGraph. JUNG permite observar m´s de cerca el grafo generado, ya que a este a se le puede hacer zoom, rotar y trasladar f´cilmente, dejando atr´s los grafos a a peque˜os y est´ticos, si bien a simple vista parece ser una masa de nodos, me- n a 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. 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 o ernas y vistosas, y lo que se hizo en este trabajo es s´lo una muestra del poder o que tiene esta herramienta para el desarrollo de aplicaciones a medida. En cuanto al tiempo de ejecuci´n demandado, es del orden de algunos min- o utos, de 3 a 6 minutos para 500 iteraciones o superiores. 6.4 Gephi La ultima herramienta por evaluar es Gephi. Para nuestro estudio s´lo se utiliz´ ´ o o la herramienta final ya que posee toda la funcionalidad requerida para evaluar y analizar grandes grafos, ofrece un conjunto grande de opciones para parametrizar las 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- o Kawai, sin embargo posee una implementaci´n de un algoritmo dirigido por o fuerzas llamado Force Atlas [3], este algoritmo fue desarrollado por el mismo equipo que desarroll´ la herramienta. o Para la detecci´n de comunidades se hizo uso del algoritmo provisto por la o herramienta, el cual es un m´todo heur´ e ıstico que se basa en la optimizaci´n o
  • 19. Visualizaci´n de Grafos Web o 19 de la modularidad. Este m´todo encuentra las particiones de alta modularidad e dentro de grafos de gran tama˜o en poco tiempo y desarrolla una completa n estructura jer´rquica de la comunidad del grafo. Contrariamente al resto de a algoritmos de detecci´n de comunidades, los l´ o ımites de tama˜o del grafo al que n se enfrenta este algoritmo se deben a la limitada capacidad de almacenamiento en lugar del tiempo de procesamiento limitado, por ejemplo: la identificaci´n deo las 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 datos para poder ver la evoluci´n de ambos algoritmos de layout. A diferencia de o las comparaciones realizadas en los apartados anteriores (6.2 y 6.3), en esta herramienta el l´ ımite de cada algoritmo no est´ dado por el n´mero de iteraciones a u sino por el tiempo de ejecuci´n. Por ello las ejecuciones se hicieron para 1, 10, o 60 y 300 segundos. Luego de ejecutar el algoritmo por m´s de 300 segundos a no se observa absolutamente ning´n cambio, por ello el l´ u ımite fijado fue de 300 segundos. 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 algoritmos muestran resultados excelentes, sumado a eso, la detecci´n de comunidades y su o posterior coloraci´n permiten identificar estas aun m´s que con las herramientas o a anteriores. Por otro lado es necesario destacar la velocidad de ejecuci´n, esta her- o ramienta posee un procesador de gr´ficos extremadamente r´pido (en cuesti´n a a o de segundos), sumado a las innumerables caracter´ ısticas de interacci´n, no s´lo o o el zoom o la rotaci´n y traslaci´n del grafo, sino que adem´s permite el cambio o o a de 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 o ser la mejor opci´n de todas las estudiadas, al menos para este caso y para este o conjunto de datos, principalmente por la velocidad de ejecuci´n (como se ve en o las 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 o identificada con un color espec´ ıfico se encuentra geogr´ficamente separada del a resto de comunidades y los elemento pertenecientes a dichas comunidades se encuentran muy cercanos unos de otros). 7 Conclusiones Las representaciones visuales de grandes cantidades de informaci´n en un for- o mato sencillo, permiten que el usuario pueda obtener no s´lo un panorama o general sino un entendimiento un tanto m´s profundo de lo que se le intenta a transmitir. Por ello el dise˜o de visualizaciones para que puedan ser f´cilmente n a comprendidas por los seres humanos es el objetivo central de InfoVis, que hace uso del sentido m´s poderoso del ser humano, la vista. Las personas procesan a gran cantidad de informaci´n de forma visual, por esta raz´n es una buena tarea o o asignar una importante carga de trabajo de procesamiento al sistema visual.
  • 20. 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
  • 21. Visualizaci´n de Grafos Web o 21 Existen muchas herramientas y t´cnicas que brindan soporte a InfoVis. Una e de estas t´cnicas, los grafos, resultan adecuados para muchos de los problemas e que surgen en la inform´tica y sus aplicaciones, b´sicamente para representar a a relaciones entre entidades. Resulta sumamente sencillo dibujar un grafo peque˜o n de forma manual, el usuario tiene en todo momento el control de la disposici´n o y colocaci´n de cada uno de los elementos del grafo (nodos y arcos), pero esta o tarea se vuelve tediosa e imposible de realizar cuando hablamos de grafos de gran tama˜o (cientos, miles o millones de elementos). Es por esto que existen n herramientas que procesan la informaci´n y realizan los dibujos y dise˜o de o n los grafos de forma autom´tica, librando de esta tarea al usuario. El objetivo a principal de estas herramientas es que el usuario comprenda la estructura del grafo. Si bien existen herramientas que realizan el procesamiento y el dise˜o del n grafo de forma autom´tica, la intervenci´n del usuario es fundamental a la hora a o de decidir cu´l es el mejor dise˜o para la representaci´n actual. Las herramien- a n o tas especializadas en el an´lisis de grafos ofrecen un conjunto de algoritmos de a dise˜o entre los que el usuario debe elegir el que mejor represente el conjunto n de informaci´n que se est´ tratando. De acuerdo al estudio realizado se vio que o a los algoritmos m´s utilizados y los que mejores resultados ofrecen son: Kamada- a Kawai, Fruchterman-Reingold y Force Atlas. En este trabajo hemos presentado tres herramientas de c´digo abierto y libre o distribuci´n, para la exploraci´n y an´lisis de grafos. Del estudio comparativo o o a realizado en este trabajo sobre IGraph, JUNG y Gephi, se concluye que Gephi es la herramienta que no s´lo ofrece la mejor representaci´n gr´fica sino tambi´n o o a e que 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 o fundamental. Una imagen est´tica resultado de un procesamiento no sirve de a mucho al usuario, mientras que una representaci´n interactiva que permita al o usuario tener cierto control sobre el resultado que est´ observando, aporta mucho a m´s al entendimiento y comprensi´n de lo que se pretende informar. Para nuestro a o trabajo, se pudo ver como pasamos desde una representaci´n casi est´tica con o a IGraph donde la unica interacci´n disponible era mover un nodo a la vez y ´ o cambiar de color los nodos y arcos, a JUNG la cual ofrec´ la posibilidad de ıa hacer un zoom, rotar y trasladar el grafo sin perder calidad en la representaci´n, o a Gephi la cual ofrec´ un conjunto enorme de posibilidades de interacci´n, desde ıa o cambiar el tama˜o o color de los nodos seg´n diversos criterios, mostrar u ocultar n u las etiquetas de los nodos, cambiar la forma y tama˜o de los arcos, hasta tener n distintos escenarios ejecutando algoritmos distintos de layout, y todo esto en l´ ı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 n escalabilidad. En este trabajo se utiliz´ un grafo de unos cientos de nodos y se o observ´ c´mo con herramientas como IGraph, el tratamiento es muy complicado, o o no s´lo por el tiempo demandado, sino por la disposici´n del grafo en la pantalla. o o Nuevamente, Gephi sigue siendo la mejor opci´n para grafos de gran tama˜o. o n Sin embargo, no se descarta el uso de JUNG, aunque le resta mejorar el proce-
  • 22. 22 Jos´ Federico Medrano, Jos´ Luis Alonso Berrocal y Carlos G. Figuerola e e samiento gr´fico, que hasta el momento demanda una cantidad considerable de a tiempo (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-a 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 trabajo se analiz´ una caracter´ o ıstica de las redes sociales, la formaci´n de las estructuras o de amigos de la red social Facebook. Para ello se utilizaron los algoritmos de detecci´n de clusters o agrupaciones de las distintas herramientas que hemos o presentado. En este aspecto una vez m´s Gephi, con su propio algoritmo de a detecci´n de comunidades, present´ los mejores resultados, tanto en tiempo de o o ejecuci´n como en la detecci´n eficiente de comunidades. Igualmente, JUNG no o o qued´ muy desfasado, la aplicaci´n del m´todo VoltageClusterer mostr´ resul- o o e o tados muy satisfactorios en contraposici´n con los dem´s algoritmos disponibles o a en dicha herramienta. En el estudio de las redes sociales, el detectar e identificar adecuadamente las comunidades es una cuesti´n muy importante en cualquier o an´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 o con herramientas que analicen estos conjuntos de datos de forma correcta y efi- caz, aumentan constantamente. El contar con representaciones adecuadas y que permitan al usuario interactuar con el resultado es un factor determinante a la hora de elegir una herramienta u otra, ya que esto tendr´ una relaci´n directa a o en la comprensi´n y el entendimiento del resultado a informar. o References 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.
  • 23. 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. 24 Jos´ Federico Medrano, Jos´ Luis Alonso Berrocal y Carlos G. Figuerola e e 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, 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/.