Algoritmos genéticos - uma visão explanatória

download Algoritmos genéticos - uma visão explanatória

of 8

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).