Algoritmos Genéticos Adriano Joaquim de O Cruz ©2003 NCE/UFRJ

Slides:



Advertisements
Apresentações semelhantes
IFTO ESTRUTURA DE DADOS AULA 05 Prof. Manoel Campos da Silva Filho
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.
UNICAMP Universidade Estadual de Campinas Centro Superior de Educação Tecnológica Divisão de Telecomunicações Propagação de Ondas e Antenas Prof.Dr. Leonardo.
AULA 8 Profa. Sandra de Amo GBC053 – BCC
Material pedagógico Multiplicar x 5 Clica!
Vamos contar D U De 10 até 69 Professor Vaz Nunes 1999 (Ovar-Portugal). Nenhuns direitos reservados, excepto para fins comerciais. Por favor, não coloque.
Introdução à Programação usando Processing Programação Gráfica 2D Animações Exercício Animações 14/10/09 Bruno C. de Paula 2º Semestre 2009 > PUCPR >
14/10/09 Uma animação possui: Início; Passo; Fim; 1.
Exercício do Tangram Tangram é um quebra-cabeças chinês no qual, usando 7 peças deve-se construir formas geométricas.
Algoritmos Genéticos Problema das 8 Rainhas Algoritmo Genético
1 INQUÉRITOS PEDAGÓGICOS 2º Semestre 2003/2004 ANÁLISE GERAL DOS RESULTADOS OBTIDOS 1.Nº de RESPOSTAS ao inquérito 2003/2004 = (42,8%) 2.Comparação.
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étodo de Acesso Dinâmico - B-Tree AULA 14 Profa. Sandra de Amo Programa de Pós-Graduação em CC - UFU Sistemas de Banco de Dados
Relações Adriano Joaquim de O Cruz ©2002 NCE/UFRJ
Adriano Joaquim de O Cruz
EXPRESSÕES ARITMÉTICAS
EXPRESSÕES ARITMÉTICAS
Algoritmos Genéticos Marcone Jamilson Freitas Souza
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
Inteligência Artificial
Algoritmo Genético.
FUNÇÃO MODULAR.
Algoritmos Genéticos Rômulo Ferreira Douro.
Algoritmos Genéticos - Capítulo 10 Representação Numérica
Eduardo do Valle Simões Renato Tinós ICMC - USP
ONDE SUA FRANQUIA PODE CHEGAR? QUAL O SEU LIMITE?.
INF 1771 – Inteligência Artificial
Provas de Concursos Anteriores
Métodos Populacionais
Problemas Numéricos com Representação por Números Reais
Hamburgo, Alemanha Definir o caminho que irá permitir a Lions Clubs International alcançar o seu potencial pleno como organização.
Controle de parâmetros em algoritmos evolucionários
MECÂNICA - ESTÁTICA Cabos Cap. 7.
ESTATÍSTICA.
MECÂNICA - DINÂMICA Exercícios Cap. 13, 14 e 17. TC027 - Mecânica Geral III - Dinâmica © 2013 Curotto, C.L. - UFPR 2 Problema
Otimização Prof. Benedito C. Silva IRN UNIFEI
MECÂNICA - ESTÁTICA Vetores Forças Cap. 2.
Inteligência Artificial I
Algoritmos Culturais.
LINKAGE E GENÉTICA DE POPULAÇÕES
Estruturas de Dados com Jogos
Estruturas de Dados com Jogos
Coordenação Geral de Ensino da Faculdade
Modelagem Estatística
Métodos Populacionais
Sistemas Inteligentes
Anne Magály de PaulaCanuto DIMAp/UFRN
Algoritmos Evolutivos Algoritmos Genéticos Introdução
1 Aplicações do Fecho Regular. 2 A interseção de uma linguagem livre de contexto e uma linguagem regular é uma linguagem livre de contexto livre de contexto.
MATRIZ DE PARENTESCO Nas equações do Modelo Misto, é incluída a matriz de parentesco ( a inversa desta, A-1). Para que? A matriz de parentesco de n indivíduos.
Olhe fixamente para a Bruxa Nariguda
Máquina de Turing Universal
Algoritmos Genéticos Ricardo Prudêncio.
INF 1771 – Inteligência Artificial
PROBLEMA DO EMPACOTAMENTO
O PROBLEMA DE SCHEDULING EM JOB-SHOP
Inteligência Artificial
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
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.
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:

Algoritmos Genéticos Adriano Joaquim de O Cruz ©2003 NCE/UFRJ

@2002 Adriano Cruz NCE e IM - UFRJAlgoritmos Genéticos 2 Sumário Introdução Aplicações Operadores Exemplos

@2002 Adriano Cruz NCE e IM - UFRJAlgoritmos Genéticos 3 Algoritmos Genéticos Nas minhas investigações debaixo do sol, vi ainda que a corrida não é para os ágeis, nem a batalha para os bravos, nem o pão para os prudentes, nem a riqueza para os inteligentes, nem o favor para os sábios: todos estão à mercê das circunstâncias e da sorte. Eclesiastes 9,12

@2002 Adriano Cruz NCE e IM - UFRJAlgoritmos Genéticos 4 O Problema? Existem problemas para os quais algoritmos rápidos não são conhecidos. Encontrar a solução é buscar em um espaço onde vivem potenciais soluções a que melhor resolve o nosso problema. Quando este espaço é muito grande, encontrar a melhor solução pode levar tempo demais É possível obter soluções aproximadamente ótimas usando algoritmos probabilísticos.

@2002 Adriano Cruz NCE e IM - UFRJAlgoritmos Genéticos 5 Algoritmos Genéticos Técnica prática e robusta de busca e otimização Baseados nos conceitos da seleção natural É um método estocástico de busca

@2002 Adriano Cruz NCE e IM - UFRJAlgoritmos Genéticos 6 Exemplos de problemas Encontrar o máximo (mínimo) de uma função. Encontrar um bom conjunto de regras para um sistema nebuloso. Encontrar o melhor agente para atuar como jogador digital.

@2002 Adriano Cruz NCE e IM - UFRJAlgoritmos Genéticos 7 A Metáfora A metáfora que está por trás dos AGs é a da seleção natural. Na natureza, o problema de cada espécie é o de encontrar as melhores adaptações que a façam sobreviver em um ambiente complicado, muitas vezes hostil e que está sempre mudando.

@2002 Adriano Cruz NCE e IM - UFRJAlgoritmos Genéticos 8 Evolução? Há na natureza evolução no sentido de melhoria? Evolução pressupõe caminhar em direção a um indivíduo ideal.

@2002 Adriano Cruz NCE e IM - UFRJAlgoritmos Genéticos 9 Adaptação? Não seria mais apropriado falar em melhor adaptação ao ambiente Na natureza sobrevivem não os mais evoluídos e sim os mais adaptados a um determinado ambiente.

Termos e Definições

@2002 Adriano Cruz NCE e IM - UFRJAlgoritmos Genéticos 11 Adaptação O conjunto de características de um indivíduo, que o distingue dos demais, determina sua capacidade de sobrevivência. Estas características são determinadas pelo seu material genético.

@2002 Adriano Cruz NCE e IM - UFRJAlgoritmos Genéticos 12 Mecanismos Na natureza a competição por recursos escassos em ambientes hostis ou que se alteram faz com que os mais aptos sobrevivam e consigam se reproduzir. Através da reprodução com parceiros os genes destes indivíduos são então transmitidos aos seus descendentes. Este processo contínuo de seleção e reprodução dos mais aptos pode conduzir a indivíduos cada vez mais adaptados.

@2002 Adriano Cruz NCE e IM - UFRJAlgoritmos Genéticos 13 Seres Vivos - Cromossomos Cadeias organizadas de ADN (DNA) e proteínas encontrados nas células Contém informações que permitem a geração de um novo ser. É uma peça de ADN contendo diversos genes, elementos reguladores e outras sequências de nucleotídeos. A palavra cromossomo vem do grego chroma (cor) e soma (corpo) devido a propriedade de poder ser tingido facilmente. (fonte wikipedia)

@2002 Adriano Cruz NCE e IM - UFRJAlgoritmos Genéticos 14 Seres Vivos - Cromossomos

@2002 Adriano Cruz NCE e IM - UFRJAlgoritmos Genéticos 15 Seres Vivos - Genes Responsáveis por características específicas de cada ser. Podem assumir diferentes valores (alelos). Diferentes combinações de valores (genótipos) levam a diferenças em características do ser (fenótipos). Por exemplo, dois genes para olhos castanhos (fenótipo castanho), dois genes para olhos verdes (fenótipo verde), um gene para olhos verdes e outro para olhos castanhos (depende de como eles trabalham juntos).

@2002 Adriano Cruz NCE e IM - UFRJAlgoritmos Genéticos 16 Seres Vivos - Reprodução Cromossomos são encontrados em pares. Indivíduos possuem duas cópias de seus genes (reprodução sexuada). Gametas produzidos durante a fertilização possuem um representante de cada par. Gametas de dois indivíduos se unem para formar um novo indivíduo. Durante a produção dos gametas – Recombinação: troca de parte das cadeias de um par – Mutação: alteração em uma ou mais posições dos cromossomos.

@2002 Adriano Cruz NCE e IM - UFRJAlgoritmos Genéticos 17 Seres Vivos - Reprodução

Na Simulação

@2002 Adriano Cruz NCE e IM - UFRJAlgoritmos Genéticos 19 Cromossomo Indivíduos representam soluções potenciais em uma população. Em AG um indivíduo é representado por um único cromossomo.

@2002 Adriano Cruz NCE e IM - UFRJAlgoritmos Genéticos 20 Cromossomo Usualmente, cada possível solução é codificada como uma cadeia de bits, o cromossomo ou genótipo. Cada parametro codificado na solução é chamado de um gene. F(x,y,z) Gene x Gene y Gene z

@2002 Adriano Cruz NCE e IM - UFRJAlgoritmos Genéticos 21 População AGs mantém um conjunto de indivíduos formando populações de soluções. Indivíduos devem ser avaliados segundo uma função de aptidão. Indivíduos mais aptos terão mais chances de propagar sua informação genética.

@2002 Adriano Cruz NCE e IM - UFRJAlgoritmos Genéticos 22 Gerações A cada geração o AG cria uma nova população. Esta criação de indivíduos é baseada em operadores genéticos. A evolução de uma geração para outra é feita em três fases: avaliação da aptidão, seleção dos mais aptos e reprodução.

@2002 Adriano Cruz NCE e IM - UFRJAlgoritmos Genéticos 23 Fluxo do AG Início Gera População Inicial Avalia Seleciona Pais Geração Atual Gera Filhos Mutação Cruzamento Próxima Geração OK? Não Aleatoriamente

@2002 Adriano Cruz NCE e IM - UFRJAlgoritmos Genéticos 24 Componentes de um AG Uma representação das soluções potenciais. Uma forma de criar a população inicial. Uma função de avaliação que faz o papel do ambiente e ordena as soluções por um critério de qualidade. Operadores genéticos que alteram a composição dos filhos gerados. Valores para os vários parâmetros: tamanho da população, probabilidades de aplicação dos operadores, número de gerações etc.

@2002 Adriano Cruz NCE e IM - UFRJAlgoritmos Genéticos 25 Codificação de Soluções A codificação transforma pontos no espaço de soluções em cadeias de bits. Codificações são maneiras de traduzir o conhecimento sobre o problema para o ambiente dos AGs. f(x,y,z)x=3y=1z=0 Considere f(x,y,z) e que x=3, y=1, z= O cromossomo de 12 bits com genes de 4 bits seria

@2002 Adriano Cruz NCE e IM - UFRJAlgoritmos Genéticos 26 Codificação de Soluções 1 A codificação determina a resolução da solução. 16 Considere uma variável codificada em 16 bits. Considere que esta variável pode assumir valores entre 0 e 2 inclusive A codificação divide o intervalo [0,2] em pedaços.

@2002 Adriano Cruz NCE e IM - UFRJAlgoritmos Genéticos 27 População Inicial A população inicial é gerada aleatoriamente. Em algumas soluções várias populações são criadas. Estas populações podem evoluir paralelamente de forma cooperativa ou não.

@2002 Adriano Cruz NCE e IM - UFRJAlgoritmos Genéticos 28 Avaliação da Aptidão O primeiro passo após gerar uma população de soluções e calcular a aptidão de cada solução. Em um problema de maximização de funções esta avaliação significa calcular o valor da função para cada indivíduo.

@2002 Adriano Cruz NCE e IM - UFRJAlgoritmos Genéticos 29 Seleção Após a avaliação deve-se gerar uma nova população a partir da atual. A seleção escolhe que indivíduos participarão deste processo. A probabilidade de um indivíduo ser selecionado é proporcional a sua aptidão (método da roleta).

@2002 Adriano Cruz NCE e IM - UFRJAlgoritmos Genéticos 30 Cruzamento Cruzamento e o operador genético aplicado a pares selecionados de pais. Deste cruzamento espera-se que as boas características de prévias gerações sejam passadas as próximas.

@2002 Adriano Cruz NCE e IM - UFRJAlgoritmos Genéticos 31 Cruzamento 1 Cruzamentos em um ponto é o modo mais comum. Cruzamentos ocorrem com uma probabilidade.

@2002 Adriano Cruz NCE e IM - UFRJAlgoritmos Genéticos 32 Cruzamento 2 Considere os dois indivíduos abaixo, cada um com 8 bits (7 até 0). Considere um ponto de corte no bit Pais x Filhos x

@2002 Adriano Cruz NCE e IM - UFRJAlgoritmos Genéticos 33 Cruzamento 3 ultrapassar seus pais Filhos podem ultrapassar seus pais caso herdem as melhores características de cada pai. E se os indivíduos atuais não contém os genes da solução? Será que temos os genes para telepatia?

@2002 Adriano Cruz NCE e IM - UFRJAlgoritmos Genéticos 34 Mutação Mutação é capaz de gerar novos cromossomos espontaneamente. A maneira mais comum é trocar o valor de um bit com uma probabilidade, geralmente, igual a um valor baixo (taxa de mutação). Evita que a população entre em estagnação. Moradores de uma ilha no meio do oceano.

@2002 Adriano Cruz NCE e IM - UFRJAlgoritmos Genéticos 35 Exemplo Considere o problema de achar o máximo da função y = sen(10*x)*sen(x) Parâmetros: População = 20 Gerações = 30 Probabilidade de cruzamento=1.0 Probabilidade de mutação = 0.01 Bits para codificação = 8

@2002 Adriano Cruz NCE e IM - UFRJAlgoritmos Genéticos 36 Representação Usaremos um vetor binário de 8 bits para representar os valores reais da variável x. O domínio da variável x ([0..3]) tem comprimento 3 e escolhemos uma representação com 8 bits. 8 bits dividem o domínio em fatias A conversão de vetor binário para real se faz em dois passos: Converte o vetor binário da base 2 para 10 (valor x'). Acha o valor de x: x = 0 + x' * (3/( ))

@2002 Adriano Cruz NCE e IM - UFRJAlgoritmos Genéticos 37 Representação exemplo Considere x' = x' = 17 x = * ( 3 / 255) = 0.2

@2002 Adriano Cruz NCE e IM - UFRJAlgoritmos Genéticos 38 Representação resumindo Precisamos de D casas decimais T é o tamanho do intervalo 2 (n - 1) < T * 10 D < 2 n n será o número de bits Exemplo: D = 6 e T = =2 2 1 < < = Intervalo: x 1..x n bits x = x 1 + x' * (x 2 /(2 n -1))

@2002 Adriano Cruz NCE e IM - UFRJAlgoritmos Genéticos 39 Função e o máximo

@2002 Adriano Cruz NCE e IM - UFRJAlgoritmos Genéticos 40 Evolução OK

@2002 Adriano Cruz NCE e IM - UFRJAlgoritmos Genéticos 41 Função e máximo não OK

@2002 Adriano Cruz NCE e IM - UFRJAlgoritmos Genéticos 42 Evolução

@2002 Adriano Cruz NCE e IM - UFRJAlgoritmos Genéticos 43 Aprendendo Estratégia O dilema dos prisioneiros. Dois prisioneiros em celas diferentes. Impossível se comunicarem. Cada um deles pode acusar o outro (A) ou ficar calado/cooperar (C).

@2002 Adriano Cruz NCE e IM - UFRJAlgoritmos Genéticos 44 Punições x Prêmios

@2002 Adriano Cruz NCE e IM - UFRJAlgoritmos Genéticos 45 O Dilema Cada um dos prisioneiros deve decidir se deve cooperar com o outro prisioneiro ou trair e procurar uma pena menor.

@2002 Adriano Cruz NCE e IM - UFRJAlgoritmos Genéticos 46 Como jogar? Jogo entre dois jogadores. Em cada jogada os jogadores decidem o que fazer. Pontos são atribuídos de acordo com a tabela. Após um certo número de jogadas, o jogador com mais pontos vence.

@2002 Adriano Cruz NCE e IM - UFRJAlgoritmos Genéticos 47 Representando as estratégias Considerar estratégias determinísticas. Considerar os resultados das três últimas jogadas para decidir o que fazer. Desde que há 4 possibilidades temos 4x4x4=64 histórias diferentes.

@2002 Adriano Cruz NCE e IM - UFRJAlgoritmos Genéticos 48 Representando as estratégias 1 64 bits indicam o que fazer para cada uma história possível (acusar ou cooperar) Podemos usar seis bits para representar as três jogadas iniciais (imaginárias) para a primeira jogada. Total de 70 bits.

@2002 Adriano Cruz NCE e IM - UFRJAlgoritmos Genéticos 49 Representando as estratégias 2 Possível cromossomo: AACCA...ACC Considerando o bit mais à direita como a estratégia 1 (=C cooperar) e o mais à esquerda como estratégia 70 (=A acusar). A estratégia 3 tem como próxima jogada A=acusar Esta estratégia pode estar representando a história: CC; AC; CA

@2002 Adriano Cruz NCE e IM - UFRJAlgoritmos Genéticos 50 Algoritmo Escolha uma população inicial. Cada jogador recebe uma cadeia aleatória de bits (As e Cs), representando uma estratégia. Teste cada jogador para testar sua eficácia. O resultado de cada jogador é a média de todos os jogos. Selecione os jogadores que irão reproduzir

@2002 Adriano Cruz NCE e IM - UFRJAlgoritmos Genéticos 51 Algoritmo 1 Um jogador mediano recebe um parceiro; um jogador acima de um desvio padrão acima da média recebe dois; um ruim nada. Os jogadores são casados e usa-se mutação. Assim temos uma nova geração.