Algoritmos Genéticos Uma visão geral do método Cláudio M. N. A. Pereira.

Slides:



Advertisements
Apresentações semelhantes
Unidade VII Algoritmos Genéticos
Advertisements

Algoritmos Genéticos Teresa B. Ludermir.
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.
Algoritmos Genéticos Problema das 8 Rainhas Algoritmo Genético
Fundamentos dos Algoritmos Genéticos Alex F. V. Machado.
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
GRASP Greedy Randomized Adaptative Search Procedure
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
Reconhecimento de Padrões Computação Evolutiva
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
Reconhecimento de Padrões Computação Evolutiva
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
Algoritmos Genéticos Rômulo Ferreira Douro.
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
INF 1771 – Inteligência Artificial
Métodos Populacionais
Problemas Numéricos com Representação por Números Reais
Controle de parâmetros em algoritmos evolucionários
A Framework for Robots Development and Programming Based on Genetic Algorithms Palmeira P.F.M Silvino J.S. de Melo J.C.D DEE-UFMG DELT-UFMG.
Meta - heurísticas Prof. Aurora
Otimização Prof. Benedito C. Silva IRN UNIFEI
Otimização por Colônia de Formigas (ACO)
Inteligência Artificial I
Algoritmos Culturais.
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
Tópicos Avançados em Inteligência Artificial
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.
Orientador: Dr. Marcos Marcelino Mazzucco
* Cadeias formadas por três símbolos: 0, 1, e * * O símbolo * (um curinga) significa 0 ou 1.
Artigo: Berth allocation planning in the public berth system by genetic algorithms Akio Imai, Etsuko Nishimura, Stratos Papadimitriou, Heurística.
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.
Introdução à Inteligência Artificial Prof. Cláudio M. N. A. Pereira.
Inteligência Artificial
Professora Michelle Luz
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.
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.
Ant Colony Optimization Eraylson Galdino da Silva Universidade Federal de Pernambuco Centro de Informática Tópicos Avançados em Inteligência.
Transcrição da apresentação:

Algoritmos Genéticos Uma visão geral do método Cláudio M. N. A. Pereira

Sumário Introdução à Computação Evolucionária; Algoritmo Genético

Computação Evolucionária Computação Evolucionária compreende um conjunto de modelos e técnicas computacionais inspirados na teoria da evolução das espécies. As principais áreas de sua utilização são: - Otimização - Inteligência Artificial (Aprendizado de Máquina)

Computação Evolucionária - CE Algumas aplicações: - Projetos automatizados - Planejamento de tarefas e agendamentos - alocação de recursos (máquinas/pessoal) - planejamento de manutenções em sistemas - planejamento de rotas - Aprendizado de máquina - robôs autônomos - jogos - Descoberta de conhecimento em bases de dados

Aplicações da CE Projetos automatizados O que se deseja projetar Programa de simulação computacional Resultado da simulação -O especialista propõe projeto inicial -O projeto é simulado em computador -Os resultados são analisados pelo especialista -O especialista procura adequar o projeto à sua finalidade Proposta de projeto Especialista

Aplicações da CE Planejamento e alocação de tarefas O que se deseja planejar Checa disponibilidade dos professores Resultado da consulta -O coordenador propõe grade horária -Verifica em um BD a disponibilidade de professores -Adequa a proposta à disponibilidade -Resolve pendências Proposta de planejamento

Aplicações da CE Aprendizado de Máquina Teste da solução Resultado do teste -O especialista propõe um algoritmo ou regras -A solução do problema utilizando o algoritmo é testada -Com os resultados do teste o especialista adequa o algoritmo/regras Proposta de algoritmo ou regras

Aplicações da CE Nas aplicações anteriores, a Computação Evolucionária pode fazer as vezes do especialista, testando, avaliando soluções e propondo melhorias em busca de uma solução ótima. Computação Evolucionária

Computação Evolucionária Algumas técnicas/ferramentas da CE: - Algoritmos Genéticos (o pai de todos) - Programação Evolucionária (estruturas de dados mais elaboradas de acordo com a aplicação) - Classifier Systems (Machine Learning: aprendizado de regras) - Programação Genética (Machine Learning: aprendizado de programas em geral)

Algoritmos Genéticos Algoritmos Genéticos são técnicas de otimização global inspiradas na teoria da evolução das espécies.

“Pontos fortes” dos AG’s Opera sobre uma codificação genérica dos parâmetros da otimização; Otimização em escopo global; Não necessita de conhecimento, a priori, de características do espaço de busca;

Otimização Definição 1: É a busca da melhor solução para um determinado problema. Definição 2: É maximizar ou minimizar algo.

Um processo de otimização clássico 1Propor candidato a solução; 2Obtém-se saídas de interesse e avalia-se os objetivos; 3Baseado em algum tipo de análise do resultado obtido, propõe-se nova tentativa. 4Voltar ao passo 2

Algumas técnicas clássicas 1Conhecimento especialista; 3Programação inteira; 2Busca gradiente (por exemplo: programação linear + análise de sensibilidade); 4Técnicas baseadas na análise do espaço de busca (derivadas, limites, etc); 5etc;

Uma tarefa difícil Otimização global e sem conhecimento do espaço de busca.

Otimização Global V1 V2 Função Multi-modal (vários sub-ótimos) Ótimo Local ou sub-ótimo Ótimo Global

O Clássico “Hill-Climbing” 1“Chuta-se” ponto inicial; 3Analisa-se a tendência, ou seja, a direção e sentido para onde deve caminhar a próxima tentativa; 2Avalia a proposta; 4Novo “chute”; 5Se parar de melhorar, FIM, senão, volta para 2”;

O Clássico “Hill-Climbing” V1 V2 Chute inicial Melhora

O Clássico “Hill-Climbing” V1 V2 Tentativa 2

O Clássico “Hill-Climbing” V1 V2 Tentativa 3

O Clássico “Hill-Climbing” V1 V2 Tentativa 4

O Clássico “Hill-Climbing” V1 V2 Tentativa 5

Um dilema Técnicas formais de otimização global demandam conhecimento do espaço de busca (concavidade, limites, derivadas, etc) Técnicas que não demandam conhecimento do espaço de busca são susceptíveis à convergência local.

Proposta de solução Utilizar algoritmos baseados em população, como por exemplo: Algoritmos Genéticos (AG).

O preço da solução Elevado custo computacional, quando comparado com o custo demandado por técnicas tradicionais, como as mencionadas anteriormente.

AG´s e Otimização Global Parte de uma população de candidatos; Possui operadores (genéticos) que proporcionam diversidade de busca, gerando candidatos em novas regiões do domínio de busca.

V1 V2 AG´s e Otimização Global

V1 V2 AG´s e Otimização Global

V1 V2 AG´s e Otimização Global

V1 V2 AG´s e Otimização Global

V1 V2 AG´s e Otimização Global

V1 V2 AG´s e Otimização Global

V1 V2 AG´s e Otimização Global

V1 V2 AG´s e Otimização Global Redondezas do Ótimo Global

Onde aplicar os AG’s Problemas multi-modais (vários sub-ótimos) onde não se tem conhecimento do espaço de busca a ser explorado. Problemas onde as técnicas convencionais não são aplicáveis Problemas onde o custo computacional de sua solução através de métodos convencionais torna-se impraticável (ex. Caixeiro Viajante)

A metáfora dos Algoritmos Genéticos Numa dada população, os indivíduos mais fortes têm mais chances de reprodução e, conseqüentemente, de passar suas características para seus descendentes, gerando, assim, uma população cada vez mais adaptada ao meio.

Nos Algoritmos Genéticos Meio Adaptação Espaço de buscaCumprimento dos objetivos

Otimização automática (via computador) Definição de uma estrutura de dado para conter um candidato à solução. Definição de uma forma de avaliação do resultado, considerando os objetivos e as restrições do problema. Mecanismo de controle e geração de novos candidatos a solução.

Nos Algoritmos Genéticos Controle e geração de novos candidatos Operações de seleção, cruzamento, mutação, elitismo... AvaliaçãoFunção Objetivo Estrutura de DadoGenótipo ou cromossoma

Genótipo É a estrutura de dado que codifica um candidato à solução; Nos AG´s clássicos isto é feito através de uma “string” binária de tamanho fixo;

Função Objetivo É a função que reúne as saídas de interesse e avalia o quão “boa” é a solução proposta; O valor da função objetivo para um indivíduo é chamado prêmio ou aptidão (“fitness”).

O Algoritmo Genético Clássico 1. Inicializa população de candidatos à solução; 2. Avalia população de candidatos; 3. Seleciona candidatos para operações genéticas; 5. Atualiza população de candidatos; 6. Se criterio parada atingido, FIM, senão, volta para 2; 4. Opera e transforma população de candidatos;

O Algoritmo Genético Clássico Início Inicializa(População); Enquanto (NÃO Terminar) Faça Avalia (Pop); NovaPopulação := Seleciona (População); Opera (NovaPopulação); Populaçao := NovaPopulação; Fim Enquanto; Fim.

Problema exemplo Problema: Obter valores de V1 (podendo variar entre 1 e 32) e V2 (podendo variar entre 0 e 15.5) de forma que se obtenha o maior valor de f(V1,V2) = V1 + V2. v1 v2 f

Exemplo de Genótipo v1 v2 v1v Genótipo Gene 1 Codificação das variáveis Codificação de um candidato à solução: Gene

O Algoritmo Genético Clássico 1. Inicializa população de candidatos à solução; 2. Avalia população de candidatos; 3. Seleciona candidatos para operações genéticas; 5. Atualiza população de candidatos; 6. Se critério parada atingido, FIM, senão, volta para 2; 4. Opera e transforma população de candidatos;

Indivíduo Genótipo v1 v Inicialização É a geração aleatória de uma população inicial

Indivíduo Genótipo v1 v2 f(v1,v2) Avaliação Cálculo da função objetivo para cada candidato

O Algoritmo Genético Clássico 1. Inicializa população de candidatos à solução; 2. Avalia população de candidatos; 3. Seleciona candidatos para operações genéticas; 5. Atualiza população de candidatos; 6. Se convergiu, FIM, senão, volta para 2; 4. Opera e transforma população de candidatos;

Seleção Proporcional Indivíduo f A fitness indica o tamanho do arco correspondente ao indivíduo

Seleção Proporcional

Indivíduo 6 selecionado

O Algoritmo Genético Clássico 1. Inicializa população de candidatos à solução; 2. Avalia população de candidatos; 3. Seleciona candidatos para operações genéticas; 5. Atualiza população de candidatos; 6. Se convergiu, FIM, senão, volta para 2; 4. Opera e transforma população de candidatos;

Operações genéticas clássicas Cruzamento (“crossover): é a troca de informação genética entre indivíduos (mistura de soluções). Mutação: é a alteração aleatória de parte do genótipo (no AG clássico, 1 bit).

Cruzamento (“crossover”) Pais Filhos Ponto de crossover (escolhido aleatoriamente)

Mutação Escolhe-se uma posição aleatoriamente e inverte-se este bit Antes da mutação Ponto de mutação (escolhido aleatoriamente)

Mutação Escolhe-se uma posição aleatoriamente e inverte-se este bit Depois da mutação Ponto de mutação (escolhido aleatoriamente)

Elitismo Técnica utilizada para eliminar a possibilidade de perda do melhor indicíduo até então encontrado. Isto é feito através da simples cópia do melhor indivíduo para a próxima geração.

Alguns critérios de parada avaliação da similaridade entre os indivíduos da população; estagnação do processo de evolução; número máximo de gerações;

Teoria dos Esquemas Um esquema é um “template” que caracteriza grupos de indivíduos através de um padrão de similaridade. A representação de um esquema: é feita através de um alfabeto ternário {0, 1, *} onde o * é um “don´t care” (pode significar tanto um 0 quanto um 1 na posição indicada). A Teoria dos Esquemas estuda o comportamento dinâmico dos esquemas durante a evolução do AG.|

Teoria dos Esquemas Exemplos de esquema: H1 = 110** H2 = *00 Indivíduos representados por H1: 11000, 11001, e por H2: 100 e 000

Teoria dos Esquemas Para se estudas a influência das operações genéticas sobre um determinado esquema, são definidas duas grandezas: Largura Definida do esquema (  ) Ordem do esquema (o)

Teoria dos Esquemas Largura Definida (  ): diferença entre o primeiro e o último bit fixos (diferentes de *) Ex:  (1**10**) = 5-1 = 4 Esta grandeza está relacionada com a probabilidade de um esquema ser destruído em um crossover.

Teoria dos Esquemas Ordem (o): número de bits fixos (diferentes de *) Ex:  (1**10**) = 3 Esta grandeza está relacionada com a probabilidade de um esquema ser destruído em uma mutação.

Teoria dos Esquemas Definção: m(H,t): quantidade de indivíduos representados pelo esquema H na geração t.

Teoria dos Esquemas Considerando apenas a seleção proporcional à fitness:

Teoria dos Esquemas Probabilidade de sobrevivência a um crossover probabilidade pc de crossover:

Teoria dos Esquemas Probabilidade de sobrevivência a um mutação com probabilidade pm de mutação:

Teoria dos Esquemas Obtêm-se então:

Teoria dos Esquemas Denomina-se “building blocks” os esquemas de baixa ordem e pequena largura definida, com fitness acima da média. Estes esquemas tendem a proliferar e formar a base da evolução.