Anais do XIX Congresso Brasileiro de Automática, CBA 2012. COLÔNIAS DE ABELHAS COMO MODELO PARA AGRUPAMENTO ÓTIMO DE DADOS: UMA PROPOSTA E ANÁLISE PARAMÉTRICA QUALITATIVA RENATO D. MAIA*, WESLEY O. BARBOSA#, LEANDRO N. DE CASTRO+ * Departamento de Ciências da Computação, Universidade Estadual de Montes Claros; Departamento de Engenharia de Controle e Automação, Faculdade de Ciência e Tecnologia de Montes Claros; Instituto de Ciências Agrárias, Universidade Federal de Minas Gerais # Diretoria de Gestão de Tecnologia da Informação, Instituto Federal do Norte de Minas Gerais + Laboratório de Computação Natural (LCoN), Faculdade de Computação e Informática (FCI) e Programa de PósGraduação em Engenharia Elétrica (PPGEE), Universidade Presbiteriana Mackenzie E-mails: [email protected], [email protected], [email protected] Abstract This paper presents an algorithm for optimal data clustering inspired by the processes of collective decision-making by bee colonies. The proposed algorithm controls a swarm of artificial bees, which are represented by a matrix, performing tasks like random movement, evaluation and recruitment, in order to find cohesive clusters according to the provided database. The algorithm is inspired by the recruitment observed in the behavior of bees during the exploitation of food sources, to attract more bees to the best solutions. Using an implementation of the algorithm, some results were generated for a given data set suggesting that it does possess the ability to find clusters with reference to only the data provided, maintaining the diversity of solutions. Keywords sociobiology, insects, bees, collective decision-making, clustering, diversity. Resumo Este artigo apresenta um algoritmo para agrupamento ótimo de dados inspirado nos processos de tomada de decisão coletiva por colônias de abelhas. O algoritmo proposto controla um enxame de abelhas artificiais, que são representadas por uma matriz, realizando tarefas de movimentação aleatória, avaliação e recrutamento, a fim de encontrar agrupamentos coesos de acordo com a base de dados fornecida. O algoritmo é inspirado no recrutamento observado no comportamento de abelhas durante a exploração de fontes de alimento para atrair mais abelhas para as melhores soluções encontradas. Utilizando-se de uma implementação do algoritmo foram gerados alguns resultados para um determinado conjunto de dados que sugerem que ele realmente possui a capacidade de encontrar agrupamentos tomando como referência apenas os dados fornecidos e mantendo a diversidade de soluções. Palavras-chave sociobiologia, insetos, abelhas, tomada de decisão coletiva, agrupamento, diversidade. 1 Sociobiologia dos Insetos – Inspiração para a Resolução de Problemas A Sociobiologia é um ramo da biologia que estuda o comportamento social dos animais, utilizando conceitos da etologia, evolução, sociologia e genética de populações (Wilson, 1975). No contexto do estudo dos insetos, a sociobiologia amadureceu de forma considerável nos últimos anos. As teorias da auto-organização (Camazine et al., 2001) e dos sistemas complexos (David, 1987), em conjunto com resultados experimentais realizados por biólogos, revolucionaram o entendimento dos aspectos organizacionais das sociedades de insetos e até mesmo das sociedades humanas (Gadau e Fewell, 2009). Como a Sociobiologia faz uso de uma grande variedade de abordagens para a criação de modelos para os diversos aspectos do comportamento de animais sociais, ela representa um verdadeiro esforço de pesquisa interdisciplinar, permitindo que metodologias e ideias sejam trocadas entre os pesquisadores das diferentes disciplinas envolvidas. Como exemplo, pode-se citar a Teoria de Redes (Albert e Barabasi, 2002), particularmente o “efeito de mundo pequeno” (Newman, 2003), que foi estabelecida na matemática e sociologia e é atualmente aplicada no estudo dos padrões de interações em grupos sociais de animais (Fewell, 2003; Couzin et al., 2005). A própria complexidade dos modelos utilizados na sociobiologia ISBN: 978-85-8001-069-5 teórica forçou os biólogos a interagirem com matemáticos, engenheiros e cientistas da computação, enquanto a complexidade dos sistemas artificiais construídos pelo homem instigou os engenheiros, matemáticos e cientistas da computação a buscarem inspirações para a resolução de problemas em sistemas biológicos com semelhantes níveis de complexidade. Essa interação introduziu não apenas novas ideias à Biologia, particularmente aos estudos da organização das sociedades de insetos, mas também novas ferramentas, como simulações baseadas em indivíduos, além de outras técnicas matemáticas e de computação (Gadau e Fewell, 2009). Considerando-se os pontos de vista da ciência da computação e da engenharia, já se tem consolidada a percepção de que os insetos sociais evoluíram soluções para alguns problemas difíceis, como o forrageamento, cujas características, dentre as quais merece destaque a necessidade de encontrar uma solução ótima utilizando-se apenas informações locais e imprecisas (Mallon et al., 2001), são, em muitos aspectos, semelhantes àquelas dos problemas encontrados nesses campos. Dentre as diversas ferramentas computacionais e de engenharia inspiradas no comportamento de forrageamento, podem ser destacadas: aplicação de um algoritmo baseado no forrageamento de formigas controlado por feromônio para roteamento em redes de telecomunicações (Dorigo e Stüzle, 2004), controle descentralizado de migração de processos em redes de computadores, tendo como 623 Anais do XIX Congresso Brasileiro de Automática, CBA 2012. inspiração o comportamento mento de formigas do gênero Temnothorax albipennis (Marshall et al., al 2006), classificação (Lumer e Faieta,, 1994), alocação de tarefas tare (Bonabeau, Dorigo e Theraulaz, 1999), job shop scheduling (Cicirello, 2004), agentes de software (Parunak, 1997; Weiss, 1999), otimização de redes de comunicação (DiCaro e Dorigo, 1998), e robótica coc letiva (Brooks e Flynn, 1989; Krieger et al., 2000). Nesse contexto, este artigo propõe um algoritmo algo para agrupamento ótimo de dados inspirado nos meme canismos mos de tomada de decisão coletiva por sociedades de insetos, especialmente as colônias de abelhas, observados no algoritmo para otimização multimodal contínua proposto por Maia et al. (2010). (2010) Os resultados obtidos com uma primeira implementação implemen realizada para este artigo são ainda preliminares, prelimina mas sugerem que o algoritmo possui um comportamento com interessante, apresentando a capacidade de encontrar agrupamentos ótimos tomando como base apenas o conjunto de dados fornecido e mantendo man diversidade nas soluções apresentadas,, além de constituírem evievi dências cias da robustez do algoritmo em relação a variavaria ções paramétricas. O artigo está organizado da seguinte maneira: maneira a Seção 2 faz uma breve explanação sobre o problema de agrupamento de dados; a Seção eção 3 apresenta uma proposta posta de um novo algoritmo de abelhas para a sos lução de problemas de agrupamento ótimo óti de dados, além de esclarecer os detalhes da versão implemenimple tada; a Seção 4 apresenta uma análise qualitativa de sensibilidade paramétrica e, por fim, a Seção S 5 apresenta a conclusão e as propostas de trabalhos futuros. fu 2 Agrupamento Ótimo de Dados: ados: Definição do Problema O agrupamento é uma das mais primitivas atividades ativi mentais dos seres humanos, utilizado para lidar com a enorme quantidade de informações que recebem rece todos os dias (Theodoridis e Koutroumbas, 2003). As diversas definições de agrupamento encontradas en na literatura convergem para a seguinte ideia: agrupamento é o processo de particionar um conjunto de obo jetos em subconjuntos de tal forma que todos os membros de um dado subconjunto sejam se similares de acordo com alguma medida de similaridade milaridade (Basu (B et al., 2008). Han e Kamber (2000) definem um grupo como uma coleção de objetos que são similares entre si e se diferenciam dos objetos de outro grupo. Porém, em muitas aplicações a noção de grupo (cluster) ( não está bem definida (Tan et al., 2005). A Figura 1 ilustra a dificuldade em se definir o número de grupos e quais objetos constituem cada grupo. Um mesmo conjunto de objetos (dados ou vev tores de características) pode ser separado em grupos gru de diversas maneiras diferentes, o que evidencia que a definição finição de um grupo é imprecisa e que a melhor me definição nição depende da natureza dos dados e dos rere sultados desejados. ISBN: 978-85-8001-069-5 Pontos Originais Seis Grupos Dois Grupos Quatro Grupos Figura 1. Diferentes maneiras de agrupar o mesmo conjunto de pontos. A análise de agrupamento pode ser utilizada utiliza como uma ferramenta independente de mineração de dados para obter informações sobre a distribuição dos dados, dos, ou servir como uma etapa de pré-processapré mento para outros algoritmos de mineração de dados (Han e Kamber, 2000). Técnicas de agrupamento agru possibilitam tam o desenvolvimento de importantes impor ferramentas para análise de dados sobre os quais se tem pouco ou nenhum conhecimento prévio (Jain e Dubes, 1988; Xu e Wunsch, 2005). Algoritmos Algorit de agrupamento são utilizados em diversas aplicações, apli como reconhecimento cimento de padrões (Webb, 2002), segmentasegmenta ção de imagens (Coleman e Andrews, 1979), compressão (Abbas e Fahmy, 1994), aprendizado aprendi de máquina (Alpaydin, 2004), dentre outras. Como, em princípio, os rótulos dos dados em uma tarefa de agrupamento não são conhecidos a pripri ori, geralmente ralmente os algoritmos de agrupamento opeope ram de forma não supervisionada. Entretanto, é pospos sível definir finir medidas de qualidade dos agrupamentos agrupa propostos postos pelo algoritmo que consideram, consideram por exemplo, a distância inter e/ou /ou intragrupo dos agrupamentos propostos.. Essas medidas de qualidade do agrupamento podem ser utilizadas para guiar um processo de busca por um conjunto de grupos (p. ex., particionamento dos dados) que otimize tal critério. Nesses casos diz-se que está tá sendo executada uma tata refa de agrupamento ótimo de dados. 3 Um m Novo Algoritmo de Abelhas para a Solução de Problemas de Agrupamento Ótimo de Dados Nesta seção será formalizado um algoritmo para solução de problemas de agrupamento ótimo de dados inspirado no processo de tomada de decisão coletiva co em sociedades de insetos, especificamente as colônias de abelhas, baseado noo algoritmo algo proposto por Maia et al. (2010) para otimização multimodal mul contínua. A seguir estão resumidas algumas características interessantes ressantes dos processos de tomada de decisão coc letiva por colônias de abelhas em problemas de forraforra geamento, bem como de busca por locais para a conscon trução de um novo ninho (Gadau e Fewell, 2009): 2009) • As abelhas dançam para recrutar recr outras abelhas para uma fonte de alimento. 624 Anais do XIX Congresso Brasileiro de Automática, CBA 2012. • As abelhas ajustam a exploração e recuperação de alimentos de acordo com o estado da colônia. • As abelhas, diferentemente das formigas, exploram múltiplas fontes de alimento simultaneamente, mas quase invariavelmente convergem para o mesmo novo local de construção do ninho. • Há uma relação positiva linear entre o número de abelhas dançando e a quantidade de abelhas recrutadas para uma fonte de alimento: esse sistema de recrutamento linear faz com que as trabalhadoras sejam equilibradamente distribuídas entre opções similares. • A dança das abelhas comunica a distância e a direção dos novos sítios para ninhos. O recrutamento para o novo sítio continua até que um limiar de número de abelhas seja atingido. • A qualidade da fonte de alimentos influencia a dança das abelhas. • Todas as abelhas se aposentam após algum tempo, o que significa que, independentemente da qualidade do novo sítio, as abelhas param de recrutar outras. Essa aposentadoria depende da qualidade do sítio: quanto maior, mais tardia. Tendo como inspiração as características interessantes dos processos de tomada de decisão coletiva por colônias de abelhas, foi proposto em Maia et al. (2010) um algoritmo para problemas de otimização multimodal contínua. Esse algoritmo obteve sucesso na geração e manutenção de diversidade e alcançou resultados de boa qualidade na otimização global. Essas características motivaram a adaptação desse algoritmo para a tarefa de agrupamento. O algoritmo apresentado neste artigo tem como arcabouço o algoritmo proposto por Maia et al. (2010), apresentado a seguir, utilizando uma representação do enxame e funções de avaliação adaptadas para tratar problemas de agrupamento ótimo de dados. 1. Criar aleatoriamente um enxame de N abelhas no espaço: cada abelha codifica uma solução candidata para o problema. 2. Executar os passos 2.1 a 2.4, até que se alcance um número I de iterações: 2.1. Mover aleatoriamente cada abelha pelo espaço de busca. 2.2. Avaliar cada abelha, por meio de uma função objetivo, de modo a se ter uma medida de sua qualidade (fitness). 2.3. Realizar os recrutamentos, elegendo-se as n melhores abelhas como recrutadoras e movendose uma parcela das demais em direção a elas de acordo com o fitness: quanto melhor for o fitness da recrutadora, maior será a quantidade de abelhas por ela recrutada. 2.4. Mover as abelhas não recrutadas de forma aleatória para outra região do espaço de busca. 3. Retornar o enxame, a melhor abelha e os respectivos valores da função objetivo. ISBN: 978-85-8001-069-5 Uma das principais adaptações se deu na forma como uma abelha é definida: cada abelha possui um conjunto de protótipos que representam um possível agrupamento para a base de dados fornecida. Para tanto, utiliza-se uma matriz ۰ ∈ ℜ(ௗାଵ)×ୡೌೣ para a sua representação (Equação 1). A quantidade de linhas da matriz B é definida por (d + 1), sendo d o número de dimensões dos objetos a serem agrupados. O número de colunas é igual à cmax, um parâmetro de entrada que indica a quantidade máxima de grupos que o agrupamento representado pela abelha poderá ter. Numa dada coluna j, as linhas de 1 a d representam as dimensões de um protótipo, cj, e a última linha contém um valor de limiar, ܮ ∈ [0, 1], que é utilizado para definir se o protótipo está ativo ou não. Uma abelha sempre representará e processará cmax protótipos. Porém, o agrupamento por ela codificado será formado apenas pelos protótipos ativos, que serão considerados para a avaliação de fitness. Um protótipo pj é considerado ativo quando o seu valor de limiar Lj for maior ou igual a 0,5. Essa codificação permite que o algoritmo manipule agrupamentos com diferentes quantidades de grupos, capacitando-o a determinar de forma automática a quantidade ótima de grupos. Esse fato, aliado à capacidade de busca multimodal, permite ainda que sejam encontrados múltiplos agrupamentos com qualidades equivalentes, mas diferentes, seja em relação à quantidade de grupos, seja em relação aos objetos que compõem cada grupo. c1 B= L 1 ci1 2 c2 ccmax ci c = , , i L2 Lc max d c i i = 1, 2, , cmax . (1) O comportamento esperado para o algoritmo é se aproximar do apresentado pelas colônias ao explorarem múltiplas fontes de alimento, com a formação de conjuntos de abelhas representando agrupamentos promissoramente ótimos. Espera-se também que a quantidade de abelhas em cada conjunto seja proporcional à qualidade do agrupamento por elas representado. Esse comportamento contribui para a geração e manutenção de diversidade, sendo que a geração de diversidade é reforçada no Passo 2.4, por meio da movimentação de um grupo de piores abelhas para diferentes regiões do espaço de busca de forma aleatória. O Passo 2.1, em que ocorre a movimentação aleatória das abelhas, foi implementado fazendo-se cada abelha dar um pequeno passo numa direção aleatória e, opcionalmente, pode ser implementado utilizando-se técnicas de busca local. O recrutamento é uma das fases mais importantes, pois é responsável por atrair abelhas para uma região considerada promissora, melhorando assim a qualidade das soluções representadas pelo enxame. 625 Anais do XIX Congresso Brasileiro de Automática, CBA 2012. Na natureza, as abelhas efetuam uma dança danç que indica para as demais abelhas do enxame a direção, a distância tância e o quão boa é a fonte de alimento enconencon trada (Camazine e Sneyd,, 1991), recrutando para aquela área mais abelhas. Seja N o número de abelhas, n o número de abelhas recrutadoras, p o valor que determina o perper centual de abelhas não recrutadoras ras que será recrurecru tado e α a taxa de recrutamento. O recrutamento é feito a partir da equação Bi = Bi + α(B − Bi), em que Bi é a abelha recrutada e B é a abelha recrutadora. IsI so significa que cada abelha recrutada crutada será movida na direção de sua recrutadora a uma taxa de recrutarecruta mento positiva α. Das M abelhas que poderão ser rere crutadas, com M = (N – n),, apenas uma parcela, parcela determinada por R = [p×M] ([·]] denota o operador inteiinte ro mais próximo), será de fato recrutada. recru Assim, o número de abelhas não recrutadas tadas que serão movidas movi aleatoriamente mente para outro ponto no espaço de busca é Q = M – R. A associação das abelhas a serem recrutadas a uma das abelhas recrutadoras se dá em duas etapas. etapa Primeiro meiro é determinado o número de abelhas a serem recrutadas por cada recrutadora (esse número é propro porcional à qualidade relativa da solução represenrepre tada por cada recrutadora em relação às demais). demais Na segunda etapa, cada abelha a ser recrutada é associada à abelha recrutadora mais próxima, sendo resres peitada a quantidade de abelhas a serem recrutadas por cada recrutadora determinada na primeira etapa. etapa Assim, oss parâmetros do algoritmo são o número de iterações, I, o número de abelhas do enxame, en N,, o número de abelhas recrutadoras, n, o valor que determina o percentual de abelhas não recrutadoras re que será recrutado, p,, a taxa de recrutamento, recruta α, a taxa de movimentação aleatória, t, e o número máximo de grupos que uma abelha poderá representar, represen cmax. 4 Análise de Sensibilidade Paramétrica Nesta seção serão erão apresentados resultados preliminaprelimina res sobre o desempenho do algoritmo proposto em determinar a melhor quantidade de grupos e definir um agrupamento,, buscando manter a diversidade diversi nas soluções. É importante ressaltar que os experimentos ex realizados têm como objetivo avaliar a capacidade capa do algoritmo de encontrar agrupamentos com base apeape nas no conjunto junto de dados a ele fornecido, forne além da realização de uma análise qualitativa litativa de sensibilidade que permita investigar a sua robustez em relação re a variações em seus parâmetros, sem a pretensão preten de se avaliar com rigor quantitativo tativo os resultados re ou compará-los com aqueles obtidos tidos por outros algoritmos. algo Serão apresentados os resultados dos dos testes rearea lizados com a base de dados Ruspini pini (Ruspini, 1970), bastante utilizada na avaliação ção de algoritmos de agrupamento. Essa base, apresentada tada na Figura 2, contém 75 objetos, linearmente separá paráveis em quatro grupos, tendo como atributos ibutos dois números inteiros. ISBN: 978-85-8001-069-5 Figura 2. Base de dados Ruspini. Foi utilizada como função de avaliação de fitness o índice da medida de Silhueta (Rousseeuw, 1987), cujo valor está confinado no intervalo [−1, 1], sendo que quanto mais próximo do valor 1, melhor é o agrupamento. A medida de Silhueta foi calculada para cada objeto xi da base de dados e o fitness foi definido como a média dia entre essas medidas. A Equação 2 define a medida de Silhueta s(xi), na qual a(xi) é a dissimilaridade média (neste trabalho determinada pela distância euclidiana) entre o objeto xi e os objetos do grupo a que ele pertence e b(xi) é o menor valor de dissimilaridade ridade média entre o objeto xi e os objetos de cada um dos demais grupos. s ( xi ) = b( xi ) − a ( xi ) max{a ( xi ), b( xi )} (2) Para a discussão dos resultados, resultados serão apresentados gráficos contendo os quatro melhores agrupaagrupa mentos distintos obtidos e os seus respectivos valores de fitness. Aoo final da execução do algoritmo, algoritmo os centroides de cada grupo foram ajustados para o centro dos dados que representam,, sendo apresentados nas figuras como uma estrela preta. preta A Tabela 1 apresenta os quatro conjuntos de vav lores de parâmetros utilizados durante os testes. testes Tabela 1. Configurações dos parâme arâmetros do algoritmo. Conjunto I N n α t p cmax 1 2 3 4 50 50 100 20 30 30 60 60 6 6 12 12 0,01 0,1 0,05 0,05 0,001 0,001 0,01 0,01 0,8 0,8 0,8 0,8 6 6 8 8 Tabela 2. Resultados para as configurações onfigurações apresentadas na Tabela 1. Base Configuração dos Parâmetros Média ± Desvio padrão do fitness Ruspini Conjunto 1 Conjunto 2 Conjunto 3 Conjunto 4 0,6562 ± 0,0037 0,6582 ± 0,0000 0,6582 ± 0,0000 0,6582 ± 0,0000 A Tabela 2 apresenta uma síntese dos resultados obtidos: dos: nela são apresentados a média e o desvio padrão dos valores de fitness das melhores soluções obob tidas em 10 execuções do algoritmo, para cada um dos conjuntos juntos de parâmetros apresentados na Tabela 1. 626 Anais do XIX Congresso Brasileiro de Automática, CBA 2012. Analisando-se se os resultados apresentados na Tabela 2, é possível perceber que, para as quatro configurações de parâmetros râmetros apresentadas na Tabela 1, o algoritmo obteve comportamentos médios do fitness do melhor agrupamento encontrado estatisticamente esta iguais, fato esse que representa uma evidência evidên da robustez do algoritmo em relação a variações em seus parâmetros. Para o conjunto de parâmetros 1, em 75% das execuções ções foi encontrado o agrupamento esperado, es assim como proposto por Ruspini (1970). (1970 Nas Figuras 3, 4 e 5 podem ser observados os quatro melhores agrupamentos distintos obtidos com essa configuraconfigura ção na primeira execução, na execução intermediária e na execução final, respectivamente. respectivamente A Tabela 3 apresenta a média e o desvio padrão dos valores de fitness das quatro melhores soluções obtidas em 10 execuções utilizando o conjunto de parâmetros 1. Tabela 3. Resultados para o conjunto de parâmetros 1. Rank da Solução Média ± Desvio Padrão do fitness 1 2 3 4 0,6565 ± 0,0037 0,6175 ± 0,0292 0,5832 ± 0,0158 0,5730 ± 0,0208 Fitness: 0,6582 Fitness: 0,5885 Fitness: 0,6582 Fitness: 0,6498 Fitness: 0,5979 Fitness: 0,5879 Figura 5. Agrupamento obtido – Conjunto de parâmetros 1 – Última execução. O aumento da taxa de recrutamento no conjunto 2 proporcionou uma melhor convergência para boas soluções. luções. Em todas as execuções foi obtido o agrupaagru mento real da base Ruspini. Além disso, os valores de fitness das melhores soluções foram maiores do que aqueles apresentados para o conjunto con 1, conforme pode ser visto nas Figuras 6, 7 e 8. Fitness: 0,6582 Fitness: 0,6561 Fitness: 0,6326 Fitness: 0,6310 Fitness: 0,6300 Fitness: 0,5879 Figura 6. Agrupamento obtido – Conjunto de parâmetros 2 – Primeira execução. Figura 3. Agrupamento obtido – Conjunto de parâmetros p 1 – Primeira execução. Fitness: 0,6582 Fitness: 0,5609 Fitness: 0,6582 Fitness: 0,6561 Fitness: 0,6498 Fitness: 0,6196 Fitness: 0,5775 Fitness: 0,5388 Figura 7. Agrupamento obtido – Conjunto de parâmetros 2 – Execução intermediária. Figura 4. Agrupamento obtido – Conjunto de parâmetros 1 – Execução intermediária. ISBN: 978-85-8001-069-5 627 Anais do XIX Congresso Brasileiro de Automática, CBA 2012. Fitness: 0,6582 Fitness 0,6498 Fitness: Fitness: 0,6582 Fitness: 0,6561 Fitness: 0,6196 Fitness 0,5839 Fitness: Fitness: 0,6498 Fitness: 0,6397 Figura 8. Agrupamento obtido – Conjunto de parâmetros 2 – Última execução. A Tabela 4 apresenta a média e o desvio padrão dos valores de fitness das quatro melhores soluções obtidas das em 10 execuções utilizando o conjunto de papa râmetros 2. Figura 10. Agrupamento obtido – Conjunto de parâmetros 3 – Execução intermediária. Fitness: 0,6582 Fitness: 0,6561 Fitness: 0,6498 Fitness: 0,6410 Tabela 4. Resultados para o conjunto de parâmetros 2. Rank da Solução Média ± Desvio papa drão do fitness 1 2 3 4 0,6582 ± 0,0000 0,6540 ± 0,0036 0,6339 ± 0,0151 0,6114 ± 0,0246 Os agrupamentos obtidos a partir do conjunto de parâmetros 3, apresentados nas Figuras 9, 10 e 11, não diferem muito daqueles obtidos dos anteriormente. A Tabela 5 apresenta a média e o desvio padrão dos vav lores de fitness das quatro melhores soluções obtidas obti em 10 execuções utilizando o conjunto de parâmetros parâ 3. Tabela 5. Resultados para o Conjunto de Parâmetros 3. Rank da Solução Média ± Desvio papa drão do fitness 1 2 3 4 0,6582 ± 0,0000 0,6561 ± 0,0000 0,6528 ± 0,0027 0,6460 ± 0,0052 Fitness: 0,6582 Fitness: 0,6549 As soluções obtidas com a configuração dos papa râmetros tros de acordo com o conjunto 4 não apresentaapresenta ram a mesma qualidade daquelas obtidas utilizandouti se os demais conjuntos,, pois, devido ao pequeno pe número de iterações, a qualidade ficou totalmente dependente do enxame inicial. Nas Figuras 12, 12 13 e 14 é possível visualizar os agrupamentos obtidos com o conjunto 4. Fitness: 0,6582 Fitness: 0,6561 Fitness: 0,6498 Fitness: 0,6079 Fitness 0,6561 Fitness: Fitness 0,6498 Fitness: Figura 9. Agrupamento obtido – Conjunto de parâmetros 3 – Primeira execução. ISBN: 978-85-8001-069-5 Figura 11. Agrupamento obtido – Conjunto de parâmetros 3 – Última execução. Figura 12. Agrupamento obtido – Conjunto de parâmetros 4 – Primeira execução. 628 Anais do XIX Congresso Brasileiro de Automática, CBA 2012. Fitness: 0,6582 Fitness: 0,6182 juntos testados, os comportamentos médios mé do fitness das melhores soluções foram estatisticamente estatisti iguais. 5 Conclusão e Trabalhos Futuros Fitness: 0,5598 Fitness: 0,5584 Figura 13. Agrupamento obtido - Conjunto de parâmetros 4 – Execução intermediária. Fitness: 0,6582 Fitness: 0,6561 Fitness: 0,6498 Fitness: 0,5810 Figura 14. Agrupamento obtido – Conjunto de parâmetros 4 – Última execução. A Tabela 6 apresenta a média e o desvio padrão dos valores de fitness das quatro melhores soluções obtidas em 10 execuções utilizando o conjunto de papa râmetros 4. Tabela 6. Resultados para o Conjunto de Parâmetros 4. Melhor Solução Média do fitness ± Desvio padrão 1 2 3 4 0,6582 ± 0,0000 0,6288 ± 0,0261 0,6103 ± 0,0389 0,5756 ± 0,0285 Os resultados obtidos ao aplicar o algoritmo proposto à base Ruspini foram bastante satisfatórios. O número mero de grupos das melhores soluções entre 4 e 5 (apenas no quarto melhor agrupamento apresentado na Figura 11 foram encontrados seis grupos) demonstra a objetividade do algoritmo em encontrar en a melhor quantidade de grupos. Apesar de alguns al agrupamentos encontrados parecerem visualmente visual ruins, a qualidade demonstrada pela função de fitness indica que os mesmos são válidos e representam represen agrupamentos interessantes sob o ponto de vista do índice ín utilizado. Outro aspecto que merece ser destacado desta éa robustez que o algoritmo apresentou em relação re às variações em seus parâmetros: para os quatro qu conISBN: 978-85-8001-069-5 Neste artigo foi apresentado um algoritmo para agruagru pamento ótimo de dados inspirado em técnicas de InI teligência de Enxame. Essee algoritmo, algoritmo que é uma adaptação do algoritmo proposto por Maia et al. (2010) para otimização multimodal contínua, tem por objetivo encontrar agrupamentos em determinada bab se de dados dos sem informação prévia alguma, mantendo diversidade de soluções. Com relação aos efeitos dos parâmetros, os resultados dos testes realireali zados indicam que: 1) o algoritmo é robusto em relação re a variações em seus parâmetros; 2) o aumento da taxa de recrutamento recru aumenta a velocidade de convergência para boas soso luções; 3) o aumento da quantidade de abelhas abe do enxame, bem como de abelhas recrutadoras, recrutado faz com que o número de abelhas abe que representam tam soluções ótimas aumente significatisigni vamente; 4) um númeroo reduzido de iterações faz com que, em alguns guns casos, a melhor solução para determinado agrupamento mento não seja enconencon trada. Com base nos resultados, ainda preliminares, apresentados sentados nesse artigo, é possível afirmar que o algoritmo ritmo proposto cumpriu os objetivos ob e possui desempenho penho satisfatório, pois conseguiu, nos casos teste tados, dos, encontrar agrupamentos com o número de grugru pos esperado, além de apresentar outras boas solusolu ções. Diante das considerações feitas, propõem-se propõem como continuidade do trabalho as seguintes atividades: 1) incluir novos recursos como: efeito probabiprobabi lístico dos limiares, elitismo, mecanismo de memória de soluções; ções; 2) realizar testes com outros índices de validavalida ção de agrupamentos; 3) testar o algoritmo em bases de dados com diferentes características e diversos diver graus de complexidade e comparar o seu desempenho desem com os de outros algoritmos; 4) estudar mais detalhadamente lhadamente os efeitos dos parâmetros. Agradecimentos Os autores agradecem à FAPEMIG, à FAPESP, à CAPES, ao CNPq e ao MackPesquisa pelo apoio. 629 Anais do XIX Congresso Brasileiro de Automática, CBA 2012. Referências Bibliográficas Abbas, H., Fahmy, M. (1994). Neural networks for maximum likelihood clustering. Signal Process 36(1), p. 111-126. Albert, R. and Barabasi, A. (2002). Statistical mechanics of complex networks. Reviews of Modern Physics, v. 74, p. 47-97. Alpaydin, E. (2004). Introduction to Machine Learning. Cambridge: the MIT Press. Basu, S.; Davidson, I.; Wagstaff, K. L. (2008). Constrained Clustering: Advances in Algorithms, Theory, and Applications. Chapman & Hall. Bonabeau, E., Dorigo, M. e Theraulaz, G. (1999). Swarm Inteliggence: From natural to artificial systems. New York: Oxford University Press. Brooks, R. A. and Flynn, A. M. (1989). Fast, cheap and out of control: A robot invasion os the solar system. Journal of the British Interplanetary Society 20: 478-485. Camazine, S., Deneubourg, J. L., Franks, N. R., Sneyd, J., Theraulaz, G. e Bonabeau, E. (2001). Self-organization in Biological Systems. Princeton, New Jersey: Princeton University Press. Camazine, S.; Sneyd, J. (1991). A Model of Collective Nectar Source Selection by Honey Bees: self-organization through simple rule. Journal of Theoretical Biology, v.149, n.4, p.547-571. Cicirello, S. and smith, S. F. (2004). Wasp-like agents for distributed factory coordination. Journal of Autonomous Agents and Multi-Agent Systems 8: 237-266. Coleman, G., Andrews H. (1979), Image segmentation by clustering. In: Proceedings of the IEEE, v. 67, p. 773-785. Couzin, I. D., Krause, J., Franks, N. R., e Levin, S. A. (2005). Effective leadership and decision-making in animal groups on the move. Nature 433: 513516 David, H. (1987) Statecharts: a visual formalism for complex systems, Science of Computer Programming. Volume 8, Issue 3, Pages 231-274. DiCaro, G. and Dorigo, M. (1998). AntNe: Distributed stigmergic control for communications networks. Journal of Artificial Intelligence Research 9: 317-365. Dorigo, M. E Stützle, T. (2004). Ant Colony Optimization. Cambridge: MIT Press. Fewell, J. H. (2003). Social Insect Networks. Science 301: 1867-1870. Gadau, J.; Fewell, J. (eds.) (2009). Organization of insect societies: from genome to sociocomplexity. Cambridge: Harward Univesity Press. Han, J.; Kamber, M. (2000). Data Mining: Concepts and Techniques. San Francisco: Morgan Kaufmann Publishers. Jain, A.; Dubes, R. (1988). Algorithms for Clustering Data. Englewood Cliffs: Prentice Hall. Krieger, M. J. B., Billeter, J. B., and Keller, L. (2000). Ant-like task allocation and recruitment in cooperative robots. Nature 406: 992-995. ISBN: 978-85-8001-069-5 Lumer, F., Faieta, B. (1994). Diversity and adaptation in populations of clustering ants. From Animals to animats 3: Proceedings of the 3rd International Conference on Simulation of Adaptive Behavior, 501-508. Maia, R. D., Castro, L. N., Caminhas, W. M. (2010). Colônias de Abelhas como Modelo para Otimização Multimodal Contínua: Uma Proposta e Análise Paramétrica Qualitativa. In: XVIII Congresso Brasileiro de Automática, 2010, Bonito. Anais do XVIII Congresso Brasileiro de Automática, p. 4481-4488. Mallon, E. B., Pratt, S. C., and Franks, N. R. (2001). Individual and collective decision-making during nest site selection by the ant Leptothorax albipennis. Behavioral Ecology and Sociobiology 50: 352-359. Marshall, J. A. R., Dornhaus, A., Franks, N. R., e Kovacs, T. (2006). Noise, cost and speed-accuracy trade-offs: Decision-making in a descentralized system. Journal of the Royal Society: Interface 3: 243-254. Newman, M.E.J. (2003). The structure and function of complex networks. SIAM Reviews, v. 45, n. 2, p. 167-256. Parunak, H. D. (1997). ‘Go to the end: Engineering principles from natural multi-agent systems’. Annals of Operations Research 75: 69-101. Rousseeuw, P. J. (1987). Silhouettes: a graphical aid to the interpretation and validation of cluster analysis . Journal of Computational and Applied Mathematics, v. 20, p. 53-65. Ruspini, H. R. (1970). Numerical Methods for Fuzzy Clustering. In: Information Sciences, 2, p. 139350. Theodoridis, S.; Koutroumbas, K. (2003). Pattern Recognition. San Diego: Academic Press. Webb, A. (2002). Statistical pattern recognition. New Jersey: John Wiley & Sons. Weiss, G. (1999). Multiagent systems: A modern approach to distributed artificial intelligence. Cambridge: MIT Press. Wilson, E. O. (1975). Sociobiology: The New Synthesis. Cambridge: Harward Univesity Press. Xu, R.; Wunsch D. (2005). Survey of clustering algorithms. In: IEEE Transactions on Neural Networks, vol. 16, no. 3. 630