Anais do XVI Encontro de Iniciação Científica e Pós-Graduação do ITA – XVI ENCITA / 2010
Instituto Tecnológico de Aeronáutica, São José dos Campos, SP, Brasil, 20 de outubro de 2010
DESENVOLVIMENTO DE REPOSITÓRIO DE DADOS E MÉTODOS DE
EXTRAÇÃO E PRÉ-PROCESSAMENTO PARA APOIO A PROJETOS DE
PESQUISA EM REDES COMPLEXAS
Marcos Ricardo Omena de Albuquerque Maximo
Instituto Tecnológico de Aeronáutica - ITA
Rua H8B, apartamento 214, CEP: 12228-461, Campus do CTA, São José dos Campos, SP, Brasil
Bolsista PIBIC-CNPq
[email protected]
Cinara Guellner Ghedini
Instituto Tecnológico de Aeronáutica - ITA
Praça Marechal Eduardo Gomes, 50, Vila das Acácias, CEP: 12.228-900, São José dos Campos, SP, Brasil
[email protected]
Carlos Henrique Costa Ribeiro
Divisão de Ciência da Computação
Instituto Tecnológico de Aeronáutica
Praça Marechal Eduardo Gomes, 50, Vila das Acácias, CEP: 12.228-900, São José dos Campos, SP, Brasil
[email protected]
Resumo. A proposta desse projeto é a criação de um repositório de redes complexas reais para apoio a pesquisas.
Como etapa inicial, fez-se aquisição de bases de domínio público, através de varredura pela Internet ou por pedidos
diretos a pesquisadores da área. A análise das redes realizada através da ferramenta "Network Workbench Tool".
Posteriormente, foi feito estudo e implementação de métodos de extração de amostras de redes complexas e análise da
confiabilidade destes. Para o repositório, foi proposto um ambiente web dinâmico, em que estariam disponíveis as
bases para download juntamente com a documentação gerada nas etapas anteriores com opções de filtragem e
exibição dos resultados de interesse do usuário.
Palavras chave: codificação de software, mineração de dados, bases de dados, amostragem em redes complexas.
1. Introdução
O estudo de redes é necessário quando há propriedades não dedutíveis apenas a partir da análise das propriedades
de indivíduos, pois dependem das interações entre estes. Encontra-se redes em sistemas biológicos (cadeias alimentares,
sistemas nervosos etc.), construções tecnológicas (redes de distribuição de energia, sistemas de transporte e de
telecomunicações etc.), na sociedade (redes sociais), entre outros sistemas de entidades conectadas (Barabási, 2002).
Denomina-se complexas redes caracterizadas por uma topologia não-trivial, em que a disposição de seus elementos
não é completamente regular nem aleatória. Isso está em geral associado a interações complexas e de difícil
previsibilidade. Quase todas as redes reais se encaixam nessa classificação, daí a importância do estudo de redes
complexas (Barabási, 2002).
Embora antigo, o estudo de redes teve maior avanço recentemente, dado que novos recursos tecnológicos permitem
aquisição e análise de dados em escalas sem precedentes (Newman, 2003). Assim, foi possível verificar empiricamente
que redes de natureza e propósitos distintos apresentam propriedades topológicas recorrentes (Ghedini, et al., 2009),
(Newman, 2003), (Barabási, 2002), (Albert, et al., 2002), o que sugere semelhanças na formação e evolução desses
sistemas.
O campo de aplicação do tema é vasto e pouco conhecido (Newman, 2003). Por exemplo, espera-se que
conhecimentos sobre redes complexas permitam melhor controle da propagação de doenças e a criação de sistemas de
transmissão mais eficientes e robustos (Ghedini, et al., 2009), (Barabási, 2002).
1.1. Representação de Redes
Matematicamente, redes são modeladas por grafos: vértices representam indivíduos e as arestas relações entre
estes. Um grafo é um par ordenado ࡳ = (ࢂ, ࡱ), ࢂ conjunto dos vértices e ࡱ ⊆ ࢂ × ࢂ de arestas (Ghedini, et al., 2009).
Assim, se ࢔ é o número de vértices, o grafo fica bem representado por uma matriz ࢔ × ࢔, denominada matriz de
adjacências, em que ࢇ࢏࢐ = ૚ se há aresta do vértice i ao j e ࢇ࢏࢐ = ૙ se não há. Se ࢇ࢏࢐ = ࢇ࢐࢏ , ∀࢏, ࢐ ∈ ࢂ, trata-se de grafo
direcionado; caso contrário, o grafo é não-direcionado.
Anais do XVI ENCITA, ITA,20 de outubro de 2010
,
Há redes em que é interessante ter informações adicionais nas ligações: numa rede social, pode-se associar um
número à "intensidade" do relacionamento. Nesses casos, associa-se uma segunda matriz ࢃ (࢔ × ࢔) de pesos, em que
cada ࢝࢏࢐ guarda o valor adicional associado à aresta ࢇ࢏࢐ (Ghedini, et al., 2009).
Outros termos comuns na teoria de grafos são descritos na Tab. 1.
Tabela 1. alguns termos comuns em teoria de grafos.
Grau (vértice/grafo): número de arestas conectadas a um vértice. Para um grafo, esse termo significa o grau médio dos
vértices desse grafo. No caso de grafos orientados, fala-se também de grau das arestas que chegam ao vértice (grau de
entrada) e das que saem (grau de saída).
Vizinhança (vértice): conjunto dos vértices que possuem alguma aresta em comum com o vértice em questão.
Caminho (de um vértice a outro): seqüência de arestas que levam de um determinado vértice um a outro.
Caminho mínimo (de um vértice a outro): caminho com menor número de arestas que leve de um vértice a outro; note
que esse não é necessariamente único (ver Fig. 1).
Distância (de um vértice a outro): número de arestas do caminho mínimo.
Diâmetro (grafo): maior distância do grafo.
As Figs. 1 e 2 ilustram alguns dos conceitos discutidos.
aresta
vértice
Figura 1. Grafo não-direcionado. Observe que há dois caminhos mínimos entre os vértices marcados.
Figura 2. Grafo direcionado (flechas indicam orientações das arestas).
1.2. Propriedades e Métricas
Como salientado, as redes complexas freqüentemente apresentam propriedades semelhantes. As mais importantes
são descritas a seguir.
Small world (mundo pequeno, numa tradução literal): fenômeno associado ao fato de que mesmo que as redes
contenham muitos vértices, a distância média entre dois vértices quaisquer pode ser considerada pequena. Na WWW há
bilhões de páginas, mas as páginas estão distantes umas das outras por um número relativamente pequeno de cliques. A
métrica utilizada para avaliar essa propriedade é o comprimento de caminho mínimo médio (र), uma média das
distâncias entre dois vértices quaisquer do grafo (Albert, et al., 2002). Mais formalmente: considere um vértice ࢏
qualquer; seja र(࢏, ࢐) a distância entre ࢏ e outro vértice ࢐ qualquer do grafo. Calcule então a média das र(࢏, ࢐)’s sobre
todos os vértices ࢐ diferentes de ࢏ e chame र(࢏). Assim, o comprimento de caminho mínimo médio é a média dos र(࢏)’s
assim calculados sobre todos os vértices ࢏.
Clustering: refere-se à tendência das redes de formar aglomerados de indivíduos, porções em que todos ou quase todos
estão conectados entre si (Albert, et al., 2002). Em redes sociais, amizades são mais freqüentes entre pessoas com
Anais do XVI ENCITA, ITA,20 de outubro de 2010
,
interesses comuns ou que trabalham ou estudam juntas, assim há círculos de amizade, profissional, entre outros, que
foram aglomerados. A métrica associada é o clustering coefficient (࡯) do grafo. Considere um vértice i de grau ࢑࢏ ; se
࢑ ሺ࢑ ି૚ሻ
todos os vértices da vizinhança estiverem conectados entre si, existem ൫࢑૛࢏ ൯ = ࢏ ૛࢏
arestas. O clustering coefficient
do vértice é definido como a razão entre o número de arestas (ࡱ࢏ ) que realmente existem e o máximo possível (Albert,
૛ࡱ࢏
et al., 2002): ࡯࢏ = ࢑ ሺ࢑ ି૚ሻ
. O clustering coeficient do grafo é a média dos ࡯࢏ ’s assim calculados.
࢏
࢏
Distribuição de grau: a distribuição de grau é uma função distribuição de probabilidade que dá a probabilidade de um
vértice escolhido aleatoriamente ter exatamente ࢑ vértices. Nas redes reais, é comum encontrar uma distribuição de
grau da forma ࡼሺ࢑ሻ~࢑ିࢽ . Essas redes são chamadas de scale-free. Em redes scale-free, encontram-se vértices com um
número muito grande de ligações, embora poucos, e muitos vértices com poucas arestas (Barabási, 2002), (Ghedini, et
al., 2009), (Albert, et al., 2002).
1.3. Modelos de Redes Complexas
O estudo de modelos de redes complexas é importante no entendimento da construção e evolução destas. Nessa
secção, são apresentados os modelos mais famosos de geração de redes complexas.
Grafo aleatório: começa-se com um grafo com o número desejado de vértices e sem arestas. Então, para cada par de
vértices, com uma probabilidade ࢖ predefinida de sucesso é criada uma aresta entre esses. Grafos aleatórios têm a
propriedade small world, porém seu clustering coefficient é bem menor que o de redes complexas reais e a distribuição
de grau segue uma distribuição de Poisson (Albert, et al., 2002). Mesmo quando não é scale-free, a distribuição de
grau de uma rede real costuma se desviar consideravelmente de uma Poisson.
Modelo Small World de Watts-Strogatz: começa-se com um anel ordenado com o número desejado de vértices em
que cada vértice está conectado aos primeiros ࢑/૛ vizinhos de cada lado (ver Fig. 3). Em seguida, cada aresta tem uma
probabilidade ࢖ de ser religada aleatoriamente (Albert, et al., 2002). Além de satisfazer a propriedade small world,
possui um clustering coefficient alto. Entretanto, ainda falha em ter uma distribuição de grau condizente com a
encontrada na maioria das redes reais (Albert, et al., 2002).
Figura 3. Anel ordenado inicial do modelo de Watts-Strogatz.
Modelo Scale-free de Barabási-Álbert: começa-se com um pequeno número ࢔ de vértices. Então, a cada passo,
adiciona-se um novo vértice que será ligado a ࢓ (≤ ࢔) outros vértices já presentes no grafo. A cada nova aresta
adicionada, a escolha do vértice é tal que a probabilidade de um vértice ser escolhido é proporcional ao seu grau. Após
࢚ passos, há ࢔ + ࢓࢚ vértices e ࢓࢚ arestas no grafo (Albert, et al., 2002).
Nos modelos anteriores, iniciava-se com um número fixo de vértices e um algoritmo gerava uma topologia estática;
nesse modelo propõe-se um "algoritmo evolucionário". A motivação dessa mudança de abordagem foi a busca pelo
entendimento de como as redes complexas são construídas. Redes reais são sistemas que crescem com a adição de
novos vértices, em que há preferência na formação de novas ligações (preferential attachment): por exemplo, pessoas
com mais amigos têm maior chance de fazer novas amizades. Isso é simulado com a probabilidade de um vértice ser
escolhido para uma nova conexão proporcional ao seu grau (Albert, et al., 2002).
Esse modelo gera uma rede com distribuição de graus scale-free, porém com clustering coefficient baixo.
1.4. Amostragem
Anais do XVI ENCITA, ITA,20 de outubro de 2010
,
Algumas redes podem ter bilhões de elementos. Isso não apenas dificulta a aquisição dos dados, mas também pode
inviabilizar simulações e análises por limitações de recursos computacionais. Nesse contexto, surge a necessidade de
amostras.
A amostragem de redes complexas traz complicações extras, já que o enfoque está nas características topológicas
da rede e não aos indivíduos em si. Na tentativa de capturar essas propriedades, alguns métodos de geração de amostras
foram propostos na Literatura. Seguem descrições dos mais comumente utilizados.
1. Amostragem por vértices (node sampling): seleciona-se ࢔ (parâmetro de entrada) vértices do grafo
aleatoriamente. Todas as arestas entre esses são mantidas. Os desconectados são descartados.
2. Amostragem por arestas (edge sampling): seleciona-se aleatoriamente ࢔ (parâmetro de entrada) arestas do
grafo. Todos os vértices conectados por essas são mantidos. Como o algoritmo foca nas arestas, é mais
sensível a estrutura do grafo que o anterior. Tem a desvantagem de privilegiar a escolha de vértices com grau
alto.
3. Amostragem "bola de neve" (snowball sampling): pega-se um vértice aleatoriamente e considera-se o subgrafo
formado por apenas este. Assim, pega-se sucessivamente todos os vértices ligados aos vértices do subgrafo de
uma dada iteração. O algoritmo continua enquanto houver um número de vértices menor que ࢔ (parâmetro de
entrada) no subgrafo. Se, numa dada iteração, nem todos os vértices ligados aos vértices do subgrafo precisem
ser pegos para atingir ݊, os vértices faltantes são escolhidos aleatoriamente.
2. Aquisição e Análises de Bases
Na varredura pela Internet, encontrou-se bases disponíveis publicamente nos seguintes links:
• http://www.nd.edu/~networks/resources.htm (CCNR) (Barabási, et al.).
• http://www-personal.umich.edu/~mejn/netdata/ (Newman) (Newman).
• http://vlado.fmf.uni-lj.si/pub/networks/data/ (Pajek) (Batagelj, et al., 2006).
Essas páginas são coleções de bases. Assim, algumas das bases não são dos autores das coleções e os devidos
créditos pela aquisição e compilação dos dados devem ser dados aos autores originais. As devidas referências podem
ser encontradas nos respectivos links acima.
As bases das cidades suecas foram obtidas por pedido direto ao senhor Martin Rosvall do Departamento de
Biologia da Universidade de Washington. O uso das bases e a disponibilização pública foram permitidas pelo
pesquisador.
Para análise, foram selecionadas as seguintes bases (conforme nomes geralmente encontrados na Literatura):
• Adjacência de palavras no romance "David Copperfield" de Charles Dickens;
• Blogs políticos durante a eleição dos EUA de 2004;
• Cidades suecas (Estocolmo, Gotemburgo, Malmö e Umeå);
• Clube de Caratê de Zachary;
• Coautorias em Ciências de Redes;
• Colaborações em Alta Energia;
• Colaborações em Astrofísica;
• Colaborações em Matéria Condensada (versões de 1999, 2003 e 2005);
• Internet a nível de sistemas autônomos;
• Coaparência dos personagens do romance Les Miserables de Victor Hugo;
• Linhas aéreas americanas;
• Livros políticos;
• Rede de distribuição elétrica dos EUA;
• Rede neural da minhoca C. Elegans;
• Rede social de golfinhos de uma comunidade da Nova Zelândia;
• WWW (como levantada pelo cientista Barabási).
A análise foi realizada com a ferramenta "Network Workbench Tool" (NWB) (NWB Team, 2006). Muitas estavam
em formato GML, não suportado pelo NWB, e para conversão foi utilizado o software “Simple GML to XGMML
Convertor” (Punin, 2000).
Algumas delas apresentaram problemas para serem convertidas por possuírem caracteres não suportados (bases das
cidades suecas) ou valores infinitos (Colaborações em Matéria Condensada, versão 2005). A solução encontrada foi
implementar rotinas em C++ para convertê-las para lista de adjacências (Edge list), formato simples que consiste de
uma listagem das arestas do grafo.
Os resultados das análises estão nas Tabs. 2, 3 e 4. Destacamos que as métricas "comprimento de caminho mínimo
médio" e "clustering coefficient" são em geral definidas e aplicadas para bases não-direcionadas. Assim, quando esses
resultados aparecerem para bases direcionadas, significa que foram obtidas da base não-direcionada gerada a partir da
Anais do XVI ENCITA, ITA,20 de outubro de 2010
,
direcionada (considera-se uma aresta entre ݅ e ݆ se há pelo menos um dos arcos ݅ para ݆ ou ݆ para ݅). Aparentemente,
essa é uma metodologia comumente adotada.
Tabela 2. Bases obtidas e algumas informações.
Base
Arquivo
Descrição
Rede de adjacência de adjetivos comuns e
Adjacência de
adjnoun.gml
substantivos no romance “David Copperfield”
palavras
de Charles Dickens
Rede dos hyperlinks entre blogs sobre política
Blogs políticos
polblogs.gml
americana
Rede social de amizades entre membros de um
Clube de Caratê
karate.gml
clube de caratê em uma universidade
de Zachary
americana na década de 70
Coautorias em
Coautoria entre cientistas que trabalharam em
Ciências de
netscience.gml
teoria ou experimentos de redes
Redes
Colaborações em
Coautoria entre cientistas de Alta Energia
hep-th.gml
Alta Energia
Colaborações em
Coautoria entre cientistas de Astrofísica
astro-ph.gml
Astrofísica
Colaborações em
Coautoria entre cientistas de Matéria
Matéria
Condensada (1/1/1995-31/3/2005)
cond-mat.gml
Condensada
(1999)
Colaborações em
Coautoria entre cientistas de Matéria
Matéria
Condensada (1/1/1995-31/12/1999)
cond-mat-2003.gml
Condensada
(2003)
Colaborações em
Coautoria entre cientistas de Matéria
Matéria
Condensada (1/1/1995-30/6/2003)
cond-mat-2005.gml
Condensada
(2005)
Rede de informações da cidade sueca de
Estocolmo
LC_clean_sthlm.gml
Estocolmo (maior componente conectado)
Rede de informações da cidade sueca de
Gotemburgo
LC_clean_gbg.gml
Gotemburgo (maior componente conectado)
Internet (sistemas
Internet no nível de sistemas autônomos
as-22july06.gml
autônomos)
Coaparência de personagens do romance “Les
Les Miserables
lesmis.gml
Miserables”
Linhas áreas
Rede de aeroportos americanos (1997)
USAir97.net
americanas
Livros sobre política americana vendidos no
tempo da eleição presidencial de 2004 e
vendidos pela Amazon.com. Uma aresta é
Livros políticos
polbooks.gml
colocada se os dois livros são comprados
frequentemente juntos por um mesmo
comprador
Rede de informações da cidade sueca de
Malmö
LC_clean_malmo.gml
Malmö (maior componente conectado)
Rede de
Topologia da Rede de Distribuição Elétrica do
distribuição
power.gml
Oeste dos Estados Unidos
elétrica
Rede neural da C.
Rede neural da minhoca C. Elegans
celegansneural.gml
Elegans
Rede social de
Rede de associações frequentes entre
dolphins.gml
golfinhos
golfinhos numa comunidade na Nova Zelândia
Rede de informações da cidade sueca de
Umeå
LC_clean_umea.gml
Umeå (maior componente conectado)
Formato*
Fonte
GML
Newman
GML
Newman
GML
Newman
GML
Newman
GML
Newman
GML
Newman
GML
Newman
GML
Newman
GML
Newman
GML
Rosvall
GML
Rosvall
GML
Newman
GML
Newman
Pajek
Pajek
GML
Newman
GML
Rosvall
GML
Newman
GML
Newman
GML
Newman
GML
Rosvall
Anais do XVI ENCITA, ITA,20 de outubro de 2010
,
WWW
(Barabási)
Parte da WWW no domínio das páginas
estudada em 1999
www.dat
Edge list
CCNR
* Informações sobre formatos de bases podem ser encontrados em (Punin, et al., 2001) e (NWB Community).
Tabela 3. Características das bases.
Número de
Base
Vértices
Adjacência de
112
palavras
Blogs políticos
Clube de Caratê
de Zachary
Coautorias em
Ciências de
Redes
Colaborações em
Alta Energia
Colaborações em
Astrofísica
Colaborações em
Matéria
Condensada
(1999)
Colaborações em
Matéria
Condensada
(2003)
Colaborações em
Matéria
Condensada
(2005)
Estocolmo
Gotemburgo
Internet (sistemas
autônomos)
Les Miserables
Linhas áreas
americanas
Livros políticos
Malmö
Rede de
distribuição
elétrica
Rede neural da C.
Elegans
Rede social de
golfinhos
Umeå
WWW (Barabási)
Número de
Arestas
Direcionada
Atributos dos
Vértices
Atributos das
Arestas
425
Não
rótulo (string), valor (int)
1490
19025
Sim
rótulo (string), valor (int),
fonte (string)
34
78
Não
1589
2742
Não
rótulo (string)
8361
15751
Não
rótulo (string)
peso (float)
16706
121251
Não
rótulo (string)
peso (float)
16726
47594
Não
rótulo (string)
peso (float)
31163
120029
Não
rótulo (string)
40421
175693
Não
rótulo (string)
10713
7470
23422
11975
Não
Não
22963
48436
Não
rótulo (int)
77
254
Não
332
2126
Não
peso (float)
105
3735
441
7384
Não
Não
rótulo (string)
rótulo (string), posição
XYZ (float,float,float)
rótulo (string), valor (char)
4941
6594
Não
297
2345
Sim
rótulo (int)
peso (int)
62
159
Não
rótulo (string)
566
325729
1090
1497135
Não
Sim
peso (float)
valor (int)
Tabela 4. Resultados das análises das bases: grau médio total, grau de entrada (apenas grafos direcionados), grau de
saída (idem), clustering coefficient, caminho mínimo médio, diâmetro. Observação: para cálculo de C, र e D
de bases direcionadas, foi considerado o grafo não-direcionado gerado a partir desta.
Base
<݇>
< ࢑࢏࢔ >
< ࢑࢕࢛࢚ >
࡯
र
ࡰ
Adjacência de
7,5893
0,1898
2,5356
46
palavras
Blogs políticos
25,5369
12,7685
12,7685
0,3600
2,7375
8
Anais do XVI ENCITA, ITA,20 de outubro de 2010
,
Clube de Caratê
de Zachary
Coautorias em
Ciências de
Redes
Colaborações em
Alta Energia
Colaborações em
Astrofísica
Colaborações em
Matéria
Condensada
(1999)
Colaborações em
Matéria
Condensada
(2003)
Colaborações em
Matéria
Condensada
(2005)
Estocolmo
Gotemburgo
Internet (sistemas
autônomos)
Les Miserables
Linhas áreas
americanas
Livros políticos
Malmö
Rede de
distribuição
elétrica
Rede neural da C.
Elegans
Rede social de
golfinhos
Umeå
WWW (Barabási)
4,5882
0,5879
2,4082
5
3,4512
0,8782
5,8232
17
3,7677
0,6365
7,0254
19
14,5159
0,7262
4,7980
14
5,6910
0,7371
6,6276
18
7,7033
0,7232
5,7667
16
8,6932
0,7185
5,4993
18
4,3726
3,2062
0,2787
0,2744
5,721
7,8448
15
24
4,2186
0,3499
3,8424
11
6,5974
0,7355
2,6411
5
12,8072
0,7494
2,7381
6
8,4000
3,9539
0,4875
0,2697
3,0788
6,0857
7
14
2,6691
0,1065
18,9892
46
0,3079
2,4553
5
5,1290
0,3029
3,3570
8
3,8516
9,1925
0,3076
5,6345
11
15,7912
7,8956
7,8956
Com base nos resultados das análises e com os critérios de dar preferência a bases recorrentes em referências da
área e com valores heterogêneos das propriedades (࡯, र e < ݇ >), selecionou-se as seguintes bases para focar nos
trabalhos das etapas seguintes:
1. Rede neural da C. Elegans;
2. Coautorias em ciências de rede;
3. Estocolmo (cidade sueca);
4. Gotemburgo (cidade sueca);
5. Rede de distribuição elétrica dos EUA;
6. Internet (sistemas autônomos);
7. WWW (Barabási).
3. Amostragem
Para comparar os métodos, decidiu-se por amostragem com 1%, 5% e 10% dos vértices ou das arestas (conforme o
exigido pelo método) como parâmetro ࢔ (ver seção 1.4) e verificação de como as métricas se desviam nas amostras em
relação ao valor da base original.
Fez-se um trabalho de geração e análise de amostras inicial com o NWB. Entretanto, este no seu estágio atual de
desenvolvimento não permite a automatização das simulações. Assim, o trabalho com um número grande de dados se
Anais do XVI ENCITA, ITA,20 de outubro de 2010
,
torna excessivamente mecânico e custoso para o operador. Além disso, após ter os resultados iniciais prontos, surgiu a
necessidade de adicionar uma nova métrica na análise, o que exigiria refazer o trabalho feito até então.
Devido a isso, decidiu-se gerar códigos para tornar a automatização possível. Como já dispunha-se de rotinas das
principais métricas implementadas em MATLAB, optou-se pela plataforma.
O trabalho inicial feito no NWB ajudou na criação de uma noção do comportamento dos métodos de amostragem e
como guia na aferição das rotinas implementadas.
As rotinas de geração das amostras foram feitas com base nas descrições dos métodos no NWB (ver seção 1.4).
Amostragens das bases direcionadas ("C. Elegans" e "WWW") levaram a orientação das arestas em consideração.
Optou-se por 10 amostras para cada base, método e percentagem (no caso das 6 primeiras bases escolhidas) para se
ter alguma confiabilidade estatística. As métricas escolhidas para trabalho foram "clustering coefficient", comprimento
de caminho mínimo médio, diâmetro e comprimento de caminho mínimo normalizado (razão entre as duas anteriores).
Após a geração e análise das amostras, fez-se um tratamento estatístico e a geração de gráficos para facilitar a
interpretação dos resultados. Nesse artigo, são apresentados apenas alguns dos resultados finais devido a limitações de
espaço.
No caso da WWW, mesmo com amostras, a análise requer um tempo de processamento muito grande ou é
inviabilizada devido a limitação de memória. Por isso, um trabalho especial foi feito com essa base. Para ela, a análise
foi limitada a 5 amostras apenas para os métodos de amostragem por vértices e "bola de neve"; amostragem por arestas
gerou amostras inviáveis de serem simuladas devido a limitações de memória mesmo com 1% . Os resultados para
amostragem da WWW estão mais abaixo nessa seção.
Para ilustrar a diferença entre os métodos, a Tab. 5 traz os resultados da amostragem para a base "Rede de
Distribuição Elétrica". O comportamento dos métodos para as demais bases seguiu em geral aproximadamente o
mesmo padrão.
Tabela 5. Análise estatística dos resultados para a base "Rede de Distribuição Elétrica".
Parâmetro n
Medida
da
<࢑>
࡯
र
Base
Amostragem
estatística
amostragem
original
2,6691
0,1065
18,9892
Mínimo
0
0
0
Máximo
1
0
1
49 (1%)
Média
0,4
0
0,186667
Desvio
0,516398
0
0,318639
padrão
Mínimo 1,032258
0
0,025098
Máximo 1,230769 0,058824 0,080882
nodesampling
247 (5%)
Média
1,085943 0,005882
0,0535
Desvio
0,054645 0,018602 0,018676
padrão
Mínimo 1,092593
0
0,013673
Máximo 1,219512 0,04878
0,039585
494 (10%)
Média
1,156259 0,012856 0,020942
powergrid
Desvio
0,042956
0,018
0,008347
padrão
Mínimo
1
0
0,007634
Máximo
1,03937
0
0,009499
66 (1%)
Média
1,017867
0
0,008495
Desvio
0,01233
0
0,0006
padrão
Mínimo 1,061093
0
0,002144
edgesampling
Máximo 1,085526
0
0,002677
330 (5%)
Média
1,072708
0
0,002432
Desvio
0,008514
0
0,000172
padrão
Mínimo 1,123615
0
0,001619
659 (10%)
Máximo 1,166372 0,00717
0,002456
ࡰ
र/ࡰ
46
0
1
0,4
0,4128
0
1
0,186667
0,516398
0,318639
2
3
2,2
0,012549
0,040441
0,024282
0,421637
0,007611
2
5
3,9
0,003571
0,007917
0,005363
0,994429
0,001288
1
2
1,9
0,003993
0,007634
0,004629
0,316228
0,001087
3
7
3,8
0,00038
0,000806
0,000676
1,229273
0,000128
5
8
0,00023
0,000409
Anais do XVI ENCITA, ITA,20 de outubro de 2010
,
49 (1%)
snowball
247 (5%)
494 (10%)
Média
Desvio
padrão
Mínimo
Máximo
Média
Desvio
padrão
Mínimo
Máximo
Média
Desvio
padrão
Mínimo
Máximo
Média
Desvio
padrão
1,143353
0,001833
0,00195
5,9
0,000336
0,013755
0,002674
0,000256
0,994429
5,32E-05
2,081633
2,693878
2,322449
0
0,291929
0,063432
3,353741
5,113946
4,295918
6
12
8,2
0,417871
0,58309
0,532361
0,207633
0,089457
0,541743
1,75119
0,050687
2,340081
2,979757
2,565992
0,025541
0,175239
0,087531
6,357362
8,244594
7,138406
12
15
13,7
0,468185
0,569637
0,521686
0,184662
0,051725
0,66245
1,159502
0,032413
2,396761
2,825911
2,610526
0,028036
0,226949
0,075486
7,504841
9,205476
8,324303
14
18
15,9
0,476443
0,603701
0,52541
0,114667
0,059884
0,494274
1,37032
0,033616
A escolha do MATLAB ainda se mostrou interessante por este já possuir medidas estatísticas e geração de gráficos
prontos. O que dispensou bastante trabalho, dado que foi possível automatizar todo esse processo com programação.
Dos resultados, pode-se extrair as seguinte conclusões:
• Para bases muito pequenas, o número de vértices e arestas na amostra é muito pequeno ao se trabalhar com
percentagens, assim as métricas falham ou geram resultados muito destoantes entre as amostras. À medida que
trabalhamos com bases maiores, que são as bases em que métodos de amostragem se fazem verdadeiramente
necessários, os resultados obtidos são mais confiáveis;
• De modo geral, o método de amostragem por vértices gera os piores resultados, enquanto a amostragem "bola
de neve" gera os mais condizentes;
• Os desvios entre as amostras é considerável, de modo que a geração de um número razoável de amostras é
recomendada;
• Para as métricas "grau médio", "clustering coefficient" e "comprimento de caminho mínimo médio
normalizado" (fração entre "comprimento de caminho mínimo médio" e "diâmetro"), que são pouco
dependentes do tamanho da rede, a melhor amostra considerada entre as 10 para o método "bola de neve"
possui em geral valores muito próximos da rede real, mesmo em percentagens baixas.
• Embora resulte nos melhores valores, a amostragem "bola de neve" ainda possui desvios entre as amostras
alto, pois é fortemente dependente da vizinhança do vértice inicialmente escolhido e, portanto, muito sensível
a heterogeneidades na rede. Ainda tem o inconveniente de falhar caso seja escolhido um vértice inicial isolado
ou acabar por extrair um cluster isolado, pequeno e pouco representativo.
A questão do problema de se escolher bases pequenas pode ser claramente verificada ao considerarmos o método
"bola de neve" com as melhores amostras (que seria o melhor caso de amostragem dentre os que consideramos) para a
rede da C. Elegans e para a de Gotemburgo. Mesmo nessa condição e com 10%, o "grau médio" para a C. Elegans se
desvia bastante do esperado, enquanto para Gotemburgo, os valores em todas as métricas pouco dependentes de
tamanho são próximos dos da original mesmo com 1%. Essa situação é ilustrada nos gráficos das Figs. 4 e 5.
Anais do XVI ENCITA, ITA,20 de outubro de 2010
,
Figura 4. Resultados das métricas analisadas para a melhor amostra gerada com o método "bola de neve" para a base
"rede neural da C. Elegans".
Figura 5. Resultados das métricas analisadas para a melhor amostra gerada com o método "bola de neve" para a base
"Gotemburgo".
Um fato interessante é observado na amostragem da WWW (ver Tab. 5). Embora seja uma base grande, os valores
são muito destoantes entre as amostras. Tem-se problema especialmente com o método "bola de neve". Este falha nas 3ª
e 4ª tentativas (um vértices isolado deve ter sido escolhido), e apenas a 5ª amostra tem um número de vértices frente à
percentagem e base escolhidas. O motivo desse comportamento deve estar associado a WWW ser uma rede direcionada
com muitas partes isoladas, em que há muitas páginas sem links que levem ao restante da rede.
Tabela 5. Resultados da amostragem para a rede "WWW".
Parâmetro
Número
Número
Amostragem
n da
de
de arestas
amostragem
vértices
399
438
407
471
nodesampling
3257 (1%)
382
439
333
432
368
422
300
1972
11
11
snowball
3257 (1%)
0
0
0
0
र
࡯
<݇>
ࡰ
0,003665
0,005192
0,006747
0,015503
0,01044
2,021026
3
0
0
0,040434
0,033295
0,05069
0,077896
0,041004
0,67869
0
0
0
0,551378
0,653563
0,638743
0,798799
0,657609
7,74
2
0
0
3
2
3
2
2
4
5
0
0
Anais do XVI ENCITA, ITA,20 de outubro de 2010
,
3257
16334
3,767779
0,342148
8,248081
6
4. Ambiente do Repositório
4.1. Motivação
Durante o trabalho de busca pelas bases de domínio público, percebeu-se que não existe uma centralização destas
bases e a documentação é escassa. Desse modo, pesquisadores que necessitem de redes reais para validar suas pesquisas
enfrentam dificuldades para encontrar redes adequadas.
O desafio é a construção de uma plataforma em que resultados e bases de interesse estejam facilmente acessíveis e
adequadamente documentadas. Para isso, é desejável a criação de uma plataforma web dinâmica, em que ferramentas de
filtragem estejam disponíveis. Essa foi justamente a etapa final do projeto.
4.2. Conceituação
1.
2.
3.
Plataforma: há necessidade de uso de banco de dados num servidor para que os dados do repositório sejam
acessados, isso cria flexibilidade de modificação no repositório sem necessidade de alteração no código do
ambiente. O trabalho com banco de dados será feito com a framework "Django", baseada em "Python". Para
que responda a comandos de imediato, a interface deve ser implementada em "Javascript".
Funcionalidade: exibe as informações escolhidas nas opções de exibição das bases que satisfaçam as restrições
da filtragem. Permite downloads da base e de amostras em diversos formatos.
Interface: num menu lateral devem ficar as opções de filtragem e de exibição. Na página principal, exibe-se
tabelas com as informações das bases e as opções de download conforme as opções de filtragem e exibição.
Pode-se ordenar as bases de acordo com determinado parâmetro ao se clicar na célula que contém o nome
desse no topo da tabela. Um clique na linha correspondente a uma determinada base deve expandir essa linha
para uma ficha com todas as informações da rede.
4.3. Comentários
Para esclarecimento da proposta de interface, foi gerada uma página exemplo em HTML, a captura da tela desta
exibida em um browser está na Fig. 6.
Embora tenha-se cogitado análises e geração de amostras "on-the-fly", ou seja, em tempo de execução, percebeu-se
que era inviável com os recursos disponíveis. Ambas exigem grande capacidade de processamento, assim haveria
facilmente sobrecarga do servidor. Caso haja necessidade real de sua implementação, deve-se buscar meios de executálo fora do código próprio da plataforma em linguagens mais rápidas como "C/C++".
Ainda não foi idealizado, mas acoplar um sistema para cadastramento de novas bases por usuários também é
interessante.
A plataforma ainda está em desenvolvimento, porém acredita-se que a documentação feita neste artigo seja
suficiente para a continuação num futuro projeto. É de interesse do orientado a conclusão deste ambiente, mesmo após
o fim do prazo da bolsa.
Opções de
exibição
Filtros
Lista de bases com as opções de exibição
selecionadas e que satisfazem as condições
de filtragem.
Anais do XVI ENCITA, ITA,20 de outubro de 2010
,
Figura 6. Página exemplo para ilustrar o conceito proposto de interface.
5. Conclusões
Foram obtidas e analisadas as bases disponíveis publicamente. Muito do trabalho de programação foi dispensado,
pois o "Network Workbench Toll" (NWB Team, 2006) já tinha disponível a maioria das rotinas.
Durante a busca das bases, chegou-se a conclusão de que pesquisadores que necessitem de redes reais para validar
suas teses ainda encontram dificuldades para encontrar as redes adequadas ao seu trabalho, dada a falta de centralização
e documentação.
Assim, foi proposta uma plataforma web dinâmica para cobrir essa falta, dado que a disponibilização bruta das
bases e dos resultados das análises não é tão interessante. Embora ainda não completamente implementada, sua
funcionalidade e interface já estão definidas e documentadas nesse artigo.
O estudo de amostragem foi concluído como previsto. Percebeu-se que extração de amostras em redes complexas
traz complicações extras. Portanto, dependendo da topologia da rede, pode-se ter dificuldades em obter amostras
confiáveis.
Observou-se que para redes grandes, os resultados obtidos com um dos métodos ("Snowball") foram razoáveis para
as métricas pouco dependentes do tamanho da rede. Entretanto, se a rede contém muitas partes isoladas, esse método
costuma falhar ou levar a valores muito destoantes. Para os demais métodos, análises das amostras revelaram em geral
valores dispersos e distantes dos da base original.
6. Agradecimentos
Agradeço primeiramente à doutoranda Cinara Ghedini e ao professor Carlos Henrique, ambos do Instituto
Tecnológico de Aeronáutica, pela orientação. Em especial à Cinara, pela dedicação e paciência comigo na etapa final
do projeto.
Ao senhor Daniel O. Cajueiro (Departamento de Economia, Universidade de Brasília), pelo envio de algumas bases
e dicas sobre o trabalho. Ao senhor Martin Rosvall, (Departamento de Biologia, Universidade de Washington) pelo
envio da rede das cidades suecas e por ter concedido permissão para usá-la no trabalho e disponibilizá-la publicamente.
À família, pela compreensão no período de Férias.
Por fim, agradeço ao CNPq pelo apoio financeiro concedido.
7. Referências
Albert, Réka e Barabási, Albert-László. 2002. Statistical Mechanics of Complex Networks. 2002, Vol. v. 74, n. 1.
Barabási, A.-L. e Toroczkai, Z. CCNR - Resources. site do Center for Complex Network Research (CCNR). [Online]
[Citado em: 28 de Janeiro de 2010.] http://www.nd.edu/~networks/resources.htm.
Barabási, Albert-László. 2002. Linked: The New Science of Networks. Cambridge, MA : Perseus, 2002.
Batagelj, Vladimir e Mrvar, Andrej. 2006. Pajek datasets. [Online] 2006. http://vlado.fmf.unilj.si/pub/networks/data/.
Ghedini, Cinara G. e Ribeiro, Carlos Henrique Costa. 2009. Detecting Global Efficiency in Complex Networks
Using Local Measurements and Neighborgood Information. 2009. CSBC - XXIX Congresso da Sociedade
Brasileira de Computação, 2009, Bento Gonçalves. WPerformance 2009 - VIII Workshop em Desempenho de
Sistemas Computacionais e de Comunicação, 2009..
Newman, M. E. J. Network data. página pessoal de Mark Newman, University of Michigan. [Online] [Citado em: 28
de Janeiro de 2010.] http://www-personal.umich.edu/~mejn/netdata/.
—. 2003. The structure and function of complex networks. 2003.
NWB Community. NWB Community Wiki. [Online] https://nwb.slis.indiana.edu/community/?n=Main.HomePage.
NWB Team. 2006. Network Workbench Tool. 2006. Indiana University, Northeastern University, and University of
Michigan, http://nwb.slis.indiana.edu.
Punin, John e Krishnamoorthy, Mukkai. 2001. XGMML. [Online] 8 de Julho de 2001.
http://www.cs.rpi.edu/~puninj/XGMML/.
Punin, John. 2000. Simple GML to XGMML Convertor. 5 de Março de 2000.
Download

DESENVOLVIMENTO DE REPOSITÓRIO DE DADOS E