Algoritmos Genéticos

download Algoritmos Genéticos

of 15

Transcript of Algoritmos Genéticos

Algoritmos Genticos

Algoritmos Genticos9 Semestre Engenharia de Computao Centro Universitrio das Faculdades Associadas de Ensino FAE Inteligncia ArtificialO que so Algoritmos Genticos?So Algoritmos utilizados pela computao para localizar solues aproximadas em problemas de otimizao e busca baseado principalmente no conceito evolutivo ele utiliza tcnicas inspirada pela biologia evoltiva como por exemplo hereditariedade, mutao, seleo natural e recombinao porm com informaes ou dados da obtidos de uma base ou do usurio IntroduoAlgoritimos genticos foram fundamentados pelo americano John Henry Holland, estes algoritimos visam dar solues o mais proximo do real para buscas ou otimizao de dados de uma base com muitas regras e informaes, utilizando para isso as mesmas tcnicas de biologia para identificar se um gen herdeiro de outro ou ainda se ele pode evoluir gerando um novo ramo de gens, se ele pode mudar suas caracteristicas, se combinar, etc. Porm no nosso caso o gen a informao que trabalhamos o dado concreto onde queremos chegar com a busca ou com a otimizao de uma base que muitas vezes pode ser gigantesca.Como funcionam os algoritmos genticos?Algoritmos genticos so implementados como uma simulao de computador em que uma populao de representaes abstratas de soluo selecionada em busca de solues melhores. A evoluo geralmente se inicia a partir de um conjunto de solues criado aleatoriamente e realizada por meio de geraes. A cada gerao, a adaptao de cada soluo na populao avaliada, alguns indivduos so selecionados para a prxima gerao, e recombinados ou mutados para formar uma nova populao. A nova populao ento utilizada como entrada para a prxima iterao do algoritmo.Modelagem de um sistema de busca por algortmos genticos Gerao 1/ Avaliao 1Gerao 3/ Avaliao 3Gerao 4/Avaliao 4No que eles se destacam dos demais?Baseiam-se em uma codificao do conjunto das solues possveis, e no nos parmetros da otimizao em si;os resultados so apresentados como uma populao de solues e no como uma soluo nica;no necessitam de nenhum conhecimento derivado do problema, apenas de uma forma de avaliao do resultado;usam transies probabilsticas e no regras determinsticas

Modelo de Algoritimofuno AlgoritmoGentico(populao, funo-objetivo) sadas: indivduo entradas: populao uma lista de indivduosfuno-objetivo uma funo que recebe um indivduo e retorna um nmero real. repetir lista de pais := seleo(populao, funo-objetivo) populao := reproduo(lista de pais)enquanto nenhuma condiao de parada for atingidaretorna o melhor indivduo da populao de acordo com a funo-objetivo Funo Objetivo o objeto de nossa otimizao. Pode ser um problema de otimizao, um conjunto de teste para identificar os indivduos mais aptos, ou mesmo uma "caixa preta" onde sabemos apenas o formato das entradas e nos retorna um valor que queremos otimizar. A grande vantagem dos algoritmos genticos esta no fato de no precisarmos saber como funciona esta funo objetivo, apenas t-la disponvel para ser aplicada aos indivduos e comparar os resultadosIndividuo meramente um portador do seu cdigo gentico. O cdigo gentico uma representao do espao de busca do problema a ser resolvido, em geral na forma de seqncias de bits. Por exemplo, para otimizaes em problemas cujos valores de entrada so inteiros positivos de valor menor que 255 podemos usar 8 bits, com a representao binria normal, ou ainda uma forma de cdigo gray. Problemas com mltiplas entradas podem combinar as entradas em uma nica seqncia de bits, ou trabalhar com mais de um "cromossomo", cada um representando uma das entradas. O cdigo gentico deve ser uma representao capaz de representar todo o conjunto dos valores no espao de busca, e precisa ter tamanho finito.Como feita a seleo?tambm outra parte chave do algoritmo. Em geral, usa-se o algoritmo de seleo por "roleta", onde os indivduos so ordenados de acordo com a funo-objetivo e lhes so atribudas probabilidades decrescentes de serem escolhidos - probabilidades essas proporcionais razo entre a adequao do indivduo e a soma das adequaes de todos os indivduos da populao. A escolha feita ento aleatoriamente de acordo com essas probabilidades. Dessa forma conseguimos escolher como pais os mais bem adaptados, sem deixar de lado a diversidade dos menos adaptadosE a reproduo para proximas geraes(solues) como feita?Tradicionalmente ela divididas em trs etapas:acasalamentoRecombinaomutao.Acasalamento a escolha de dois indivduos para se reproduzirem (geralmente gerando dois descendentes para manter o tamanho populacional). A recombinao, ou crossing-over um processo que imita o processo biolgico homnimoRecombinaoOs descendentes recebem em seu cdigo gentico parte do cdigo gentico do pai e parte do cdigo da me. Esta recombinao garante que os melhores indivduos sejam capazes de trocar entre si as informaes que os levam a ser mais aptos a sobreviver, e assim gerar descendentes ainda mais aptosMutaoso feitas com probabilidade a mais baixa possvel, e tem como objetivo permitir maior variabilidade gentica na populao, impedindo que a busca fique estagnada em um mnimo localConclusoUm tipo de algoritmo extremamente eficazUtiliza de tcnica fceis e logicas bsicas por meio de combinaoPode ser aplicado a estruturas e bases complexas e conseguir obter dados confiveis ou ao menos justificveis de uma busca previamente executada.Fcil implantao e utilizao.