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



Documentos relacionados
- Computação Evolutiva -

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.

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

Introdução às Redes Neurais Artificiais

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

Aprendizagem de Máquina

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

ALGORITMOS GENÉTICOS

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

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

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

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

CENTRO UNIVERSITÁRIO ESTÁCIO RADIAL DE SÃO PAULO SÍNTESE DO PROJETO PEDAGÓGICO DE CURSO 1

Algoritmos Genéticos (GA s)

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

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

CURSO DE GRADUAÇÃO PRESENCIAL SISTEMAS DE INFORMAÇÃO

Inteligência Artificial

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

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

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

ATO NORMATIVO PROD 03/2015 DISPÕE SOBRE AS ATIVIDADES COMPLEMENTARES DO CURSO DE ENGENHARIA DE PRODUÇÃO

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

Projeto e Análise de Algoritmos Projeto de Algoritmos Introdução. Prof. Humberto Brandão humberto@dcc.ufmg.br

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

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

1. Computação Evolutiva

Computação BioInspirada

A Otimização Colônia de Formigas

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

Prof.Msc Jocênio Marquios Epaminondas.

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

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

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

Aula Anterior. Capítulo 2

Projeto e Análise de Algoritmos Projeto de Algoritmos Tentativa e Erro. Prof. Humberto Brandão humberto@bcc.unifal-mg.edu.br

Modelos BioMatemáticos

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

Metodologia e Gerenciamento do Projeto na Fábrica de Software v.2

Protocolo de comunicação para redes móveis aplicado ao trânsito

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO PRÓ-REITORIA DE ENSINO DE GRADUAÇÃO

ANÁLISE E IMPLEMENTAÇÃO DE ALGORITMOS DE COMPRESSÃO DE DADOS. Maria Carolina de Souza Santos 1 Orientador: Prof.º Ms.

Glossário Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart.

3 Modelo Evolucionário para Sustentabilidade Inteligente

O Hardware e o Software do Computador

Portaria Inep nº 249, de 02 de junho de Publicada no Diário Oficial da União em 04 de junho de 2014.

Inteligência Computacional [2COP229]

MINERAÇÃO DE DADOS APLICADA. Pedro Henrique Bragioni Las Casas

AGRUPAMENTO DE ESCOLAS DE PORTELA E MOSCAVIDE. Informação - Prova de Equivalência à Frequência da disciplina de Aplicações Informáticas B

Sistema Tutor Inteligente baseado em Agentes. Pedagógicas da Universidade Aberta do Piauí. Prof. Dr. Vinicius Ponte Machado

UNIVERSIDADE FEDERAL DE PERNAMBUCO - PRÓ-REITORIA PARA ASSUNTOS ACADÊMICOS CURRÍCULO DO CURSO DE GRADUAÇÃO EM ENGENHARIA DA COMPUTAÇÃO PERFIL

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

)HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR

Linguagens Formais e Autômatos

Curso de Especialização em METODOLOGIA DO ENSINO DE MATEMÁTICA E FÍSICA

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

Francisca Raquel de Vasconcelos Silveira Gustavo Augusto Lima de Campos Mariela Inés Cortés

APLICATIVO PARA GERENCIAMENTO DE FORÇA DE TRABALHO EM EMPRESAS DE TELEFONIA MÓVEL

DEPARTAMENTO DE MATEMÁTICA E CIÊNCIAS EXPERIMENTAIS - Grupo 550 INFORMÁTICA Planificação Anual /Critérios de avaliação

Genética I: Mendel, Mitose e Meiose

MASTER IN PROJECT MANAGEMENT

SISTEMA GERENCIADOR DE BANCO DE DADOS

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

Inteligência de Enxame: ACO

Minicurso SBSE 2012:

REGULAMENTO DAS ATIVIDADES COMPLEMENTARES

Processos de gerenciamento de projetos em um projeto

Este Manual aplica-se a todos os Usuário de T.I. do Ministério Público de Goiás. ATIVIDADE AUTORIDADE RESPONSABILIDADE Manter o Manual Atualizado

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

Evolução da cooperação em populações modeladas por autômatos celulares com o uso de teoria de jogos

Algoritmos: Lógica para desenvolvimento de programação de computadores. Autor: José Augusto Manzano. Capítulo 1 Abordagem Contextual

Modelagem e Simulação

Mutações Cromossômicas Estruturais

Otimização de Funções Não Lineares por Meio do Algoritmo Árvore da Montanha

Desenvolvimento de um CMS 1 para a criação e publicação de web sites acessíveis por deficientes visuais.

CONHECENDO O ALGORITMO GARP. Adair Santa Catarina Curso de Informática Unioeste Campus de Cascavel PR

Mestrado em Informática, tendo Inteligência Artificial como área de pesquisa.

Processos de Desenvolvimento de Software

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO (Bacharelado)

UNIVERSIDADE ESTADUAL DE CAMPINAS UNICAMP FACULDADE DE TECNOLOGIA FT PROGRAMA INSTITUCIONAL DE BOLSAS DE INICIAÇÃO CIENTÍFICA

UNIVERSIDADE FEDERAL DO CEARÁ PRÓ-REITORIA DE GRADUAÇÃO CAMPUS DE SOBRAL

15/09/2015. Gestão e Governança de TI. Modelo de Governança em TI. A entrega de valor. A entrega de valor. A entrega de valor. A entrega de valor

Plataforma sinap t&d. Geração Distribuída. Análise de Redes Proteção Despacho Confiabilidade Manobras de Redes

ELIAS MELGAÇO CHAVES JÚNIOR ALGORITMOS GENÉTICOS: COMPARAÇÃO ENTRE OS FRAMEWORKS AFORGE E JGAP

Computação Paralela. Desenvolvimento de Aplicações Paralelas João Luís Ferreira Sobral Departamento do Informática Universidade do Minho.

4 Estratégias para Implementação de Agentes

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.

Transcrição:

Computação Evolucionária: criando programas que programam Seminários de Graduação Bacharelado em Sistemas de Informação Universidade Federal Rural de Pernambuco Prof. Dr. Cícero Garrozi Departamento de Estatística e Informática BSI-UFRPE PPGIA-UFRPE cicerog@gmail.com

Situando a Computação Evolucionária (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 2

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 3

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. 4

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 5

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) 6

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 7

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: 8

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 9

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 10

Algoritmos Evolucionários (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 11

Esquema Geral dos AEs 12

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 13

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 14

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 15

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 16

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 17

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 18

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 19

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 20

Otimização Múltiplos Objetivos Exemplo: Multi-Objective Optimization Using Evolutionary Algorithms Kalyanmoy Deb

Demonstração: Monalisa Utiliza até 50 polígonos translúcidos como aproximação http://watchmaker.uncommons.org/examples/monalisa.php 22

Demonstração: Sudoku http://watchmaker.uncommons.org/examples/sudoku.php 23

Demonstração: Caixeiro Viajante http://watchmaker.uncommons.org/examples/salesman.php - 5 cidades = 5! = 120 rotas - 6 cidades = 6! = 720 rotas - 15 cidades = 15! = 1.307.674.368.000 rotas (+ de 1 trilhão) 24

Projetos em andamento SmartNutri 2 graduandos - IC 1 graduando 1 mestrando Sistema de Recomendação Inteligente 25

Projetos em andamento Caminhos subótmos 1 mestrando 1 TCC (finalizado) 26

Projetos em andamento Sistema de Controle de Tráfego Terrestre para Smart Cities 27

Projetos em andamento Aumento da diversidade genética em algoritmos evolucionários multiobjetivos através do mapeamento reverso do espaço de decisão utilizando redes neurais artificiais 1 mestrando 28

Projetos Finalizados Desenvolvimento de um Sistema de Avaliação Online para a Comissão de Orientação e Acompanhamento Acadêmico COAA-BSI-UFRPE 1 graduando - projeto de extensão 29

Projetos Finalizados TCC: Timóteo de Souza Brasil. DCH: Um algoritmo para encontrar caminhos subótimos em grafos através do armazenamento do histórico de caminhos no Algoritmo de Dijkstra. 2008. Eduardo de Melo Vasconcelos. Utilizando a Estratégia de Injeção de Pacotes Infectados para Impedir a Descoberta da Chave WEP. 2008. Andreza Galindo. Panorama de Desenvolvimento Tecnológico no Agreste Pernambucano: Um Estudo de Caso da Incubadora Tecnológica do Agreste Central no Município de Caruaru (PE). 2009. Ewerton M. de Mendonça. Aplicação de Realidade Aumentada ao Ensino de Design: Estudo de Caso Grupo de Estudo Scketch e Rendering de Produtos à Mão Livre. 2009. Débora Stefani Lima de Souza. Redução do Consumo de Energia Elétrica em Data Centers através da Virtualização de Servidores. 2010. Geraldo Pires Cordeiro Júnior. Desenvolvimento de um Aplicativo LBS Roteirizador de Pontos Turísticos via Transporte Público na Plataforma Móvel Android. 2011. 30

Projetos Finalizados Iniciação Científica: Bianca de Azevedo Moreira. Desenvolvimento de software educativo para o ensino de matemática voltado às crianças com deficiência intelectual. 2012. Projetos de extensão: José Paulo da Silva Lima. Promoção das informações turísticas de Caruaru-PE através de um Jogo da Memória para celulares e dispositivos móveis. 2011. Geraldo Pires Cordeiro Júnior. Criação de um Jogo da Forca para celulares e dispositivos móveis para a promoção das informações turísticas de Pesqueira-PE. 2011. César Henrique Leite de Albuquerque. Informatização do centro de atendimento ao cidadão -190 Caruaru. 2010. Monitoria Jones Cavalcanti Sarmento. Motivando o estudo da linguagem de programação: a monitoria como mediação pedagógica. 2011. Rodrigo Felix da Silva. Monitoria de Introdução à Programação. 2013/2014. 31

Simuladores e Frameworks (1) JMETAL - http://sourceforge.net/projects/jmetal/ PISA - http://www.tik.ee.ethz.ch/pisa/ CILIB Computational Intelligence Library - http://www.cilib.net/ PYEvolve - http://pyevolve.sourceforge.net Java GALib -http://sourceforge.net/projects/javagalib/ ParadisEO -http://paradiseo.gforge.inria.fr/ Opt4J - http://opt4j.sourceforge.net/features.html 32

Simuladores e Frameworks (2) MOEA Framework - http://www.moeaframework.org/index.html JENES - http://jenes.intelligentia.it/ EO - http://eodev.sourceforge.net/ Open BEAGLE - http://code.google.com/p/beagle/ GAA - http://www.aridolan.com/ofiles/ga/gaa/gaa.aspx HeuristicLab - http://dev.heuristiclab.com/trac/hl/core JCLEC - http://jclec.sourceforge.net/ 33

Simuladores e Frameworks (3) ECJ - http://cs.gmu.edu/~eclab/projects/ecj/ JGAP - http://jgap.sourceforge.net/ JavaEVA - http://www.ra.cs.unituebingen.de/software/javaeva/ Watchmaker Framework (multithread!) - http://watchmaker.uncommons.org/ 34

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 35

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) 36