• Nenhum resultado encontrado

3.1 Algoritmos Genéticos

3.1.6 Operadores Genéticos

3.1.6.1. Operador Genético de Cruzamento

O Operador de Cruzamento é aplicado sobre cada par de indivíduos previamente selecionados. Atua especificamente intercambiando genes (componentes do cromossomo) entre os indivíduos. O Cruzamento gera outros dois novos cromossomos possuindo características combinadas dos anteriores.

O operador de Cruzamento contribui para propagar os building blocks, ou partes da solução ótima contidas nesses cromossomos, para as seguintes gerações. Mediante uma taxa de cruzamento (pc), controla-se o número esperado de indivíduos que serão submetidos para recombinação (Cruzamento).

Maior taxa de cruzamento permite maior exploração do espaço de busca e reduz a chance de obtenção de uma solução local. Se essa taxa for muito elevada, resultará em muitos indivíduos com um valor baixo para a sua função de aptidão correspondente (MICHALEWICZ, 1996). Portanto, maior tempo computacional será despendido na exploração de regiões não promissoras do espaço de busca. Assim, o valor da taxa de cruzamento deverá ser um compromisso entre a melhor exploração da região de busca e o menor tempo para explorá-la.

Efeito sobre Representações em Binário

O cruzamento tem um efeito destrutivo sobre os cromossomos binários. Neste caso dependerá do ponto escolhido aleatoriamente por este operador (pc) para dividir os cromossomos e intercambiar suas partes para formar novos cromossomos. Na ilustração, a seguir, pode ser analisado este efeito:

Figura 3.5: Representação B inária de dois Cromossomos.

Pode ser observado que existe maior probabilidade de ocorrer um ponto de corte no valor em binário correspondente a uma variável, e, portanto o seu valor ser alterado. Essa probabilidade aumenta quanto maior número de caracteres binários é necessário para representar uma variável no cromossomo. Quanto maior é a quantidade de caracteres binários para representar uma variável maior precisão numérica lhe corresponde. Porém, a probabilidade de obter um ponto de corte no ponto de concatenação entre duas variáveis consecutivas é muito baixa. Na literatura existem diferentes tipos de operadores de Cruzamento projetados com a finalidade de explorar melhor a região de busca.

a) Cruzamento de Um Ponto de Corte. Após selecionar um par de cromossomos, um ponto na estrutura é escolhido de forma aleatória. A partir deste ponto, será feito um intercâmbio entre si de parâmetros localizados a partir da esquerda, ou da direita, entre ambos os cromossomos. A seguir, essa recombinação é mostrada na Figura 3.6, supondo que o ponto de corte seja igual a dois (ponto de corte = 2): 1 0 1 0 1 0 1 0 1 0 V1 V2 H1 = 0 0 1 0 0 0 0 1 1 1 V1 V2 H2 =

Figura 3.6: Dois Cromossomos para recombinar, pc = 2.

Os resultados da recombinação destes dois cromossomos estão mostrados na

Figura 3.7.

Figura 3.7: Resultado da Recombinação usando Cruzamento de Um Ponto de Corte.

Pode ser observado que as extremidades do cromossomo sempre participarão do cruzamento, independentemente do ponto escolhido.

b) Cruzamento com Dois Pontos de Corte. Depois da seleção do par de cromossomos, são escolhidos aleatoriamente dois pontos. Esses dois pontos constituem os dois pontos de corte para o Cruzamento. Dessa maneira, o intercâmbio é feito com os parâmetros que se encontram entre esses dois pontos (Figura 3.8). 1 0 1 0 1 0 1 0 1 0 V1 V2 H1 = 0 0 1 0 0 0 0 1 1 1 V1 V2 H2 = 1 2 3 4 5 6 7 8 9 10 1 0 1 0 0 0 0 1 1 1 V1 V2 C1 = 0 0 1 0 1 0 1 0 1 0 V1 V2 C2 =

Figura 3.8: Dois Cromossomos para recombinar, pc = 2 e pc = 7.

O resultado da combinação dos dois cromossomos é mostrado na Figura 3.9.

Figura 3.9: Resultado da Recombinação usando Cruzamento de Dois Pontos de Corte.

Este tipo de cruzamento minimiza o problema de cruzamento de um ponto no que tange aos caracteres binários das extremidades da representação binária. c) Cruzamento Uniforme. Depois da escolha do par de indivíduos para

recombinação, as componentes dos cromossomos que irão intercambiar são escolhidas através de uma máscara, correspondente a um cromossomo binário gerado aleatoriamente. A troca dos caracteres da representação binária é efetuada quando o caractere binário correspondente da máscara for igual à unidade (SPEARS, 1994). 1 0 1 0 0 0 0 0 1 0 V1 V2 C1 = 0 0 1 0 1 0 1 1 1 1 V1 V2 C2 = 1 0 1 0 1 0 1 0 1 0 V1 V2 H1 = 0 0 1 0 0 0 0 1 1 1 V1 V2 H2 = 1 2 3 4 5 6 7 8 9 10

Este tipo de Cruzamento tem capacidade disruptiva maior do que os anteriores, pois quebra os blocos construtores. Em (SPEARS, 1994), é feita uma análise mostrando as vantagens do seu uso. Esse método é benéfico quando a população é pequena, pois fornece uma amostra mais precisa de um espaço de busca complexo. Conclusões desse estudo mostraram que:

1) Esse tipo de cruzamento alcançou melhor balanço entre exploração e o aproveitamento da melhor solução;

2) Esse tipo de cruzamento alcançou melhor balanço entre exploração e o aproveitamento da melhor solução;

3) Seu efeito disruptivo pode ser controlado variando-se a probabilidade de ocorrer à troca dos valores das posições escolhidas, alcançando apropriado balanço entre exploração e aproveitamento das melhores soluções.

Efeito sobre Representações em Real

Quando o sistema em estudo for muito grande e complexo, geralmente a função matemática é de tipo multi-variável e multi-modal. Portanto, a utilização de uma representação binária que codifique uma quantidade considerável de parâmetros desse sistema poderia requerer muitos recursos computacionais na exploração do espaço de busca. Nesse caso, é mais conveniente usar operadores genéticos projetados para trabalhar com codificação real.

A seguir, serão descritos os operadores de Cruzamento mais utilizados no caso de cromossomos reais:

a) Cruzamentos Aritméticos. Existe uma outra linha de operadores genéticos de cruzamento aplicáveis às representações reais das variáveis do problema sob análise. Este tipo de recombinação é denominado operador aritmético (MICHALEWICZ, 1996). O Cruzamento Aritmético é definido como a combinação de dois cromossomos representados pelos vetores V e 1 V . O 2 resultado é obtido através das seguintes expressões matemáticas:

( )

1 2 1 1 V V V = −χ ⋅ + (3.2)

( )

2 1 2 V 1 V V = + −χ ⋅

onde χ é um número real, tal que χ ∈ [0.0; 1.0].

A base desse conceito vem da teoria dos conjuntos convexos. Geralmente, a média ponderada de dois vetores X e 1 X , é calculada da seguinte maneira: 2

2 2 1

1 X X

X =χ ⋅ +χ ⋅ (3.3)

Sendo os fatores χ1 e χ2 restritos às seguintes condições: χ1 + χ2 = 1, tal que

χ1>0 e χ2>0.

A forma ponderada mostrada na expressão matemática (3.3) é conhecida como combinação convexa. Se a condição de não negatividade dos fatores for relaxada, a combinação é conhecida como combinação afim. Em qualquer caso, o procedimento descrito corresponde a uma combinação linear.

A Figura 3.10 mostra essas combinações no espaço de duas dimensões. Os resultados do Cruzamento Aritmético ficam no interior da linha quando a recombinação é convexa. Porém, quando a combinação for afim (Cruzamento Afim) alguns pontos se encontram na linha contínua e outros ficam na linha tracejada. Os vetores que resultam da aplicação do Cruzamento Linear estarão em qualquer ponto do espaço de busca real.

Soluções inviáveis podem surgir quando for aplicado o Cruzamento Linear ou Afim, como pode ser observado na Figura 3.10. Essas soluções inviáveis podem ser minimizadas usando eficientemente funções de penalização durante o processo de otimização do AG. Desta forma, as soluções inviáveis também formam parte do processo de otimização, mas, elas são eliminadas durante o transcurso das gerações (MICHALEWICZ, 1996).

Figura 3.10: Ilustração dos resultados do Cruzamento Aritmético.

b) Operadores de Cruzamento Tradicionais. Os operadores de Cruzamento: a) Cruzamento de Um Ponto de Corte; b) Cruzamento de Dois Pontos de Corte; c) Cruzamento Uniforme; vistos anteriormente para o caso dos cromossomos binários, também podem ser utilizados sobre cromossomos reais. Neste caso, não existe uma variação do valor numérico das componentes, como acontece no caso da codificação binária, porque sempre o ponto de corte cai entre dois parâmetros consecutivos no cromossomo.

Assim, esses operadores de recombinação realizam principalmente uma operação de permutação entre as componentes dos cromossomos selecionados. Quando esses tipos de operadores de Cruzamento tradicionais são utilizados sobre representações reais, o operador que cria novos indivíduos, propriamente dito, corresponde ao operador de Mutação.

X2 Solução Linear ℜ2 Solução Afim Espaço Solução P1 P2 Solução Convexa X1

Documentos relacionados