• Sonuç bulunamadı

“A descoberta do código genético quebrou também um paradigma. Com ela, o homem dominou a matéria viva e abriu o caminho para a ciência explicar os mecanismos que criam a vida quase três séculos após a física começar a explicar como se comporta a matéria não viva com Isaac Newton”24

Alessandro Greco

O conceito dos algoritmos genéticos (AG) foi inicialmente proposto por HOLLAND (1975). Os fundamentos para o algoritmo basearam-se na observação que a combinação da reprodução sexual e a seleção natural permitem à natureza o desenvolvimento de espécies vivas com alto grau de adaptação ao ambiente.

No contexto dos algoritmos genéticos, existe uma analogia com a terminologia usada pela biologia, embora as entidades a que se refiram sejam um tanto mais simples que as correspondentes biológicas reais.

Todos os organismos vivos consistem de células, e cada célula contém o mesmo conjunto de um ou mais cromossomos – filamentos de DNA – que servem como a impressão digital, por assim dizer, de um organismo. Um cromossomo pode ser conceitualmente dividido em genes – blocos funcionais de DNA, cada um dos quais codifica uma particular proteína. Grosseiramente, pode-se imaginar um gene como o código de uma particular característica, digamos, a cor dos olhos. As diferentes possibilidades para uma característica (olhos verdes, azuis, castanhos) são chamadas de alelos. Cada gene está localizado em um particular locus (posição) no cromossomo.

_______________________________

23

Este capítulo foi baseado em grande parte em (BALAKRISHNAN; JACOB, 1996; CARTACHO; SOUZA, 2002;MITCHELL, 1996 e PARREIRAS, 2003).

24

Além do seu reconhecido potencial como ferramenta de busca, a escolha da metaheurística genética é também uma homenagem a Francis Harry Compton Crick (1916-2004) e Maurice Wilkins (1916-2004) que, juntamente com James Dewey Watson, descobriram a estrutura do DNA, sem sombra de dúvida, uma das maiores descobertas científicas de todos os tempos.

Muitos organismos têm múltiplos cromossomos em cada célula. O conjunto completo do material genético (todos os cromossomos juntos) é chamado de genoma de um organismo. O termo genótipo refere-se ao grupo particular de genes contido em um genoma.

Nos AGs, o termo cromossomo refere-se tipicamente a uma solução candidata para um problema, normalmente codificada como uma seqüência de bits. Os genes são bits únicos ou pequenos blocos de bits adjacentes que codificam um particular elemento da solução candidata. Um alelo numa seqüência de bits é ou 0 ou 1. Funcionalmente, o algoritmo genético utiliza-se dos seguintes operadores:

a) Reprodução

A solução inicial é formada por uma seqüência de bits que representam as características do produto. O operador de seleção escolhe um subconjunto m de cromossomos de tamanho M da população que poderão se reproduzir; na média, os cromossomos mais adaptados produzem mais descendentes do que os menos adaptados. Geralmente, o tamanho do cromossomo é mantido nas sucessivas gerações.

b) Crossover

O operador de crossover troca partes dos cromossomos de posições especificamente escolhidas para a formação de novos descendentes.

c) Mutação

O operador de mutação troca os valores de alguns alelos, de forma aleatória.

Os cromossomos de uma população em um AG normalmente tomam a forma de seqüências de bits. Cada locus no cromossomo têm duas possíveis formas, ou alelos: 0 ou 1. Cada cromossomo pode ser visto como um ponto no espaço de busca de soluções candidatas. O algoritmo genético processa seqüencialmente as populações de cromossomos, substituindo progressivamente uma população pela outra. Normalmente, se faz uso de uma função de utilidade que dá a cada cromossomo um valor (a utilidade dele). A utilidade de um cromossomo depende basicamente de quão bem ele consegue resolver o problema em questão. Idealmente,

a solução ótima dentro de um determinado espaço de busca corresponde àquela com a maior utilidade.

O objetivo básico dos algoritmos genéticos é propor soluções para o problema a ser resolvido e evoluí-las com o tempo. Esse objetivo é alcançado, permitindo-se que as soluções mais adaptadas ao problema tenham maiores chances de sobreviver e, com isso, maiores oportunidades de gerar soluções descendentes, parecidas a elas mesmas e com grandes possibilidades de estarem mais adaptadas. Essas soluções podem também ser chamadas de indivíduos ou soluções candidatas e, quando agrupadas num mesmo período de tempo, formam uma população. Os indivíduos agrupados em uma população e em determinado período de tempo formam uma geração, que é sempre substituída no período seguinte por seus descendentes.

Os algoritmos genéticos apresentam uma série de vantagens no desempenho do seu processo de busca. A principal delas é que a busca é conduzida numa população de pontos ao invés de um único ponto, aumentando-se assim a capacidade exploratória do método. Os AGs usam as funções objetivos para comparação de resultados, uma característica facilitadora em contraste com outras técnicas que necessitam de recursos adicionais, como a diferenciação de funções. Os AGs avaliam por completo as soluções candidatas especificadas, ao contrário de heurísticas de programação dinâmica que constroem, seqüencialmente, as soluções e adicionam um atributo por vez. Os AGs são adaptáveis à implementação de processamento em paralelo, propiciando menores tempos computacionais.

O funcionamento de um algoritmo genético básico pode ser visualizado na figura 7.1 a seguir:

(1) Iniciar com população gerada aleatoriamente (2) Calcular a função utilidade p/ cada cromossomo (3) Gerar nova população (4) Substituir a população atual pela nova

FIM

•Gerar soluções candidatas (cromossomos de tamanho definido)

•Avaliar as soluções candidatas

•Reprodução

Crossover •Mutação

•Comparar a melhor solução encontrada com o critério de parada definido

REQUISITOS DE SIMULAÇÃO •Organização e definição de variáveis, atributos, níveis, taxas e função objetivo

(1) Iniciar com população gerada aleatoriamente (2) Calcular a função utilidade p/ cada cromossomo (3) Gerar nova população (4) Substituir a população atual pela nova

FIM

•Gerar soluções candidatas (cromossomos de tamanho definido)

•Avaliar as soluções candidatas

•Reprodução

Crossover •Mutação

•Comparar a melhor solução encontrada com o critério de parada definido

REQUISITOS DE SIMULAÇÃO •Organização e definição de variáveis, atributos, níveis, taxas e função objetivo

Figura 7.1 – Modelo Básico de um Algoritmo Genético Fonte: Elaborado pelo o autor

C

apítulo 8

_________________________________________________ Capítulo 8 DEMONSTRAÇÃO DO MODELO PROPOSTO

Benzer Belgeler