Algoritmos genéticos - uma visão explanatória
-
Upload
camila-sayuri-tokubo -
Category
Documents
-
view
216 -
download
0
Transcript of Algoritmos genéticos - uma visão explanatória
-
8/6/2019 Algoritmos genticos - uma viso explanatria
1/8
REVISTA MULTIDISCIPLINAR DA UNIESP
SABER ACADMICO - n 06 - Dez. 2008/ ISSN 1980-5950
136
ALGORITMOS GENTICOS: UMA VISO EXPLANATRIA
FILITTO, Danilo1
Resumo: Os algoritmos Genticos inspiram-se no processo de evoluo natural e soutilizados para resolver problemas de busca e otimizao encontrados no mundo real. Opresente artigo busca fundamentar o seu funcionamento, descrevendo como o processode evoluo ocorre e como os operadores genticos auxiliam na resoluo do problema.Principalmente nas etapas de seleo, cruzamento e mutao.
Palavras-chave: Cruzamento Mutao Seleo.
Abstract: The Genetic algorithms are inspired by the natural process of evolution andare used to solve problems of search and optimization found in the real world. Thisarticle aims to explain its operation, describing how the process of evolution occurs andhow the genetic operators help in solving the problem. Mainly the stages of selection,crossover and mutation.
Key-Words: Crossroads mutation selection.
1-Introduo
Ao passar do tempo, as populaes evoluem na natureza para garantir sua
sobrevivncia. Esta evoluo acontece de acordo com os princpios de seleo natural,
postulados em DARWIN (1859). Segundo DAVIS (Apud CATARINA, 1996), a
evoluo gentica ocorre nos cromossomos, que so os responsveis pela codificaodos seres vivos, onde os cromossomos que codificaram estruturas bem sucedidas se
reproduzem mais vezes do que os cromossomos que codificaram estruturas mal
sucedidas. Esta evoluo ocorre no processo de reproduo, onde mutaes podem
provocar mudanas nos cromossomos dos filhos, mudanas estas causadas pela
combinao dos cromossomos dos pais, fazendo com que os filhos possuam
caractersticas diferentes das dos pais. Ests informaes genticas esto contidas nos
genomas dos indivduos e no possuem uma memria biolgica, isto , no conhecem
-
8/6/2019 Algoritmos genticos - uma viso explanatria
2/8
REVISTA MULTIDISCIPLINAR DA UNIESP
SABER ACADMICO - n 06 - Dez. 2008/ ISSN 1980-5950
137
as cadeias genticas dos indivduos originais que foram utilizadas para a gerao deste
novo ser.
Figura 1 - Cadeia de DNA
Os Algoritmos Genticos so inspirados neste processo de evoluo natural e
so utilizados para resolver problemas de busca e otimizao encontrados no mundo
real. Segundo FERNANDES (2005), os Algoritmos Genticos buscam a melhor soluo
para os problemas de otimizao, utilizado um processo iterativo de busca da melhor
soluo para o seu problema. Onde a busca se da a partir de uma populao inicial, quecombinando os melhores representantes desta populao, obtm uma nova, que passa a
substituir anterior. A cada nova iterao gerada uma nova populao que apresenta
novas e melhores solues para o problema em questo, culminando com a sua
convergncia.
Estes algoritmos comearam a ser estudados por John Holland no comeo dos
anos 70, onde se deu inicio a uma pesquisa sobre algoritmos que manipulavam strings
de 0 e 1, a qual ele chamou de cromossomos. Onde seus algoritmos realizavam a
evoluo simulada destas populaes de cromossomos, resolvendo de forma eficiente o
problema de encontrar bons cromossomos atravs da manipulao do material contido
nos mesmo. O fluxograma demonstrado na figura abaixo representa de maneira geral
um Algoritmo Gentico.
-
8/6/2019 Algoritmos genticos - uma viso explanatria
3/8
REVISTA MULTIDISCIPLINAR DA UNIESP
SABER ACADMICO - n 06 - Dez. 2008/ ISSN 1980-5950
138
Figura 2 - Fluxograma que descreve brevemente um algoritmo gentico.Fonte: CORTES (2005 Apud CATARINA , 1999)
A tcnica utilizada para codificar os cromossomos varia conforme o tipo do
problema. Pode-se utilizar uma cadeia de strings de bits, para representar os
cromossomos ou podemos utilizar uma varivel numrica contnua que armazena o seu
prprio valor real. Estes cromossomos passam por uma funo de avaliao chamada de
funo fitness, esta funo toma como entrada um cromossomo e retorna um nmero,
ou uma lista de nmeros, que representam a performance do cromossomo com relao a
como o mesmo auxilia na resoluo do problema.
Segundo HOLLAND (2005 Apud CATARINA, 1975), existe trs tcnicas
utilizadas para criar filhos diferentes dos pais, a tcnica de seleo, cruzamento e
-
8/6/2019 Algoritmos genticos - uma viso explanatria
4/8
REVISTA MULTIDISCIPLINAR DA UNIESP
SABER ACADMICO - n 06 - Dez. 2008/ ISSN 1980-5950
139
mutao. Estas trs tcnicas esto intimamente relacionadas no modelo bsico de um
algoritmo gentico, pois as trs fazem a evoluo da populao acontecer.
2 Operadores Genticos
Descreveremos aqui os operadores genticos responsveis pela seleo,
cruzamento e mutao da populao.
2.1 Seleo
A funo de seleo em um algoritmo escolher os elementos da populao
que participaro do processo de reproduo, isto , selecionar os pais dos indivduos que
estaro presentes na nova populao. Esta escolha deve ser feita de tal forma que os
membros da populao mais adaptados ao meio ambiente, tenham maior chance de
reproduo, isto , queles que apresentam um valor da funofitness mais elevado. A
forma mais conhecida de se fazer a seleo dos indivduos o algoritmo Monte Carlo
(FERNANDES, 2005).
Conhecido tambm como algoritmo de seleo por roleta, onde cada indivduo
da populao ocupara uma poro da roleta, proporcional ao seu ndice de aptido
(fitness). Com isto os indivduos que possuem uma alta aptido ocuparo uma poro
maior do que os indivduos que possuem uma aptido menor. Esta roleta girada varias
vezes, onde a quantidade de giros varia conforme o tamanho da populao. Em cada
giro da roleta selecionado um individuo que participara do processo de gerao da
nova populao. Na figura a baixo podemos ver o exemplo do algoritmo de seleo do
tipo roleta.
Figura 3 - Um exemplo de seleo atravs do algoritmo Monte Carlos
Fonte: CATARINA (2005)
-
8/6/2019 Algoritmos genticos - uma viso explanatria
5/8
REVISTA MULTIDISCIPLINAR DA UNIESP
SABER ACADMICO - n 06 - Dez. 2008/ ISSN 1980-5950
140
2.2 Cruzamento
O operador de cruzamento tem a funo de combinar os cromossomos dos pais,
para gerar os cromossomos dos filhos, existem vrios tipos de operadores de
cruzamento, uns desenvolvidos para serem mais genricos e outros mais adequados a
um tipo de codificao de cromossomos. Discutiremos aqui duas tcnicas de
cruzamento, o cruzamento em um ponto e o cruzamento uniforme.
2.2.1 Cruzamento em um ponto
Segundo YEPES (2005 Apud CATARINA, 2005), o cruzamento em um ponto
consiste em dividir os cromossomos selecionados num ponto de sua cadeia, onde este
ponto escolhido aleatoriamente. Aps isso, copiamos uma parte dos cromossomos de
cada pai, para gerar os cromossomos dos novos filhos. comum neste mtodo de
cruzamento, os pais gerarem dois novos filhos, mas pode-se criar qualquer quantidade
de filhos, desde que, o nmero de alelos permita o nmero desejado de combinaes
diferentes. A figura a seguir demonstra um exemplo deste mtodo de cruzamento.
Figura 4 - Um exemplo do operador de cruzamento em um ponto.Fonte: CATARINA (2005)
2.2.2 Cruzamento Uniforme
Segundo SYSWERDA (1991), o cruzamento uniforme consiste em gerar cada
gene do descendente, copiando o correspondente gene de um dos pais, onde este gene
escolhido de acordo com uma mascara de Cruzamento gerada aleatoriamente. No
processo de criao do cromossomo, Percorre-se todas as posies da mscara
analisando seus valores, quando o valor da posio corrente for 1, o gene do primeiro
-
8/6/2019 Algoritmos genticos - uma viso explanatria
6/8
REVISTA MULTIDISCIPLINAR DA UNIESP
SABER ACADMICO - n 06 - Dez. 2008/ ISSN 1980-5950
141
pai referente, referente a mesma posio da mscara copiado, caso o valor da mascara
for 0, ser copiado o gene do segundo pai. No termino do processo estar gerado o novodescendente, como podemos ver no exemplo a seguir
Mscara deCruzamento
0101001
Primeiro Pai 1101101Segundo Pai 0001110Descendente 0101111
2.3 Mutao
O operador de mutao responsvel pela insero de pequenas mudanas
aleatrias nos cromossomos dos filhos. Como no caso dos operadores de cruzamento,
existem vrios tipos de operadores de mutao, demonstraremos aqui o funcionamento
do operador de mutao de bit.
2.3.1 Mutao de bit
O operador do tipo mutao de bit o operador mais fcil de trabalhar,
podemos aplic-lo em qualquer forma de representao binria dos cromossomos. Este
mtodo gera uma probabilidade de mutao para cada bit do cromossomo, caso a
mesma seja baixa o bit sofrer a mutao, recebendo um valor determinado
aleatoriamente dentre os valores que podem ser assumidos pelo cromossomo. A tabela a
seguir demonstra 3 cromossomos de comprimento 4 e os nmeros aleatrios geradospara cada um dos bits do cromossomo, juntamente com os novos bits que demonstram
as possibilidades de mutao e o resultado final da mutao.
CromossomoAnterior
Nmeros Aleatrios Novobit
Cromossomonovo
1010 0,540 0,002 0,325 0,290 1 11100110 0,690 0,457 0,063 0,744 - 01101111 0,001 0,082 0,922 0,432 0 0111
-
8/6/2019 Algoritmos genticos - uma viso explanatria
7/8
REVISTA MULTIDISCIPLINAR DA UNIESP
SABER ACADMICO - n 06 - Dez. 2008/ ISSN 1980-5950
142
Concluso
Os Algoritmos Genticos buscam solues para problemas de otimizao, de
forma anloga ao processo de evoluo natural. Sua resoluo se da a partir da busca em
uma populao inicial, que efetuando o processo de evoluo da mesma, obtm uma
nova populao que apresenta melhores solues para o problema em questo. Em todas
as etapas deste processo, selecionamos os indivduos mais aptos para resolver o
problema, efetuamos o cruzamento destes indivduos para gerar a nova populao e
aplicamos a mutao na mesma. Efetuamos este processo at que se obtenha a soluo
desejada. Onde o objetivo do cruzamento e da mutao fazer com que os
cromossomos criados no processo de reproduo, sejam diferentes dos cromossomos
dos pais. Com isto, o operador de cruzamento tem a funo de combinar os
cromossomos dos pais, para gerar os cromossomos dos filhos e o operador de mutao
responsvel pela insero de pequenas mudanas aleatrias nos cromossomos gerados.
REFERNCIAS BIBLIOGRFICAS
CATARINA, A.S. Algoritmos evolutivos aplicados ao processo de anlise de dadosgeogrficos. So Jos dos Campos: [s,n], 2005.
CORTES, M. B. S. Introduo otimizao. In: II Jornada de Estatstica de Maring.Mini-curso: Introduo otimizao. Maring: UEM, Departamento de Estatstica,1999.
DAVIS, L. Adapting operator probabilities in Genetic Algorithms: Proceedings of theThird International Conference on Genetic Algorithms. San Mateo, 61-69. 1989.
DARWIN, C. On the Origin Old Species: by Means of Natural Selection or thePreservation of Favoured Races in the Struggle for Life, Fictionwise Classic : London,1859.
FERNANDES, A.M.R. Inteligncia Artificial: noes gerais. 2 imp. Florianpolis:VisualBooks, 2005.
SYSWERDA, G. Schendule Optimization Using Genetic Algorithms. In: DAVIS, L.HandBook of Genetic Algorithms. New York: Van Nostrand Reinhold, 1991.
YEPES, I. Uma incurso aos algoritmos genticos. 2004. Disponvel em:. Acesso em: 20 jul. 2004.
-
8/6/2019 Algoritmos genticos - uma viso explanatria
8/8
REVISTA MULTIDISCIPLINAR DA UNIESP
SABER ACADMICO - n 06 - Dez. 2008/ ISSN 1980-5950
143
1 Especialista em Rede de Computadores e Comunicao de Dados, Mestrando em CinciasCartografia na FCT - UNESP de Presidente Prudente e Docente da Faculdade de PresidentePrudente (UNIESP).