Fundamentos dos Algoritmos Genéticos Alex F. V. Machado.

Slides:



Advertisements
Apresentações semelhantes
Computação Evolutiva Oderson Dias de Mello
Advertisements

Unidade VII Algoritmos Genéticos
Algoritmos Genéticos Teresa B. Ludermir.
Algoritmos Genéticos Seminário de MAC5758
Busca Informada Parte 3 – Algoritmos Genéticos
Algoritmos Genéticos Adriano Joaquim de O Cruz ©2003 NCE/UFRJ
Algoritmos Genéticos Alex F. V. Machado. Algoritmos Genéticos Quanto melhor um indivíduo se adaptar ao seu meio ambiente, maior será sua chance de sobreviver.
Origem O Problema de Steiner em Grafos é derivado do Problema Euclideano de Steiner, proposto na verdade por Fermat no século XVII. O problema em sua versão.
Algoritmos Genéticos Problema das 8 Rainhas Algoritmo Genético
Optimization and Decision Support Techniques FUNDAMENTOS DE ALGORITMOS GENÉTICOS Pedro Miguel A. S. Melo FEUP – Fevereiro de 2008.
Fundamentos dos Algoritmos Genéticos Alex F. V. Machado.
Algoritmos Genéticos Alex F. V. Machado. Algoritmos Genéticos Quanto melhor um indivíduo se adaptar ao seu meio ambiente, maior será sua chance de sobreviver.
Métodos Heurísticos de Busca e Otimização
Computação Evolucionária
Adriano Joaquim de O Cruz
ÉLDMAN DE OLIVEIRA NUNES E AURA CONCI INSTITUTO DE COMPUTAÇÃO UFF
Implementação de AG no Balanceamento Interativo de Linhas de Montagem
Algoritmos Genéticos Marcone Jamilson Freitas Souza
Computação Evolutiva: Programação Genética
Computação Evolutiva: Estratégias Evolutivas
Otimização de Funções Contínuas via Algoritmos Genéticos Adaptado do trabalho realizado por: Frederico Heitor Mônica do Amaral.
Otimização de Funções Contínuas via Algoritmos Genéticos
Algoritmos Genéticos Jorge H. C. Fernandes Setembro de 1998.
Inteligência Artificial
Algoritmo Genético.
Algoritmos Genéticos Prof. Luis Otavio Alvares II/UFRGS
Algoritmo das formigas
Algoritmos Genéticos Rômulo Ferreira Douro.
Carlos Henrique Gomes Correia Suzi Lara Werner
Apresentação Introdução à Programação Genética Título :
Algoritmos Genéticos – Capítulo 11
Algoritmos Genéticos - Capítulo 10 Representação Numérica
Eduardo do Valle Simões Renato Tinós ICMC - USP
INF 1771 – Inteligência Artificial
Métodos Populacionais
Problemas Numéricos com Representação por Números Reais
Material adaptado de Algoritmos Geneticos Material adaptado de
Controle de parâmetros em algoritmos evolucionários
Otimização Prof. Benedito C. Silva IRN UNIFEI
Otimização por Colônia de Formigas (ACO)
Uma Introdução a Evolução Diferencial
Inteligência Artificial I
Métodos Populacionais
Sistemas Inteligentes
O PROBLEMA DE SCHEDULING EM JOB-SHOP
Anne Magály de PaulaCanuto DIMAp/UFRN
Algoritmos Evolutivos Algoritmos Genéticos Introdução
Algoritmos Genéticos Ricardo Prudêncio.
INF 1771 – Inteligência Artificial
O PROBLEMA DE SCHEDULING EM JOB-SHOP
Inteligência Artificial
II. METODOLOGIA Ambas as antenas, PIFA modificada e BFMA, foram analisadas numericamente empregando as equações integrais dos potenciais em conjunto com.
Programação Evolutiva e Lógica Fuzzy
Provas Datas: – P1 : 18/09/2014 – P2: 18/11/2014 – Exame : 09/12/2014.
O PROBLEMA DE SCHEDULING EM JOB-SHOP
Resolução de problemas por meio de busca
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.
Inteligência Artificial I
Optimização Os problemas de optimização têm como objetivo maximizar ou minimizar uma função definida sobre um certo domínio Optimizar (max ou min)
Projeto de um Algoritmo Genético Híbrido para Planejamento Operacional de Curto Prazo de Minerações a Céu Aberto Robert Fabricio Subtil.
Algoritmos Genéticos Ricardo Prudêncio.
Inteligência Artificial
Computação Evolutiva Nome dado ao estudo de algoritmos cuja inspiração é o processo de evolução natural das espécies. Origem: trabalho de um pesquisador.
Algoritmos Genéticos ÝIntrodução ÝHistórico ÝAlgoritmo Genético Básico: 3Representação de um indivíduo 3Função de aptidão 3Operadores genéticos 3Critério.
Algoritmos Genéticos Uma visão geral do método Cláudio M. N. A. Pereira.
Taís Sineiro Herig Laboratório de Genômica e Expressão / UNICAMP
1 Algoritmos Genéticos em Otimização de Planejamento l Planejamento ocorre em todas as atividades e envolve: PLANEJAMENTO Recursos Tarefas Tempo Objetivos.
Métodos Populacionais. Mantém um conjunto de soluções candidatas e não só uma solução Cada solução será modificada e avaliada Hill-Climbing paralelos.
1 Problemas Numéricos com Representação por Números Reais Prof. Marco Aurélio C. Pacheco.
Universidade do Sul de Santa Catarina Ciência da Computação Técnicas de Inteligência Artificial Aula 10 Algoritmos Genéticos Max Pereira.
Transcrição da apresentação:

Fundamentos dos Algoritmos Genéticos Alex F. V. Machado

Fundamentos dos Algoritmos Genéticos Quanto melhor um indivíduo se adaptar ao seu meio ambiente, maior será sua chance de sobreviver e gerar descendentes. (DARWIN, 1859)

Introdução Um Algoritmo Genético (AG), conceitualmente, segue passos inspirados no processo biológico de evolução natural segundo a teoria de Darwin Algoritmos Genéticos seguem a idéia de SOBREVIVÊNCIA DO MAIS FORTE (melhores soluções a cada geração)

Características Gerais Utilizam uma codificação do conjunto de parâmetros (indivíduos) e não com os próprios parâmetros (estados); Vasculham várias regiões do espaço de busca de cada vez; Utilizam informações diretas de qualidade, em contraste com as derivadas utilizadas nos métodos tradicionais de otimização; Utilizam regras de transição probabilísticas e não regras determinísticas.

Funcionamento Fundamental 1. Gerar População Inicial 2. Descartar uma parte dos Indivíduos menos aptos 3. Aplicar operadores de reprodução 4. Aplicar operadores de mutação 5. Se o critério de parada foi satisfeito, encerrar. Senão, voltar ao passo 2.

Modelagem Indivíduos X Estados Cada indivíduo possui um código genético Esse código é chamado cromossomo Tradicionalmente, um cromossomo é um vetor de bits.

Exemplo de Modelagem Problema das N-Rainhas: A posição de cada rainha é dada por uma subcadeia do cromossomo Exemplo para N = 4: =

Operadores Fundamentais Seleção Natural Manipulação Genética por Mutação Manipulação Genética por Reprodução

Seleção Natural Princípio básico para o direcionamento da evolução de uma dada população Utiliza uma função de avaliação para medir a aptidão de cada indivíduo Essa aptidão pode ser absoluta ou relativa Existem vários métodos de seleção

Principais Métodos de Seleção Natural Roleta Torneio Amostragem Universal Estocástica

População Exemplo IndivíduoAptidão AbsolutaAptidão Relativa 120, , , , , Total381

Método da Roleta Coloca-se os indivíduos em uma roleta, dando a cada um uma fatia proporcional à sua aptidão relativa Depois roda-se a agulha da roleta. O indivíduo em cuja fatia a agulha parar permanece para a próxima geração Repete-se o sorteio quantas vezes forem necessárias para selecionar a quantidade desejada de indivíduos

Roleta - Exemplo

Método do Torneio Utiliza sucessivas disputas para realizar a seleção Para selecionar k indivíduos, realiza k disputas, cada disputa envolvendo n indivíduos escolhidos ao acaso O indivíduo de maior aptidão na disputa é selecionado É muito comum utilizar n = 3

Torneio - Exemplo Indiv 1, Indiv 2, Indiv 4 Indiv 4 Indiv 1, Indiv 2, Indiv 3 Indiv 3 Indiv 2, Indiv 3, Indiv 4 Indiv 4 Indiv 3, Indiv 4, Indiv 5 Indiv 5

Amostragem Universal Estocástica - SUS SUS – Stochastic Universal Sampling Semelhante à Roleta, mas para selecionar k indivíduos utiliza k agulhas igualmente espaçadas, girando-as em conjunto uma só vez Apresenta resultados menos variantes que a Roleta

SUS - Exemplo

Operador de Mutação Operador randômico de manipulação Introduz e mantém a variedade genética da população Garante a possibilidade de se alcançar qualquer ponto do espaço de busca Contorna mínimos locais

Operador de Mutação É um operador genético secundário Se seu uso for exagerado, reduz a evolução a uma busca totalmente aleatória Logo um indivíduo sofre mutações com probabilidade baixa (normalmente entre 0,001 e 0,1)

Exemplo de Mutação

Operador de Cruzamento Também chamado de reprodução ou crossover Combina as informações genéticas de dois indivíduos (pais) para gerar novos indivíduos (filhos) Versões mais comuns criam sempre dois filhos para cada operação

Operador de Cruzamento Operador genético principal Responsável por gerar novos indivíduos diferentes (sejam melhores ou piores) a partir de indivíduos já promissores Aplicado a cada par de indivíduos com alta probabilidade (normalmente entre 0,6 e 0,99)

Abordagens para Cruzamento Cruzamento Um-Ponto Cruzamento Multi-Pontos Cruzamento Uniforme

Pais Cruzamento Um-Ponto 00Filhos110011

Pais Cruzamento Multi-Ponto 00Filhos110011

Pais0 Máscara 1010 Cruzamento Uniforme 00 Filhos

Parâmetros Genéticos Tamanho da população Taxa de cruzamento Taxa de mutação Intervalo de geração Critério de parada

Aplicações Alocação de tarefas Configuração de sistemas complexos Seleção de Rotas Problemas de Otimização e de Aprendizagem de Máquina

Aplicações São especialmente interessantes em problemas difíceis de otimizar de forma convencional Técnicas tradicionais são mais difíceis de empregar Se uma técnica tradicional puder ser empregada, normalmente acha melhor solução mais rápido

Codificação Como realizar a codificação de cromossomos? É a primeira pergunta que deve ser feita ao resolver um problema com AG A codificação dependerá fortemente do problema

Codificação binária É a mais comum devido a sua simplicidade Cada cromossomo é uma string de bits – 0 ou 1 Crom: A = Crom: B = Exemplo de uso: problema da mochila Codificação: Cada bit diz se um elemento está ou não na mochila

Codificação por permutação Mais usado em problemas de ordenação Cada cromossomo é uma string de números que representa uma posição numa seqüência Crom A: Crom B: Exemplo de uso: problema do caxeiro viajante Codificação: os cromossomos descrevem a ordem em que o caxeiro irá visitar as cidades

Codificação por valor Usado em problemas onde valores mais complicados são necessários Cada cromossomo é uma seqüência de valores Crom A: Crom B: ABDJEIFJDHDIERJFDLDFLFEGT Crom C: (back), (back), (right), (forward), (left)

Codificação por valor (Cont.) Exemplo de uso: dada uma estrutura, encontrar pesos para uma rede neural Codificação: Valores reais num cromossomo representam pesos em uma rede neural