• Nenhum resultado encontrado

Algoritmos inteligentes baseados em enxames, e consequentemente semelhantes ao PSO, são algoritmos que tentam mapear comportamentos sociais em um ambiente computacional controlado. As partículas que compõem o enxame precisam, de alguma forma, propagar as informações que conseguem coletar, caso contrário, os referidos algoritmos não poderiam se apoiar no conceito de sociedade, pois as partículas estariam "voando"pelo espaço de busca à procura de soluções sendo influenciadas apenas por sua própria experiência.

Capítulo 3. Algoritmos inspirados em enxames de partículas 47

comunicar, desempenham um papel importantíssimo, influenciando completamente o resultado da execução. Na maioria das vezes a topologia pode levar ao sucesso ou ao fracasso de uma determinada instância do algoritmo.

As topologias mais conhecidas e utilizadas são as topologias Estrela e Anel (KENNDY e EBERHART, 1995) (ver Figura 14). A topologia estrela foi a primeira a ser proposta, e define que cada partícula está conectada com qualquer outra partícula do enxame. Consequentemente, uma partícula é influenciada por todas as outras partículas, pois estaria recebendo informações de todo o enxame. Isto apresenta grandes vantagens quando o problema é sabidamente unimodal (apresenta uma única solução ótima), pois as partículas tenderão rapidamente para a única solução.

A topologia em anel é considerada a variação mais importante do algoritmo do PSO original, onde cada partícula se comunica apenas com seus vizinhos diretos. Uma influência direta desta diferença entre os modelos de comunicação é responsável por fazer enxames com a topologia estrela terem um desempenho, na maioria das vezes, superior aos enxames com topologia em anel em problemas unimodais, enquanto que problemas multimodais (problemas com várias soluções ótimas ou sub-ótimas) são melhor tratados com o uso de enxames com topologia em anel. Isso se deve à característica exploratória da topologia em anel, não atraindo, portanto, todas as partículas para uma solução sub-ótima, o que é bastante comum em problemas multimodais.

Vale salientar que na maioria das aplicações reais do PSO não se conhece bem o problema a ser resolvido, muito menos sabe-se quantas soluções satisfatórias ele pode ter. Consequente- mente, utilizar a topologia estrela pode ser muito arriscado. No entanto, aplicar a topologia em anel geralmente leva a uma convergência mais lenta, pois em um enxame de N partículas, uma partícula pode ter de esperar de uma a N/2 iterações para indiretamente receber informações da melhor partícula do enxame, enquanto que na topologia estrela, após a primeira iteração todas as partículas já têm conhecimento da melhor solução do bando. Diante deste problema, outras topologias foram criadas visando um maior número de conexões como as Focal, Hierárquica e Von Neumann.

Figura 14 – Topologias (a) Estrela e (b) Anel.

A topologia focal (ENGELBRECHT, 2007) introduz o conceito de partícula focal. Esta partícula desempenha um papel especial no enxame. Ela está conectada a todas as outras partículas no enxame, enquanto que todas as partículas não-focais estão ligadas apenas à partícula focal (ver Figura 15). A referida partícula funciona como uma mediadora, arbitrando a cada iteração se as informações passadas a ela pelas partículas não-focais devem ou não ser propagadas para todo o enxame.

De maneira mais simples, a partícula focal só atualizará sua posição no espaço se esta atualização acarretar melhora no seu desempenho. Este detalhe faz a diferença, pois se a partícula focal simplesmente repassasse a informação da melhor partícula para todo o enxame, se estaria falando da topologia estrela, ou seja, neste caso, um enxame com N partículas e topologia focal seria equivalente a um enxame com N − 1 partículas com topologia estrela.

Figura 15 – Topologia Focal.

Fonte: (BARREIROS, 2008)

A topologia hierárquica (JANSON e MIDDENDORF, 2005) estrutura as partículas em uma árvore. Neste modelo, cada partícula é influenciada apenas por sua própria experiência e pela informação da partícula imediatamente superior a ela na hierarquia. Por definição, h é a altura da árvore, d a sua ordem e N a quantidade total de nós na árvore. A Figura 16 apresenta um exemplo. A árvore é construída inicialmente de forma aleatória. Após a inicialização da árvore, atualiza-se a posição das partículas de acordo com o seu fitness. O algoritmo básico de atualização da árvore na topologia hierárquica pode ser observado na Figura 17. A cada iteração, um fato interessante que pode ser observado no algoritmo mostrado é que uma partícula pode subir apenas um nível na hierarquia e pode chegar ao topo em no máximo em h − 1 iterações, a não ser que uma solução melhor tenha sido encontrada. No entanto, um nó pode descer até o último nível mesmo na primeira iteração. O processo demonstrado na Figura 17 ocorre após a avaliação da função objetivo, mas antes da atualização da velocidade e posição de cada partícula do enxame.

A cada iteração, o algoritmo seleciona na árvore, utilizando o caminhamento em largura, todos os nós internos (um por vez). Para cada partícula selecionada, o algoritmo verifica se seus filhos têm desempenho melhor. Em caso positivo, é realizada a troca do pai com o filho corrente, de forma que ao fim deste passo, o lugar antes ocupado pelo pai será agora ocupado

Capítulo 3. Algoritmos inspirados em enxames de partículas 49

Figura 16 – Topologia Hierárquica com N = 7.

Fonte: (BARREIROS, 2008)

pela partícula com o melhor desempenho entre o pai e seus filhos. Vale salientar que o número de filhos máximo d determina o potencial exploratório do enxame. Um valor baixo para d significa que a partícula pai é influenciada por poucas partículas, favorecendo a diversidade da busca. Em contrapartida, um valor alto para d favorece a convergência da busca.

Figura 17 – Algoritmo de atualização da Topologia Hierárquica.

Fonte: (BARREIROS, 2008)

Outra topologia bastante conhecida é a Von Neumann (KENNEDY e MENDES, 2002). O esquema gráfico desta topologia pode ser comparado a uma malha, onde a vizinhança de cada partícula é estática, com os quatro vizinhos diretos (ver Figura 18). O grafo formado geralmente é fechado, de forma que as partículas de uma extremidade se comunicam com as partículas da

extremidade oposta.

Figura 18 – Algoritmo de atualização da Topologia Von Neumann.

Fonte: (BARREIROS, 2008)

A topologia Von Neumann obteve resultados interessantes devido a sua abordagem balanceada entre exploration e exploitation. Esta topologia inspirou a criação das topologias Four Clusterse Clan. A topologia Four-Clusters (MENDES; KENNEDY; NEVES, 2003) consiste em ligar grupos de partículas. Ela é inspirada por pequenas comunidades que se comunicam através de informantes. A quantidade de informantes em cada agrupamento é exatamente a quantidade de agrupamentos de todo o enxame menos um, ou seja, quantidade de agrupamentos que com os quais um determinado agrupamento deve se comunicar (ver Figura 19). De acordo com a definição da topologia, os agrupamentos marcados com "A", "B", "C"e "D"são os chamados clusters. As partículas realçadas em cinza são os informantes, que se comunicam com os demais clusters.

Figura 19 – Topologia Four-Clusters.

Fonte: (BARREIROS, 2008)

Os informantes de um cluster são estáticos, ou seja, permanecem os mesmos durante toda a execução do algoritmo. Utilizando essa estrutura, a informação flui de um informante diretamente para outro. Um aspecto que pode ser notado, é que uma informação boa não será diretamente transmitida para outros clusters, o que faz com que algumas iterações sejam desperdiçadas desnecessariamente.

Capítulo 3. Algoritmos inspirados em enxames de partículas 51

Diante desta desvantagem, foi criada a topologia Clan (CARVALHO e BASTOS-FILHO, 2009), que flexibilizou o processo de transmissão da melhor informação, tornando-o mais rápido. Nesta topologia, clãs são grupos de indivíduos que de alguma forma se relacionam através de uma característica comum a todos os integrantes do clã. Internamente ao clã há um processo que determina seu líder, que intuitivamente todas as outras partículas tendem a seguir. O significado social do clã pode ser visto como uma pequena parte de uma sociedade maior.

Uma vez determinado, de forma aleatória, o conjunto de partículas de cada clã, a cada iteração, cada clã seleciona a partícula que obteve o melhor desempenho dentro do clã como líder. A delegação do líder representa a definição da partícula que terá o poder de liderar as outras partículas em direção à uma região mais promissora. Objetivando-se o compartilhamento de informações entre clãs, a topologia Clan adota um mecanismo, chamado de conferência, em que os líderes de cada clã se comunicam trocando informação uns com os outros. A Figura 20 demonstra graficamente os clãs utilizando uma comunicação interna baseada na topologia estrela e a conferência entre líderes (coloridos de preto) também utilizando a mesma topologia. Vale salientar que a escolha da topologia é arbitrária, podendo-se usar tanto a topologia anel quanto a topologia estrela internamente ou externamente ao clã.

Figura 20 – Topologia Clan e a conferência dos líderes.

Fonte: (BARREIROS, 2008)

Após a conferência dos líderes, cada líder atualiza sua posição e velocidade, e retorna ao seu clã de origem para propagar a informação adquirida. A informação então é diretamente transmitida para cada partícula no clã, sendo, portanto, indiretamente influenciadas pela melhor partícula do enxame.

As topologias apresentadas previamente são estáticas, ou seja, as partículas são conceitu- almente conectadas. Consequentemente, os vizinhos de cada partícula nunca mudam durante o processo de busca. Deste modo, a informação da população pode não ser suficientemente usada em alguns tipos de esquemas (WANG e XIANG, 2008). Visando superar esta limitação, a criação de topologias dinâmicas foi proposta. Estas topologias permitem que partículas per- tençam a vizinhanças diferentes durante a busca, balanceando a exploração e a convergência e permitindo que a informação da população seja melhor transmitida durante a busca. A seguir são apresentadas cinco topologias consideradas relevantes pela literatura: Niche (BRITS; ENGEL-

BRECHT; BERGH, 2002), Clubs (ELSHAMY; EMARA; BAHGAT, 2007), Cluster (PASSARO e STARITA, 2008), Species e Dynamic Ring(LI, 2004; WANG e XIANG, 2008). Esta relevância é baseada na fonte de inspiração, desempenho, propriedades teóricas, número de trabalhos e aplicações publicadas e o potencial para desenvolvimentos e melhorias futuras.

A estrutura de comunicação baseada em Niche adota a criação de sub-populações (ni- chos). Partículas em diferentes nichos não se comunicam, explorando diferentes áreas do espaço do problema de forma isolada. Inicialmente, o número de nichos é igual ao número de partículas, ou seja, cada partícula é o próprio nicho. Deste modo, cada partícula busca por soluções individu- almente. No entanto, se a variância do fitness de uma partícula durante 3 iterações for menor que δ, um nicho é criado com a partícula corrente e o vizinho mais próximo. Outras partículas podem subsequentemente se juntar ao nicho criado se eles se moverem para uma solução próxima à área de busca do nicho. A característica de dividir o enxame em grupos independentes torna-se interessante para a resolução de problemas mais complexos, pois nestes podem existir múltiplos ótimos globais e seria desejável localizar todas ou parte substancial destas soluções.

A topologia Niche serviu de inspiração para outras topologias dinâmicas como a Cluster. A principal ideia por trás desta abordagem é dinamicamente adaptar a estrutura da vizinhança de modo a formar diferentes nichos. Isto é feito através da aplicação de um algoritmo de agrupamento (k-means) para identificar nichos e então restringir a vizinhança de cada partícula às outras partículas do mesmo grupo. Desta forma, cada grupo realiza uma busca local objetivando a localização de diferentes ótimos.

A topologia Clubs têm um funcionamento análogo à um clube onde indivíduos se encontram e socializam. Nesta topologia, cada partícula pode se juntar a mais de um clube, e cada clube pode acomodar qualquer número de partículas. Clubes vazios também são permitidos. Após a inicialização aleatória da posição e velocidade das partículas, cada partícula junta-se a um número pré-definido de clubes, que é conhecido como seu nível padrão de filiação. A escolha destes clubes é feita de forma aleatória. Uma vez definidos os clubes de cada partícula, a posição, velocidade e pbest das partículas são atualizadas levando em consideração a melhor posição encontrada pela vizinhança, a partir de todos os clubes que cada partícula pertence. Durante o processo de busca, se uma partícula apresenta desempenho superior que as demais de sua vizinhança, esta é obrigada a reduzir sua influência sobre as demais partículas. Para isto, a partícula tem o seu nível de filiação reduzido, sendo assim, obrigada a deixar um clube aleatoriamente. Este procedimento evita que haja convergência prematura do enxame. Por outro lado, se a partícula apresenta o pior desempenho da sua vizinhança, esta deve se juntar a mais um clube selecionado aleatoriamente para aumentar suas chances de adquirir informações úteis para si e para as demais partículas de sua vizinhança.

Na topologia Species, a população é dividida em sub-populações baseadas nas simi- laridades das partículas. Cada grupo possui um líder (partícula semente) e as partículas mais similares ao líder, ou seja, que estejam dentro do seu raio de cobertura, compõem o grupo. A

Capítulo 3. Algoritmos inspirados em enxames de partículas 53

cada iteração, as partículas semente são identificadas na população inteira e então adotadas como gbest das partículas que estão presentes no seu grupo separadamente. As espécies são formadas adaptativamente a cada iteração baseadas no desempenho das partículas no problema. Esta abordagem também demonstrou bom desempenho em problemas multimodais.

Na topologia Dynamic Ring, o esquema é similar ao da topologia Anel, onde partículas são posicionadas em uma estrutura de anel regular. No entanto, diferentemente da topologia original, partículas são conectadas de acordo com seu melhor desempenho pessoal pbest, ao invés de estarem conceitualmente conectadas de acordo com seus índices (lista circular). Na topologia Dynamic Ring, a partícula de pior pbest é posicionada na primeira posição, a segunda pior partícula em segundo e assim por diante. Ao final, a última partícula (de melhor pbest) é conectada à primeira (pior pbest) partícula do anel.