• Nenhum resultado encontrado

5.4.4 – Critérios de Convergência e Parada

No documento Capítulo 1. Introdução (páginas 77-81)

78

A convergência do AG acontece de acordo com um critério pré-determinado. Se a aptidão requerida é conhecida, pode-se trabalhar com a opção de um erro máximo admissível. Desta forma, assim que o algoritmo genético encontre um “indivíduo” que proporcione um erro menor que o estipulado, finaliza-se o processo.

Para que o AG tenha uma maior chance de encontrar o ponto ótimo global é interessante que haja uma variedade grande numa “população” e que se gaste um número razoável de gerações explorando a região factível, isto é, o algoritmo requer um tempo mínimo para conhecer a região com maior probabilidade para encontrar as melhores soluções (Damm, 2005).

Para o caso deste estudo, não foi considerado qualquer critério de convergência, mas sim um critério de parada do algoritmo. Entre os critérios de parada para os algoritmos genéticos é possível destacar (Silva, 2001a): quando o algoritmo atinge um determinado número de gerações ou avaliações; quando chega-se a um determinado valor da função objetivo definida à priori; quando não ocorrer melhoramento significativo no “cromossomo” de maior aptidão por uma dada quantidade de gerações, e por fim, e quando ocorrer um número máximo de gerações sem alterar a melhor solução armazenada e sob atualização.

Para esta pesquisa, foi implementado como regra de parada um número fixo de gerações e soluções, como é visto na seção 5.5 passo 5.

5.4.5 – Seleção

Nesta etapa os “indivíduos” são escolhidos para posterior atualização. Neste ponto, fazendo uso do valor de ajuste de cada um, efetua-se um processo onde os mais aptos possuirão uma maior probabilidade de se “reproduzirem” (passarem para a próxima geração). O valor de ajuste é calculado à partir da aplicação da função objetivo a cada “indivíduo”, determinando o quão apto ele está para a “reprodução” em relação à “população” a que pertence. Isto é motivado pelo fato de que o AG baseia- se no princípio da seleção natural que identifica os “indivíduos” mais aptos para que permaneçam na “população” durante o processo de evolução, e os mais fracos, para que sejam excluídos do processo. Outra função importante desenvolvida por diversas técnicas de seleção é diminuir a probabilidade ou

79

acabar com o problema da convergência prematura. Para isso, existem diversas técnicas de seleção que auxiliam nesta tarefa e entre os quais, é possível destacar (Ramos, 2002; Timóteo, 2002):

Seleção Determinística: para este caso, os “indivíduos” são selecionados através do cálculo da expectativa do número de “descendentes”. Este cálculo é feito através do valor de ajuste de cada indivíduo, a saber:

(

)

(

)

(

)

n Sol f Sol f Sol ND n n

= = 1 (5.2)

onde ND(Sol) é o número de descendentes do “indivíduo” Sol; f(Sol) é a função que retorna o valor do ajuste do “indivíduo” Sol e n é o número de “indivíduos” da “população” (Timóteo, 2002).

Seleção por roleta giratória: visa selecionar os “indivíduos” através do giro aleatório de uma roleta. Entretanto, antes do giro, cada “indivíduo” adquire uma determinada porção da roleta (cálculo baseado na aptidão de cada um). Quanto maior o valor do ajuste, maior a porção na roleta e, conseqüentemente, maiores as chances de seleção. Observando por uma perspectiva algorítmica, pode se dizer que este método funciona da seguinte maneira:

i) Calcular a soma dos valores de ajuste de todos os “indivíduos”; ii) Sortear um número s entre 1 e a soma dos valores de ajuste;

iii) Selecionar o indivíduo Sol tal que

(

)

1,

(

)

, 1.

1 1 1 >             +       ∈

= − = n Sol f Sol f s n n n n

O intervalo de seleção é dado através dos somatórios. O limite inferior do intervalo e o limite superior são dados em termos de f(Sol), a função que avalia o valor do ajuste do “indivíduo” Sol.

O método de seleção por roleta giratória tem um grande problema, o “superindivíduo”. Isto ocorre quando um “indivíduo” possui um intervalo de seleção bem maior que os outros. Neste caso, como as chances desse “indivíduo” ser selecionado é alta, a tendência é que este “indivíduo” tenha muitos “descendentes” nas próximas gerações, o que pode levar o algoritmo a uma convergência prematura.

Seleção por torneio: este método funciona de uma forma semelhante a um torneio tradicional. Basicamente, ocorre um sorteio de dois “indivíduos” pertencentes à “população” e vence o torneio

80

aquele que tiver o maior valor de ajuste. Dessa forma, todos os “indivíduos” que venceram seus torneios serão selecionados pelo método.

Esse método possui a grande vantagem da não geração de “superindivíduos”, porque, a chance do “indivíduo” com maior valor de ajuste ser selecionado é a mesma, independentemente de quanto é grande esse valor de ajuste. O método de seleção por torneio apresenta ainda vantagens como: não acarretar convergência prematura; combater à “estagnação”; não necessitar de espaço computacional extra, tal como ordenamentos; não necessidade de aptidão explícita e inspiração biológica do processo (Castro, 2001).

O mecanismo de seleção por torneio é popular devido à sua simplicidade e possui propriedades probabilísticas interessantes. O parâmetro para seleção de torneio é o tamanho do torneio (To) e, quanto maior este tamanho, maior será a intensidade de seleção (valor do ajuste médio esperado da população após a aplicação de um determinado método de seleção), maior será a perda de diversidade (proporção de “indivíduos” de uma “população” que não é selecionado durante a fase de seleção) e menor será a variância da seleção (esperança da variância da distribuição do ajuste da “população” após a aplicação de um determinado método de seleção. Mais detalhes a respeito ver Townsend (2003), Thierens and Goldberg (1994) e Blickle and Thicle (1995).

O método que foi utilizado neste trabalho foi o de seleção por torneios com To=2, ou seja, ocorrência de dois torneios, cada um envolvendo dois pares de posições.

Seleção uniforme: este método reduz a seleção a uma escolha aleatória. Cada “indivíduo” tem a mesma chance de ser selecionado, independentemente do valor de seu ajuste. Se utilizado sozinho, este método reduz o AG a uma busca cega. Porém, em alguns casos, este método pode complementar outros métodos de seleção. Um AG pode utilizar o método de seleção por roleta e, em alguns momentos, utilizar o método da seleção uniforme para diversificar a “população”, ou seja, selecionar também indivíduos ruins que dificilmente seriam selecionados.

Entre as vantagens é possível destacar: não acarreta convergência prematura; combate à estagnação; nenhum esforço computacional extra é necessário.

Método de seleção de Boltzman: estabelece uma pressão de seleção diferente a cada tempo da pesquisa da solução. Inicialmente, admite a reprodução de “indivíduos” com ajuste baixo (todos os

81

“indivíduos” possuem a mesma probabilidade de “reprodução”), permitindo assim manter a “diversidade” da “população” e evitar a convergência prematura e, posteriormente, aumenta a pressão para selecionar os “indivíduos” com ajuste alto.

No documento Capítulo 1. Introdução (páginas 77-81)