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

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

Computação Evolutiva : Um Novo Paradigma Para a Resolução de Problemas Complexos Aurora Pozo Pós-graduação em Informática, Pós-graduação em Métodos Numéricos.

Apresentações semelhantes


Apresentação em tema: "Computação Evolutiva : Um Novo Paradigma Para a Resolução de Problemas Complexos Aurora Pozo Pós-graduação em Informática, Pós-graduação em Métodos Numéricos."— Transcrição da apresentação:

1 Computação Evolutiva : Um Novo Paradigma Para a Resolução de Problemas Complexos Aurora Pozo Pós-graduação em Informática, Pós-graduação em Métodos Numéricos para Engenharia. Grupo EsCeL, www.inf.ufpr.br/escel

2 Motivação Algoritmos Genéticos e Evolutivos são eficientes métodos de otimização e planejamento inspirados na natureza baseados nos princípios da evolução natural e genética. Devido a sua eficiência e simples princípios, estes métodos são usados em uma variedade de problemas de otimização e aprendizado de maquina.

3 Ambientação Modelo Computa- cional Natureza Modelo Biológico Teoria de Darwin Teoria de Computação Evolucionária

4 Exemplos de Aplicações Reais Projeto de Antenas Projeto de Drogas Classificação Química Circuitos Elétricos Escalonamento de Fabricas (Volvo, Deere, outras) Projeto de Turbina Projeto de Carros “Crashworthy” Projeto de Redes Projeto de Sistemas de Controle Parâmetros de Produção Projeto de Satélite Stock/commodity/ analises/ tendências Ajuste de Celulares Data Mining

5 Sumário Computação Evolutiva Conceitos básicos Algoritmos Genéticos Projetos

6 Computação Evolucionária Área da Inteligência Artificial que engloba um conjunto de métodos computacionais inspirados na Teoria da Evolução das Espécies. auto-organização e o comportamento adaptativo

7 Ramos Estratégias Evolucionárias: ênfase na auto-adaptação. O papel da recombinação é aceito, mas como operador secundário. Programação Evolutiva: Previsão do comportamento de máquinas de estado finitas. Algoritmos Genéticos: Indivíduos contém um genótipo formado por cromossomos Programação Genética Evolução de programas Estimativa de Distribuição AG competentes

8 Historia Estratégias Evolutivas: Desenvolvida por Rechenberg, Schwefel, etc. em 1960. Foco: Otimização de parâmetros de valores reais Individuo: vetor de parâmetros de valores reais Reprodução: Mutação Gaussiana dos parâmetros M pais, K>>M filhos

9 Historia Programação Evolutiva: Desenvolvida por Fogel in 1960 Objetivo: evoluir comportamento inteligente Indivíduos: Maquina de estado finita Filhos via mutação das MEF M pais, M filhos

10 Historia Algoritmos Genéticos: Desenvolvidos por Holland em 1960s Objetivo: robustos, sistemas adaptativos Utiliza uma codificação “genética” de pontos Reprodução via mutação e recombinação do código genético. M pais, M filhos

11 Historia Programação Genética Desenvolvidos por Koza em 1990s Objetivo: Evolução de programas Reprodução via recombinação do código genético. M pais, M filhos

12 Historia Alg. de Estimativa de Distribuição Inicia com os trabalhos de Baluja 1994 AG competentes ??? Modelam os relacionamentos entre as variáveis do indivíduos. Evoluem o modelo Alguns utilizam redes bayesianas para isto

13 Estado Atual Grande variedade de Algoritmos Evolutivos Grande variedade de aplicações Otimização, busca, aprendizado, adaptação Analise teórico experimental

14 Características Comuns Uso de um processo de evolução pseudo-Darwinian para solucionar problemas difíceis. Computação Evolutiva

15 Evolução Natural Embora tenham origens bastante diversas, todas essa abordagens têm em comum o modelo conceitual inicial

16 Características Comuns Usam um processo de evolução baseado em Darwin para resolver problemas computacionais de IA Inspirados na Teoria da Evolução: os indivíduos mais adaptados sobrevivem

17 Elementos Chaves de Algoritmos Evolucionários Uma população de indivíduos A noção de fitness Um ciclo de nascimento e morte baseados na fitness A noção de herança

18 Visão Geral do Algoritmo Evolucionário população de pais população de filhos solução seleção recombinação

19 Visão Geral do Algoritmo Evolucionário 1. Gerar uma população inicial aleatoriamente 2. Fazer até um critério de parada: selecionar indivíduos para pais (fitness) produzir filhos selecionar indivíduos para morrer (fitness) 3. Retornar um resultado

20 Algorithmos Geneticos Holland 1960 São algoritmos de busca Objetivo: robusto, sistema adaptativo Combinam: Sobrevivência do mais ajustado com um estruturado, aleatório intercâmbio de informações

21 AG Apesar de aleatórios, AG não funcionam unicamente com este conceito. Eles exploram informação histórica para experimentar novos pontos de busca.

22 Algoritmo população inicial pais selecionados filhos gerados nova população seleção (fitness) operadores genéticos cruzreprmut nova pop completa? não sim satisfeito c/ a solução? não início solução fim sim

23 Terminologia Biológica Em AG são utilizados termos biológicos como analogia com a biologia. Cromossomo: codificação de uma possível solução – individuo Genes: Codifica uma característica particular Genótipo x Fenótipo

24 Indivíduos Material genético Conjunto de atributos da solução Cada atributo uma seqüência de bits e o individuo como a concatenação das seqüências de bits Codificação binária, códigos

25 População Conjunto de indivíduos que estão sendo cogitados como solução Relacionado a dimensão do espaço de busca. Populações pequenas têm grandes chances de perder a diversidade necessária (exploração de todo o espaço de soluções) Populações grandes perderá grande parte de sua eficiência pela demora em avaliar a função de fitness

26 Reprodução Reprodução sexual, genes são trocados entre dois pais – crossover Os filhos são sujeitos a modificações, na qual bits elementares são mudados - mutação

27 Função de fitness Mede a adaptação do indivíduo ou quão boa é a solução dada por este indivíduo. Representativa do problema: diferencie uma solução boa de uma má. Heurística de busca no espaço de estado Cuidados com o custo computacional.

28 Requisitos para usar AG  Representações das possíveis soluções do problema no formato de um código genético;  População inicial que contenha diversidade suficiente para permitir ao algoritmo combinar características e produzir novas soluções;  Existência de um método para medir a qualidade de uma solução potencial;  Um procedimento de combinação de soluções para gerar novos indivíduos na população;  Um critério de escolha das soluções que permanecerão na população ou que serão retirados desta;  Um procedimento para introduzir periodicamente alterações em algumas soluções da população. Desse modo mantém-se a diversidade da população e a possibilidade de se produzir soluções inovadoras para serem avaliadas pelo critério de seleção dos mais aptos.

29 Seleção O operador escolhe quais indivíduos participarão na criação da próxima geração

30 Exemplo IndivíduosFitness% Fitness 10101010110101010111 1223,08 00001001010101110010 815,38 00001100001011011101 917,31 00000110010010000010 611,54 11100011100010011111 1223,08 00010101001000010000 59,62 Total 52100,00

31

32 Reprodução Preserva características úteis Introduz variedade e novidades Estratégias Parentes únicos: clonar + mutação Parentes múltiplos: recombinação + mutação

33 Métodos de Recombinação Cruzamento: cria novos indivíduos misturando características de dois indivíduos pais (crossover) Copia de segmentos entre os pais Crossovers multi-ponto, dois pontos, um ponto, uniforme e inversão

34 Cruzamento Pai 1: 10101010110101010111 Pai 2: 00001001010101110010 Cruzamento em um ponto 10101010110101110010, 00001001010101010111 Cruzamento uniforme: os filhos são formados a partir dos bits dos pais (sorteado)

35 Mutação Esta operação inverte aleatoriamente alguma característica do indivíduo Cria novas características que não existiam Mantém diversidade na população

36 Balance Explotação-Exploração Pressão de seleção: explotação Reduz o espaço de busca Reprodução: exploração Expande o espaço de busca Balance Seleção forte + taxas de mutação altas Seleção fraca + taxas de mutação baixas

37 Quando AG é bom ? Funções multímodas Funções discretas ou continuas Funções altamente dimensionais, incluindo combinatórias Dependência não linear dos parâmetros Usada freqüentemente para obter solução a problemas NP completos Não usar quando outro método como hill-climbing, etc., funciona bem

38 Técnicas Avançadas em AGs AGs são apropriados para problemas complexos, mas algumas melhorias devem ser feitas

39 Sharing Limita o crescimento descontrolado de espécies particulares dentro de uma população; Força uma maior diversidade populacional Similaridade pode ser medida tanto no espaço genotípico como no espaço fenotípico; –Genotípico: atributos iguais entre dois indivíduos –Fenotípico: exemplos de treinamento cobertos pela regra. (GOLDBERG; RICHARDSON, 1987)

40 Crowding (DeJong) Crowding ajuda a criação de “nichos” e reduz a convergência prematura Para cada filho: Escolha K candidatos para substituição, aleatoriamente, Para estes candidatos Calcule a pseudo-Hamming distancia ao filho Substitua o individuo mais similar pelo filho

41 AG Híbridos, uma boa idéia! IDEIA: combinar um AG com um método de busca problema- especifico Como: tipicamente, para alguns indivíduos, comece pela solução de um AG, realize alguns ciclos com o método local, re- inserte na população. Útil em diferentes problemas com restrições Ex: reparar soluções inviáveis

42 Técnicas baseadas em conhecimento, hibridismo A. Mémeticos Quando existe conhecimento específico do problema -> AG híbrido AG global Busca local

43 AG executa até convergência, um procedimento de otimização local é usado, AG com criação de nichos AG Mestre fitness Busca local fitness Busca local fitness Busca local

44 AGs Paralelos Independente de Hardware Paralelo 3 modelos básicos: coarse-grain (ilha), finegrain (celular) e micro-grain (trivial) Trivial (não realmente um AG paralelo – uma implantação paralela de uma população única de AG ): onde os individuos estão separados para avaliação de fitness.

45 AG em Ilhas

46 Multi-objetivo AG

47 Projetos Mineração de Dados Previsão de Series Temporais

48 GADBMS - Um Algoritmo Genético Restrito para indução de regras em Bases de Dados Relacionais Andréa de Fátima Cavalheiro e Aurora Ramirez Pozo

49 Objetivo Apresentar o projeto e implementação de GADBMS, um sistema que utiliza um algoritmo genético para classificação

50 Mineração de Dados Etapa na Descoberta do Conhecimento em Banco de Dados, que visa buscar relações e modelos dentro de um grande volume de dados; Permite aos usuários explorar e inferir informações úteis a partir dos dados; Tarefas de Mineração de Dados –Agrupamento, Regressão, Associação, Dependência, Desvio, Classificação Técnicas ou Métodos –Redes Neurais, Árvores de Decisão, Regras de Produção, Algoritmos Genéticos, Programação Genética

51 Tarefa de Classificação A tarefa de classificação pode utilizar técnicas de indução de regras. Para induzir um classificador é utilizado um conjunto de treinamento, no qual cada exemplo possui a sua classificação. Atributos de um conjunto de dados são divididos em dois grupos: –um contendo apenas um atributo, representando a classe, –o outro contendo todos os atributos que serão utilizados para fazer a predição da classe. Necessário estimar a precisão do classificador, a qual poderá ser medida através da taxa de erro.

52 Regras Geradas Conjunto de Treinamento

53 GADBMS GADBMS: sistema classificador baseado na indução de regras. Utiliza um algoritmo genético restrito por x listas Tabu para efetuar a busca das regras ( x = quantidade classes) Implementado em C++ com interface DOS Conjuntos de dados que serão avaliados devem ser armazenados em banco de dados

54 Arquitetura do GADBMS

55 Módulo Configuração Recebe os parâmetros de entrada:probabilidade de cruzamento, mutação, probabilidade de criação de restrições vazias, medida de similaridade (genótipo / fenótipo), tamanho da lista longa e da lista curta, etc. Arquivo contendo a seguinte informação: CLASSES 0,1,2. v1continuous. v21,2,3. v30,1. v41,2,3,4,5. v5continuous. v60,1. v7continuous. v8continuous.

56 Módulo GATABU – População Exemplo do formato da regra que compõe a população IF v1 >= 0.05 AND v1 <= 1.02 v2 =* v3 =0 v4 =5 Then classes = 2 classesv1 (min)v1(máx)v2v3v4 10.851.261*3 00.15*101 10.381.26113 20.051.02*05 2*1.86304

57 Módulo GATABU – Tabela Treinamento Regra Induzida IF v1 >= 0.05 AND v1 <= 1.02 v2 =* v3 =0 v4 =5 Then classes = 2FITNESS = 0.5 classesv1v2v3v4 00.85113 00.15301 10.26113 11.85205 20.82305 20.01202

58 Módulo GATABU Função de Aptidão –(VP + 1)/(VP+FP+K) VP, exemplos positivos corretamente classificados pela regra FP, exemplos negativos incorretamente classificados como positivos K, é o número de classes no domínio

59 Módulo GATABU (AG Restrito)

60 Módulo GATABU Similaridade: –Genótipo - quantidade de atributos similares ou idênticos na regra; –Fenótipo - quantidade de registros corretamente classificados pela regra. Cruzamento em dois pontos; Mutação: – Escolhe aleatoriamente um dos atributos e altera o valor de acordo com os valores pré-definidos no módulo de configuração.

61 Módulo Regras Extraídas Reúne em um só conjunto as regras armazenadas nas Listas Longas para verificação da precisão do classificador; Ordena de uma maneira apropriada; Elimina regras que não cobrem nenhum exemplo no conjunto de treinamento; Classe padrão será aquela que possuir mais registros não cobertos pelas regras; Avalia as regras verdadeiras na base de teste;

62 Resultados Obtidos – Precisão LIM;LOH;SHIHLOPES;POZOGADBMS NomeMinMax.Mediana BLD0,27900,43200,32200,37750,3862 BLD+0,31300,44100,34900,34750,4219 PID0,22100,31000,23800,25930,2576 PID+0,22100,31800,25000,27780,2705 SMO0,30400,42400,30500,30080,3050 SMO+0,30500,41100,30500,30680,3050 VOT0,03640,05800,04570,05820,0503 VOT+0,04120,06620,04690,06110,0455 MEDIA0,21510,30750,23270,24860,2553

63 Conclusões - GADBMS Com o GADBMS as regras podem ser encontradas em apenas uma execução; Uso de comandos SQL possibilita a execução do classificador em bases de dados relacionais; Mostrou eficiência trabalhando com populações pequenas; Se encontrada uma função de aptidão adequada ao problema tratado, a precisão pode ser melhorada; A medida de similaridade também mostra ser um parâmetro importante na busca das regras; A classificação utilizando regras tem a vantagem de ser facilmente compreendida por humanos.

64 UTILIZAÇÃO DA PROGRAMAÇÃO GENÉTICA NA PREVISÃO DE SÉRIES TEMPORAIS Orientadora: Profa. Dra. Aurora Pozo Luzia Vidal

65 Programação Genética  Programação Genética (PG): método de indução de programas baseado na seleção natural das espécies.  Objetivo: evoluir uma população de programas candidatos à solução de um dado problema.  Função de aptidão ao ambiente (fitness): mede a habilidade de um programa para resolver um problema

66 Funcionamento da PG  É feito iterativamente em quatro etapas:  Gera-se população inicial de programas de forma aleatória  Avaliação dos programas (função de aptidão)  Com base nos valores de aptidão, programas sofrem ação de operadores genéticos: reprodução, cruzamento, mutação  Aplicação dos operadores genéticos segue até que uma nova população tenha sido gerada

67 PG para regressão simbolica Dado um conjunto de dados de entrada x e um conjunto de saídas desejadas t, encontre uma função f tal que:

68 Aplicações Física Equações empíricas /diferenciais Econometria Relações empíricas Finanças Regras de tendências Industria Controle de processos/ identificação

69 Séries Temporais Exemplo de curva de Série Temporal

70 Métodos Avançados de Previsão  Modelo Autoregressivo e de Médias Móveis (ARMA)  Modelo de Box e Jenkins

71 Experimento Preliminar  Seleção de bases históricas a partir de Time Series Data Library.  Construção de algoritmo básico de PG, utilizando a ferramenta Lil-gp, com os seguintes conjuntos: T = { Z,  }, F = { +, -, *, /, log, exp, sen, cos}  Conjunto de terminais baseado em AR(1,0): f(x) =  1 x t-1 + a t

72 Experimento Preliminar  Modelagem Estatística – foi utilizado o pacote Statgraphics. Forecast Summary ---------------- Forecast model selected: ARMA(1,0) Number of forecasts generated: 12 Number of periods withheld for validation: 0 Estimation Validation Statistic Period Period -------------------------------------------- RMSE 0,315574 MAE 0,230589 MAPE 2,56975 ME 0,00228604 MPE -0,0990821

73 Experimento Preliminar  Configurações do Algoritmo de PG  Função de Fitness – Raiz do Erro Médio Quadrático calculado individualmente, entre o valor calculado e o valor da série. Tamanho da População: 10000 Número de Gerações: 50 Taxa de Crossover: 90% Taxa de Mutação: 10%

74 Experimento Preliminar  Resultados === BEST-OF-RUN === generation: 14 nodes: 21 depth: 9 hits: 38 TOP INDIVIDUAL: -- #1 -- hits: 38 raw fitness: 2.6513 standardized fitness: 2.6513 adjusted fitness: 0.2739 TREE: (+ Z (/ (exp (- -0.68975 (+ Z (- (* (- (sqrt Z) Z) (cos Z)) Z)))) (- Z (exp -0.22942))))

75 Experimento Preliminar  Equação Gerada  RMSE obtido com a PG : 0,0620

76 Experimento Preliminar

77 Aplicações  Confiabilidade de Software – pode ser caracterizado como uma série temporal. A medida que a vida útil do software aumenta, sua confiabilidade também aumenta.  Problemas de Regressão em Mineração de Dados  Data Mining Temporal

78 Conclusões Grande variedade de aplicações Otimização Indústria, solução de problemas: máquinas x processos, alocação de recursos, rota de veículos. Busca Mineração de Dados, descoberta de conhecimento em bases de dados, indução de classificadores (características x doenças, estrutura de proteínas) Aprendizado e adaptação Robô

79 Obrigada !!!!!!


Carregar ppt "Computação Evolutiva : Um Novo Paradigma Para a Resolução de Problemas Complexos Aurora Pozo Pós-graduação em Informática, Pós-graduação em Métodos Numéricos."

Apresentações semelhantes


Anúncios Google