- Computação Evolutiva -



Documentos relacionados
Computação Evolucionária: criando programas que programam

Algoritmos Genéticos

INF 1771 Inteligência Artificial

Complemento IV Introdução aos Algoritmos Genéticos

Projeto e Análise de Algoritmos Projeto de Algoritmos Heurísticas e Algoritmos Aproximados

ALGORITMOS GENÉTICOS: UMA VISÃO EXPLANATÓRIA

Atividade extra. Questão 1. Questão 2. Ciências da Natureza e suas Tecnologias Biologia. A diversidade biológica é o fruto da variação genética.

ALGORITMOS GENÉTICOS

O DNA é formado por pedaços capazes de serem convertidos em algumas características. Esses pedaços são

Algoritmos Genéticos (GA s)

3 ALGORITMOS GENÉTICOS : CONCEITOS BÁSICOS E EXTENSÕES VINCULADAS AO PROBLEMA DE MINIMIZAÇÃO DE PERDAS

DESENVOLVIMENTO DE SISTEMA DE VIDA ARTIFICIAL BASEADO EM AGENTES DE COMPORTAMENTOS COMPLEXOS

Evolução Biológica e Algoritmos Genéticos. Fábio Lima Custódio flc@lncc.br

Introdução às Redes Neurais Artificiais

Genética I: Mendel, Mitose e Meiose

Introdução à genética quantitativa usando os recursos do R

Conceitos Básicos de Algoritmos Genéticos: Teoria e Prática

A Otimização Colônia de Formigas

Aprendizagem de Máquina

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados.

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

1. Computação Evolutiva

Modelos BioMatemáticos

(baseado em 1 avaliações)

Otimização de Recuperação de Informação usando Algoritmos Genéticos

Inteligência Computacional: resolvendo problemas difíceis da vida real

Genética Conceitos Básicos

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

Pós-Graduação em Engenharia Elétrica Inteligência Artificial

Inteligência Computacional Aplicada a Engenharia de Software

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

PLANO DE AULA Autores: Ana Paula Farias Waltrick, Stephanie Caroline Schubert

CAP 254 CAP 254. Otimização Combinatória. Professor: Dr. L.A.N. Lorena. Assunto: Metaheurísticas Antonio Augusto Chaves

ISO/IEC 12207: Gerência de Configuração

DOMESTICAÇÃO DE ESPÉCIES CULTIVADAS. Prof. Olayr Modesto Jr.

Entendendo a herança genética. Capítulo 5 CSA 2015

Computação Evolutiva: desvendando os algoritmos genéticos Evolutionary Computing: unleashing genetic algorithms

Analise filogenética baseada em alinhamento de domínios

COMPUTAÇÃO EVOLUTIVA

Ancestralidade Materna polimorfismos matrilínea DNA Mitocondrial (mtdna).

MELHORAMENTO DE PLANTAS AUTÓGAMAS POR HIBRIDAÇÃO

Algoritmos Genéticos. André Ricardo Gonçalves. andreric [at] dca.fee.unicamp.br

Computação BioInspirada

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

As bactérias operárias

Inteligência de Enxame: ACO

CLASSIFICAÇÃO GENÉTICA. Reprodução, Acasalamento, Manutenção e Algumas considerações...

1. Conceitos de sistemas. Conceitos da Teoria de Sistemas. Conceitos de sistemas extraídos do dicionário Aurélio:

Diagrama de Classes. Um diagrama de classes descreve a visão estática do sistema em termos de classes e relacionamentos entre as classes.

Backup. Permitir a recuperação de sistemas de arquivo inteiros de uma só vez. Backup é somente uma cópia idêntica de todos os dados do computador?

LINKAGE E OS MAPAS GENÉTICOS

4 Implementação e Resultados Experimentais

Plano de Marketing. Produto (Posicionamento) Preço. Artigos de PN Como fazer Plano de Marketing. josedornelas.com.br

Genética III: Genética Humana

)HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR

Universidade Paulista

FATEC Cruzeiro José da Silva. Ferramenta CRM como estratégia de negócios

STATGEN Plataforma web para análise de dados genéticos.

Entendendo a herança genética (capítulo 5) Ana Paula Souto 2012

Apostila de Fundamentos de Programação I. Prof.: André Luiz Montevecchi

Módulo 4. Construindo uma solução OLAP

Mutações Cromossômicas Estruturais

Genética de Populações

BIOFÍSICA DAS RADIAÇÕES IONIZANTES

Frederico Gadelha Guimarães Departamento de Computação (DECOM) Universidade Federal de Ouro Preto (UFOP)

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

Aula Anterior. Capítulo 2

Algoritmos e Programação de Computadores I. Prof. Eduardo

Revisão Inteligência Artificial ENADE. Prof a Fabiana Lorenzi Outubro/2011

Algoritmos Genéticos e Evolucionários

3 Métodos de Otimização

IN-1131 Computação Evolucionária. Aluizio Fausto Ribeiro Araújo Universidade Federal de Pernambuco Centro de Informática

CAP. I ERROS EM CÁLCULO NUMÉRICO

Problema 8-Puzzle: Análise da solução usando Backtracking e Algoritmos Genéticos

Gerenciamento de Projetos

INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO

Após essa disciplina você vai ficar convencido que a estatística tem enorme aplicação em diversas áreas.

Figura 1.1: Exemplo de links patrocinados no Google

Minicurso SBSE 2012:

BIOLOGIA. (cada questão vale até cinco pontos) Questão 01

Algoritmos Genéticos em Mineração de Dados. Descoberta de Conhecimento. Descoberta do Conhecimento em Bancos de Dados

Pesquisa Sequencial e Binária

Verificação de Impressões Digitais usando Algoritmos Genéticos

Estratégia de TI. Posicionamento Estratégico da TI: como atingir o alinhamento com o negócio. Conhecimento em Tecnologia da Informação

IA: Busca Competitiva. Ricardo Britto DIE-UFPI

Pesquisa Sequencial e Binária. Introdução à Programação SI2

FUNDAÇÃO DE APOIO AO ENSINO TÉCNICO DO ESTADO DO RIO DE JANEIRO FAETERJ Petrópolis Área de Extensão PLANO DE CURSO

A FAMÍLIA SILVA E SEUS GENES. Os filhos são diferentes, mas todos são Silva. Saiba como! ALBINO PIGMENTADO PROCEDIMENTO

Disciplina de Projetos e Análise de Algoritmos. Aula 1 - Apresentação aos Algoritmos Computacionais

SLAG - Resolvendo o Problema do Caixeiro Viajante Utilizando Algoritmos Genéticos

SISTEMA GERENCIADOR DE BANCO DE DADOS

MASTER IN PROJECT MANAGEMENT

APLICAÇÕES DE ALGORITMOS GENÉTICOS

Transcrição:

- Computação Evolutiva - Prof. Dr. Cícero Garrozi DEINFO - UFRPE PPGIA@UFRPE cicerog@gmail.com Site da disciplina: http://cicerog.blogspot.com

Sumário Situando a Computação Evolucionária Metáfora principal de CE Evolução Darwiniana Genética Natural Algoritmos Evolutivos Esquema Geral Representações Função de Aptidão Tipos de AEs AG, EE, PE, PG População Seleção de Pais Operadores de Variação Recombinação e Mutação Seleção de Sobreviventes Inicialização/Término Visões de Goldberg e Michalewicz Inicialização Heurística x Aleatória Execuções Longas x Curtas Demonstração: Quadrado Mágico Atividades Referências 2

Situando a Computação Evolutiva (CE) CE é parte de ciência da computação CE não é parte de ciências médicas/biologia A biologia cedeu a inspiração e a terminologia CE pode ser aplicada em pesquisas biológicas 3

Metáfora principal de CE Evolução Ambiente Indivíduo Aptidão Resolução do Problema Problema Solução Candidata Qualidade Aptidão chance de sobreviver e reproduzir Qualidade chance de semear novas soluções 4

Evolução Darwiniana The origin of Species (1859) Seleção natural Todos os ambientes possuem recursos finitos (podem suportar uma quantidade limitada de indivíduos) Formas de vida possuem instintos básicos / ciclos de vida guiados para a reprodução Portanto, algum tipo de seleção é inevitável Aqueles indivíduos que competem pelos recursos mais efetivamente possuem maior chance de reprodução. Estes são os indivíduos que mais se adaptaram ao ambiente. 5

Evolução Darwiniana A população consiste de diversos conjuntos de indivíduos Combinações de características pessoais que são mais adaptadas tendem a aumentar a sua representação na população Indivíduos mais aptos atuam como sementes para a geração dos novos indivíduos através da recombinação e mutação A aptidão dos novos indivíduos é avaliada e eles competem pela sobrevivência (possivelmente com os pais também) Fenótipo: características de um ser vivo que são expressadas externamente 6

Genética Natural A informação necessária para criar um organismo é codificada no DNA do organismo O genótipo (interior do DNA) determina o fenótipo Genes traços fenótipos é um mapeamento complexo Um gene pode afetar diversas características Muitos genes podem afetar uma característica Pequenas mudanças no genótipo tendem a gerar pequenas mudanças no organismo (altura, cor do cabelo, etc) 7

Genes e Genoma Genes são codificados em tranças de DNA chamados cromossomos Em muitas células, existem duas cópias de cada cromossomo (diplóide) O material completo no genótipo de um indivíduo é chamado de Genoma Em uma mesma espécie, grande parte do material genético é idêntica 8

Exemplo: Homo Sapiens DNA humano é organizado em cromossomos Células do corpo humano contém 23 pares de cromossomos que definem os atributos físicos do indivíduo em conjunto: 9

Cruzamento durante a meiose Pares de cromossomos são alinhados e duplicados Pares internos se conectam em um centromero e trocam partes de si Resultado: uma cópia de cada cromossomo paternal/maternal e mais duas novas combinações Após o cruzamento, os cromossomos formam os gametas 10

Mutação Às vezes, uma parte do material genético é levemente modificado durante este processo (erro de cópia) Isto significa que o filho pode ter informação no material genético que não foi herdado dos pais Isto pode ser catastrófico: filho não é viável (mais comum) neutro: nova característica não influencia na aptidão vantajoso: surge nova característica poderosa 11

Algoritmos Evolutivos (AE) AEs enquadram-se na categoria dos algoritmos de gerar e testar Eles são algoritmos estocásticos, baseados em população Os operadores de variação (recombinação e mutação) criam a diversidade necessária e assim facilitam novas descobertas Seleção reduz a diversidade e atua como uma força, impulsionando a qualidade 12

Esquema Geral dos AEs 13

Representações Soluções candidatas (indivíduos) existem no espaço de fenótipos Elas são codificadas nos cromossomos, que existem no espaço dos genótipos Codificação: fenótipo=> genótipo (não necessariamente um-para-um) Decodificação: genótipo=> fenótipo (deve ser um-para-um) Cromossomos contém genes, que estão nas posições (geralmente fixas) chamadas loci (sing. locus) e possuem um valor (alelo) 14

Função de Avaliação (Aptidão) Representa os requisitos aos quais a população deve se adaptar Outros nomes: função de qualidade e função objetivo Atribui um único valor real para cada fenótipo, servindo de base para a seleção Tipicamente, dizemos que a aptidão deve ser maximizada 15

Tipos de AEs Historicamente, tipos distintos de AEs tem sido associados com diferentes representações: Strings Binárias: Algoritmos Genéticos (AG) Vetores de valores Reais: Estratégias Evolutivas (EE) Máquinas de Estados Finitos: Programação Evolutiva (PE) Árvores LISP: Programação Genética (PG) Melhor estratégia: Escolher a representação para satisfazer o problema Escolher operadores de variação para satisfazer a representação Operadores de seleção utilizam somente a aptidão e, portanto, são independentes da representação 16

População Armazena (representações de) possíveis soluções Geralmente possui tamanho fixo Operadores de seleção geralmente atuam em toda a população, isto é, probabilidades de reprodução são relativas à geração atual Diversidade de uma população refere-se ao número de diferentes aptidões / fenótipos / genótipos presentes 17

Seleção de Pais Atribui probabilidades variáveis aos indivíduos (de acordo com sua aptidão) visando selecionar os pais Geralmente probabilística Soluções de alta qualidade são mais prováveis a serem pais do que as de baixa qualidade Porém não é garantido Mesmo o pior indivíduo da população geralmente possui probabilidade não-zero de ser pai Esta natureza estocástica pode auxiliar na fuga de ótimos locais. Roleta, torneio, rank 18

Operadores de Variação Função: gerar novas soluções candidatas Usualmente divididos em dois tipos de acordo com o número de entradas (aridade): Aridade 1: operadores de mutação Aridade >1: operadores de recombinação Aridade = 2 geralmente chamado de cruzamento Existe muito debate a respeito da importância relativa à mutação e recombinação Hoje em dia, muitos AEs usam ambos A escolha de operadores de variação particulares é dependente da representação 19

Mutação Atua em um genótipo e gera outro Elemento de aleatoriedade é essencial e se distingue de outros operadores heurísticos unários A importância relacionada depende da representação e dialeto: AGs binários operador de fundo responsável por preservar e introduzir diversidade PE para FSM s/variáveis contínuas somente operador de busca PG dificilmente utilizada 20

Recombinação Mescla informação dos pais nos filhos Escolha da informação a ser mesclada é estocástica Muitos filhos podem ser piores ou iguais aos pais Espera-se que alguns sejam melhores através da combinação de elementos do genótipo que conduza a boas características Princípio tem sido utilizado por milênios por criadores de plantas e animais 21

Seleção de Sobreviventes substituição Muitos AEs utilizam tamanho de população fixo, necessitando de uma maneira para selecionar indivíduos dentre os (pais + filhos) para a próxima geração Freqüentemente determinístico Baseado na Aptidão: ou seja, classifica pais+filhos e pega os melhores (ranking) Baseado na Idade: cria a mesma quantidade de filhos (=pais) e elimina todos os pais 22

Inicialização / Término Inicialização geralmente aleatória, Deve assegurar cobertura e mistura dos possíveis valores dos alelos Pode incluir soluções existentes, ou utilizar heurísticas específicas ao problema, para semear a população Condição de término verificada a cada geração Alcançar Aptidão conhecida/desejada Alcançar um número máximo de gerações Alcançar algum nível mínimo de diversidade Alcançar um certo número de gerações sem melhoria da aptidão 23

Performance dos métodos nos problemas AEs como solucionador de problemas: visão de Goldberg 1989 Método específico para solução do prob. Algoritmo Evolucionário Busca Aleatória Escala de todos os problemas 24

Performance dos métodos nos problemas Visão de Michalewicz 1996 AE 4 AE 2 AE 3 AE 1 P Escala de todos os problemas 25

Melhor aptidão na população Execuções longas são benéficas? Progresso na 2 a metade Progresso na 1 a metade Tempo (número de gerações) - depende de quanto você precisa - pode ser melhor realizar mais execuções curtas 26

Melhor aptidão da população Vale a pena realizar esforços na inicialização da população? A A: aptidão após a inicialização inteligente T T: tempo necessário para atingir o nível A após a inicialização aleatória Tempo (número de gerações) 27

Demonstração: quadrado mágico Dado um quadrado 10x10 contendo um pequeno quadrado 3x3 Problema: organizar os números 1-100 no quadrado de forma que: todas as linhas, colunas e diagonais sejam iguais (soma = 505) um pequeno quadrado 3x3 forme uma solução para 1-9 28

Demonstração: quadrado mágico Abordagem evolucionária para resolver este quebra-cabeça: Acomodar os números iniciais aleatoriamente Criar N mutantes de determinado arranjo Manter o mutante (filho) com o menor erro Parar quando o erro for zero 29

Demonstração: quadrado mágico Créditos do Software: M. Herdy, TU Berlin Parâmetros Interessantes: Step1: pequena mutação, lenta & atinge o ótimo Step10: grande mutação, rápida & erra ( salta o ótimo) Mstep: passo de mutação modificado online, rápido & atinge o ótimo 30

Atividades da Semana Pesquisar: frameworks/simuladores de Computação Evolucionária (em especial, AGs). Explorar os exemplos fornecidos com os simuladores. Ler Capítulos 1 a 3 do livro texto (Eiben)

Referências EIBEN, A. E. & SMITH, J. E. Introduction to Evolutionary Computing. Springer Verlag, 2003. DE JONG, K. A. Evolutionary Computation. MIT Press, 2002. GOLDBERG, D. E. Genetic Algorithms in Search, Optimization, and Machine Learning. Reading, Ma: Addison- Wesley, 1989. Periódicos: Evolutionary Computation http://www.mitpressjournals.org/loi/evco IEEE Transactions on Evolutionary Computation (IEEE TEVC) http://ieeexplore.ieee.org/xpl/recentissue.jsp?punumber=4235 Conferências: IEEE Congress on Evolutionary Computation (IEEE CEC) IEEE World Congress on Computational Intelligence (IEEE WCCI) Genetic and Evolutionary Computation Conference (GECCO) 32 Congresso Brasileiro de Inteligência Computacional (CBIC) Brazilian Symposium on Artificial Intelligence (SBIA)

Referências Conferências: IEEE Congress on Evolutionary Computation (IEEE CEC) IEEE World Congress on Computational Intelligence (IEEE WCCI) Genetic and Evolutionary Computation Conference (GECCO) Congresso Brasileiro de Inteligência Computacional (CBIC) Brazilian Symposium on Artificial Intelligence (SBIA) 33