Professional Documents
Culture Documents
Científica
Título: “Detecção de Comunidades Baseada na
Competição e Cooperação de Partículas”
2 – Introdução
Na última década do século XX, com a publicação de novas descobertas
relacionadas ao conceito de redes (grafos), um novo tema de pesquisa, denominado
redes complexas, foi estabelecido e desde então tem revolucionado não apenas as
teorias de redes, mas também diversas ciências [1]. Dentre as muitas propriedades que
podem ser extraídas / estudadas em diversas redes complexas, uma característica
notável é a presença de estruturas modulares locais conhecidas como comunidades [3,
8]. Tais comunidades podem ser definidas como grupos de vértices da rede densamente
conectados, enquanto que conexões entre vértices pertencentes a grupos (comunidades)
diferentes são esparsas [9]. Essas comunidades representam padrões de interação entre
os vértices da rede e sua identificação é importante no entendimento dos mecanismos de
crescimento e formação desta [2]. Além disso, um fator importante referente à estrutura
das comunidades está na similaridade das características dos vértices que as compõem.
Assim, por meio da identificação e estudo das comunidades é possível obter
informações pertinentes ao domínio da rede. Por exemplo, observando-se a estrutura de
ligações entre páginas da World Wide Web é possível constatar que páginas descrevendo
tópicos relacionados tendem a ser mais densamente conectadas entre si do que com o
restante da rede [4]. Esta propriedade também é compartilhada por redes reais
provenientes de outros domínios, como redes biológicas [7], rotas de transporte aéreo
[6], redes metabólicas [5], dentre outras.
O processo de detecção de comunidades em uma rede não é
computacionalmente trivial. Por exemplo, o problema de dividir um grafo em duas
partes de mesmo tamanho de tal forma que número de arestas ligando estas partes seja
mínimo é definido como um problema NP-Completo [3]. Para complicar ainda mais
este problema, que pode ser visto como um caso simples da tarefa de detecção de
comunidades, as redes reais podem ser compostas por um número não conhecido de
comunidades e não apenas duas como no caso anterior. Além disso, as comunidades por
si só podem ser definidas por estruturas hierárquicas na qual uma comunidade é
formada por outras sub-comunidades aninhadas [3, 11]. Devido a importância do
problema e a dificuldade computacional em sua solução, diversos autores têm proposto
modelos computacionais para realizar de forma automática a detecção de comunidades
em redes complexas. Entretanto, a precisão no processo de detecção das comunidades e
a complexidade computacional desses algoritmos podem ser vistas como características
antagônicas, na qual os modelos que apresentam alta eficiência computacional
geralmente apresentam uma baixa precisão. Por outro lado, modelos com alta precisão
demandam um alto custo de processamento [3].
Recentemente foi proposto por Quiles et al. [10] um novo modelo de detecção
de comunidades baseado em competição de partículas. Neste modelo, diversas
partículas caminham em uma rede competindo entre si para marcar seus vértices. Ao
mesmo tempo, partículas intrusas são repelidas ao entrarem em territórios pertencentes a
outras partículas. Após algum tempo de execução, cada partícula se isola permanecendo
confinada dentro de uma comunidade da rede. Desta forma, observando a partícula que
ocupa os vértices, é possível identificar as comunidades. Este modelo apresenta uma
alta precisão mantendo um custo computacional baixo, sendo este último item um ponto
crítico de outras técnicas de detecção de comunidade [3].
Entretanto, o modelo proposto em [10] ainda apresenta algumas limitações que
necessitam ser investigadas, como por exemplo:
• Apenas redes sem peso foram consideradas. Assim, o modelo poderia ser
estendido de tal forma a considerar outras formas de redes, como redes
com pesos e redes direcionadas;
• Não permite o tratamento de comunidades hierárquicas;
• A dinâmica por trás do processo de detecção de comunidades é um fator
positivo, possibilitando que este seja aplicado em redes cuja a estrutura
não é estática, isto é, redes onde novas arestas ou vértices podem ser
inseridos ou mesmo removidos ao longo do tempo. Porém, este fato
ainda não foi investigado;
• Apenas uma partícula é utilizada para definir cada comunidade na rede.
Um mecanismo de cooperação de partículas poderia ser considerado com
objetivo de melhorar a eficiência no processo de detecção;
• O número de comunidades deve ser informado a priori. Embora o
número de comunidades possa ser estimado através de aplicações
sucessivas do modelo variando o número de partículas, este processo não
é vantajoso computacionalmente. Desta forma, a geração do número
automático de partículas (comunidades) representaria uma importante
extensão do modelo original;
• O critério de parada do algoritmo não é completamente estabelecido.
4 – Resultados
5 - Discussão / Conclusões
Esses resultados até o presente momento indicam que, pronto o Modelo de
Competição de Partículas proposto no início do projeto e também a visualização do
mesmo, pode-se então avançar para o estudo e implementação das modificações que
tornarão este Modelo, um mais geral, no qual se espera uma melhora na eficiência
computacional, além de tratar redes gerais, ou seja, com pesos e/ou arestas direcionadas,
e também permitir que o número de partículas se adapte automaticamente, sem a
necessidade da informação prévia de quantas comunidades deverão existir, por meio de
algum critério existente no algoritmo.
Até então, notou-se algumas dificuldades em trabalhar mais com a biblioteca
Java Jung do que com o Modelo de Competição de Partículas em si, além da interface
gráfica que está sendo desenvolvida atualmente para facilitar a demonstração do
modelo.
Apesar desses pontos, espera-se que até o final do período de vigência da
Iniciação Científica as adaptações requeridas no modelo estejam desenvolvidas,
melhorando o modelo atual.
6 – Bibliografia
[1] Barabási, A.-L. (2003). Linked: How Everything Is Connected to Everything
Else and What It Means. Plume.
7 – Apoio
O projeto teve o financiamento do Conselho Nacional de Desenvolvimento
Científico e Tecnológico (CNPq).