• Nenhum resultado encontrado

Descrição do Algoritmo ASM-TXE.

No documento UNIVERSIDADE FEDERAL DE SÃO CARLOS (páginas 48-52)

AABGs Baseados em Árvore Spanning Minimal

Algoritmo 3.6 Descrição do Algoritmo ASM-TXE.

Para um melhor entendimento do Algoritmo 3.6, os passos de remoção de arestas da ASM da Figura 3.5 são exemplificados.

Os pesos das arestas na ASM da Figura 3.5 seguem a seguinte ordem descrescente: w(e5), w(e2), w(e8), w(e4), w(e3), w(e6), w(e7), w(e1). A Tabela 3.2 mostra os resultados das

taxas de erros calculados a cada iteração. Note que na segunda iteração a taxa_erro  50%

Procedure Agrupamento_ASM_TXE(CD)

{entrada: CD: Conjunto de dados CD = {d1, d2,..., dn}, |CD| = n.

saída: AG: Agrupamento AG = {G1, G2, ... Gk}  um conjunto contendo as

componentes conexas do grafo construído pelo algoritmo - cada componente conexa é um grupo do agrupamento obtido.}

begin

Gi  Cria_Grafo_Completo(CD)

GASM = (V, E) Cria_ASM (Gi) {ASM_Kruskal(Gi) ou ASM_Prim(Gi, r)}

Eord  Ordena_Arestas(GASM) {ordem decrescente de seus pesos}

i  1

termina  false

while i < |Eord| and not termina do

begin

taxa_erro  Calcula_Taxa(ei, ei+1)

If taxa_erro  50% then begin i  i  1 k  i end else termina  true end

GASM  Remove_Arestas(k, GASM, Eord) {remove k arestas na ordem de Eord }

AG  Identifica_Componentes_Conexas(GASM) end w(e1) = 2 w(e2) = 15 w(e3) = 4 w(e4) = 5 w(e5) = 21 w(e6) = 4 w(e7) = 3 w(e8) = 6

e, portanto, duas arestas serão removidas do conjunto de arestas organizado em ordem decrescente, ou seja w(e5) e w(e2) serão retiradas de ASM e três grupos serão evidenciados.

Tabela 3.2 Cálculo de taxa_erro para a ASM da Figura 3.5, usando o ASM-TXE.

iteração taxa_erro

1 15

21 × 100% = 71%

2 6

15 × 100% = 40%

3.5 AABG Baseado em ASM com Estrutura de Escala Livre

3.5.1 Estrutura de Escala Livre – Considerações Iniciais

A topologia da estrutura de escala livre é caracterizada por focalizar vértices que possuem um alto grau de conectividade (chamados de hubs) i.e., vértices que estejam ligados por meio de um número elevado de arestas a vértices com baixo grau de conectividade. Essa estrutura, devido à sua propriedade particular de representação do grafo, é utilizada para modelar redes em diversas áreas, tais como a Internet, redes sociais e de redes de computadores.

O modelo de redes de escala livre mais conhecido é o modelo de Barabási-Albert [Barabási & Albert 1999] que utiliza o conceito de crescimento incremental e preferencial. O crescimento incremental permite que um grafo aleatório com n vértices possua uma topologia de rede aberta em que, continuamente, um novo vértice v é acrescentado ao grafo. A adição de v, entretanto, é feita por meio de uma conexão preferencial, ligando v a um vértice específico do grafo. No modelo matemático de construção da rede de escala livre, proposto por Barabási-Albert, a probabilidade de um novo vértice ser conectado a um vértice v é dada pela razão entre o número atual de conexões de v e o número total de conexões da rede. Ou seja, a conexão é preferencialmente feita com os vértices de alto grau de conectividade. Este modelo tornou-se a base de estudo das propriedades das redes de escala livre.

3.5.2 O Algoritmo de Agrupamento para a Indução de Grafo com

Estrutura de Escala Livre

O método de agrupamento que induz um grafo com estrutura de escala livre (Clustering with Minimum Spanning Tree of Scale-free Structure- SFASM), proposto em [Päivinen 2005], é baseado no conceito de árvore spanning mínima. O grafo induzido pelo algoritmo possui uma única componente conexa que deve ser interpretada da seguinte maneira: vértices com alto grau de conectividade representam centros de grupos que contém todos os vértices conectados a este hub. Na representação gráfica do grafo, as arestas representadas por longos segmentos de reta, são interpretadas como ligando vértices que não pertencem a nenhum dos grupos induzidos pelo algoritmo.

O algoritmo para a indução do grafo com estrutura de escala livre baseia-se no algoritmo de Prim (utilizado para a construção da ASM). Seus passos estão descritos no Algoritmo 3.7, no qual o grafo GSFASM = (S, P) é determinado pelo conjunto de vértices S e pelo conjunto de arestas P. Inicialmente o conjunto de aresta E é construído pela função Inicializa_E() com todas as possíveis arestas entre os vértices pertencentes ao conjunto de dados CD. A matriz D é calculada por meio do cálculo da distância euclidiana entre todos os pares formados a partir dos n dados ou vértices (função Inicializa_Distancia() em Algoritmo 3.7). A matriz de distância reversa W é então inicializada (função Inicializa_Distancia_Reversa() em Algoritmo 3.7) conforme mostra Equação (3.5).

W[di][dj] = max(D)  D[di][dj], i = 1..n e j = 1 .. n (3.5)

O vértice di com maior peso em relação à dj corresponde a menor distância

euclidiana entre di e dj. O algoritmo sempre escolhe o vértice com maior peso através da

função Seleciona_Maior_Peso(E, S), mantendo a conectividade do GSFASM e evitando a formação de ciclos.

As modificações no algoritmo de Prim, responsáveis pela estrutura diferenciada da ASM, são relativas à utilização de uma matriz com os valores das distâncias reversas entre os vértices W e o procedimento de atualização dos pesos das arestas. A atualização dos pesos permite o crescimento preferencial do grafo e é controlada por um parâmetro de entrada na, fornecido pelo usuário. O parâmetro na é utilizado para verificar se um vértice

peso de um vértice di em relação a todos os possíveis vértices dj ao qual di pode se conectar,

é dada pela Equação (3.6). A equação mostra que o ganho no peso (representado pela expressão na  cna) de um vértice d é levemente aumentado de acordo com o número de arestas na de d, e é diminuído quando na de d for suficiente. O parâmetro c é dado como entrada pelo usuário e preferencialmente tem o seu valor entre 0,5 e 1

W[di][dj] = W[di][dj] + na  cna (3.6)

O procedimento Atualiza_Peso() do Algoritmo 3.7 é necessário para a formação da topologia de escala livre pois toda conexão tem um efeito no peso de um determinado vértice d, fazendo com que outros vértices próximos a v tenham preferência pela conexão com d.

O valor ideal para o parâmetro na, determinado empiricamente, é 3, indicando que um vértice do GSFASM precisa ter pelo menos 3 arestas para que haja atualização de seu peso. Os valores do parâmetro c podem ser analisados da seguinte maneira:

 c = 1, a estrutura do grafo tenderá a representar um único hub pois o ganho do peso sempre crescerá, conforme o aumento do número de arestas de um vértice.

 c = 0,1, a estrutura do grafo tenderá a representar uma ASM já que os pesos não tem um significativo ganho no peso.

 c = 0,5, é um valor ideal, pois o ganho do peso tende a diminuir quando o vértice possuir 10 arestas.

O Algoritmo 3.7 não constrói a usual rede de escala livre uma vez que o procedimento não é aleatório; cada vértice é escolhido pelo seu maior peso e pela sua conectividade com o grafo, de forma a manter a estrutura de árvore.

Algoritmo 3.7 Descrição do Algoritmo SFASM.

No documento UNIVERSIDADE FEDERAL DE SÃO CARLOS (páginas 48-52)