Algoritmos Genéticos



Documentos relacionados
INF 1771 Inteligência Artificial

Complemento IV Introdução aos Algoritmos Genéticos

Introdução às Redes Neurais Artificiais

- Computação Evolutiva -

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

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

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

ALGORITMOS GENÉTICOS

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

Algoritmos Genéticos (GA s)

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.

Inteligência Computacional Aplicada a Engenharia de Software

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

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

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

ESTUDO PRELIMINAR SOBRE A ESCALABILIDADE DE UM ALGORITMO GENÉTICO PARALELIZADO COM OPENMP. Mateus Fontoura Gomes da Rosa Márcia C.

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

Problemas Multi-modais e Distribuições Espaciais em Algoritmos Genéticos.

ALGORITMO HÍBRIDO PARA SISTEMAS DE RECOMENDAÇÃO UTILIZANDO FILTRAGEM COLABORATIVA E ALGORITMO GENÉTICO

Evolution of Robustness in an Electronic Design

Computação BioInspirada

COMPUTAÇÃO EVOLUTIVA

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

A Otimização Colônia de Formigas

PLANEJAMENTO ANUAL / TRIMESTRAL 2014 Conteúdos Habilidades Avaliação

Minicurso SBSE 2012:

Inteligência Artificial

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

Escalonamento de Ordens de Produção Utilizando Algoritmos Genéticos

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

IA Colônia de Formigas. Prof. Ricardo Britto DIE-UFPI

3 Métodos de Otimização

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

BC-0005 Bases Computacionais da Ciência. Modelagem e simulação

Evolução via Selecção Natural (Darwin) - sobrevivem os mais aptos (fittest )

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

Resposta: Interbits SuperPro Web

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

MELHORAMENTO DE PLANTAS AUTÓGAMAS POR HIBRIDAÇÃO

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi

CAP. I ERROS EM CÁLCULO NUMÉRICO

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

APLICAÇÕES DE ALGORITMOS GENÉTICOS

Jorge Figueiredo, DSC/UFCG. Análise e Técnicas de Algoritmos Jorge Figueiredo, DSC/UFCG. Análise e Técnicas de Algoritmos 2005.

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

Estudo de Casos Estudo de Caso 1: Velocidade Intervalar e Espessura da Camada

PROBLEMAS FÁCEIS E DIFÍCEIS. Prof. André Vignatti DINF - UFPR

EMENTAS DAS DISCIPLINAS

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

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

As bactérias operárias

Bioinformática Aula 01

Transcrição Automática de Música

TERAPIA GÊNICA. Brasília DF, Julho de 2010.

OTIMIZAÇÃO POR NUVEM DE PARTÍCULAS: DIFERENÇA ENTRE APLICAÇÕES A PROBLEMAS CONTÍNUOS E DISCRETOS

Orientação à Objetos. Aécio Costa

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

3 Método de Monte Carlo

Modelagem e Simulação

ACESSO VESTIBULAR QUESTÕES DE PROCESSAMENTO DE RNA OU SPLICING 01. (MAMA ) PÁGINAS OCULTAS NO LIVRO DA VIDA

Análise e Complexidade de Algoritmos

Requisitos de Software

SIP Sistema Inteligente de Carregamento de Paletes

1.1. Organização de um Sistema Computacional

BUSCA LOCAL ITERADA (ILS ITERATED LOCAL SEARCH)

Resolução de problemas e desenvolvimento de algoritmos

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

Problemas onde a busca da solução depende da avaliação de diversas combinações (ORDEM) dos elementos considerados

Curso Técnico em Redes

Inteligência de Enxame: ACO

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

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

Faculdade de Engenharia Optimização. Prof. Doutor Engº Jorge Nhambiu

Curso: Veterinária 2 Semestre Campus Palotina. Professor. Dr. Robson Fernando Missio rfmissio@yahoo.com.br

BIOLOGIA NO ENEM: CONTEÚDO PROGRAMÁTICO

Modelos BioMatemáticos

Aprendizagem de Máquina

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

2005 José Miquel Cabeças

TÍTULO DO PROGRAMA. A História do Alimento SINOPSE

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

Engenharia de Software I

5 SIMULAÇÃO DE UM SISTEMA WDM DE DOIS CANAIS COM O SOFTWARE VPI

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

CI165 Introdução. André Vignatti. 31 de julho de 2014

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

PLANEJAMENTO ANUAL / TRIMESTRAL 2013 Conteúdos Habilidades Avaliação

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

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

Arquitetura de Computadores - Arquitetura RISC. por Helcio Wagner da Silva

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA

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

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

GRUPO 12. Celso André Locatelli de Almeida Gabriell Orisaka Jorge Domingos Pizollato Filho José Lucas do Nascimento Santos

Memória Cache. Prof. Leonardo Barreto Campos 1

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

Simulação Transiente

Sistemas de Gestão Ambiental O QUE MUDOU COM A NOVA ISO 14001:2004

Complexidade de Algoritmos. Edson Prestes

Transcrição:

UNIVERSIDADE PRESBITERIANA MACKENZIE Laboratório de Computação Natural LCoN I ESCOLA DE COMPUTAÇÃO NATURAL Algoritmos Genéticos Rafael Xavier e Willyan Abilhoa Outubro/2012 www.computacaonatural.com.br

Agenda Breve História da Computação Evolutiva Inspiração Biológica Usar Algoritmos Evolutivos, Por quê? Algoritmos Genéticos Aplicações Atividade Prática www.computacaonatural.com.br 2

Breve História da Comp. Evolutiva (1950 / 1960) alguns cientistas da computação de forma independente estudavam os sistemas evolutivos como uma ferramenta de otimização para problemas de Engenharia. A ideia era evoluir uma série de soluções candidatas usando operadores inspirados na evolução e genética. www.computacaonatural.com.br 3

Breve História da Comp. Evolutiva Durante esse mesmo período, alguns biólogos evolucionistas usaram computadores para simular evolução para experimentos controlados. Baricelli (1957): Symbiogenetic evolution processes realized by artificial methods. Box (1957): Evolutionary operation: A method for increasing industrial productive. Rechenberg (1965): Cybernetic Solution Path of an Experimental Problem. Fogel, L.J., Owens, A.J., Walsh, M.J. (1966): Artificial Intelligence through Simulated Evolution. www.computacaonatural.com.br 4

Breve História da Comp. Evolutiva O algoritmo genético (AG) foi inventado por John Holland nos anos de 1960 e foi implementado nos de 1970 com a colaboração de estudantes e colegas. Em seu livro de 1975 Adaptation in Natural and Artificial Systems Holland apresenta o AG como uma abstração da evolução biológica. www.computacaonatural.com.br 5

Breve História da Comp. Evolutiva Dessa forma a meta original de Holland não era projetar um algoritmo para um problema específico, e sim estudar formalmente o fenômeno da evolução. O que temos hoje, são basicamente subprodutos do conceito original de AG desenvolvido por Holland. www.computacaonatural.com.br 6

Inspiração Biológica Evolução Darwiniana Reprodução com herança Variação Seleção Natural Genética É a ciência dos genes, da hereditariedade e da variação dos organismos. www.computacaonatural.com.br 7

Inspiração Biológica Evolução biológica é a mudança das características hereditárias de populações biológicas ao longo de gerações sucessivas. Os processos evolutivos dão origem a diversidade em todos os níveis de organização biológica, incluindo as espécies, organismos e moléculas tais como DNA e proteínas. www.computacaonatural.com.br 8

Inspiração Biológica Todos os organismos vivos são formados uma ou mais células. E em cada célula existe o mesmo conjunto de cromossomos. Os cromossomos são constituídos por genes, blocos de DNA. Cada gene codifica uma proteína particular* (uma característica particular). [simplista] www.computacaonatural.com.br 9

www.computacaonatural.com.br 10

Inspiração Biológica Uma população de indivíduos com reprodução com herança: recombinação genética (cruzamento/crossover) Variação Genética: Mutação Seleção Natural: Avaliação dos indivíduos por adaptabilidade ou qualidade (fitness) www.computacaonatural.com.br 11

Algoritmos Genéticos, Por quê? Independência do domínio: modelo geral, podem ser aplicados a diversos tipos de problemas; Não linearidade: Os AG s não linearizam o problema, tratam a complexidade do problema; Robustez: funções ruidosas, descontínuas, espaço de busca pouco conhecido, em geral evita ótimos locais; Facilidade de modificação: fácil alteração dos parâmetros para atender a modificações no problema; Natureza paralela: a sua natureza populacional facilita a paralelização. www.computacaonatural.com.br 12

Da Biologia à Computação www.computacaonatural.com.br 13

Algoritmos Genéticos O que são Algoritmos Genéticos (AGs)? Procedimentos computacionais que: Modelam e reproduzem processos evolutivos Buscam soluções para problemas diversos* www.computacaonatural.com.br 14

Algoritmos Genéticos Componentes fundamentais: Representação de indivíduos População Função de avaliação (fitness) Mecanismos de recombinação e mutação Mecanismos de seleção para reprodução Mecanismos de seleção para sobrevivência www.computacaonatural.com.br 15

Algoritmos Genéticos Representação de Indivíduos: É dada por sua modelagem genotípica e as respostas obtidas pela modelagem fenotípica www.computacaonatural.com.br 16

Algoritmos Genéticos Representação (Contexto Biológico): www.computacaonatural.com.br 17

Algoritmos Genéticos Representação (Contexto Computacional): www.computacaonatural.com.br 18

Algoritmos Genéticos Representação por Cadeias de Bits: Binária Inteira Real www.computacaonatural.com.br 19

Algoritmos Genéticos População: É um conjunto de indivíduos, ou seja, um conjunto de possíveis soluções do problema Normalmente o número de indivíduos é fixo Objetiva a diversidade, isto é, o maior número de soluções distintas possível www.computacaonatural.com.br 20

Algoritmos Genéticos Função de Avaliação (Fitness): É uma forma de se atribuir uma medida de qualidade à informação genotípica Essa medida de qualidade é observada no contexto da informação fenotípica Também chamada Função Objetivo, visto que os AGs solucionam problemas de Otimização Em um modelo matemático, essa função deverá ser maximizada ou minimizada www.computacaonatural.com.br 21

Algoritmos Genéticos Mecanismos de Recombinação Genética: Recombinação Binária e Inteira: Ponto Único N Pontos Uniforme Recombinação Real: Mecanismos anteriores Aritmética em Ponto Único Aritmética em N pontos Aritmética Uniforme www.computacaonatural.com.br 22

Algoritmos Genéticos Recombinação Binária e Inteira: Operações análogas para cadeias de Inteiros e Reais www.computacaonatural.com.br 23

Algoritmos Genéticos Recombinação Real Cálculo da Média Aritmética entre os alelos de cada cromossomo x = i + j ; i, j = {1,, n} 2 www.computacaonatural.com.br 24

Algoritmos Genéticos Mecanismos de Mutação: Mutação Binária Em N Pontos Ponto a Ponto Mutação Inteira Redefinição Aleatória Redefinição Aleatória com Soma Mutação Real Mutação Uniforme www.computacaonatural.com.br 25

Algoritmos Genéticos Mutação: Inteira Binária x i Q min,max Real x i R min,max www.computacaonatural.com.br 26

Algoritmos Genéticos Mecanismos de Seleção para Reprodução: Seleção Probabilística: Roleta Seleção Determinística: Torneio www.computacaonatural.com.br 27

Algoritmos Genéticos Mecanismo de Seleção por Roleta: www.computacaonatural.com.br 28

Algoritmos Genéticos Mecanismo de Seleção por Torneio: www.computacaonatural.com.br 29

Algoritmos Genéticos Mecanismos de Seleção de Sobreviventes: Baseado em Idade Eliminação Inserção (Política de Filas) Baseado em Fitness Substituição do(s) Pior(es) Elitista www.computacaonatural.com.br 30

Algoritmos Genéticos Componentes fundamentais: Representação de indivíduos População Função de avaliação (fitness) Mecanismos de recombinação e mutação Etapas Básicas Mecanismos de seleção para reprodução Mecanismos de seleção para sobrevivência www.computacaonatural.com.br 31

Algoritmos Genéticos Etapas básicas: 1. Inicializar uma população 2. Avaliar cada indivíduo 3. Selecionar Indivíduos para reprodução 4. Aplicar recombinação genética (crossover) 5. Aplicar mutação Fluxograma 6. Avaliar os novos indivíduos 7. Selecionar Sobreviventes www.computacaonatural.com.br 32

Algoritmos Genéticos Figura 2 Fluxograma de um AG básico [1]. www.computacaonatural.com.br 33

Algoritmos Genéticos Pseudocódigo genérico de um AG: 1. Procedimento AG recebe (n, r, m) retorna (P) 2. Inicializar (P, n) 3. Avaliar (P) 4. it := 1 5. Enquanto (critério de parada não atingido) faça 6. P := Selecionar Pais (P) 7. P := Aplicar Recombinação (P, r) 8. Aplicar Mutação (P, m) 9. Avaliar (P ) 10. Selecionar Sobreviventes (P, P ) 11. it := it + 1 Notação: n n. de indivíduos r tx. de recombinação m tx. de mutação P pop. de indivíduos it iteração P pais selecionados P nova população www.computacaonatural.com.br 34

Aplicações Problemas de Otimização: Problemas de Maximização/Minimização de Funções Problemas de Logística: Caixeiro Viajante Sequenciamento e Retirada de Contêineres www.computacaonatural.com.br 35

Atividade Prática LVCON: http://lvcon.tuilux.com.br/lvcon Exercício de Fixação 3 (5 min) Exercício de Fixação 5 (15 min) Análise da Aplicação do Problema do Caixeiro Viajante (PCV) (5 min) www.computacaonatural.com.br 36

Atividade Prática Exercício 3 Tempo: 5 minutos Quais as principais etapas de um algoritmo evolutivo? www.computacaonatural.com.br 37

Atividade Prática Exercício 3 (Resposta) Quais as principais etapas de um algoritmo evolutivo? Inicializar uma população Avaliar cada indivíduo Selecionar Indivíduos para reprodução Aplicar recombinação genética (crossover) Aplicar mutação Avaliar os novos indivíduos Selecionar Sobreviventes www.computacaonatural.com.br 38

Exercício 5 Dada a seguinte população: Aplique as operações de: 1. Seleção (1, 5) (3 min) 2. Recombinação (8) (3 min) 3. Mutação (2, 4) (3 min) 4. Avalie o fitness de cada indivíduo (3 min) Dado pela soma de bits 1 Revisão (3 min) Atividade Prática Indivíduo População 1º 0000110011 2º 1011100010 3º 1010010000 4º 1111010100 5º 0100001010 6º 1100001111 www.computacaonatural.com.br 39

Atividade Prática Exercício 5 (Resposta) - (3 min) 1. Seleção (1, 5) Indivíduo População 1º 0000110011 5º 0100001010 www.computacaonatural.com.br 40

Atividade Prática Exercício 5 (Resposta) - (3 min) 2. Recombinação (8) Indivíduo População 1º 0000110011 5º 0100001010 0000110010 0100001011 www.computacaonatural.com.br 41

Atividade Prática Exercício 5 (Resposta) - (3 min) 3. Mutação (2, 4) Indivíduo População 1º 0000110011 5º 0100001010 0101110011 0001001010 www.computacaonatural.com.br 42

Atividade Prática Exercício 5 (Resposta) - (3 min) 4. Avalie o fitness de cada indivíduo Indivíduo População Fitness 1º 0101110011 6 5º 0001001010 3 www.computacaonatural.com.br 43

Atividade Prática Análise da Aplicação do Problema do Caixeiro Viajante Tempo: 5 minutos Execute o algoritmo nas seguintes configurações: N Ind. 50 1000 20 % Recomb. 0.5 0.8 0.5 % Mut. 0.05 0.05 0.5 Seleção Roleta Roleta Torneio Mutação 2-opt 2-opt Swap N Cidades 30 30 30 www.computacaonatural.com.br 44

Atividade Prática Análise da Aplicação do Problema do Caixeiro Viajante Tempo: 5 minutos Execute o algoritmo nas seguintes configurações: Teste Config. 1 Config. 2 Config. 3 1 Começa com uma distância baixa e otimiza (pouco) até a convergência 2 Começa com uma distância alta e otimiza (muito) até a convergência 3 Começa com uma distância alta e otimiza (pouco) até a convergência www.computacaonatural.com.br 45