Computação Evolutiva Parte 1

Documentos relacionados
4 Métodos Existentes. 4.1 Algoritmo Genético

Inteligência Artificial

2. MÉTODO DE RECOZIMENTO SIMULADO

Buscas Informadas ou Heurísticas - Parte III

Otimização por Enxame de Partículas (PSO) e Otimização por Colônias de Formigas (ASO) aplicadas ao Problema do Caixeiro Viajante (TSP)

Busca com informação e exploração. Capítulo 4 Russell & Norvig Seção 4.2 e 4.3

Busca com informação e exploração. Inteligência Artificial. Revisão da aula passada: Heurística Admissível. Revisão da aula passada: Busca A *

Otimização de horários Seminário. Clarisse Resende 25/01/2013

Algoritmos Genéticos. Estéfane G. M. de Lacerda DCA/UFRN Outubro/2008

Metahuerísticas: Algoritmos Genéticos. Sistemas de Informação/Ciências da Computação UNISUL Aran Bey Tcholakian Morales, Dr. Eng.

Capítulo 4 Secção 1. Livro

Resumo. Como um agente busca de seqüência de ações para alcançar seus objetivos.

4 Metáforas de Optimização

Curso Profissional de Nível Secundário

ESCOLA SECUNDÁRIA DE LOUSADA

MÉTODOS QUANTITATIVOS PARA CIÊNCIA DA COMPUTAÇÃO EXPERIMENTAL

método de solução aproximada

Otimização com Algoritmos Genéticos no MATLAB. Prof. Rafael Saraiva Campos CEFET-RJ

Algoritmo Genético. Inteligência Artificial. Professor: Rosalvo Ferreira de Oliveira Neto

IMPLEMENTAÇÃO E RESOLUÇÃO DE MODELOS MATEMÁTICOS UTILIZANDO A PLANILHA EXCEL

Computação Evolucionária: Conceitos Básicos de Otimização

Métodos de Busca. Estratégias de Busca Cega

Buscas Informadas ou Heurísticas - Parte II

Agrupamento de Escolas do Fundão

3 Aprendizado por reforço

Instrumentação Industrial. Fundamentos de Instrumentação Industrial: Caracterização Estática

Introdução a Algoritmos Genéticos

PESQUISA OPERACIONAL APLICADA A LOGÍSTICA

Exemplo do jogo dos fósforos Terça-feira, 9 de maio. Exemplo para o Problema do Corpo de Bombeiros. Exemplo: Localidade do Corpo de Bombeiros

Considere a função f(x). Para algum x a f (x) pode não existir. Suponha que. Max f(x) s. a a x b

Inteligência Artificial

CTC-17 Inteligência Artificial Busca Competitiva e Busca Iterativa. Prof. Paulo André Castro

Métodos de Busca. Inteligência Artificial. Algoritmos Genéticos. Algoritmos Evolucionários. Prof. Ms. Luiz Alberto Contato:

Material baseado nos slides de: Marcos José Santana Regina Helena Carlucci Santana

Computação Evolutiva Parte 2

Introdução ao Algoritmo Genético

Instrumentação Industrial. Fundamentos de Instrumentação Industrial: Introdução a Metrologia Incerteza na Medição

Introdução aos Algoritmos Genéticos

Agentes de Procura Procura Estocástica. Capítulo 3: Costa, E. e Simões, A. (2008). Inteligência Artificial Fundamentos e Aplicações, 2.ª edição, FCA.

Otimização Aplicada à Engenharia de Processos

Otimização. Unidade 6: Algoritmo Genético. Jaime Arturo Ramírez. 7. Teoria do processo evolutivo num GA. 8. Aspectos avançados

Algoritmos Genéticos Fundamentos e Aplicações. Prof. Juan Moisés Mauricio Villanueva

Forecasting e ti O i Otim Oti ização de ã d Carteiras com Matlab AULA 3

Otimização. Conceitos Fundamentais. Paulo Henrique Ribeiro Gabriel Faculdade de Computação Universidade Federal de Uberlândia 2016/2

APLICAÇÃO DE ALGORITMOS BIO-INSPIRADOS EM CONTROLE ÓTIMO

Pesquisa Operacional aplicada ao Planejamento e Controle da Produção e de Materiais Programação Linear

AULA 07 Inferência a Partir de Duas Amostras

Resolução de Problemas. Universidade Católica de Pelotas Engenharia da Computação Disciplina: Inteligência Artificial

Pesquisa Operacional

Otimização da Paleta de Cores

Têmpera Simulada Aplicada ao Problema de Designação Quadrática

Interpolação de Curvas de Nível por Difusão de Calor

Inteligência Coletiva. Prof. Eduardo R. Hruschka (Slides adaptados dos originais elaborados pelo Prof. André C. P. L. F.

Inteligência Artificial. Conceitos Gerais

6.3 Valor Médio de uma Variável Aleatória

Introdução a Algoritmos Aula 1

4 Modelagem Numérica. 4.1 Método das Diferenças Finitas

Estrutura comum dos AEs

Universidade Federal de Santa Maria Centro de Ciências Naturais e Exatas Departamento de Física Laboratório de Teoria da Matéria Condensada

5 Análise de Sensibilidade

Exercícios de programação

Sistemas Inteligentes / Inteligência Artificial, Outros Métodos de Procura

Controlador Preditivo Otimizado Aplicado ao Controle de Velocidade de Motor CC

Rede RBF (Radial Basis Function)

Utilização de Algoritmos Genéticos para Otimização de Altura de Coluna da Matriz de Rigidez em Perfil no Método dos Elementos Finitos

INVESTIGANDO O PROBLEMA DA MOCHILA IRRESTRITA EM SUA VERSÃO BIDIMENSIONAL

Matriz de Referência da área de Matemática Ensino Médio

BC1424 Algoritmos e Estruturas de Dados I Aula 05 Custos de um algoritmo e funções de complexidade

OTIMIZAÇÃO FUNÇÕES UTILIZANDO ALGORITMOS GENÉTICOS NO APLICATIVO MS EXCEL RESUMO INTRODUÇÃO

1. Algumas Propriedades dos Líquidos

Desenvolvimento de um modelo de ensino da Física

VERSÃO RESPOSTAS PROVA DE MÉTODOS QUANTITATIVOS

Estruturas de Dados Aula 14: Recursão 19/05/2011

Professor: Rodrigo A. Scarpel

Equações diferenciais ordinárias

Introdução aos Números Pseudo-aleatórios. Profa. Dra. Soraia Raupp Musse

Inteligência Artificial

O método Simplex Aplicado ao Problema de Transporte (PT).

SSC546 -Avaliação de Desempenho de Sistemas

PESQUISA OPERACIONAL -PROGRAMAÇÃO LINEAR MÉTODO SIMPLEX. Prof. Angelo Augusto Frozza, M.Sc.

Inteligência Artificial - IA

Inteligência Artificial (SI 214) Aula 4 Resolução de Problemas por meio de Busca Heurística

5COP096 TeoriadaComputação

COMPARAÇÃO ENTRE FROTA HOMOGÊNEA E HETEROGÊNEA EM PROBLEMAS DE ROTEAMENTO DE VEÍCULOS CAPACITADOS

Método de restrições ativas para minimização em caixas

5 Modelo Kernel PCA Genético para Ajuste de Histórico

Distorções Dinâmicas no Tempo & Pesquisa. Distorção dinâmica no tempo Pesquisa Algoritmos gráficos de pesquisa Algoritmos de programação dinâmica

Benemar Alencar de Souza

3 a Lista de Exercícios

Simulação: Pseudoaleatoriedade, um estudo sobre o método do meio do quadrado

AGRUPAMENTO DE ESCOLAS DR. VIEIRA DE CARVALHO DEPARTAMENTO DE MATEMÁTICA E CIÊNCIAS EXPERIMENTAIS MATEMÁTICA PLANIFICAÇÃO ANUAL 5.

Noções de Simulação. Ciências Contábeis - FEA - Noturno. 2 o Semestre MAE0219 (IME-USP) Noções de Simulação 2 o Semestre / 23

Universidade Federal de Itajubá. Instituto de Engenharia de Produção e Gestão. Pesquisa Operacional. Redes. Prof. Dr. José Arnaldo Barra Montevechi

Inteligência Computacional

AULA 07 Distribuições Discretas de Probabilidade

AGRUPAMENTO DE ESCOLAS CASTRO DAIRE

EXAME ESCRITO. 2. Na página de instruções, preencha seu nome completo (em letra de forma), o número fornecido no início da prova e sua assinatura.

Árvores B. Hashing. Estrutura de Dados II Jairo Francisco de Souza

Transcrição:

Computação Evolutiva Parte 1 Fabricio Breve - fbreve@gmail.com 23/08/2007 Fabricio Breve 1

Introdução Computação Evolutiva Campo de pesquisa que utiliza idéias da biologia evolutiva para desenvolver técnicas para resolução de sistemas complexos A maioria tem sua origem na teoria da evolução de Darwin e na genética Propõe que uma população de indivíduos capazes de se reproduzir e sujeito a variações (genéticas), resultando em novas populações de indivíduos cada vez mais adaptados ao ambiente 23/08/2007 Fabricio Breve 2

Introdução Algoritmos Evolutivos Baseados na teoria de origem e diversidade de vida Tipos Algoritmos Genéticos Estratégias Evolutivas Programação Evolutiva Programação Genética 23/08/2007 Fabricio Breve 3

RESOLUÇÃO DE PROBLEMAS COMO UMA TAREFA DE BUSCA 23/08/2007 Fabricio Breve 4

Resolução de Problemas como uma Tarefa de Busca Nesse contexto um problema é uma coleção de informações das quais alguma coisa (ex.: conhecimento) será extraído ou inferido Exemplos: Função numérica a ser maximizada Problema de alocação de um número de turmas para um conjunto de alunos 23/08/2007 Fabricio Breve 5

Resolução de Problemas como uma Tarefa de Busca Problema 1 Informação: função a ser otimizada f ( x) x 3 x 3 Objetivo: Determinar os valores de x que minimizem esta função. 23/08/2007 Fabricio Breve 6

Resolução de Problemas como uma Tarefa de Busca Problema 2 Informação Número de estudantes Salas de aula Professores Etc. Objetivo: Encontrar um horário para todas as aulas de uma faculdade em um semestre 23/08/2007 Fabricio Breve 7

Resolução de Problemas como uma Tarefa de Busca Resolver o problema é tomar ações (passos) ou uma seqüência de ações, que: Levam ao desempenho desejado Aumentam o desempenho relativo dos indivíduos Isto é chamado busca 23/08/2007 Fabricio Breve 8

Resolução de Problemas como uma Tarefa de Busca Um algoritmo de busca pega um problema como entrada e retorna uma solução para ele. Um ou mais indivíduos (conhecidos como agentes) serão usados como soluções candidatas para o problema Algum conhecimento sobre o desempenho desejado de um indivíduo nem sempre está disponível, mas ainda pode ser possível avaliar a qualidade relativa dos indivíduos que estão sendo usados como meio de resolver o problema 23/08/2007 Fabricio Breve 9

Resolução de Problemas como uma Tarefa de Busca A primeira etapa de resolução de um problema é a formulação, que dependerá da informação disponível. Principais conceitos envolvidos: Escolha de representação Especificação do Objetivo Definição de uma função de avaliação 23/08/2007 Fabricio Breve 10

Resolução de Problemas como uma Tarefa de Busca Escolha de representação Codificação das soluções candidatas (indivíduos) para manipulação Depende do problema, a representação é de vital importância e sua interpretação implica no espaço de busca e seu tamanho O espaço de busca (ou de estados) é definido pelo estado (configuração) inicial e o conjunto de estados (configurações) possíveis do problema 23/08/2007 Fabricio Breve 11

Resolução de Problemas como uma Tarefa de Busca Especificação do Objetivo Descrição dos propósitos a serem preenchidos Exemplo Se o objetivo é minimizar a função f ( x) Então o objetivo pode ser definido como x 3 x 3 min f ( x) 23/08/2007 Fabricio Breve 12

Resolução de Problemas como uma Tarefa de Busca Definição de uma função de avaliação Uma função que retorna um valor específico indicando a qualidade de qualquer solução candidata (individual), dada a sua representação Quando não há conhecimento sobre o desempenho desejado, a função de avaliação pode ser usada como um meio de avaliar a qualidade relativa dos indivíduos Permitindo a escolha dos indivíduos de maior qualidade como um conjunto de soluções candidatas 23/08/2007 Fabricio Breve 13

Definindo um Problema de Busca Dado um espaço de busca S, assuma a existência de algumas restrições, que se violadas inviabilizam a implementação de uma solução Na busca por uma solução melhorada temos de conseguir mover de uma solução para outra sem violar tais restrições Precisamos de operadores que forneçam soluções factíveis 23/08/2007 Fabricio Breve 14

Definindo um Problema de Busca Definição de um problema de busca (ou otimização). Dado um espaço de busca S, junto com sua partefactível F, F S, encontre x* F tal que eval(x*) eval( x), x F. 23/08/2007 Fabricio Breve 15

Definindo um Problema de Busca Neste caso, a função de avaliação que retorna pequenos valores para x é considerada melhor Problema e minimização Resolver um problema de maximização equivale a minimizar o negativo max f ( x) min f ( x) 23/08/2007 Fabricio Breve 16

Definindo um Problema de Busca O processo de busca não sabe qual o problema que está sendo resolvido Ele sabe apenas a informação dada pela função de avaliação, representação usada e como é feito o teste das possíveis soluções Se a função de avaliação não corresponde ao objetivo você estará procurando pela resposta certa do problema errado! 23/08/2007 Fabricio Breve 17

Definindo um Problema de Busca O ponto x que satisfaz tal condição é chamado solução global ou solução ótima Encontrar a solução global para um problema pode ser difícil, mas é mais fácil quando nos concentramos numa pequena porção do espaço de busca 23/08/2007 Fabricio Breve 18

Definindo um Problema de Busca Técnicas de busca efetivas devem combinar: Exploitation: explorar as melhores soluções encontradas até o momento Exploration: explorar o espaço todo em busca de soluções 23/08/2007 Fabricio Breve 19

Definindo um Problema de Busca Alguns algoritmos exploram a melhor solução disponível, mas não exploram todo o espaço de busca Subida da Colina (Hill Climbing) Outros combinam exploration e exploitation Recozimento Simulado (Simulated Annealing) Algoritmos Genéticos (Genetic Algorithms) 23/08/2007 Fabricio Breve 20

Definindo um Problema de Busca Foi provado matematicamente que não existe um único método de busca que pode ter um desempenho melhor em todas as execuções para todos os problemas Porém é possível estimar e comparar o desempenho de diferentes algoritmos e procurar por técnicas que forneçam a melhor performance. 23/08/2007 Fabricio Breve 21

Definindo um Problema de Busca Ótimo local Solução potencial Menor ponto dentro de uma vizinhança N x F é ótimo local seeval( x) eval( y), y N( x), onde N( x) { y F : dist( x, y) } dist é uma função que determina a distância entre x e é uma constante positiva y 23/08/2007 Fabricio Breve 22

Definindo um Problema de Busca 23/08/2007 Fabricio Breve 23

Definindo um Problema de Busca A função de avaliação define uma superfície de resposta, chamada cenário de aptidão (fintess landscape) Topografia de montanhas e vales O problema de encontrar a (melhor) solução é portanto buscar um pico (maximização) ou vale (minimização) 23/08/2007 Fabricio Breve 24

Definindo um Problema de Busca 23/08/2007 Fabricio Breve 25

Definindo um Problema de Busca Amostrar novos pontos no cenário é basicamente feito nas imediações do ponto atual É possível apenas tomar decisões locais sobre onde procurar a seguir Se a busca for sempre feita montanha acima, eventualmente encontraremos um pico, mas este pode não ser o pico mais alto do cenário (ótimo global) A busca eventualmente vai morro abaixo na tentativa de encontrar um ponto que eventualmente levará a um ótimo global 23/08/2007 Fabricio Breve 26

SUBIDA DA COLINA E RECOZIMENTO SIMULADO 23/08/2007 Fabricio Breve 27

Subida da Colina e Recozimento Simulado Duas técnicas tradicionais: Subida da Colina (Hill Climbing) Recozimento Simulado (Simulated Annealing) Subida da Colina probabilístico Caso especial de um algoritmo evolutivo Serão estudadas como preparação para os algoritmos evolutivos Melhor compreensão Comparação de desempenho 23/08/2007 Fabricio Breve 28

Subida da Colina Método de busca local que usa um aperfeiçoamento iterativo Aplicado a um único ponto no espaço de busca A cada iteração um novo ponto x é selecionado através de uma pequena perturbação no ponto atual x O novo ponto é selecionado na vizinhança de x 23/08/2007 Fabricio Breve 29

Subida da Colina x' N( x) x' x x Se o novo ponto obter um valor melhor na função de avaliação, então ele passará a ser o ponto atual. Caso contrário ele é descartado. 23/08/2007 Fabricio Breve 30

Subida da Colina Critérios de parada: Nenhuma melhoria pode ser obtida Um número fixo de iterações foi realizado Um ponto alvo foi atingido Algoritmo (próximo slide) Seja x o ponto atual, g o ponto alvo (assumindo que é conhecido), e max_it o número máximo de iterações permitidas. 23/08/2007 Fabricio Breve 31

Algoritmo de Subida da Colina 23/08/2007 Fabricio Breve 32

Algoritmo de Subida da Colina Tem algumas fraquezas Terminam em soluções ótimas locais Não há informação sobre a distância da solução encontrada para a ótima global O ótimo encontrado depende da configuração inicial Não é possível calcular um limite para o tempo computacional do algoritmo 23/08/2007 Fabricio Breve 33

Algoritmo de Subida da Colina Como o algoritmo só fornece soluções ótimas locais, é razoável iniciá-lo de uma grande variedade de pontos A esperança é que pelo menos um deles leve ao ótimo global Os pontos iniciais podem ser escolhidos aleatoriamente, usando uma grade ou padrão regular ou outros tipos de informação Neste caso o algoritmo tradicional será inicializado múltiplas vezes e teremos uma memória da melhor solução Subida da Colina Iterativo (Iterated Hill Climbing) 23/08/2007 Fabricio Breve 34

Algoritmo de Subida da Colina 23/08/2007 Fabricio Breve 35

Algoritmo de Subida da Colina 23/08/2007 Fabricio Breve 36

Algoritmo de Subida da Colina Critério de parada alternativo Se a melhor solução não mudar significativamente após um certo número de iterações, pode-se dizer que o algoritmo convergeu para um ótimo local e o processo pode ser parado 23/08/2007 Fabricio Breve 37

Algoritmo de Subida da Colina Na prática o número de soluções ótimas é bastante alto A capacidade de exploitation do Subida da Colina pode ser combinado com outras em combinação com outras técnicas capazes de executar uma melhor exploração do espaço de busca 23/08/2007 Fabricio Breve 38

Algoritmo de Subida da Colina Modificação: Subida da Colina Probabilístico A probabilidade de que x seja selecionado depende da diferença entre os valores retornados pela função de avaliação para x e x Algoritmo (próximo slide) T é um parâmetro de controle do decaimento da função exponencial 23/08/2007 Fabricio Breve 39

Algoritmo de Subida da Colina 23/08/2007 Fabricio Breve 40

Algoritmo de Subida da Colina A probabilidade P de que o novo ponto x seja aceito é dada por P 1/(1 exp[( eval( x) eval( x' )) / T]) Quanto maior o valor de T, menor a importância da diferença da avaliação de x e x Com um alto valor em T, a busca fica similar a uma busca aleatória 23/08/2007 Fabricio Breve 41

Recozimento Simulado Inspirado no processo de recozimento de sistemas físicos Recozimento: sujeitar um material (ex.: vidro, metal) a um processo de aquecimento e resfriamento lento para torná-lo mais forte e reduzir sua fragilidade Inspirado no algoritmo de Metropolis Meio de encontrar uma configuração de equilíbrio de uma coleção de átomos em uma certa temperatura 23/08/2007 Fabricio Breve 42

Recozimento Simulado Idéias retiradas da termodinâmica estatística Campo da Física que faz predições teóricas sobre o comportamento de sistemas macroscópicos (líquido e sólido) com base nas leis que governam os átomos que os compõe 23/08/2007 Fabricio Breve 43

Recozimento Simulado Objetivo Levar o material ao seu ground state, um estado de mínima energia em que uma estrutura cristalina será obtida O Gálio é um metal que forma grandes cristais. Célula unitária da estrutura de um cristal de sal (NaCl). Notese a ordenação dos átomos. Um policristal de quartzo, uma das substâncias cristalinas mais comuns na Terra. Imagens: Wikipedia - http://pt.wikipedia.org/wiki/cristal 23/08/2007 Fabricio Breve 44

Recozimento Simulado 1. Temperatura do material é elevada para que derreta e seus átomos possam se mover livremente 2. Temperatura do sistema derretido é lentamente diminuída para que a cada nova temperatura os átomos possam o suficiente para adotar uma orientação mais estável 3. Se a temperatura for diminuída suficientemente devagar, os átomos irão repousar na orientação mais estável, produzindo um cristal 23/08/2007 Fabricio Breve 45

Recozimento Simulado Na simulação: Estado do sistema físico equivale a uma possível solução do problema A energia do sistema é medida pela função de avaliação No sistema físico o objetivo é encontrar uma configuração de mínima energia O estado de equilíbrio equivale a um ótimo local O estado de mínima energia (ground state) é o ótimo global Temperatura é um parâmetro de controle Recozimento é a busca reduzindo T 23/08/2007 Fabricio Breve 46

Recozimento Simulado Algoritmo Seja x a atual configuração do sistema, x a configuração de x após um pequeno deslocamento aleatório, e T a temperatura do sistema. A função g(t,t) é responsável por reduzir o valor da temperatura Geralmente utiliza-se um decremento geométrico Ex.: T. T onde 1 23/08/2007 Fabricio Breve 47

Recozimento Simulado 23/08/2007 Fabricio Breve 48

Recozimento Simulado 23/08/2007 Fabricio Breve 49

Exemplo de Aplicação Considere a função unidimensional g(x) abaixo: 23/08/2007 Fabricio Breve 50

Exemplo de Aplicação A variável x é definida no intervalo [0,1] e assuma que o máximo global é desconhecido. Como foi discutido precisamos de: Representação Objetivo Avaliação 23/08/2007 Fabricio Breve 51

Exemplo de Aplicação Representação: Usaremos o valor real da variável x para representar as soluções candidatas x [0,1] Para perturbar o ponto atual, usaremos um ruído Gaussiano de média zero e pequena variância G( 0, ) Descartaremos resultados fora do intervalo [0,1] Poderíamos usar uma distribuição uniforme x' x G(0, ) 23/08/2007 Fabricio Breve 52

Exemplo de Aplicação Objetivo: Encontrar o valor máximo da função g(x), isto é: max g( x) Avaliação: Para avaliar as soluções candidatas usaremos a função g(x) para os valores de x 23/08/2007 Fabricio Breve 53

Exercícios 1. Implemente os vários tipos de algoritmos de Subida da Colina para resolver o problema proposto no Exemplo de Aplicação. Use um esquema de representação para as soluções candidatas (variável x). Compare o desempenho dos algoritmos e tire suas conclusões. 2. Para o Subida da Colina simples utilize diferentes configurações iniciais como tentativas de encontrar o ótimo global. O algoritmo teve sucesso? 3. Discuta a sensibilidade de todos os algoritmos com relação aos seus parâmetros de entrada. 23/08/2007 Fabricio Breve 54

Referências Bibliográficas CASTRO, Leandro Nunes. Fundamentals of Natural Computing: Basic Concepts, Algorithms, And Applications. CRC Press, 2006. CARVALHO, André Ponce de Leon F. de. Notas de Aula, 2007. HAYKIN, Simon. Redes Neurais: Princípio e Prática. Bookman, 2001. KOVACS, Zsolt L. Redes Neurais Artificiais: Fundamentos e Aplicações. Livraria da Física, 2006. 23/08/2007 Fabricio Breve 55