Escolar Documentos
Profissional Documentos
Cultura Documentos
Introduo
Um Algoritmo Gentico (AG), conceitualmente, segue passos inspirados no processo biolgico de evoluo natural segundo a teoria de Darwin
Algoritmos Genticos seguem a idia de SOBREVIVNCIA DO MAIS FORTE (melhores solues a cada gerao)
O que so?
Os Algoritmos Genticos so uma classe de procedimentos, com passos distintos bem definidos. Essa classe se fundamenta em analogias a conceitos biolgicos j testadas exausto. Cada passo distinto pode ter diversas verses diferentes.
Background
Cromossomos
Todo organismo vivo consiste de clulas. Em cada clula, existe o mesmo conjunto de cromossomos
Cromossomos consistem de genes seqncias de DNA- que servem para determinar as caractersticas de um indivduo
5
Background (Cont.)
Reproduo
Durante o processo de reproduo ocorre-se a recombinao (ou crossover cruzamento-). Genes dos pais se combinam para formar novos cromossomos. Os descendentes criados podem sofrer mutaes, ou seja, os elementos do DNA podem ser trocados A adaptao de um organismo pode ser medida pelo sucesso do mesmo em sua vida
6
Caractersticas Gerais
Utilizam uma codificao do conjunto de parmetros (indivduos) e no com os prprios parmetros (estados); Vasculham vrias regies do espao de busca de cada vez; Utilizam informaes diretas de qualidade, em contraste com as derivadas utilizadas nos mtodos tradicionais de otimizao; Utilizam regras de transio probabilsticas e no regras determinsticas.
Caractersticas Gerais
Algoritmos Genticos podem ser considerados como mtodos que trabalham com Buscas Paralelas Randmicas Direcionadas
Funcionamento Fundamental
1. Gerar Populao Inicial
2. Descartar uma parte dos Indivduos
menos aptos 3. Aplicar operadores de reproduo 4. Aplicar operadores de mutao 5. Se o critrio de parada foi satisfeito, encerrar. Seno, voltar ao passo 2.
Modelagem
Indivduos X Estados Cada indivduo possui um cdigo gentico Esse cdigo chamado cromossomo Tradicionalmente, um cromossomo um vetor de bits Vetor de bits nem sempre o ideal
Questes importantes
Como criar cromossomos e qual tipo de codificao usar? Como escolher os pais para a realizao do crossover? A gerao de uma populao a partir de duas solues pode causar a perda da melhor soluo. O que fazer?
12
Esboo do algoritmo
[Incio] Gerao aleatria de uma populao de n cromossomos [Adaptao] Verificar a funo objetiva f(x) de cada cromossomo x [Populao] Cria-se uma nova populao pela repetio a seguir: 1. [Seleo] Selecione um par de cromossomos da populao de acordo com a adaptao de cada um (os mais bem adaptados tem maior chance de serem escolhidos) 2. [Crossover] Produza dois descendentes (filhos) realizando crossover com os cromossomos dos pais. O ponto para a realizao do crossover deve ser aleatrio. 3. [Mutao] Com uma certa probabilidade, o descendente sofre mutao em cada locus (posio no cromossomo). 4. [Aceitao] Coloque os descendentes em uma nova populao, juntamente com a melhor soluo da gerao velha 13
14
Codificao binria
a mais comum devido a sua simplicidade Cada cromossomo uma string de bits 0 ou 1
Crom: A = 1 0 1 1 0 0 1 0 1 1 Crom: B = 1 1 1 1 1 1 0 0 0 0
Exemplo de uso: problema da mochila Codificao: Cada bit diz se um elemento est ou no na mochila
15
Exemplo de Modelagem
Problema das N-Rainhas:
A posio de cada rainha dada por uma subcadeia do cromossomo Exemplo para N = 4:
= R1
01 11 00 10 R2 R3 R4
18
19
Problema 1
Adaptao - Aptido
Aptido Nota associada ao indviduo que avalia quo boa a soluo por ele representada. Aptido pode ser: Igual a funo objetivo. Resultado do escalonamento da funo objetivo. Baseado no ranking do indviduo da populao.
Exemplo
Cromossomos binrios com 5 bits: 0 = 00000 31 = 11111 Aptido Por simplicidade, a aptido ser a prpria funo objetivo. Exemplo: f(x) = x2 aptido(00011) = f(3) = 9
Problema Inicial
Operadores Fundamentais
Seleo Natural Manipulao Gentica por Mutao
Seleo Natural
Princpio bsico para o direcionamento da evoluo de uma dada populao Utiliza uma funo de avaliao para medir a aptido de cada indivduo Essa aptido pode ser absoluta ou relativa Existem vrios mtodos de seleo
Populao Exemplo
Indivduo Aptido Absoluta 1 2 3 4 5 2 4 5 9 18 Aptido Relativa 0,052631579 0,105263158 0,131578947 0,236842105 0,473684211
Total
38
Mtodo da Roleta
Coloca-se os indivduos em uma roleta, dando a cada um uma fatia proporcional sua aptido relativa Depois roda-se a agulha da roleta. O indivduo em cuja fatia a agulha parar permanece para a prxima gerao Repete-se o sorteio quantas vezes forem necessrias para selecionar a quantidade desejada de indivduos
Roleta - Exemplo
Mtodo do Torneio
Utiliza sucessivas disputas para realizar a seleo Para selecionar k indivduos, realiza k disputas, cada disputa envolvendo n indivduos escolhidos ao acaso O indivduo de maior aptido na disputa selecionado muito comum utilizar n = 3
Torneio - Exemplo
Indiv 1, Indiv 2, Indiv 4 Indiv 1, Indiv 2, Indiv 3 Indiv 2, Indiv 3, Indiv 4 Indiv 3, Indiv 4, Indiv 5 Indiv 4 Indiv 3 Indiv 4 Indiv 5
SUS - Exemplo
Operador de Mutao
Operador randmico de manipulao Introduz e mantm a variedade gentica da populao Garante a possibilidade de se alcanar qualquer ponto do espao de busca Contorna mnimos locais
Operador de Mutao
um operador gentico secundrio Se seu uso for exagerado, reduz a evoluo a uma busca totalmente aleatria Logo um indivduo sofre mutaes com probabilidade baixa (normalmente entre 0,001 e 0,1)
Exemplo de Mutao
Operador de Cruzamento
Tambm chamado de reproduo ou crossover Combina as informaes genticas de dois indivduos (pais) para gerar novos indivduos (filhos) Verses mais comuns criam sempre dois filhos para cada operao
Operador de Cruzamento
Operador gentico principal Responsvel por gerar novos indivduos diferentes (sejam melhores ou piores) a partir de indivduos j promissores Aplicado a cada par de indivduos com alta probabilidade (normalmente entre 0,6 e 0,99)
Cruzamento Uniforme
Cruzamento Um-Ponto
0 0 0 0 Pais 1 1 1 1
Filhos
Cruzamento Multi-Ponto
0 0 0 0 Pais 1 1 1 1
Filhos
Cruzamento Uniforme
Mscara 0 1 0 1
Pais
Filhos
Demais Geraes
Demais
Parmetros Genticos
Tamanho da populao Taxa de cruzamento Taxa de mutao Intervalo de gerao Critrio de parada
Aplicaes
Alocao de tarefas Configurao de sistemas complexos Seleo de Rotas Problemas de Otimizao e de Aprendizagem de Mquina Problemas cuja soluo seja um estado final e no um caminho
Aplicaes
So especialmente interessantes em problemas difceis de otimizar de forma convencional Tcnicas tradicionais so mais difceis de empregar Se uma tcnica tradicional puder ser empregada, normalmente acha melhor soluo mais rpido
Aplicaes
Existem muitos problemas prticos aos quais tcnicas determinsticas tradicionais no podem ser aplicadas Tcnicas tradicionais tm natureza serial Algoritmos Genticos tm natureza paralela
Perspectivas Futuras
Computao baseada em DNA Cooperao e competio entre populaes Vida vegetal Desenvolvimento de modelos tericos Sistemas evolutivos hbridos Metodologia para a configurao de parmetros Prova formal da eficincia global dos AGs