• Nenhum resultado encontrado

Análise da estrutura dos algoritmos gerados

3.7 Seleção/Geração de algoritmos para PSO

5.3.1 Análise da geração de algoritmos

5.3.1.4 Análise da estrutura dos algoritmos gerados

Esta análise tem como principal objetivo investigar os melhores componentes e valores de parâmetros para o PSO. Para isto, cada algoritmo gerado pelo CFG-GP foi armazenado e cada componente e valores de parâmetros adotados foram identificados (isto foi feito para cada iteração do CFG-GP, por simulação). A tabela 10 mostra os componentes e parâmetros dos algoritmos gerados por categoria de problemas. Esta tabela foca nos valores dos parâmetros e apresenta o percentual de vezes que um determinado valor de parâmetro esteve presente nos algoritmos do PSO durante as simulações.

Como pôde ser visto na tabela 10, embora a inicialização aleatória uniforme seja a estratégia mais utilizada na literatura, as inicializações baseadas em Oposição e NSM mostraram- se úteis para problemas presentes nas categorias Plate, Valley e Many Local Minima. Ficou clara também a importância de operadores de mutação no algoritmo do PSO. Em todas as categorias houve a presença destes operadores, sendo o Gaussiano e o aleatório os mais utilizados. Levando em consideração o parâmetro <TOPOLOGY>, pode-se notar que a escolha da topologia depende do nível de dificuldade do problema. Diferentemente dos demais parâmetros discutidos previamente, os valores adotados para <TOPOLOGY> apresentaram variações de acordo com a categoria dos problemas. Por este motivo, foi realizada uma investigação mais aprofundada a cerca deste componente. A tabela 11 apresenta as frequências em que cada possível topologia foi utilizada para cada categoria de problemas.

Como pode-se ver, a topologia Star foi a mais utilizada em problemas da categoria Bowl. Como os problemas desta categoria são mais simples de serem otimizados, então topologias

Capítulo 5. Experimentos e Resultados 83

Tabela 9 – Média dos valores de fitness dos algoritmos gerados pelo CFG-GP e dos algoritmos do ICSI 2014 em cada problema de otimização.

Categoria Problemas Algoritmos

Melhor Algor. do ICSI CFG-GP

Bowl

f1 A2: 1.51e-167(± 1.24e-105)H 1.22e-188(± 1.33e-125)

f2 A2: 1.52e-100(± 2.37e-56)H 1.42e-123(± 1.55e-80)

f3 A2: 2.72e-150(± 2.04e-107)H 1.67e-169(± 1.49e-126)

f4 A2: 2.48e-157(± 1.39e-123) 1.33e-168(± 2.21e-129)

f5 A4: 2.59e-163(± 1.16e-125) 2.63e-172(± 1.87e-135)

f6 A4: 1.53e-49(± 2.23e-23)H 1.43e-72(± 1.32e-61)

f7 A2: 3.34e-155(± 2.37e-121) 2.41e-169(± 1.36e-137)

f8 A5: 2.23e-57(± 1.54e-34)H 2.32e-84(± 2.38e-56)

Plate

f9 A2: 2.42e-12(± 2.43e-04)H 1.20e-44(± 1.32e-21)

f10 A5: 1.12e-42(± 2.25e-19)H 1.43e-68(± 2.98e-32)

f11 A2: 1.12e-10(± 1.28e-04)H 2.51e-31(± 2.23e-19)

f12 A2: 3.19e-32(± 1.39e-14) 1.31e-49(± 1.65e-23)

f13 A5: 1.87e-75(± 1.58e-43) 1.14e-87(± 2.24e-54)

f14 A2: 2.40e-08(± 0.0043)H 3.12e-26(± 2.76e-14)

f15 A5: 1.54e-35(± 3.21e-21)H 1.18e-57(± 1.76e-37)

f16 A2: 1.45e-40(± 2.72e-26) 1.73e-53(± 3.47e-43)

Valley

f17 A4: 2.41e-04(± 0.0031)H 2.97e-25(± 1.97e-22)

f18 A4: 3.29e-04(± 0.0026)H 6.54e-24(± 1.32e-18)

f19 A4: 7.54e-07(± 0.0053) 8.25e-11(± 1.45e-08)

f20 A4: 1.34e-06(± 0.0037) 1.12e-20(± 2.97e-15)

f21 A5: 2.21e-29(± 1.72e-21)H 1.24e-52(± 2.76e-42)

f22 A6: 1.94 e-20(± 2.22e-14)H 1.07e-39(± 3.13e-28)

f23 A6: 1.85e-09(± 1.34e-04) 1.16e-19(± 1.39e-12)

f24 A5: 1.95e-09(± 2.98e-04) 1.56e-19(± 2.38e-11)

Many

f25 A2: 2.81e-24(± 2.31e-15)H 1.41e-44(± 1.34e-32)

f26 A2: 0.0(± 0.0) 0.0(± 0.0)

f27 A2: 1.12e-04(± 0.0076)H 2.69e-24(± 3.65e-18)

f28 A3: 1.12e-36(± 2.72e-23)H 2.18e-59(± 2.43e-44)

f29 A2: 1.37e-03(± 0.054)H 1.13e-26(± 1.76e-19)

f30 A3: 4.81e-28(± 1.73e-14) 1.23e-38(± 1.37e-24)

f31 A2: 0.0(± 0.0) 0.0(± 0.0)

Tabela 10 – Valores de parâmetros resultantes por categoria de problema.

Categoria Parâmetros

INITIAL. MUTATION PROB-MUT. TOPOLOGY Bowl Random (62.5%) Random(32%) 0.2 (39%) Star (55%) Plate Opposit. (49%) Random(34%) 0.2 (31.7%) Niche (29.5%) Valley Opposit. (47%) Gauss.(33%) 0.3 (30.9%) Niche (33.4%) Many NSM (48%) Gauss.(32%) 0.4 (36%) Species (33%)

que favorecem a convergência são mais adequadas. Esta é a razão pela qual topologias mais sofisticadas, com mecanismo de diversidade, e.g. Niche e Clan não foram tão adotadas. Estas topologias podem desperdiçar tempo explorando o espaço de busca quando não se faz necessário.

Diferentemente da categoria Bowl, os problemas pertencentes à categoria Plate precisam de topologias mais exploratórias para evitar estagnação na planície. Por este motivo, as topologias Niche, Clubs e Species foram usadas mais frequentemente.

Os problemas pertencentes à categoria Valley são semelhantes aos problemas da categoria Platee por esta razão, topologias que favorecem a exploração do espaço de busca foram as mais utilizadas nos algoritmos. A topologia mais frequente nos algoritmos foi a Niche.

Com relação aos problemas da categoria Many Local Minima, as topologias mais so- fisticadas, Niche e Species, estiveram presentes em mais de 60% dos algoritmos. Isto se deve ao fato de que estas topologias são providas de mecanismos que proveem um balanceamento entre convergência e exploração. Este balanceamento é importante devido à irregularidade da superfície dos problemas desta categoria. Sendo assim, topologias que favorecem o exploração em excesso, como a topologia Ring, não foram frequentemente utilizadas.

Tabela 11 – Valores de <TOPOLOGIA> utilizados durante as simulações por categoria de problemas.

Category TOPOLOGY

Star Ring Dyn. Ring Niche Clubs Cluster Species

Bowl 55% 17% 6% 4% 5% 7% 5%

Plate 4% 14% 6% 30% 18% 10% 17%

Valley 2% 12% 7% 32% 11% 20% 16%

Many 3% 2% 2% 30% 16% 15% 31%

Previamente, os valores selecionados para os parâmetros <MUTATION>, <PROB- MUTATION>, <INITIALIZATION> e <TOPOLOGY> foram apresentados. A seguir, iremos detalhar as equações de velocidade que foram geradas para o PSO. Na seção 4.2.1 foi mencionado que a <UPDATE-VELOCITY> pode assumir qualquer equação gerada a partir da gramática, seja ela uma equação tradicional ou totalmente nova. A tabela 12, para fins de ilustração, apresenta equações de velocidade geradas, uma por categoria de problema. Para a categoria Bowl-

Capítulo 5. Experimentos e Resultados 85

shaped, está sendo apresentada a equação de velocidade gerada para o problema de otimização f1. Esta equação utiliza o peso inercial ω, possui um componente 100% social e um componente de atrito aleatório. O componente social em conjunto com a topologia Star (adotada em todos os problemas da categoria) torna esta equação adequada para problemas da categoria, acelerando a convergência para o ótimo global.

Com relação à categoria Plate-shaped, é apresentada a equação de velocidade para o problema f9, sendo esta composta por três componentes. O primeiro componente, [~ni− ~xi] ∗ r1, atribui um peso maior ao aspecto social. O segundo componente, ~ni∗~xi∗r2, quando está próximo a zero significa que a posição da partícula está próxima da melhor posição da vizinhança da partícula. Por outro lado, quando este componente não é zero ou próximo a zero, tende a acelerar ou desacelerar a movimentação das partículas, de acordo com a posição atual da partícula ou da melhor partícula da vizinhança. O último componente da equação, ~vi∗ r3, promove um atrito aleatório à partícula. A combinação desta equação com a topologia Niche tornou o algoritmo gerado capaz de alcançar resultados interessantes para o problema f9.

A equação gerada para o problema f17da categoria Valley-shaped possui uma estrutura similar a da equação tradicional do PSO com o fator de constrição (ver equação 3.6). Esta equação utiliza a informação social e cognitiva da partícula visando balancear a exploração e a convergência. Como o algoritmo resultante para o problema f17utiliza a topologia Niche, o potencial de exploração da equação é maximizado, sendo adequado para o problema de otimização em questão.

Com relação à categoria Many, é apresentada a equação de velocidade gerada para o problema f25. Espera-se que a equação seja útil para problemas com superfície multimodal. Uma característica interessante apresentada é a ausência do pbest ou ~pi. Isto aconteceu pois em superfícies multimodais, as partículas não deveriam confiar fortemente em suas experiências cognitivas. O segundo componente exerce uma força sobre a partícula empurrando em direção à origem caso a melhor partícula da vizinhança esteja na origem. Caso este componente não seja zero ou próximo a zero, pode controlar a velocidade de movimentação da partícula de acordo com as posições envolvidas nos componentes (posição atual e melhor posição da vizinhança). Além das características da equação apresentada, a topologia utilizada para o problema f25foi a Species, e isso ajudou o algoritmo gerado a alcançar um bom desempenho no problema em questão.