• Nenhum resultado encontrado

UM ALGORITMO GENÉTICO PARA O PROBLEMA DE AGRUPAMENTO

N/A
N/A
Protected

Academic year: 2022

Share "UM ALGORITMO GENÉTICO PARA O PROBLEMA DE AGRUPAMENTO"

Copied!
10
0
0

Texto

(1)

UM ALGORITMO GENÉTICO

PARA O PROBLEMA DE AGRUPAMENTO

Flávio Marcelo Tavares Montenegro

IBGE – Instituto Brasileiro de Geografia e Estatística Diretoria de Pesquisas - DPE

Coordenação de Métodos e Qualidade – COMEQ email: fmontenegro@ibge.gov.br

José André de M. Brito

IBGE – Instituto Brasileiro de Geografia e Estatística Diretoria de Pesquisas - DPE

Coordenação de Métodos e Qualidade – COMEQ email: britom@ibge.gov.br

RESUMO

Apresenta-se uma proposta alternativa para a resolução do problema de agrupamento no qual, dado um conjunto de n objetos com pcaracterísticas, deseja-se alocar estes objetos em k grupos distintos, de forma que cada grupo seja o mais homogêneo possível. Neste trabalho, utiliza-se como medida de homogeneidade a soma das distâncias euclidianas de cada objeto ao centróide do seu grupo. Para a resolução do problema, utiliza-se um método heurístico baseado em algoritmos genéticos. Para avaliar sua performance, o algoritmo proposto é aplicado aos dados do Censo 2000 e os resultados são comparados aos obtidos com a utilização de quatro variações do algoritmo das k-médias.

PALAVRAS CHAVE: Agrupamento, Algoritmos Genéticos, k-médias

ABSTRACT

We present an alternative method to solve a clustering problem in which, given a set of n objects with p characteristics, one is interested in allocating the objects into k distinct homogeneous groups. The proposed method employs the sum of the Euclidean distances from each object to the centroid of its group as a measurement of homogeneity. It constitutes an heuristic method based on genetic algorithms. In order to evaluate its performance, the method is applied to empirical data from 2000 Brazilian Demographic Census and the results are compared with the k-means algorithm.

KEYWORDS: Clustering, Genetic Algorithms, k-means

(2)

1. Introdução

A análise de agrupamentos ou categorização é uma técnica amplamente utilizada para a resolver o problema de obter grupos homogêneos a partir de um conjunto de dados. Há algumas décadas, biólogos e cientistas sociais começaram a buscar sistematicamente formas para determinar agrupamentos a partir de dados obtidos em suas pesquisas. Atualmente, a análise de agrupamentos é aplicada em vários domínios, incluindo inteligência artificial, reconhecimento de padrões, economia, ecologia, pesquisa médica, marketing e muitos outros.

Este trabalho descreve uma nova metodologia para a resolução do problema de agrupamento ou categorização. Dado um conjunto de n objetos com p atributos, deseja-se agrupar estes objetos em k grupos disjuntos de forma que cada grupo formado seja homogêneo, segundo algum critério baseado em uma função de distância. Para a resolução de tal problema, é proposta uma metodologia baseada em algoritmos genéticos, que são técnicas heurísticas (Viana, 1998) amplamente utilizadas em problemas da área de otimização e outras áreas correlatas. O algoritmo considera a mesma função de distância utilizada pelo algoritmo das k-médias (Späth, 1980). De forma a possibilitar uma melhor análise da metodologia, utilizou-se um conjunto de dados reais associados a 40 problemas teste. Além da nova metodologia, foi utilizado, como base de comparação, quatro variações do algoritmo das k-médias.

2. Definição do Problema de Agrupamento

O problema de “categorização” ou de agrupamento pode ser visto como sendo:

“A construção de um dado número de grupos que reúnem o maior número de características em comum de indivíduos agregados” (Negreiros et al., 2002). Assim, os indivíduos, ou objetos, de cada grupo resultante deverão possuir o mais alto grau de homogeneidade entre si. A análise de agrupamentos também é uma técnica estatística usada para gerar uma estrutura de categorias que ajuste um conjunto de observações (Anderberg, 1973).

Para agrupar os indivíduos ou objetos associados a um conjunto de dados, é necessário encontrar algum parâmetro, que pode ser uma medida de semelhança ou dissemelhança, para quantificar o grau de associatividade entre eles. As medidas que buscam encontrar a similaridade ou a dissimilaridade entre objetos são obtidas por transformações a partir de dados quantitativos ou qualitativos (Kaufman, 1989). Na Figura 1, é dado um exemplo de agrupamento baseado no posicionamento de onze objetos com duas características (X1 e X2).

Figura 1 – Exemplo de Agrupamento

A procura por um agrupamento ótimo pode muitas vezes ser impraticável devido à enorme quantidade de partições possíveis. Em geral, algoritmos que resolvem este problema podem ser divididos em dois grupos: métodos hierárquicos e não hierárquicos.

Os métodos hierárquicos englobam procedimentos que buscam hierarquicamente os grupos. Uma possibilidade é considerar um número máximo de k grupos, onde cada grupos é composto por um único objeto e, iterativamente, agrupar cada par de grupos em um novo,

X

2

X

1

(3)

decrescendo o número de grupos na ordem de um. Outra possibilidade é partir de um único grupo, englobando todos os objetos, e iniciar um processo de subdivisões sucessivas. Esses métodos são conhecidos como hierárquicos aglomerativos e hierárquicos divisivos, respectivamente.

A escolha do par de grupos que deve ser agrupado (nos métodos aglomerativos) ou do grupo que deve ser dividido (nos métodos divisivos) é feita pelo valor da função objetivo obtida pelo agrupamento ou pela divisão. Existem vários métodos hierárquicos que diferem somente na escolha do critério de partição. Uma desvantagem desses métodos é a possibilidade de tornarem- se impraticáveis para grandes conjuntos de dados, devido à alta complexidade computacional do problema (Michaud, 1997).

Os métodos não hierárquicos procuram, de forma direta, encontrar uma partição aproximadamente ótima dos n objetos sem a necessidade de associações hierárquicas.

Primeiramente, uma partição inicial com um determinado número k de grupos deve ser considerada. A seguir, seleciona-se uma partição dos n objetos em k grupos, otimizada segundo algum critério. A seleção da melhor partição deve ser feita através de algum procedimento específico, uma vez que pesquisar todos os possíveis agrupamentos tornaria o problema de difícil solução, com kn1 grupos a serem pesquisados (Diniz e Louzada-Neto, 2000). Uma das técnicas mais conhecidas entre os métodos não-hierárquicos é o método das k-médias, que será descrito na seção 5.

3. Representação e Transformação dos Dados

O primeiro passo no processo de agrupamento consiste em analisar as características que estão associadas aos objetos e aplicar uma transformação nestas características, de forma a normalizá-las.

Suponha que se tenha n objetos que serão distribuídos em k grupos. Algoritmos de agrupamento operam tipicamente em duas estruturas de entrada. A primeira representa os objetos ou indivíduos por meio de p medidas ou características, tais como altura, peso, sexo, cor, etc, através de uma matriz de ordem n x p, onde as linhas correspondem aos objetos e as colunas aos valores de seus respectivos atributos (características). A segunda estrutura corresponde a uma matriz n x n que contém as “distâncias” entre todos os objetos. Estas distâncias representam o grau de homogeneidade entre os objetos.

Todavia, em muitas aplicações, as magnitudes dos valores associados às características dos objetos podem produzir diferentes estruturas de agrupamento. Por exemplo, considerando as variáveis idade, em anos, e altura, em metros, para um conjunto de indivíduos, verifica-se que neste caso a variável idade teria bem mais importância que a variável altura, por aquela ter uma magnitude significativamente maior. Entretanto, se for considerada a altura em centímetros, haverá entre as duas variáveis um grau de equilíbrio bem maior.

Dessa forma, antes de se construir a matriz de características ou de distâncias, e com a finalidade de eliminar a dependência na escolha das unidades de medida que serão utilizadas, efetua-se, normalmente, uma padronização nos dados. Ou seja, dado um conjunto de n objetos, representado por X ={x1,x2,...,xj,...,xn} , com cada objeto xj tendo p características, isto é,

) ,..., ,..., ,

( j1 j2 jl jp

j x x x x

x = , os valores originais associados às características são convertidos para valores adimensionais. O processo consiste em calcular a média m e o desvio-padrão dp dos valores associados a cada uma das características, considerando os n objetos, e aplicar a fórmula

l l jl

jl

dp

m x x

=

(1)

para obter o j-ésimo valor associado à l-ésima característica.

(4)

4. Formulação do Problema

Uma vez efetuada a padronização, é possível escolher uma medida de distância, que será considerada para avaliar os k grupos formados. No caso deste trabalho, será considerada a soma mínima das distâncias euclidianas nos agrupamentos. O problema consistirá em encontrar uma partição Pk de X em k grupos (agrupamentos) Ai de forma que a soma das distâncias euclidianas de cada objeto xj ao centróide xi do agrupamento Ai seja mínima:

||

||

1

∑ ∑

=

=

k

i x A

j i

i j

x x Minimizar

f

(2)

Tal problema está entre os mais estudados em análise de agrupamentos e tem inúmeras aplicações em engenharia, medicina e outras ciências (Negreiros et al., 2002).

Neste trabalho, a resolução da formulação acima será efetuada através de um método baseado em algoritmos genéticos, que são métodos amplamente utilizados para a resolução de diversos problemas de otimização (Viana, 1998), e, para comparação de desempenhos, também através do algoritmo das k-médias (Späth, 1980). Nas seções seguintes, tem-se uma breve descrição do algoritmo das k-médias, considerando quatro variações desse algoritmo, e uma descrição detalhada do método baseado em algoritmos genéticos.

5. Algoritmo das k-médias 5.1 Algoritmo Básico

Uma vez definido o número de grupos desejados, k, o método das k-médias segue as linhas gerais seguintes. São selecionados aleatoriamente k objetos que irão representar, inicialmente, os valores médios de cada grupo (centróide). Para cada um dos objetos restantes, é determinado o seu grupo correspondente, com base na distância entre cada objeto e os seus centróides (equação (2)). O objeto pertencerá ao grupo que tiver o centróide mais próximo. Após a alocação de todos os objetos, é calculado um novo centróide em cada grupo e, novamente, cada objeto é alocado ao grupo cujo centróide está mais próximo. Este processo se repete até que um critério de convergência seja atingido, normalmente, um critério de erro quadrático (Späth, 1980).

Em geral, este método converge rapidamente. Tal fato ocorre devido à tendência que o método apresenta de convergir para um mínimo local que pode estar muito distante da solução ótima, global, do problema. Tal ótimo global é, em geral, muito difícil de ser encontrado, devido à alta complexidade computacional decorrente do aspecto combinatório deste problema. Na verdade, caso seja aplicado um processo de busca exaustiva para garantir a obtenção da solução global, seria necessário enumerar todas as soluções, ou seja, todas as possibilidades de combinação dos n objetos em k grupos. O número de possibilidades, neste caso, está associado ao número de Stirling de segundo tipo (ver Johnson e Wichern, 2002), dado por

=

⎟⎟

⎜⎜ ⎞

− ⎛

k

j

n j

k j

j k k 0( 1)

!

1 . Caso se tenha, por exemplo, n = 16 objetos a serem alocados em 2 grupos, o número de soluções a serem consideradas é de 32.767 . Para o caso de 3 grupos, este número cresce para 7.141.686 soluções possíveis. Considerando-se um número n maior de objetos, estes valores crescem exponencialmente.

O método das k-médias é orientado de forma a fornecer soluções de qualidade de maneira bastante rápida, através de uma busca em um subconjunto muito restrito de todas as possíveis soluções. Entretanto, em geral, é possível encontrar soluções de melhor qualidade do que as obtidas pelo método das k-médias, utilizando-se, para tanto, técnicas de computação mais intensiva, disponíveis na literatura, às expensas de maior tempo de processamento. Uma dessas possibilidades é aplicação dos chamados algoritmos genéticos, que serão descritos mais à frente.

(5)

5.2 Variações do algoritmo das k-médias

Há um bom número de versões do algoritmo das k-médias. A diferença entre estes algoritmos está associada basicamente à forma de definir os agrupamentos iniciais, a regra de movimento nos grupos (troca de objetos) e a regra de atualização (definição dos centróides). Os critérios de parada desses algoritmos estão normalmente associados a um tempo máximo de execução e à verificação da diferença entre soluções obtidas em duas iterações consecutivas do algoritmo.

A seguir, são apresentadas quatro variações do algoritmo das k-médias que foram consideradas neste trabalho para fins de comparação com o algoritmo genético.

5.2.1 Versão Forgy

É um algoritmo que, em cada iteração, busca identificar rapidamente os k grupos que melhor se ajustam aos dados pela proximidade dos centros previamente encontrados (Forgy, 1965).

Uma solução inicial é fornecida para o algoritmo juntamente com os centróides dos k grupos, sendo estes os pontos de partida para a geração de novos grupos. A função objetivo utilizada é o somatório dos quadrados das distâncias de cada elemento aos centróides dos grupos.

Uma das vantagens deste método é a rapidez de convergência. Em um universo de n objetos e k grupos, o algoritmo só irá realizar n.k comparações em cada iteração.

Devido aos bons resultados do método de Forgy e à aplicabilidade a grandes conjuntos de dados, muitos pesquisadores utilizam-no como algoritmo inicial de agrupamento, sendo, posteriormente, utilizados algoritmos para dividir ou fundir a partição obtida inicialmente por esse método.

5.2.2 Versão MacQueen

É um algoritmo bem mais elaborado e custoso, do ponto de vista computacional, que busca resolver o problema das realocações entre clusters (grupos) de uma maneira gulosa, porém mais global do que a estratégia proposta por Forgy.

Este algoritmo também inicia com uma partição aleatória de k centróides, sendo k o número de grupos desejados. Porém, o cálculo dos centróides dos grupos é diferente daquele utilizado no algoritmo de Forgy, onde os centróides são calculados apenas no final das realocações de cada passo (Negreiros et al., 2002). Neste algoritmo, em cada alocação de um objeto a um grupo é feito um novo cálculo de centróide e este resultado passará a fazer parte do cálculo do centróide na próxima alocação de um objeto ao grupo em questão. Por isso, este algoritmo exige um esforço computacional bem maior do que o algoritmo de Forgy.

5.2.3 Versão Hartigan

Este algoritmo trabalha com um conjunto inicial de k centróides e distâncias euclidianas entre cada um dos n objetos e todos os k centróides. Para a obtenção do conjunto inicial de centróides, os n pontos são ordenados de acordo com a distância de cada um destes ao ponto médio geral considerando todos os objetos. Então, para cada grupo L=1,...,k, o ponto

]}

/ [

* ) 1 ( 1

{ + Ln k é escolhido para ser o centro inicial do grupo. O procedimento geral consiste em procurar por novas partições movendo-se pontos de um agrupamento para o outro de forma a reduzir a soma das distâncias quadráticas, com relação ao centróide, no interior de cada grupo. Ver detalhes em (Hartigan e Wong, 1979).

5.2.4 Versão Lloyd

Também conhecido como iteração de Voronoi (Aurenhammer, 1991). Em linhas gerais, é um algoritmo que, a cada iteração, partindo do conjunto de k centróides previamente calculados, constrói o diagrama de Voronoi desses centróides e, em seguida, recalcula o centróide de cada uma das k células do diagrama, alocando-se, então, cada objeto ao centróide mais próximo. Os novos centróides são então passados à próxima iteração, e o algoritmo prossegue até que uma

(6)

condição de parada seja satisfeita. Observe-se que cada centróide deverá estar associado a uma célula do diagrama de Voronoi.

6. Algoritmos Genéticos

Os algoritmos genéticos, introduzidos por Holland (1975), baseiam-se na teoria de Darwin de evolução natural das espécies. Termos como cromossomos, gens, alelos, genótipo e fenótipo, comuns no estudo da Genética, têm correspondentes no modelo computacional especialmente proposto para simular processos evolutivos.

A idéia básica parte do princípio de que, de forma similar à teoria biológica da evolução das espécies, os “melhores” indivíduos sobrevivem e geram descendentes com suas características hereditárias. Estes elementos, que comporão as novas gerações, tendem a ter a mesma aparência, ou fenótipo, que seus antecessores.

Assim, de forma análoga, um algoritmo genético parte de uma população de indivíduos gerados aleatoriamente (conjunto de soluções iniciais de um problema), realiza a avaliação de cada um (calculo da função objetivo), seleciona os “melhores” (escolha daqueles cuja função objetivo tenha os maiores valores, se for um problema de maximização, ou menores, no caso de minimização) e promove manipulações genéticas, como cruzamento e mutação (correspondente a perturbações das soluções escolhidas) a fim de criar uma nova população, a partir da qual reinicia-se o processo iterativamente. Este procedimento adaptativo pode ser usado para resolver qualquer problema de otimização.

Além do trabalho pioneiro de Holland (1975), Goldberg (1989) e outros consolidaram o uso desta técnica.

Em resumo, os algoritmos genéticos têm as seguintes características:

• São robustos, isto é, dependem muito pouco das soluções iniciais e do problema a ser resolvido

• Trabalham unicamente com o valor da função objetivo (sem a necessidade de manipulações explícitas de restrições formuladas no problema)

• Utilizam somente regras probabilísticas (não determinísticas)

• São de uso geral

6.1 Algoritmo Genético aplicado ao Problema de Agrupamento

A presente seção descreve os principais componentes do algoritmo genético implementado para o problema de agrupamento definido anteriormente.

Inicialmente, para a aplicação do AG, deve-se escolher a forma de representação dos cromossomos (soluções). Em geral, para tal representação, utilizam-se vetores. Neste trabalho, os cromossomos são representados da seguinte forma: dado um conjunto de n objetos e definido o número k de agrupamentos, uma solução para o problema de agrupamento corresponderá a um vetor com n posições e, para cada posição, será sorteado um valor entre 1 e k. Por exemplo, se

=3

k e n=10, pode-se ter a seguinte solução:

Como população inicial, são gerados m vetores (soluções), isto é, m configurações )

,..., ,

(S1 S2 Sm que correspondem a um pequeno subconjunto do espaço total de configurações (soluções viáveis para o problema). Uma vez gerada a população, no passo seguinte é efetuada a avaliação da função objetivo: para cada configuração Si da população, deve-se obter o valor de

m i

S f

fi = ( i),∀ =1,..., (vide equação (2)).

1 2 1 1 3 1 3 2 1 1

(7)

Após o cálculo da função objetivo, são aplicados operadores genéticos na seguinte ordem:

(i) Reprodução dos melhores indivíduos (seleção) – Com base nos valores de fi , as melhores configurações, ou seja, aquelas com menor valor de fi , são selecionadas e duplicadas em substituição às piores. Para realizar esta operação é utilizada uma “roleta” viciada (Viana, 1998), de forma que cada configuração seja copiada um número de vezes inversamente proporcional ao valor da função objetivo (equação (2)).

(ii) Cruzamento – É a operação que possibilita a recombinação das estruturas genéticas da população. Permite uma diversificação da população no espaço de soluções ao gerar configurações diferentes. O operador de cruzamento escolhe aleatoriamente duas configurações,

Si e Sj , e troca partes de seu padrão genético (ver exemplo no esquema abaixo).

O cruzamento pode ser feito tomando-se, dois a dois, os elementos da população inteira. Todavia, é mais comum atribuir um percentual PX, na faixa de 25% (0.25) a 75% (0.75) da população.

(iii) Mutação – Corresponde a uma pequena perturbação, realizada em algumas configurações Si, que tem por objetivo tentar regenerar valores entre 1 e k que porventura tenham sido eliminados na reprodução ou cruzamento. Tal operação é efetuada em um pequeno percentual dos elementos que compõem a configuração Si (ver esquema a seguir).

Si 1 2 1 1 3 1 3 2 1 1

Para que uma determinada população não sofra muitas mutações, esta operação é processada para um pequeno percentual (PM) de seus elementos (em torno de 1% dos gens).

Após todos estes procedimentos terem sido executados, repetem-se, iterativamente, os passos (i), (ii) e (iii), que correspondem a uma geração ou iteração. O critério de parada do algoritmo é a repetição destes passos por um certo número de vezes (MAXGEN). A saída do algoritmo é representada pela última população gerada, da qual a melhor configuração é a solução heurística do problema.

Alguns autores incluem um parâmetro de tempo de execução do algoritmo em substituição ao número máximo de gerações (MAXGEN). Além disso, é interessante incluir, no critério de parada, um parâmetro que represente o número máximo (NMAX) de gerações consecutivas durante as quais a solução pode permanecer inalterada.

Si 1 2 1 1 3 1 3 2 1 1 Si 1 2 1 2 2 3 2 2 1 1

Sj 1 3 1 2 2 3 2 2 1 3

Sj 1 3 1 1 3 1 3 2 1 3

Si 1 2 1 1 2 1 3 2 1 1

(8)

7. Resultados Computacionais e Conclusões

O algoritmo genético (AG) proposto neste trabalho foi implementado utilizando-se a linguagem de programação Delphi 6.0. O tamanho considerando para a população foi de 100 soluções, o número máximo de gerações, MAXGEN, foi igual a 10000, o número máximo de iterações sem melhora, NMAX, foi igual a 500, a probabilidade de cruzamento PX foi igual a 0.7 e o percentual de mutação foi de 1% (0.01). Além deste algoritmo, foi utilizado o algoritmo das k-médias do pacote estatístico R, segundo as respectivas versões desse algoritmo mencionadas anteriormente.

De forma a avaliar e comparar os desempenhos dos algoritmos, foi utilizado um conjunto de 40 arquivos de dados do IBGE contendo informações de municípios de algumas unidades da federação. Nestes arquivos, cada linha corresponde a um setor censitário (objeto) para o qual são fornecidos a sua renda total e o número de domicílios que possui (características).

Na Tabela 1, são apresentados os resultados obtidos pelo AG e pelo algoritmo das k-médias para o conjunto de 40 problemas teste. Nessa tabela, a primeira coluna corresponde à identificação do problema, a coluna 2 identifica o número de grupos considerados para aplicação dos cinco algoritmos e, nas colunas de 3 a 7, tem-se representado o valor final da função objetivo calculada pelos respectivos algoritmos. Na última coluna, ρ representa a diferença percentual entre a melhor solução obtida a partir da aplicação dos algoritmos de Hartigan, Lloyd, Forgy e Mac-Queen (variações do k-means) e aquela obtida pelo algoritmo genético.

A partir da tabela, é possível observar que, em todos os problemas, o AG forneceu resultados melhores do que o algoritmo das k-médias. Ou seja, os agrupamentos formados a partir do AG são mais homogêneos (segundo o critério de distância euclidiana) do que aqueles formados através do algoritmo das k-médias. Além disso, observa-se uma redução média de 6,0%

nos valores da função objetivo fornecidos pelo AG com relação àqueles obtidos pelo algoritmo das k-médias. Analisando a redução média por número de agrupamentos, o melhor resultado foi obtido para dois e três grupos, onde a redução foi de respectivamente 8,9% e 8,5%.

Estes resultados indicam um melhor desempenho do AG com relação à qualidade das soluções encontradas. A obtenção destes resultados de melhor qualidade decorreu de uma exploração bem maior, embora distante de ser exaustiva, do espaço de soluções do problema. Isto implicou em um tempo de processamento também maior que o exigido pelo algoritmo das k-médias, que é um método praticamente imediato. Entretanto, a depender da importância de uma melhor qualidade no processo de agrupamento em uma pesquisa ou aplicação específica, a escolha pelo uso de métodos mais intensivos, como o AG proposto neste trabalho, pode ser a mais indicada.

(9)

Tabela 1 – Resultados dos Algoritmos

ρ

Problema Grupos Hartigan Forgy Lloyd MacQueen

s12_10100 2 23,46 23,43 23,43 23,48 21,86 7,2%

s15_10100 2 54,81 54,79 54,79 54,79 48,80 12,3%

s21_10100 2 43,84 43,78 43,78 43,78 39,19 11,7%

s24_10100 2 36,18 36,13 36,11 36,11 32,94 9,6%

s29_60100 2 76,27 76,62 76,27 76,27 71,55 6,6%

s35_60400 2 64,15 64,13 64,15 64,13 58,56 9,5%

S43_30200 2 59,91 59,91 60,04 60,04 57,02 5,1%

s11_60100 3 35,78 35,78 35,78 35,78 32,59 9,8%

S14_60100 3 18,31 18,99 18,23 18,96 16,91 7,8%

s17_60100 3 27,73 27,73 27,73 28,93 26,27 5,6%

s21_60600 3 28,86 28,86 28,86 28,86 27,18 6,2%

s23_10101 3 46,26 46,26 46,26 46,26 40,79 13,4%

s23_10102 3 46,44 46,42 46,41 46,41 41,67 11,4%

s25_60500 3 35,17 35,17 35,17 35,17 33,80 4,1%

S27_60200 3 31,28 31,30 31,30 31,30 27,96 11,9%

s32_60300 3 36,07 36,07 36,05 36,05 32,26 11,7%

s35_10102 3 55,31 55,31 55,31 55,31 52,74 4,9%

S42_60200 3 45,02 44,92 44,92 44,92 42,49 5,7%

S51_60200 3 29,71 29,71 29,71 29,71 27,24 9,1%

s11_60200 4 41,27 42,59 40,94 42,59 36,37 12,6%

s13_60200 4 36,44 36,44 36,44 36,44 34,09 6,9%

s15_60100 4 32,30 32,40 32,37 32,40 28,33 14,0%

s22_10101 4 26,05 26,71 25,79 25,79 25,45 1,3%

s26_60300 4 36,48 36,45 36,48 36,48 34,98 4,2%

s31_60600 4 43,30 43,30 43,39 43,30 41,43 4,5%

s33_20400 4 49,34 49,34 49,34 49,34 45,14 9,3%

S50_60400 4 25,02 25,02 25,02 25,02 24,68 1,4%

S52_40100 4 34,31 32,97 33,11 33,11 31,09 6,0%

s13_10104 5 29,83 29,53 30,75 29,17 26,67 9,4%

S17_60300 5 24,21 24,41 24,12 24,43 22,79 5,8%

S24_60300 5 24,53 24,98 24,53 24,53 23,36 5,0%

s28_60300 5 40,86 41,18 41,18 33,63 32,90 2,2%

s31_10102 5 47,64 47,63 47,65 47,65 44,92 6,0%

s41_10101 5 48,18 49,49 49,52 49,52 47,04 2,4%

s33_60600 6 50,75 52,74 52,82 53,35 45,61 11,3%

s41_60400 7 36,58 37,91 36,96 36,52 36,31 0,6%

s12_60100 8 20,20 20,31 20,34 19,65 19,32 1,7%

S16_60100 8 17,39 17,51 17,38 18,67 16,41 5,9%

s22_60100 8 29,73 28,89 28,69 29,50 28,56 0,5%

S53_10102 8 43,19 42,97 43,08 43,76 41,55 3,4%

Algoritmo das K-médias - Variações Algoritmo Genético

(10)

8.Referências

Anderberg, M. R. (1973). Cluster Analysis for Application. New York. Academic Press.

Aurenhammer, Franz (1991). Voronoi Diagrams - A Survey of a Fundamental Geometric Data Structure. ACM Computing Surveys, 23(3):345-405.

Diniz, C.A.R. e Louzada Neto, F. (2000). Data Mining: Uma Introdução. 14º SINAPE, Caxambu. ABE – Associação Brasileira de Estatística

Forgy, E.W. (1965). Cluster Analysis of Multivariate Data, Efficiency vs. Interpretability of Classification. Biometrics 21, 768-769.

Goldberg, D.E. (1989). Genetic Algorithms in Search, Optimization and Machine Learning Reading, Reading, MA: Addison-Wesley.

Hartigan, J.A. e Wong, M.A. (1979). A k-means clustering algorithm, Applied Statistics 28, 100-108.

Holland, J.H. (1975). Adaptation in natural and artificial systems. University of Michigan Press, Ann Arbor.

Johnson A.R. e Wichern D.W. (2002). Applied Multivariate Statistical Analysis. Prentice Hall.

Fifth Edition.

Kaufman L. e Rousseeuw P.J. (1989). Finding Groups in Data – An Introduction to Cluster Analysis. Wiley-Interscience Publication.

Michaud, P. (1997). Clustering techniques. Future Generation Computer Systems, 14, 135-147.

Negreiros, M.J.G, Almeida, P.G, Bezerra, A.G.F. e Xavier, A.E. (2002). Análise de agrupamentos para a taxa de resíduos sólidos de Fortaleza via sistema visual TAX. Revista da Associação Brasileira de Limpeza Pública, 57, 10-17.

Späth, H. (1980). Cluster Analysis Algorithms for Data Reduction and Classification of Objetcs.

John Wiley & Sons.

Viana, Valdísio (1998), Meta-Heurísticas e Programação Paralela em Otimização Combinatória, UFC edições. 7.

Referências

Documentos relacionados

Almanya'da olduğu gibi, burada da bu terimin hiçbir ayrım gütmeden, modern eğilimleri simgeleyen tüm sanatçılar için geçerli olduğu anlaşılıyor.. SSCB'de ilk halk

É indispensável que ambas as espécies envolvidas em acasalamentos híbridos possuam o mesmo Imprinting, caso contrário à corte não será aceita pela fêmea de gênero diferente

Como futuros desdobramentos deste trabalho se pode: Ajustar o algoritmo proposto para trabalhar com outros tipos de atributos que não sejam somente

Resolução de um problema de corte unidimensional para minimização do número de objetos processados e o setup via Algoritmo Genético.. In: SIMPÓSIO DE PESQUISA OPERACIONAL

Este trabalho realizou um estudo sobre o Problema de Corte unidimensional com o objetivo de minimizar o número de objetos processados e o setup e o implementou através da aplicação

Comparando os dois modelos de carregamento de preenchimento do algoritmo genético desenvolvido, observou-se que o modelo L, M e R se mostrou bastante eficiente nas configurações

O algoritmo genético desenvolvido inspirou-se no algoritmo de HE e CHA (2002), adequado às características e ao contexto do problema real, com possibilidade de escolha entre

Pos- so ver com meus próprios olhos agora, porém eles já não são apenas meus: o cinema injeta imagens nas minhas pupilas, e dali assalta meu cérebro.. Destrói quem eu sou em