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.

Slides:



Advertisements
Apresentações semelhantes
AULA 02 PROGRAMAÇÃO LINEAR INTEIRA
Advertisements

Unidade VII Algoritmos Genéticos
Algoritmos Genéticos Teresa B. Ludermir.
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
Optimization and Decision Support Techniques FUNDAMENTOS DE ALGORITMOS GENÉTICOS Pedro Miguel A. S. Melo FEUP – Fevereiro de 2008.
CONCEITOS BÁSICOS DA META-HEURÍSTICA TABU SEARCH
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.
Algoritmos Genéticos Alex F. V. Machado.
Métodos Heurísticos de Busca e Otimização
EE-214/2011 Métodos de Busca Aleatória. EE-214/2011 Problema Básico Sistema Dinâmico u xuxu J[u,x u ] Calculador de Custo Obter: Dados: 1) Um sistema.
I Iterated Local Search Helena R. Lorenço, Olivier Martinz
Meta - heurísticas Prof. Aurora
Computação Evolucionária
GRASP Greedy Randomized Adaptative Search Procedure
PROBLEMA DE ROTEAMENTO DE VEíCULOS COM DIVISÃO DE ENTREGA
Adriano Joaquim de O Cruz
ÉLDMAN DE OLIVEIRA NUNES E AURA CONCI INSTITUTO DE COMPUTAÇÃO UFF
Algoritmos Genéticos Marcone Jamilson Freitas Souza
Computação Evolutiva: Programação Genética
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
Reconhecimento de Padrões Inteligência de Enxame
Inteligência Artificial
Algoritmo Genético.
Algoritmos Genéticos Prof. Luis Otavio Alvares II/UFRGS
Otimização por Colônias de Formigas – ACO (Ant Colony Optimization)
Inteligência Artificial Câmpus de Uruguaiana - PUCRS
Algoritmos Genéticos Rômulo Ferreira Douro.
Algoritmos Genéticos - Capítulo 10 Representação Numérica
INF 1771 – Inteligência Artificial
Métodos Populacionais
Meta - heurísticas Prof. Aurora
Otimização Prof. Benedito C. Silva IRN UNIFEI
Aurora Pozo– UFPR – Meta-Heurísticas
Otimização por Colônia de Formigas (ACO)
I Iterated Local Search Helena R. Lorenço, Olivier Martinz
Métodos Populacionais
Introdução e Busca Cega
Sistemas Inteligentes
O PROBLEMA DE SCHEDULING EM JOB-SHOP
Anne Magály de PaulaCanuto DIMAp/UFRN
Algoritmos de Busca Local
Algoritmos Evolutivos Algoritmos Genéticos Introdução
Tópicos Avançados em Inteligência Artificial
Algoritmos Genéticos Ricardo Prudêncio.
Experimentação Algorítmica
O PROBLEMA DE SCHEDULING EM JOB-SHOP
Inteligência Artificial
Busca Combinatorial e Métodos de Heurística
O PROBLEMA DE SCHEDULING EM JOB-SHOP
Resolução de Problemas de Busca
Métodos de Resolução Solução Analítica Solução Numérica
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.
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
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
Busca Heurística Prof. Valmir Macário Filho. 2 Busca com informação e exploração Capítulo 4 – Russell & Norvig Seção 4.1 Estratégias de Busca Exaustiva.
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.
Algoritmos BioInspirados: Inteligência de Enxames
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:

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 de Holland, em Evolução: ao longo de gerações os indivíduos de uma população alteram suas características para ficarem mais bem adaptado ao meio ambiente que habitam. Isto ocorre naturalmente com os seres vivos, animais ou vegetais.

Problemas de Otimização e Heurísticas Problemas que admitem muitas soluções válidas, chamadas de soluções viáveis. Há critérios que permitem avaliar a “qualidade” dessas soluções. Ex: Dados dois endereços (A e B) de uma cidade, encontrar um caminho para ir do ponto A ao ponto B. Numa cidade, por exemplo, há muitos caminhos possíveis para ir do ponto A ao ponto B. Os diversos caminhos possíveis, soluções do problema, podem ser avaliados e comparados, a procura do mais curto, ou o mais rápido.

Ex: Outro problema clássico é determinar a “melhor” rota para um caminhão de uma empresa que deve sair de um depósito, fazer as entregas, e retornar ao depósito. Este problema consiste em determinar a ordem com que os clientes serão visitados pelo caminhão. Por exemplo, para 5 clientes há 5!=120 ordenações possíveis, para 6 clientes há 6!=6*5!=720, e assim por diante. Para N clientes, há N! possíveis ordenações. Com N=10 clientes há milhões de ordenações possíveis.

Estes problemas se caracterizam por um crescimento muito grande no número de soluções possíveis, mesmo com pequeno crescimento no tamanho da entrada. Muitos problemas desse tipo não são resolvidos de modo manual, exigem o uso de computadores e software. A melhor solução possível desse tipo de problema é chamada “solução ótima” do problema. Há algoritmos para obter sempre a solução ótima, são chamados “algoritmos exatos”.

Mesmo com os melhores recursos para processamento, há problemas práticos para os quais não podemos usar algoritmos exatos, tempo demais ou processamento demais. Nessas situações, admite-se o uso de algoritmos que produzem “boas” soluções, não necessariamente a solução ótima, mas boas o suficiente para fins práticos. Esses algoritmos são chamados “Heurísticas”.

Heurísticas Algoritmos que produzem “boas” soluções para problemas de otimização, não necessariamente a “melhor” solução. Heurísticas específicas são criadas para resolver determinados problemas. Heurísticas mais genéricas chamadas “meta- heurísticas”, podem ser aplicadas a diversos problemas.

Meta-heurísticas são criadas por pesquisadores com as mais diversas inspirações. Entre as meta-heurísticas mais conhecidas estão: Busca tabu (tabu search) Colônia de formigas (ant colony) Nuvem de partículas (particle swarm) Recozimento Simulado (simulated annealing) Algoritmo genético (genetic algorithm)

O algoritmo genético (AG) básico foi proposto no artigo Adaptation in Natural and Artificial Systems, de John Henry Holland, em Trata-se de uma meta-heurística com inspiração na teoria da evolução das espécies, com o “aprimoramento” genético no decorrer das gerações. Não há fórmula mágica, e a configuração de uma meta- heurística para resolver um determinado problema. Isto se faz com experimentação, com tentativas e correções de erros, em geral usando problemas de teste, até que estejam adaptadas para resolver o problema real.

Máximo Local versus Máximo Global (ou mínimo) O conjunto de todas as soluções de um problema é chamado “espaço de soluções”. Cada solução deste espaço tem uma medida de qualidade que pode ser usada para comparar soluções. Se imaginarmos um gráfico, cada ponto do eixo horizontal é uma solução, e no eixo vertical marcamos a qualidade. Soluções próximas entre si, dentro do que se chama uma “vizinhança”, têm qualidades também próximas.

Assim, os pontos da curva com maior qualidade dentro de sua vizinhança são chamados “Pontos de Máximo”. O ponto de máxima qualidade, referente à solução “ótima” do problema, é chamado de “Máximo Global”. Os outros pontos de máximo são chamados de “Máximos Locais”, pois são pontos de máximo dentro de sua vizinhança.

Algoritmo Genético (AG) Básico Os AG’s trabalham com um conjunto de soluções para o problema sendo tratado. Este conjunto é chamado “população” de soluções. Cada indivíduo da população é uma solução válida para o problema. O AG consiste de um loop que a cada volta transforma a população atual em uma nova população. Esta transformação ocorre de tal forma que cada nova população deve ter indivíduos (soluções) de melhor qualidade.

Ao final do loop, a última população pode ser pesquisada e seu melhor indivíduo é o resultado do AG para o problema. Como o caso biológico da evolução dos indivíduos, cada nova população é chamada de nova “geração” de indivíduos. Na evolução natural, os indivíduos mais bem adaptados ao meio têm mais “chance” de transmitir suas características a seus descendentes. O termo “chance” é importante porque mostra que o AG não é determinístico, ou seja, tem caráter de aleatoriedade. Assim é possível rodar o AG mais que uma vez sobre o mesmo problema e obter soluções diferentes.

Forma geral do algoritmo: INICIALIZA(P); AVALIA(P); PARA T=1 ATÉ MAXGEN FAZER P2  VAZIO; PARA I =1 ATÉ N SELECIONA( PAI1 ); SELECIONA( PAI2 ); CRUZAMENTO( PAI1, PAI2, FILHO ); COM PROBAB.PMUT MUTAÇAO( FILHO ); INSERIR FILHO EM P2; FIM PARA; AVALIA(P2); P  P2; // substitui a geração atual pela nova FIM PARA; RETORNA MELHOR INDIVÍDUO EM P.

Cromossomo É o nome dado aos indivíduos da população representados de algum modo adequado. Em geral, um cromossomo é um array de elementos chamados “Genes”. Por exemplo, um cromossomo pode ser uma seqüência com uma determinada quantidade de bits. Cada bit será um gene desse cromossomo. Cromossomo: Esta é a forma mais elementar de cromossomo.

Cruzamento

Mutação

Seleção por Roleta

Elitismo Processo de manter os melhores indivíduos da população atual na população seguinte. Serão mantidos “vivos” alguns indivíduos da população anterior. Na forma geral do AG que vimos, a cada nova geração todos os indivíduos da população anterior eram substituídos. Não há garantia de que o melhor indivíduo gerado em todo o processo esteja na população final. Mesmo que apenas o melhor indivíduo de cada geração seja mantido “vivo”, certamente o melhor indivíduo produzido em todo o processo será “levado” até a população final.