A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

1 Programação Genética Genetic Programming - GP De que modo computadores podem resolver problemas, sem que tenham que ser explicitamente programados para.

Apresentações semelhantes


Apresentação em tema: "1 Programação Genética Genetic Programming - GP De que modo computadores podem resolver problemas, sem que tenham que ser explicitamente programados para."— Transcrição da apresentação:

1

2 1 Programação Genética Genetic Programming - GP De que modo computadores podem resolver problemas, sem que tenham que ser explicitamente programados para isso?

3 2 Programação Genética - GP Extensão de Algoritmos Genéticos no domínio dos programas l Indivíduo l Indivíduo = programa de computador l Espaço de busca l Espaço de busca = todos os possíveis programas de computador

4 3 l Expressão matemática composta de funçõesterminais. funções + terminais. estrutura de árvore. l Programa codificado através de estrutura de árvore. Representação de Programas em GP

5 4 Representação de Programas x 2 + y x 2 + y é um programa de computador. (+(*xx)y) Se escrito na forma pré-fixada: (+(*xx)y) Representação sob a forma de árvore: * + y xx

6 5 l Funções l Funções - aparecem nos vértices internos da árvore: –operação aritmética (+, -, *, % etc) –função matemática (sen, cos, tan,...) –operação booleana (and, or, not) –operadores condicionais (se-então-senão) –funções que causam iteração (enquanto (condição) faça) –funções que causam recursão –funções específicas do domínio do problema l Terminais l Terminais - aparecem nos vértices externos da árvore (folhas) –variável (representando possivelmente as entradas) –constante (número 3) Representação de Programas

7 6 l GP evolui programas l GP evolui programas de computador a partir dos conjuntos de terminais e de funções; propriedade de clausura. l Para que programas criados pelo GP sejam válidos, é necessário que os conjuntos de funções e de terminais atendam a propriedade de clausura.

8 7 Propriedade de Clausura aceitar como argumento qualquer valor e tipo de dado retornado assumido Funções devem aceitar como argumento qualquer valor e tipo de dado que seja retornado por qualquer função do conjunto de funções, e qualquer valor e tipo de dado que possa ser assumido por qualquer terminal.

9 8 Passos Preparatórios na aplicação de GP : Conjunto de Terminais l Determinar o Conjunto de Terminais; Conjunto de Funções Primitivas l Determinar o Conjunto de Funções Primitivas; Medida de Aptidão l Definir uma Medida de Aptidão; Parâmetros l Estabelecer Parâmetros para Controlar a Execução; Determinar o Resultado Terminar a Execução l Definir um Método para Determinar o Resultado e um Critério para Terminar a Execução. Passos Preparatórios para GP

10 9 Processo Testa Programas População de Programas Inicial/Corrente Seleciona pais com base na aptidão Cria novos Programas Medida de Aptidão

11 10 Criação da População Inicial população inicial aleatória l Gera-se a população inicial aleatória, formada por programas de computador; l Funções são escolhidas aleatoriamente l Funções são escolhidas aleatoriamente no conjunto de funções; l Terminais são escolhidos aleatoriamente l Terminais são escolhidos aleatoriamente no conjunto de terminais; l Altura máxima da estrutura l Altura máxima da estrutura dos programas de computador gerados para a população inicial é controlada por um parâmetro.

12 11 Medida de Aptidão ambiente l Cada programa de computador é avaliado em termos do quão bem ele realiza (ou executa) sua tarefa em um ambiente particular de um problema. erro l Avaliação é o erro produzido no resultado. Quanto mais próximo de zero, melhor é o programa.

13 12 Seleção e Reprodução l seleção probabilística l Aptidão é usada na seleção probabilística de programas genitores para próxima geração de indivíduos. l operadores genéticos l Vários operadores genéticos são aplicados.

14 13 Operadores l Reprodução l Crossover l Mutação l Permutação l Edição l Encapsulamento l Destruição (Decimation)

15 14 l indivíduo da população é selecionado de acordo com algum método baseado na aptidão l indivíduo é copiado, sem qualquer alteração, para a próxima geração Reprodução + x 2 +x * + * x x xxxx

16 15 l 2 genitores são selecionados Crossover - x x x x x xx / / - * * xx x + - P1P1P1P1 P2P2P2P2

17 16 Crossover l Ponto de corte é escolhido aleatoriamente em cada um dos genitores xx x + - - x x x x x xx / / - * *

18 17 Crossover xx x + - - x x x x x xx / / - * * 2x-x x * x + - xx x2x2 x x - x x - x 3 l as subárvores dos genitores são trocadas

19 18 Crossover GA x Crossover GP l Em GA: –pais idênticos  filhos idênticos l Em GP, a chance de pontos de corte iguais é pequena. Assim, –pais idênticos  filhos diferentes

20 19 l escolhe-se um ponto interno de uma expressão; l ramos são permutados l a permutação a ser realizada é escolhida aleatoriamente ( 3 ramos: existem 3! possibilidades de permutação) l se a função é comutativa, não há efeito da permutação; Permutação + - c ba - c a b +

21 20 l Proporciona meio para editar e simplificar expressões Edição xx x + - x

22 21 l No domínio booleano:  (AND X X)  X  (OR X X)  X  (NOT(NOT(X))  X l Edição pode ser utilizada de duas formas: –externo a execução - saída mais legível –durante a execução - produzir saída simplificada l Edição consome muito tempo l Controlada por parâmetro que especifica: –1 - executada em todas as gerações –0 - não é aplicada –> 1 = freqüência de aplicação l Edição pode tornar a expressão menos vulnerável ao crossover (NOT(NOT(NOT(NOT(X)))))  x l Reduz a variedade de estruturas disponíveis para o crossover Edição

23 22 l forma de identificar subárvores potencialmente úteis e dar a elas um nome para que sejam referenciadas e usadas posteriormente; l seleciona-se um ponto interno da árvore do genitor Encapsulamento + * a b c

24 23 l remove-se a sub-árvore localizada no ponto selecionado l uma nova função é definida para se referenciar a esta sub-árvore. A esta função é dado um nome. + * a b c * bc E0:E0:E0:E0: Encapsulamento

25 24 l a nova função não tem argumentos; l o corpo da nova função encapsulada é a sub-árvore originalmente localizada no ponto selecionado; l uma chamada a função criada é inserida no ponto selecionado: l conjunto de funções é acrescido desta nova função l o conjunto de funções é acrescido desta nova função; l interromper o efeito de crossover l a função encapsulada é fator potencial para interromper o efeito de crossover, pois a função torna-se um ponto indivisível. + a Eo Encapsulamento

26 25 Operação assexuada l é uma forma de reduzir o número de indivíduos medíocres nas primeiras gerações; l controlado por dois parâmetros : –percentagem de indivíduos mantídos; e –condição que especifica quando este operador será invocado. l indivíduos são selecionados para permanecer com base na aptidão. PercentagemQuando l Ex: Percentagem=10%, Quando=geração 0 Na geração 0, 10% da população permanece (população será criada 10 vezes maior na geração 0) Destruição

27 26 l atingir um número máximo de gerações; ou l atingir um ponto ótimo (satisfatório) do problema. Critério de Terminação

28 27 l tamanho da população l número máximo de gerações l taxa de reprodução l taxa de mutação l taxa de crossover l taxa de distribuição dos pontos de crossover l altura da árvore l altura inicial da árvore l taxa de permutação Parâmetros de Controle l freqüência de edição l taxa de encapsulamento l condição de chamada de destruição l taxa de destruição l método de geração da população inicial l método de seleção do pai (primeiro e segundo) l uso de ajuste da medida de aptidão l uso de elitismo

29 28 Função Automaticamente Definida ( Automatic Defined Functions) l ADF é uma forma de implementar subrotinas em GP; l indivíduos são estruturas que combinam ADF e programas capazes de fazer uso das ADFs; l são desenvolvidas automaticamente e dinamicamente por meio de seleção natural e operadores genéticos; l um programa pode definir mais de uma ADF; l ADFs podem chamar outras ADFs.

30 29 ADF Programa definição da função ADF 0 lista de argumentos valores corpo de definição da ADF corpo do ramo produtor de resultados nós invariantes nós variantes

31 30 ADF Geração da População Inicial l população inicial é criada com mesma estrutura invariante para todos os indivíduos da população l parte variante da estrutura corresponde a: –ramo de definição da função, que é formado por funções pertencentes ao conjunto de funções e por terminais pertencentes ao conjunto de terminais –ramo de produção de resultados, que é composto de funções pertencentes ao conjunto de funções e por terminais pertencentes ao conjunto de terminais

32 31 Exemplo de Programa usando ADF Programa defunc ADF 0 arg 0 arg 1 arg 2 valores + + * ADF 0 ARG 0 ARG 2 ARG 1 H1H1 L0L0 H0H0 W0W0

33 32 ADF Crossover l deve preservar a mesma estrutura em todos indivíduos com um ramo de definição da função e um ramo de produção de resultados para programas com uma ADF; l para preservar a mesma estrutura em todos os indivíduos o crossover é aplicado apenas na estrutura variante do indivíduo.

34 33 ADF - Crossover Programa defunc ADF 0 arg 0 arg 1 arg 2 valores + + * ADF 0 ARG 0 ARG 2 ARG 1 H1H1 L0L0 H0H0 W0W0 Crossover aplicado na estrutura variante

35 34 Aplicação Vida Artificial Robôs e Agentes Autônomos Negócios e Finanças Redes Neurais Arte Imagem Processamento de Sinais Previsão e Classificação Otimização Inseto Artificial Comportamento de Grupos Controle de Robô PlanejamentoEstratégias de Monitoração PadrõesVROCRProteínasClassificação de texto

36 35 l Regressão Simbólica –Encontrar a expressão matemática que se ajuste melhor a uma amostra de dados de um processo: –Entrada: valores das variáveis independentes –Saída: valor da variável dependente Aplicação de GP

37 36 Exemplo de Regressão Simbólica l Tarefa de GP: encontrar o relacionamento entre duas variáveis (raio e diâmetro) e a saída (período) da órbita de um planeta em torno do sol l l Terceira Lei de Kepler: – –O período da órbita de um planeta é proporcional a raiz quadrada do cubo do raio. raio diâmetro período

38 37 Terceira Lei de Kepler l Amostra de dados

39 38 l Avaliação: –soma, nos oito casos de aptidão, do valor absoluto da diferença entre o período P produzido pela expressão e o valor objetivo de P associado com cada planeta Terceira Lei de Kepler

40 39 Terceira Lei de Kepler l conjunto de funções –unária: sen, ln, exp, not,  –binária: +, -, *, /, ^, >, >=, <, <=, =, != –ternária: if-then-else  * raio raio ^ 2

41 40 Exemplo usando ADF l Tarefa de GP: encontrar o relacionamento entre seis variáveis (L 0, W 0, H 0, L 1, W 1, H 1 ) e a saída D

42 41 Exemplo usando ADF H0H0 H1H1 L1L1 W1W1 L0L0 W0W0 D= W 0 *L 0 *H 0 -W 1 *L 1 *H 1 diferença de volumes de dois cubos

43 42 Exemplo usando ADF Programa defun ADF 0 arg 0 arg 1 arg 2 valores + + * ADF 0 ARG 0 ARG 2 ARG 1 H1H1 L0L0 H0H0 W0W0 D= H 1 *(W 0 +L 0 +H 0 )

44 43 Exemplo usando ADF Programa defun arg 0 arg 1 arg 2 valores - ARG 0 ARG 2 L1L1 H1H1 W1W1 ARG 1 * * volume L0L0 H0H0 W0W0

45 44 Aplicação Real l Encontrar uma função analítica para uma fronteira que defina o exercício de uma opção sobre um ativo que segue um Processo de Reversão à Média (PRM)

46 Expressão X

47 46 Open BEAGLE Plataforma de Computação Evolucionária em C++ para qualquer tipo de sistema evolucionário: algoritmos genéticos e programação genética princípios de programação orientada a objeto fonte grátis através de licença LGNU (Lesser General Public License) http://www.gel.ulaval.ca/~beagle

48 47 Open Beagle l características principais: –XML file format/streams –Dynamically configurable parameters –Generic Evolver/Operators model –Many predefined operators –Generational and steady-state evolutions –Multi-genic individuals –Complete evolution statistics

49 48 FIM


Carregar ppt "1 Programação Genética Genetic Programming - GP De que modo computadores podem resolver problemas, sem que tenham que ser explicitamente programados para."

Apresentações semelhantes


Anúncios Google