You are on page 1of 3

Modelagem do Armazenamento de Redes Complexas

Adan Lucio Pereira


Universidade Federal do Esprito Santo Centro Universitrio Norte do Esprito Santo Departamento de Engenharias e Computao

Ana Paula Appel


Universidade Federal do Esprito Santo Centro Universitrio Norte do Esprito Santo Departamento de Engenharias e Computao

adanlucio@gmail.com

anaappel@ceunes.ufes.br

ABSTRACT
O aumento do volume de informaoes nas ultimas dcadas c e e o surgimento de novos tipos de dados como as redes complexas provocou a necessidade do desenvolvimento de me todos ecientes para o armazenamento e manipulaao de c tais dados. Dessa maneira a utilizaao de grafos como rec presentaao de redes complexas, tem sido a melhor soluao c c para a aplicaao desses novos algoritmos. Em virtude desc sas mudanas, os Sistemas Gerenciadores de Banco de Dac dos tambm necessitam de alteraoes, de forma a manter o e c processamento de consultas juntamente com os mtodos de e acesso, o mais agil e eciente poss vel. Sendo assim o objetivo deste trabalho o desenvolvimento de uma estrutura e de indexaao que permita armazenar redes complexas moc deladas como grafos de modo a permitir que algoritmos de prediao de ligaao sejam aplicados a grandes redes complec c xas.

Categories and Subject Descriptors


H.Information Systems [H.2.8 Database Applications]: Data mining

General Terms
Algorithms, Performance

Keywords
mineraao de grafos, armazenamento, prediao ligaao c c c

1.

INTRODUO

O avano dos sistemas gerenciados de banco de dados c (SGBDs) tem encontrado grandes desaos emergindo da grande massa de dados complexos estruturados, como os dados biolgicos, redes sociais (Facebook, Orkut), redes acao dmicas (DBLP), entre outras. Uma das mais importantes e Os autores agradecem a UFES, CNPq e FAPES.

Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for prot or commercial advantage and that copies bear this notice and the full citation on the rst page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specic permission and/or a fee. WebMEdia 11 Florianpolis, SC, Brasil Copyright 2011 ACM X-XXXXX-XX-X/XX/XX ...$10.00.

tarefas nestes dados a busca eciente em dados complexos e representados como grafos, chamados de redes complexas. Dada uma consulta, como por exemplo, quais so os poss a veis pares de ns que estaro conectados em um futuro pro a o ximo, desejvel recuperar essas informaoes de maneira re a c a pida em uma base de dados composta por um grande grafo. Tradicionalmente, estruturas de indexaao so utilizadas c a para auxiliar na manipulaao de diversos tipos de dados, c desde dados tradicionais, isto , os que possuem relaao de e c ordem entre si, at dados espaciais e dados mtricos. Essas e e estruturas so responsveis pela ecincia dos SGBDs na a a e resposta as consultas e tambm so utilizadas em diversos ` e a algoritmos de mineraao de dados [4, 13]. c Com a crescente evoluao da area de mineraao de redes c c complexas, torna-se cada vez mais necessria uma reprea sentaao computacional em memria secundria adequada c o a para esse tipo de dados. Representaoes tradicionais de grac fos, tais como matrizes de adjacncia e de incidncia so e e a inviveis para tais aplicaoes, j que o custo computacioa c a nal para manipul-las se torna extremamente elevado. Da a mesma maneira a maioria das tcnicas tradicionais de banco e de dados tambm pouco se aplicam as redes complexas. e A implementao dessa estrutura indexada visa no soca a mente o armazenamento de dados com segurana e ecinc e cia, mas tambm o uso m e nimo da memoria principal. Se fosse poss utilizar uma representaao to boa quanto as vel c a ` estruturas existentes para indexaao para dados tradicioc nais tambm no tratamento de redes complexas, seria poss e vel agilizar o processo de descoberta de conhecimento nesse tipo de dado, bem como responder questes pertinentes ao o dom nio do conjunto de dados com simples consultas. Infelizmente isso no poss no estado da arte atual. a e vel A maioria dos mtodos de descoberta de conhecimento e em grafos assumem que o conjunto de dados no muito a e grande e que o grafo existente relativamente simples, o e que faz com que grande parte dos algoritmos trabalhem em memria principal, o que nem sempre vivel. Assim, o o e a propsito desse trabalho o uso de uma estrutura de aro e mazenamento em memria secundria para redes complexas o a baseada em estruturas de indexao de tal maneira que seja ca poss utilizar algoritmos de mineraao de redes complexas vel c em grandes redes. Sendo o principal foco os algoritmos de prediao de ligaoes em redes complexas e posteriormente c c os algoritmos de detecao de comunidades. c O trabalho est organizado como se segue: a Seao 2 aprea c senta as principais denioes usadas nesse trabalho, a Seao c c 3 apresenta os principais trabalhos correlatos, a Seao 4 desc creve o trabalho, a Seao 5 apresenta os resultados prelimic

nares e a Seo 6 as concluses desse trabalho. ca o

2.

DEFINIES

Uma rede complexa tem por objetivo mapear o relacionamento entre elementos do mundo real em um ambiente computacional, um exemplo so as redes sociais que maa peiam o relacionamento interpessoal. Uma rede complexa e modelada como um grafo G = V, E , o qual V representa o conjunto de vrtices, tambm chamados de ns, e E repree e o senta o conjunto de arestas tambm chamadas de ligaoes e c ou conexes. Assim, uma maneira de representar computao cionalmente um grafo G a matriz de adjacncia, que uma e e e matriz A quadrada N N , sendo N = |V|, em que Ai ,j = 1 se (vi , vj ) E e 0 caso contrrio. Vale destacar que um grafo a dito como no direcionado se (vi , vj ) E (vj , vi ) E, e a isto , as arestas so pares de ns sem ordem, j aqueles e a o a que suas arestas possuem direao so denominados grafos c a direcionados ou d grafos. Para grafos direcionados necese srio algumas alteraoes na matriz de adjacncia para poder a c e represent-los. a O grau de um n, tambm chamada vizinhana, detero e c e minado pela quantidade de arestas incidentes a ele. Um tringulo um conceito bastante importante em redes socia e ais [12], j que se u e v so vizinhos de w, h uma grande a a a chance de u e v serem amigos. De maneira mais formal um tringulo um tripla de ns conexos (u, v)(v, w)(w, u) E. a e o Modelar objetos como grafos permite uma representaao c arbitrria das relaoes entre as entidades. Os vrtices e suas a c e conexes podem representar, por exemplo, pessoas e ligao ces de amizade [2], computadores e linhas de comunicaao o c [5], artigos e citaoes [11], entre outros. Dessa maneira, as c redes consistem grafos em que cada um de seus vrtices ree presentam indiv duos de um determinado estudo, independentemente da area de aplicaao, sendo que este grafo pode c possuir milhes de elementos, como por exemplo, a internet o e a WWW (World Wide Web).

[9, 1]. A area de mineraao de redes complexas tem como ob c jetivo como prover soluoes ecientes para a descoberta de c conhecimento em dados modelados como grafos. A tarefa de prediao de ligaoes (Link Prediction) uma das princic c e pais tarefas da mineraao de redes complexas, e o foco desse c trabalho. Esta tarefa tem por objetivo prever quais arestas iro surgir em uma rede complexa em um futuro prximo a o [10]. De modo mais formal, a predio de ligaoes pode ser ca c denida como, dado um snapshot de uma rede complexa em um tempo t, quer se prever com uma certa acurcia as a arestas que iro surgir na rede complexa no tempo futuro a t + 1. Dentre as tcnicas de prediao de ligaao destacame c c se as baseadas em propriedades estruturais do grafo [10, 6]. Uma das diculdades da prediao de ligaoes que as redes c c e complexas tendem a ser esparsas.

4.

PROPOSTA

3.

TRABALHOS CORRELATOS

O objetivo da area de Bases de Dados pode ser descrito, em poucas palavras, como prover soluoes para a armazenac gem, manutenao e recuperaao ecientes e consistentes de c c dados em grandes coleoes deles. Dentro desse objetivo, a rec cuperao eciente um dos itens mais importantes e se traca e duz, em geral, na necessidade de algoritmos escalveis para a grandes volumes de dados, ou seja, algoritmos com complexidade computacional no maior do que a linear quanto ao a nmero de elementos de dados na base. u Esses objetivos tm sido enfocados tradicionalmente para e o tratamento de dados simples, como nmeros e pequenas u cadeias de caracteres, onde a busca por um dado elemento sempre pode ser executada com complexidade logar tmica, com a base do logaritmo razoavelmente grande. Isso leva a uma velocidade de acesso elevada e , sem dvida, um dos e u grandes motivos para o sucesso da area. Nos ultimos anos houve um aumento signicativo da variedade de novos tipos de dados, com especial destaque para os dados vindo da Web como as redes complexas. No entanto, as redes complexas, que so naturalmente representados como grafos tm sido a e muito pouco tratadas quanto ao armazenamento eciente. Nesta area grande parte dos trabalhos tm como objetivo e indexar uma base de dados contendo pequenos grafos, onde a principal tarefa a busca de grafos ou subgrafos similares e

A ttica tradicional para agilizar a execuao de operaes a c co de recuperaao de dados criar estruturas de indexaao, que c e c organizam os dados segundo alguma propriedade dos dados (a relaao de ordem total no caso dos dados tradicionais). c Uma matriz de adjacncia uma representaao convenie e c ente para diversos casos, especialmente os que so necessa a rios clculos matriciais. Contudo, nem sempre essa reprea sentaao matricial benca. Por exemplo, para recuperar c e e todos os vizinhos de um n necessrio percorrer a linha o e a correspondente na matriz de adjacncia pro no-zeros. Esta e a operaao O(N ), j que N o comprimento da linha da c e a e matriz de adjacncia e isto em uma rede complexa pode sige nicar muito tempo. Alm disso, a grande maioria das redes e so esparsas com a maioria dos ns de grau um, o que faz a a o matriz de adjacncia ser ineciente no uso da memria e no e o caso da busca por vizinhana torn-la ainda mais inaplicc a a vel. O objetivo desse projeto o desenvolvimento de uma ese trutura de indexaao baseada na arvore B+[8] para o arc mazenamento da lista de arestas de uma rede complexa. A lista de aresta uma representaao conveniente e eciente e c quanto ao uso de espao para o armazenamento. Alm disso, c e neste tipo de organizaao poss armazenar caracter c e vel sticas junto as arestas e encontrar facilmente uma aresta. A representaao tradicional de uma lista de arestas, por exemc plo em um arquivo simples no permite a busca rpida por a a um vrtice, entretanto em uma estrutura em arvore isso no e a um problema. e Uma arvore B+ uma arvore balanceada multin vari e vel ante da rvore B. A principal diferena que todos os dados a c e so gravados nas folhas da arvore e os nodos das folhas esto a a ligados entre si como uma lista de ligaes para efetuar conco sultas facilmente. Os nodos internos contm apenas chaves e e apontadores da arvore. Apesar de ser uma estrutura eciente, uma arvore B+ aps diversas inseres pode se degradar. Alm disso, a o co e inserao de uma aresta por vez em grande redes uma opec e rao demorada. Assim, considerando que o objetivo arca e mazenar ecientemente grandes redes a estrutura proposta funciona com a operaao de bulk-loading [3]. A tcnica de c e bulk-load uma tcnica tradicional para inserao de dados e e c de maneira eciente em mtodos de indexaao. Outro ponto e c importante que as redes que sero contempladas a princie a pio sero estticas, ou seja no crescem ao longo do tempo, a a a com isso, os nodos da arvore tm a sua ocupaao mxima ao e c a

invs de manter-se a proporo de 50% usualmente utilizada e ca nas arvores B e B+. Isso s foi poss o vel, j que o bulk-loading insere os dados j a a de maneira ordenada e de uma s vez. Alm disso, como os o e ns folhas so inseridos completos no h a necessidade de o a a a operaao de diviso de nodos folhas. Cada nodo ocupa uma c a pgina de disco de 4 Kbytes, sendo que o nmero de arestas a u que cabem em cada pgina 512. Com essas modicaoes a e c as inseroes se tornaram ecientes e a arvore foi otimizada c para a consulta, j que o nmero de nodos diminui e com a u isso o acesso a disco menor. Resultado preliminares, repore tados na Seao 5 demonstram a ecincia da arvore quanto c e a pol tica de inserao. c

7.

REFERENCES

5.

RESULTADOS PRELIMINARES

Nesta seao sero apresentados alguns resultados prelimic a nares da estrutura desenvolvida. Para testes foram selecionados trs conjuntos de dados 1 com um nmero elevado de e u ns e arestas. A Tabela 1 descreve estes conjuntos de dados, o apresentando respectivamente o nome, nmero de arestas, u nmero de ns, quantidade de armazenamento em MB utiu o lizado pela arvore e o tempo mdio em segundos para a e inserao de todas as arestas na rvore (I). c a

Table 1: Conjunto de Dados Utilizados Nome E V MB I web-google 10.210.078 875.713 79 8 cit-Patents 33.037.896 3.774.768 256 26 soc-LiveJournal 137.987.546 4.847.571 1127 113 As redes utilizadas so no direcionados, assim cada aresta a a esta presente duas vezes na lista de arestas armazenada. Como pode ser visto nos resultados preliminares apresentados na Tabela 1 o tempo de inserao expresso em segundos c para todas as arestas se mantem linear e bastante rpidos. a Alm disso, as listas de arestas so bastante grandes, espee a cialmente a da rede soc-LiveJournal seria bastante complicado armazenar em uma matriz de adjacncia, j que esta e a requisitaria aproximadamente 85 Petabyte. Alm da insero foi implementada a contagem de trine ca a gulos, j que esse o primeiro passo para a implementaa e co das tcnicas de prediao de ligaoes. Para contar todos a e c c os 1.964.111.780 tringulos do soc-LiveJournal foram gastos a 17.820 segundos e para os 61.600.837 tringulos do weba google foram 1.354 segundos.

6.

CONCLUSO

Neste artigo foi apresentada uma soluao inovadora, que c consiste na utilizaao de uma estrutura indexada como soc luao para o problema do armazenamento de grandes redes c complexas, os resultados obtidos mostram que a arvore B+ implementada conseguiu de forma eciente calcular o nu mero de tringulos formados por cada vrtice e o tempo de a e inserao nas estruturas. Como prximo passos no trabac o lho, essa estrutura ter a contagem de tringulos otimizada a a e ser aprimorada e incorporar algoritmos de prediao de a a c ligaoes, alm da comparaao com outros mtodos de armac e c e zenamento.
1

[1] R. Angles and C. Gutierrez. Survey of graph database models. ACM Comput. Surv., 40:1:11:39, February 2008. [2] L. Backstrom and J. Leskovec. Supervised random walks: predicting and recommending links in social networks. In I. King, W. Nejdl, and H. Li, editors, Proceedings of the Forth International Conference on Web Search and Web Data Mining, WSDM 2011, Hong Kong, China, February 9-12, 2011, pages 635644. ACM, 2011. [3] J. V. d. Bercken and B. Seeger. An evaluation of generic bulk loading techniques. In P. M. G. Apers, P. Atzeni, S. Ceri, S. Paraboschi, K. Ramamohanarao, and R. T. Snodgrass, editors, International Conference on Very Large Databases (VLDB), pages 461470, Roma, Italy, 2001. Morgan Kaufmann. [4] M. Ester, H.-P. Kriegel, J. Sander, and X. Xu. A density-based algorithm for discovering clusters in large spatial databases with noise. In E. Simoudis, J. Han, and U. M. Fayyad, editors, Proceedings of the Second International Conference on KDD-96, pages 226231. AAAI Press, 1996. [5] M. Faloutsos, P. Faloutsos, and C. Faloutsos. On power-law relationships of the internet topology. In SIGCOMM 1999, volume 1, pages 251262, Cambridge, Massachusetts, 1999. ACM Press. [6] Z. Huang. Link prediction based on graph topology: The predictive value of the generalized clustering coecient. In Twelfth ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (LinkKDD2006), August 2006. [7] H. Jeong, B. Tombor, R. Albert, Z. N. Oltvai, and A.-L. Barabsi. The large-scale organization of a metabolic networks. Nature, 407, 2000. [8] T. Johnson and D. Shasha. The performance of current b-tree algorithms. ACM Transactions on Database Systems (TODS), 18(1):51101, 1993. [9] N. S. Ketkar, L. B. Holder, and D. J. Cook. Subdue: compression-based frequent pattern discovery in graph data. In OSDM 05: Proceedings of the 1st international workshop on open source data mining, pages 7176, New York, NY, USA, 2005. ACM. [10] D. Liben-Nowell and J. Kleinberg. The link prediction problem for social networks. In CIKM 03: Proceedings of the twelfth international conference on Information and knowledge management, pages 556559, New York, NY, USA, 2003. ACM. [11] S. Redner. How popular is your paper? an empirical study of the citation distribution, April 1998. [12] D. J. Watts and S. H. Strogatz. Collective dynamics of small-world networks. Nature, 393(6684):440442, June 1998. [13] T. Zhang, R. Ramakrishnan, and M. Livny. Birch: An ecient data clustering method for very large databases. In H. V. Jagadish and I. S. Mumick, editors, ACM SIGMOD International Conference on Management of Data, volume 1 of SIGMOD Record 25(2), pages 103114, Montreal, Quebec, Canada, 1996. ACM Press.

http://snap.stanford.edu/

You might also like