• Nenhum resultado encontrado

2.4 ALGORITMOS GENÉTICOS

2.4.4.5 Operadores genéticos

Após a etapa de seleção dos pais, é necessário que ocorra a reprodução dos indivíduos escolhidos para geração da nova população do algoritmo. Na execução da reprodução, o material genético de dois pais é combinado através de um corte aleatório nos cromossomos, gerando novos filhos através da junção de cada parte das cargas genéticas dos pais, igualmente ao funcionamento no mundo real (BODENHOFER, 2003).

O mecanismo responsável pelo processo apresentado é denominado recombinação (crossover). De acordo com Reeves (2002), o crossover é simplesmente uma substituição dos alelos de um dos pais pelos alelos correspondentes do outro. Em sua forma mais simples (CO- LEY, 1999), denominado crossover de um ponto, empregado frequentemente em cromossomos que utilizam a representação binária, um ponto de corte é escolhido aleatoriamente ao longo do cromossomo — valor inteiro entre 1 e n-1, sendo n a quantidade total de genes do cromossomo — dividindo-o em duas partes, no qual realiza-se a troca da segunda parte do cromossomo entre os indivíduos, ocasionando na geração dos filhos (conforme ilustração apresentada na Figura 4). No entanto, em algumas situações, a aplicação dessa representação do operador prejudica o desempenho do algoritmo. Certas vezes torna-se necessário manter determinados esquemas no cromossomo para se preservar boas soluções durantes as reproduções, assim, a utilização do crossover de um ponto apresenta-se como um método inviável devido o rompimento que causa ao esquema, resultando na perda das informações. Com o propósito de solucionar

Figura 4 – Ilustração do crossover de um ponto

Fonte – Elaborada pelo autor.

esse problema e o intuito de tornar o crossover mais robusto, outras variações do operador foram desenvolvidas, sendo elas o crossover multiponto e o crossover uniforme (MAN; TANG; KWONG, 1999).

De acordo com autores, o funcionamento do crossover multiponto consiste na seleção aleatória de um conjunto de pontos de corte — dois ou mais — efetuando-se a divisão dos cromossomos nos pontos sorteados, dessa forma, os filhos serão formados por meio da recombinação alternada dos segmentos gerados pelos cortes exercidos nos cromossomos dos pais (conforme ilustração apresentada na Figura 5). Para o outro operador de recombinação alternativo, o crossover uniforme, a estratégia utilizada dá-se de maneira diferente (LAROSE, 2006). Ao primeiro filho, atribui-se aleatoriamente a cada gene a probabilidade de 50% da ocorrência do gene de um pai ou de outro, logo, ao final da geração deste filho, os genes do segundo filho serão o inverso do primeiro (conforme ilustração apresentada na Figura 6). Uma vantagem deste operador é que os genes são herdados independentes das posições em que se encontram, pois não há realização de cortes no cromossomo. Ainda, o autor apresenta outros tipos de crossover voltados à aplicação em representações com valores reais baseando-se na execução de operações aritméticas.

Contudo, tais métodos apresentados para o operador de cruzamento não são apli- cáveis às representações cromossômicas inteiras e reais. A recombinação das partes de dois cromossomos pais pode acarretar na repetição de elementos nos genes dos filhos, tornando a solução inviável ao problema – supondo que o cromossomo seja composto por números inteiros que representam indivíduos, é totalmente incapaz que um mesmo indivíduo esteja em uma ou mais equipes ao mesmo tempo –. Para isso, um mapeamento com os valores inteiros é feito para que não hajam repetições no cromossomo, tornando-o uma solução viável a partir da

Figura 5 – Ilustração do crossover multipontos

Fonte – Elaborada pelo autor.

recombinação de dois pais (ZHENG et al., 2016). O processo descrito está ilustrado na Figura 7.

Figura 6 – Ilustração do crossover uniforme

Fonte – Elaborada pelo autor.

Em Ciptayani, Dewi e Sentana (2016), outra formulação do operador de crossover para representações com valores inteiros é apresentada, ilustrada na Figura 8 e exemplificada a seguir. Supondo dois cromossomos com nove genes, onde cada gene possui um valor inteiro que representa um indivíduo na base de dados. Um ponto de corte é escolhido aleatoriamente para que as partes de cada cromossomo sejam combinadas a fim de gerar os novos filhos. Para cada pai, a primeira parte do cromossomo – ou seja, desde o primeiro locus até o locus respectivo ao ponto de corte – é mantida e a segunda parte é formada a partir da sequência em que está representada os valores no outro pai. Assim, dois filhos são gerados sem que as soluções sejam inviáveis ao problema.

Figura 7 – Crossover com mapeamento em valores inteiros

Fonte – Adaptada de Zheng et al. (2016).

Figura 8 – Crossover de um ponto em valores inteiros

Fonte – Adaptada de Ciptayani, Dewi e Sentana (2016).

Mitchell (1998) apresenta que, na visão comum da comunidade, o crossover é o principal mecanismo de inovação e variação nos AGs, entretanto, apenas sua utilização poderá convergir os pontos para soluções situadas em máximos locais. Para isso, o operador de mutação atua como deslocador dos pontos no espaço de maneira que as buscas sejam realizadas em outros locais, tornando-se possível atingir a solução global do problema.

O funcionamento do operador de mutação, particularmente na representação binária, é simples e eficaz para o seu propósito (REEVES, 2002): um gene é escolhido aleatoriamente e o valor do alelo é alterado, isto é, o número será alterado para 0 ou 1 de acordo com o valor que esteja alocado no gene sorteado (Figura 9). Contudo, assim como o operador de crossover, a escolha da técnica de mutação apropriada depende do modo no qual está definida a representação

cromossomial (BODENHOFER, 2003). Man, Tang e Kwong (1999) apresentam uma alternativa usualmente adotada para as representações que utilizam valores inteiros e reais: dois pontos do cromossomo – ou dois genes – são escolhidos aleatoriamente e uma inversão é aplicada nos valores dispostos no intervalo formado, prevalecendo a viabilidade da solução ao problema (Figura 10).

Figura 9 – Ilustração da mutação binária

Fonte – Elaborada pelo autor.

Por fim, Eiben e Smith (2003) afirmam que o papel desempenhado pelo operador de crossover está associado à exploração do espaço de busca, descobrindo novas regiões através da combinação de duas áreas. Por outro lado, o operador de mutação é caracterizado como um mecanismo de explotação, isto é, permite visitar áreas próximas aos pais, buscando por soluções em espaços de buscas não atingidos pelo crossover. A combinação de ambos permite trabalhar com boas informações presentes nos pais e explorar regiões vizinhas a estes indivíduos, visando obter soluções cada vez melhores.

Documentos relacionados