De que modo computadores podem resolver problemas, sem que tenham que ser explicitamente programados para isso?

Documentos relacionados
Inteligência Artificial

Figura 3.1: Fluxograma do algoritmo da Programação Genética.

1. Computação Evolutiva

Pós-Graduação em Engenharia de Automação Industrial SISTEMAS INTELIGENTES PARA AUTOMAÇÃO

Computação Evolutiva Eduardo do Valle Simões Renato Tinós ICMC - USP

Algoritmos Genéticos. Princípio de Seleção Natural. Sub-áreas da Computação Evolutiva. Idéias básicas da CE. Computação Evolutiva

3 Algoritmos Genéticos

3. Resolução de problemas por meio de busca

Inteligência Artificial. Algoritmos Genéticos. Aula I Introdução

Computação Evolutiva. Computação Evolutiva. Principais Tópicos. Evolução natural. Introdução. Evolução natural

Introdução a Algoritmos Genéticos

Algoritmos Evolutivos Canônicos

Algoritmos Genéticos

Algoritmos Genéticos. Texto base: Stuart Russel e Peter Norving - Inteligência Artificial

Algoritmo Genético. Inteligência Artificial. Professor: Rosalvo Ferreira de Oliveira Neto

Algoritmos Genéticos

Modelos Evolucionários e Tratamento de Incertezas

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano.

UMA INTRODUÇÃO AOS ALGORITMOS GENETICOS

Computação Evolucionária

Estrutura comum dos AEs

Modelos Evolucionários e Tratamento de Incertezas

Algoritmos Genéticos. Pontos fracos dos métodos tradicionais. Características de alguns problemas. Tamanho do espaço de busca- Ex. caixeiro viajante:

Algoritmos Genéticos. Estéfane G. M. de Lacerda DCA/UFRN Outubro/2008

Prova Escrita de MATEMÁTICA A - 12o Ano a Fase

Técnicas de Inteligência Artificial

CONSTRUÇÃO AUTOMÁTICA DE OPERADORES MORFOLÓGICOS UTILIZANDO PROGRAMAÇÃO GENÉTICA.

CTC-17 Inteligência Artificial Busca Competitiva e Busca Iterativa. Prof. Paulo André Castro

Introdução aos Algoritmos Genéticos

3 Algoritmos Genéticos

PEA 2522 MÉTODOS DE OTIMIZAÇÃO. Otimização

GA Conceitos Básicos. Capítulo 3 Prof. Ricardo Linden

Exemplo de Aplicação de Algoritmos Genéticos. Prof. Juan Moisés Mauricio Villanueva cear.ufpb.br/juan

Inteligência Computacional Aplicada. O que é Inteligência Computacional? Áreas de Aplicação Algoritmos Genéticos

Prova Escrita de MATEMÁTICA A - 12o Ano a Fase

Otimização. Unidade 6: Algoritmo Genético. Jaime Arturo Ramírez. 7. Teoria do processo evolutivo num GA. 8. Aspectos avançados

Algoritmos genéticos Abordagem unificada de algoritmos evolutivos simples

USANDO UM MÉTODO INDUTIVO PARA RESOLVER PROBLEMAS. Bruno Maffeo Departamento de Informática PUC-Rio

1. Computação Evolutiva

INSTITUTO DE PÓS GRADUAÇÃO ICPG GESTÃO DA TECNOLOGIA DA INFORMAÇÃO

étodos uméricos AJUSTE DE FUNÇÕES Prof. Erivelton Geraldo Nepomuceno PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA

Inteligência Artificial

3 Otimização Evolucionária de Problemas com Restrição

4 Modelos Propostos para Otimização de Planejamentos com Restrições de Precedência 4.1 Representação com Algoritmos Genéticos

5. Expressões aritméticas

Max Pereira. Inteligência Artificial

GAs são indicados em problemas complexos de otimização- onde se busca uma solução melhor:

Aula 4. Zeros reais de funções Parte 1

Planejamento Hidrotérmico Utilizando Algoritmos Genéticos

Aula 07 - Momento (formulação vetorial) 2011 Pearson Prentice Hall. Todos os direitos reservados.

Algoritmos Genéticos

4. Tensores cartesianos em 3D simétricos

Estratégias Evolutivas EEs. Prof. Juan Moisés Mauricio Villanueva

C o m p u t a ç ã o M ó v e l. André Siqueira Ruela

Tipo de argumentos. valor. argumentos

Lista de Exercícios Algoritmos Repetição. 1) Escreva um algoritmo em PORTUGOL que imprima todos os números inteiros de 0 a 50.

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

Gabarito - Matemática Grupos I e J

PROPOSTA DE RESOLUÇÃO DA PROVA DE MATEMÁTICA A DO ENSINO SECUNDÁRIO (CÓDIGO DA PROVA 635) 2ª FASE 20 DE JULHO 2018 CADERNO 1

Um Algoritmo Genético com Aprendizado por Reforço Simples aplicado ao problema do Mundo de Grid

x=0; y=x+1; x=&y+2; x 1000 y 1004

Introdução à Programação uma Abordagem Funcional

Aula 20: Árvores Binárias de Busca. Algoritmos de busca e inserção

Metahuerísticas: Algoritmos Genéticos. Sistemas de Informação/Ciências da Computação UNISUL Aran Bey Tcholakian Morales, Dr. Eng.

RECONHECIMENTO AUTOMÁTICO DE PADRÕES MUSICAIS UTILIZANDO OPERADORES MORFOLÓGICOS E PROGRAMAÇÃO GENÉTICA.

Soluções das Questões de Matemática do Processo Seletivo de Admissão à Escola Preparatória de Cadetes do Exército EsPCEx

Recursividade. Métodos iterativos. Prof. Cesar Augusto Tacla. Métodos iterativos utilizam estruturas de repetição

Prova Escrita de MATEMÁTICA A - 12o Ano a Fase

UFRJ - Instituto de Matemática Programa de Pós-Graduação em Ensino de Matemática Mestrado em Ensino de Matemática

GAs são indicados em problemas complexos de otimização- onde se busca uma solução melhor:

Regressão Polinomial e Simbólica

Proposta de teste de avaliação

PROPOSTA DE RESOLUÇÃO DA PROVA DE MATEMÁTICA A DO ENSINO SECUNDÁRIO (CÓDIGO DA PROVA 635) 2ª FASE 20 DE JULHO 2018 CADERNO 1

Capítulo 7. Expressões e Sentenças de Atribuição

Fundamentos de Matemática II DERIVADAS PARCIAIS7. Licenciatura em Ciências USP/ Univesp. Gil da Costa Marques

INTRODUÇÃO À INTELIGÊNCIA COMPUTACIONAL. Aula 06 Prof. Vitor Hugo Ferreira

pontos: f(1)=2, f(2)=3, f(3)=5, f(5)=10 e f(6)=30.

Exame: Português Nº Questões: 58 Duração: 120 minutos Alternativas por questão: 5 Ano D. 5

Problema de Satisfação de Restrições. Problema de Satisfação de Restrições. Grafo de restrições. Exemplo: 4 Rainhas como um PSR

Problema de Satisfação de Restrições

Estruturas de Repetição

4 Métodos Existentes. 4.1 Algoritmo Genético

x=0; y=x+1; x=&y+2; x 1000 y 1004

Introdução à Programação. João Manuel R. S. Tavares

Programação e Computação para Arquitectura 2010/2011

Otimização com Algoritmos Genéticos no MATLAB. Prof. Rafael Saraiva Campos CEFET-RJ

ALGORITMOS E PROGRAMAÇÃO DE COMPUTADORES I. Trabalho 1 (T1)

Inteligência Artificial

Algoritmia e Programação APROG. Algoritmia 1. Lógica Proposicional (Noções Básicas) Nelson Freire (ISEP DEI-APROG 2013/14) 1/12

Técnicas de Inteligência Artificial

Aprendizado Evolutivo: Introdução aos Algoritmos Genéticos

TIPO DE PROVA: A. Questão 3. Questão 1. Questão 4. Questão 2. alternativa D. alternativa E. alternativa D. alternativa D

Algoritmos Evolutivos para Otimização

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

Técnicas de análise de algoritmos

Lista de Exercícios 03a Algoritmos Repetição. 1) Escreva um algoritmo em PORTUGOL que imprima todos os números inteiros de 0 a 50.

Capítulo 8. Estruturas de Controle no Nível de Sentença

Transcrição:

Programação Genética Genetic Programming - GP De que modo computadores podem resolver problemas, sem que tenham que ser eplicitamente programados para isso? Programação Genética - GP Etensão de Algoritmos Genéticos no domínio dos programas Indivíduo = programa de computador Espaço de busca = todos os possíveis programas de computador 1

Representação de Programas Epressão matemática composta de funções terminais. Programa é codificado através de uma estrutura de árvore, ao invés de linhas de código Representação de Programas 2 y é um programa de computador. Se escrito na forma pré-fiada: (()y) Representação sob a forma de árvore: y 2

Representação de Programas 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 Terminais - aparecem nos vértices eternos da árvore (folhas ) variável (representando possivelmente as entradas) constante (número 3) Representação de Programas GP evolui programas de computador para resolver um problema, a partir do conjunto de terminais e do conjunto de funções; Para que todos os programas de computador criados pelo GP sejam válidos, é necessário que o conjunto de funções e o conjunto de terminais atendam a propriedade de claus ura. 3

Propriedade de Clausura 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. Passos Preparatórios para GP Eistem 5 Passos Preparatórios na aplicação de GP : Determinar o Conjunto de Terminais; Determinar o Conjunto de Funções Primitivas; Definir uma Medida de Aptidão; Estabelecer Parâmetros para Controlar a Eecução; Definir um Método para Determinar o Resultado e um Critério para Terminar a Eecução. 4

Processo População de Programas Inicial/Corrente Medida de Aptidão Testa Programas Cria novos Programas Seleciona pais com base na aptidão Criação da População Inicial Gera-se a população inicial aleatória, formada por programas de computador; Funções são escolhidas aleatoriamente no conjunto de funções; Terminais são escolhidos aleatoriamente no conjunto de terminais; Altura máima da estrutura dos programas de computador gerados para a população inicial é controlada por um parâmetro. 5

Medida de Aptidão Cada programa de computador é avaliado em termos do quão bem ele realiza (ou eecuta) sua tarefa em um ambiente particular de um problema. Por eemplo, eecutando-se o programa e verificando-se o erro produzido no resultado. Quanto mais próimo de zero, melhor é o programa. Seleção e Reprodução A medida de aptidão de cada programa de computador é usada na seleção probabilística de programas para participar da próima geração de indivíduos. Na formação da nova população, vários operadores genéticos são aplicados. 6

Reprodução Crossover Mutação Permutação Edição Encapsulamento Operadores Destruição (Decimation) Reprodução um indivíduo da população é selecionado de acordo com algum método baseado na aptidão o indivíduo é copiado, sem qualquer alteração, para a próima geração 2 2 7

8 genitores selecionados 3 2 Crossover Crossover - / / - - P 1 P 2 Crossover Crossover Um ponto de corte é escolhido aleatoriamente em cada um dos genitores - - / / -

Crossover as subárvores de cada genitores são trocadas 2- - / - / - - 3-2 - Situações do Crossover Propriedade de clausura das funções garante sempre soluções válidas: se um ponto ter minal é escolhido em um dos pais e uma sub-árvore no outro, o terminal é trocado com a subárvore; se um ponto terminal é escolhido em um dos pais e um ponto terminal no outro, os pontos terminais são trocados; se a raiz é escolhida em um dos pais e uma sub-árvore no outro, a árvore que corresponde ao pai é toda inserida no lugar da sub-árvore do outro pai. Isto acarreta um crescimento da profundidade dade da árvore em um dos filhos e o outro filho será formado pela sub-árvore 9

Situações do Crossover caso o ponto de corte seja a raiz em um dos pais, e no outro, o ponto de corte seja umterminal, um filho será formado por um terminal e o outro por uma ár vore com alta profundi dade, já que será todo o pai inserido no ponto onde estava um terminal; se a raiz dos dois pais é selecionada, ocorre degeneração do crossover, que acarretará uma simples reprodução, ou seja cada filho é idêntico a um dos pais. Crossover GA Crossover GP Em GA: pais idênticos filhos idênticos Em GP, a chance de pontos de corte iguais é pequena. Assim, pais idênticos filhos diferentes 10

escolhe-se um ponto interno de uma epressão; ramos são permutados Permutação a permutação a ser realizada é escolhida aleatoriamente ( 3 ramos: eistem 3! possibilidades de permutação) se a função é comutativa, não há efeito da permutação; - c - c a b b a Edição Proporciona um meio para editar e simplificar epressões - 11

No domínio booleano: (AND X X) X Edição (OR X X) X (NOT(NOT(X)) X Edição pode ser utilizada de duas formas: eterno a eecução - saída mais legível durante a eecução - produzir saída simplificada Edição consome muito tempo Controlada por parâmetro que especi fica: 1 - eecutada em todas as gerações 0 - não é aplicada > 1 = freqüência de aplicação Edição pode tornar a epressão menos vulnerável ao crossover (NOT(NOT(NOT(NOT(X))))) Reduz a variedade de estruturas disponíveis para o crossover Encapsulamento forma de identificar subárvores potencialmente úteis e dar a elas um nome para que sejam referenciadas e usadas posteriormente; seleciona-se um pai baseando-se na aptidão; seleciona-se um ponto interno desta árvore a b c 12

Encapsulamento remove-se a sub-árvore localizada no ponto selecionado uma nova função é definida para se referenciar a esta sub-árvore. A esta função é dado um nome. a b c E 0 : b c Encapsulamento a nova função não tem argumentos; o corpo da nova função encapsulada é a sub-árvore originalmente localizada no ponto selecionado; uma chamada a função criada é inserida no ponto selecionado: a Eo o conjunto de funções é acrescido desta nova função; a função encapsulada é fator potencial para interromper o efeito de crossover, pois a função torna-se um ponto indivisível. 13

Operação asseuada Destruição é uma forma de reduzir o número de indivíduos medíocres nas primeiras gerações; controlado por dois parâmetros: percentagem de indivíduos mantídos; e condição que especifica quando este operador será invocado. indivíduos são selecionados para permanecer com base na aptidão. E: 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) Critério de Terminação atingir um número máimo de gerações; ou atingir um ponto ótimo do problema. 14

Designação dos Resultados melhor Indivíduo que apareceu em qualquer geração da população. Parâmetros de Controle tamanho da população número máimo de gerações taa de reprodução taa de mutação taa de crossover taa de distribuição dos pontos de crossover altura da árvore altura inicial da árvore taa de permutação freqüência de edição taa de encapsulamento condição de chamada de destruição taa de destruição método de geração da população inicial método de seleção do pai (primeiro e segundo) uso de ajuste da medida de aptidão uso de elitismo 15

Função Automaticamente Definida ADF forma de implementar subrotinas em GP; indivíduos são estruturas que combinam ADF e programas capazes de fazer uso das ADFs; são desenvolvidas automaticamente e dinamicamente por meio de seleção natural e operadores genéticos; um programa pode definir mais de uma ADF; ADFs podem chamar outras ADFs. ADF nós invariantes Programa definição da função valores ADF 0 lista de argumentos valores nós variantes corpo de definição da ADF corpo do ramo produtor de resultados 16

ADF Geração da População Inicial a geração da população inicial tem que ser criada com mesma estrutura invariante para todos os indivíduos da população a 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 Eemplo de Programa usando ADF Programa defun valores ADF 0 arg 0 arg 1 arg 2 valores ARG 0 ADF 0 H 1 ARG 1 ARG 2 L 0 H 0 W 0 17

ADF Crossover 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; para preservar a mesma estrutura em todos os indivíduos o crossover é aplicado apenas na estrutura não invariante do indivíduo. ADF - Crossover Programa defun valores ADF 0 arg 0 arg 1 arg 2 valores Crossover aplicado na estrutura não invariante ARG 0 ADF 0 H 1 ARG 1 ARG 2 L 0 H 0 W 0 18

Aplicação Vida Artificial Redes Neurais Inseto Artificial Comportamento de Grupos Robôs e Agentes AutônomosNegócios e Finanças Imagem Arte Processamento Otimização de Sinais Padrões VR Proteínas OCR Previsão e Classificação Classificação de teto Controle de Robô Planejamento Estratégias de Monitoração Aplicação de GP Regressão Simbólica Encontrar a epressão matemática que se ajuste melhor a uma amostra de dados: entrada: valor da variável independente saída: valor da variável dependente 19

Eemplo de Regressão Simbólica 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 raio Terceira Lei de Kepler: período diâmetro O período da órbita de um planeta é proporcional a raiz quadrada do cubo do raio. Periodo= raio 3 Terceira Lei de Kepler Dados fornecidos Raio Diâmetro Período 0,387 0,384 0,24 0,723 0,972 0,62 1,000 1,000 1,00 1,524 0,533 1,88 5,203 9,775 11,86 9,569 9,469 29,46 19,309 3,692 84,01 30,284 3,492 164,79 39,781 0,447 247,69 20

Terceira Lei de Kepler Avaliação: soma, nos oito casos de aptidão, do valor absoluto da diferença entre o período P produzido pela epressão e o valor objetivo de P associado com cada planeta Terceira Lei de Kepler conjunto de funções unária: sen, ln, ep, not, binária:, -,, /, ^, >, >=, <, <=, =,!= ternária: i f-then-else raio raio 2 raio ^ raio 2 21

Eemplo usando ADF 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 L 0 W 0 H 0 L 1 W 1 H 1 D 4 4 7 2 5 3 82 7 10 9 10 3 1 600 10 9 4 8 1 6 312 3 9 5 1 6 4 111 4 3 2 7 6 1-18 3 3 1 9 5 4-171 5 9 9 1 7 6 363 1 2 9 3 9 2-36 2 6 8 2 6 10-24 8 1 10 7 5 1 45 Eemplo usando ADF H 0 H1 W 0 L 0 W 1 L 1 D= W 0 L 0 H 0 -W 1 L 1 H 1 diferença de volumes de dois cubos 22

Eemplo usando ADF D= H 1 (W 0 L 0 H 0 ) Programa defun valores ADF 0 arg 0 arg 1 arg 2 valores ARG 0 ADF 0 H 1 ARG 1 ARG 2 L 0 H 0 W 0 Eemplo usando ADF Programa defun valores volume arg 0 arg 1 arg 2 valores - ARG 0 volume volume ARG 1 ARG L L 2 0 H 0 W 0 1 H 1 W 1 23

Aplicação Classificação Determinar qual entre duas espirais entrelaçadas pertence a um determinado ponto entrada: coordenadas cartesianas do ponto saída: identificação da espiral correta Aplicação Planejamento em Robótica Controlar o braço de um robot de forma que ele sempre alcance um dado destino entrada: local definido como entrada saída: produzir os movimentos apropriados 24

FIM 25