Programa Doutoral em Engenharia Informática Mestrado Integrado em Engenharia Informática LIACC/FEUP Universidade do Porto www.fe.up.pt/ ec rcamacho@fe.up.pt Outubro 2007
Algoritmos Genéticos alguns destes acetatos são adaptados do livro Machine Learning, Tom Mitchel
Algoritmos Genéticos bibliografia Adaptation in Natural and Artificial Systems John H. Holland University of Michigan Press, 1975 Machine Learning - Tom M. Mitchell, 1997, McGraw-Hill (Capítulo 9)
Evolução Biológica Lamarck e outros: As espécies transmutam com o tempo Darwin e Wallace: Consistentemente há variações que são herdadas entre os indivíduos de uma população Selecção Natural dos mais aptos Mendel e a genética: Um mecanismo para herdar características genótipo mapeamento do fenótipo
Algoritmos Genéticos definições Algoritmos Genéticos (AG) (Holland, 1975) são inspirados pela teoria de Darwin da Selecção Natural ou sobrevivência dos mais aptos Utilizam recombinações genéticas para efectuarem a evolução das populações Podem ser vistos como efectuando uma busca que aplica de modo probabiĺıstico operadores a pontos do espaço de procura A utilização de um AG envolve: i) uma codificação dos estados do problema (cromossomas representados geralmente por bit streams) ii) definição de uma função de aptidão (fitness function) para avaliar os estados Novos cromossomas (estados) são gerados por aplicação de operadores genéticos aos cromosomas existentes
Algoritmos Genéticos definições Os operadores genéticos mais frequentes são: crossover e mutation Crossover recombina informação de dois cromossomas pais para obter dois novos cromossomas descendentes Mutation utiliza um cromossoma pai e troca uma porção desse cromossoma para obter um cromossoma descendente Um conjunto de cromossomas é designado por população O tamanho da população é mantido constante durante a execução do algoritmo A execução de um AG é composta por um ciclo que faz evoluir uma população inicial utilizando os operadores genéticos
Algoritmos Genéticos definições Em cada ciclo, chamado uma geração, novos cromossomas são gerados por reprodução genética dos existentes Em cada ciclo o conjunto de cromossomas que se reproduz é escolhido aleatoriamente Os mais aptos têem uma probabilidade mais elevada de contribuirem com descendência para a geração seguinte Os novos cromossomas são avaliados pela função de aptidão e adicionados à população existente A população é reduzida para o tamanho pré-fixado descartando os menos aptos
Algoritmos Genéticos definições Nalgumas implementações um número fixo dos mais aptos é mantido de uma geração para a seguinte (princípio de elitismo). O algoritmo corre um número fixo de gerações O método dos AGs de remover os indivíduos menos aptos e propagar as carcaterísticas dos mais aptos tem semelhanças com a penalização e recompensa dos algoritmos de Reinforcement Learning
Algoritmos Genéticos GA(Aptidão(), Limiar de Aptidão, p, r, m) Initialização: P p hipóteses aleatórias Avaliação: para cada h em P, calcule Aptidão(h) While max h Aptidão(h) < Limiar de Aptidão 1. Selecção: Seleccione probabilisticamente (1 r)p membros de P para adicionar a P S Pr(h i ) = Aptidão(h i ) Pp j=1 Aptidão(h j ) 2. Crossover: Seleccione probabilisticamente r p 2 pares de hipóteses de P. Cada par, h 1, h 2, produz 2 descendentes usando o operador Crossover. Adicione os descendentes a P s. 3. Mutação: Inverta um bit selecionado aleatoriamente em m p elementos escolhidos aleatoriamente em P s 4. Actualização: P P s 5. Avalie: para cada h em P, calcule Aptidão(h) Returna hipótese de P com maior Aptidão
Representação de Hipótheses Represente (Outlook = Overcast Rain) (Wind = Strong) por Outlook Wind 011 10 Represente IF Wind = Strong THEN PlayTennis = yes por Outlook Wind PlayTennis 111 10 10
Operadores de Algoritmos Genéticos
Selecção da Hipótese mais apta Selecção proporcional à Aptidão: Pr(h i ) = Aptidão(h i ) p j=1 Aptidão(h j) Selecção por torneio: Escolha h 1, h 2 aleatoriamente com distribuição uniforme Com probabilidade p, escolha o mais apto. Selecção por Ranking: Ordene todas as hipóteses pelo valor da aptidão A probabilidade de selecção e proporcional ao rank
Sistema GABIL [DeJong et al. 1993] Aprende conjunto disjunto de regras proposicionais, (nível C4.5) Aptidão: Aptidão(h) = (correcto(h)) 2 Representação: IF a 1 = T a 2 = F THEN c = T ; IF a 2 = T THEN c = F representado por Operadores Genéticos: a 1 a 2 c a 1 a 2 c 10 01 1 11 10 0 Pretende conjuntos de regras com tamanho variável Pretende só hipóteses bem formadas (well-formed bitstring hypotheses)
GABIL Results Performance of GABIL comparable to symbolic rule/tree learning methods C4.5, ID5R, AQ14 Average performance on a set of 12 synthetic problems: GABIL without AA and DC operators: 92.1% accuracy GABIL with AA and DC operators: 95.2% accuracy symbolic learning methods ranged from 91.2 to 96.6
Algoritmos Genéticos usos AGs têem sido utilizados de modo simbiótico com algoritmos inductivos de ML na construção e sintonização de controladores Usados na procura da estrutura do modelo e na sintonização de parâmetros numéricos enquanto que os métodos inductivos são usados para tornar inteligíveis as codificações usadas pelos AGs São utilizados como optimizadores e algoritmos de procura de uso geral
Algoritmos Genéticos exemplo 1 pole and cart Varšek et al. (1993) utilizaram AGs no problema do pole and cart Processo decomposto em 3 fases: 1) AG aprende um conjunto de regras que controlam o pole and cart sob a forma de uma tabela de decisão. Estas regras são operacionais mas não inteligíveis. 2) um algoritmo inductivo de ML transforma as regras em formato compreensível 3) AG optimiza os parâmetros numéricos existentes no conjunto compreensível de regras