Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouGeovane Meneses Minho Alterado mais de 7 anos atrás
1
Busca meta-heurística 0 1 1 0 1 1 0 0 1 0 0 1 0 1 1 0 1 1 1 1 1 0 1 0 0 1 0 0 Inteligência Artificial Docente: André C. P. L. F. de Carvalho PAE: Everlândio Fernandes Monitor: Anderson Silva
2
André Ponce de Leon de Carvalho2 Principais tópicos Introdução Computação bioinspirada Computação evolutiva Inteligência coletiva Computação baseada em moléculas Conclusão
3
André Ponce de Leon de Carvalho3 Busca bioinspirada Computação Evolutiva Redes Neurais Artificiais Inteligência de Coletiva Computação Baseada em Moléculas Sistemas Imunes Artificiais Robótica
4
André Ponce de Leon de Carvalho4 Computação Evolutiva Técnicas computacionais para resolução de problemas baseados em: Genética Teoria da evolução natural Pesquisas começaram na década de 50 Independentemente a partir de cerca de 10 grupos em um período de 15 anos
5
André Ponce de Leon de Carvalho5 Algoritmos Evolutivos EstratégiasAlgoritmosProgramação de EvoluçãoGenéticosEvolutiva Programação Sistemas de Genética Classificação PE é parecida com PG, mas a estrutura do programa é fixa e seus parâmetros podem ser evoluídos
6
André Ponce de Leon de Carvalho6 Algoritmos Genéticos Utilizados em problemas de busca e otimização Utilizam uma população de soluções candidatas (indivíduos, cromossomos) Cada indivíduos codifica uma possível solução “Evoluem” soluções para problemas do mundo real
7
André Ponce de Leon de Carvalho7 Processo Evolutivo www.cs.bham.ac.uk/~axk
8
André Ponce de Leon de Carvalho8 Processo Evolutivo Geração 1Geração 10 Geração 20 www.cs.bham.ac.uk/~axk Melhores soluções
9
André Ponce de Leon de Carvalho9 Algoritmos Genéticos Otimização ocorre em várias gerações A cada geração Mecanismos de seleção selecionam os indivíduos mais aptos Deve haver uma forma de avaliar indivíduos Operadores de reprodução geram novos indivíduos Quanto mais apto, maior a chance de gerar descendentes
10
André Ponce de Leon de Carvalho10 Algoritmos Genéticos População atual Reprodução Avaliação Seleção População inicialPopulação final
11
André Ponce de Leon de Carvalho11 Pseudocódigo 1. Escolher população inicial de indivíduos 2. Avaliar cada indivíduo da população 3. Enquanto critério de parada não for atingido 3.1 Selecionar indivíduos mais aptos 3.2 Criar novos indivíduos aplicando operadores genéticos 3.3 Avaliar cada indivíduo da população
12
André Ponce de Leon de Carvalho12 Codificação Cada indivíduo é codificado por um conjunto de parâmetros (genes) Genes podem assumir valores: Binários Inteiros Reais Parâmetros são combinados para formar strings ou vetores (cromossomos)
13
André Ponce de Leon de Carvalho13 Codificação Genótipo Conjunto de parâmetros representado por um cromossomo Contém informação necessária para construir um organismo (fenótipo) Fenótipo codificado Fenótipo Produto da iteração de todos os genes Aptidão de um indivíduo depende do desempenho de seu fenótipo (inferido do genótipo usando função de aptidão)
14
André Ponce de Leon de Carvalho14 Função de aptidão Mede o grau de aptidão de um indivíduo Retorna um valor (índice) de aptidão numérico Proporcional a utilidade ou qualidade da solução Cada aplicação tem sua própria função de aptidão É aplicada ao fenótipo do indivíduo Genótipo precisa ser decodificado, recuperando o fenótipo associado
15
André Ponce de Leon de Carvalho15 Seleção Escolhe preferencialmente indivíduos com maiores notas de aptidão Embora não exclusivamente Procura de manter a diversidade da população Indivíduos mais aptos têm mais oportunidades de gerar descendentes Que serão cada vez mais aptos
16
André Ponce de Leon de Carvalho16 Seleção Seleciona uma população intermediária Onde serão aplicados os operadores de reprodução Existem vários método de seleção Por roleta Por torneio Amostragem Universal Estocástica
17
André Ponce de Leon de Carvalho17 Seleção pela roleta Indivíduo Aptidão Aptidão (S i ) f(S i )Relativa S 1 101102.230.14 S 2 110007.270.47 S 3 111101.050.07 S 3 010013.350.21 S 5 001101.690.11 S1S1 S2S2 S3S3 S4S4 S5S5 Método da Roleta baseado em Aptidão Relativa
18
André Ponce de Leon de Carvalho18 Seleção por torneio Escolhe n indivíduos da população aleatoriamente, com a mesma probabilidade Geralmente n = 3 Cromossomo com maior aptidão dentre estes n cromossomos é selecionado para a população intermediária Processo se repete até que a população intermediária seja preenchida
19
André Ponce de Leon de Carvalho19 Seleção por torneio Método da Torneio baseado em Aptidão Relativa Indivíduo S i S 3 11110 S 4 01001 S 5 00110 S 1 10110 S 2 11000 Aptidão f(S i ) 1.05 3.35 1.69 2.23 7.27 Aptidão Relativa 0.14 0.47 0.07 0.21 0.11 Supondo n = 3 S 1, S 2, S 5 S 2 S 2, S 4, S 5 S 2 S 5, S 1, S 3 S 1 S 4, S 5, S 3 S 4 S 3, S 1, S 5 S 1 Candidatos vencedor
20
André Ponce de Leon de Carvalho20 Seleção por torneio Possui parâmetro que permite definir pressão seletiva durante a evolução Tamanho do torneio Quanto maior o número de indivíduos que participam do torneio, maior a pressão seletiva Indivíduo tem que ser melhor que mais competidores Pressão muito baixa: taxa de convergência lenta Pressão muito elevada: convergência prematura
21
André Ponce de Leon de Carvalho21 Operadores genéticos Permitem obtenção de novos indivíduos A cada geração, geralmente mais aptos Principais operadores genéticos Crossover (cruzamento ou recombinação) Mutação Elitismo
22
André Ponce de Leon de Carvalho22 Crossover É o operador genético predominante A taxa de crossover deve ser maior que a taxa de mutação Taxa de crossover: 0.6 < P c < 1.0 Caso crossover não seja aplicado, descendentes são iguais aos pais É a operação mais importante para exploração rápida do espaço de busca
23
André Ponce de Leon de Carvalho23 Crossover Diversas variações Um ponto Mais comum Dois pontos Multi-pontos Uniforme
24
André Ponce de Leon de Carvalho24 Crossover 1 ponto 10000110100011 10000110100011 Pai 1Pai 2 Filho AFilho B Ponto de crossover
25
André Ponce de Leon de Carvalho25 Crossover de 2 pontos 10000110100011 10000100101011 Pai 1Pai 2 Filho AFilho B
26
André Ponce de Leon de Carvalho26 Crossover uniforme 10000110100011 10100110000011 Pai 1Pai 2 Filho AFilho B Mascara: 0 1 0 1 0 0 0
27
André Ponce de Leon de Carvalho27 Mutação Permite introdução e manutenção da diversidade genética Aplicado a cada indivíduo após crossover Probabilidade de atingir qualquer ponto do espaço de busca nunca será zero Reduz chance de parada em Mínimos Locais Taxa de mutação pequena P m 0.001
28
André Ponce de Leon de Carvalho28 Mutação 1000011 1011001 Antes da mutação Após a mutação
29
André Ponce de Leon de Carvalho29 Elitismo Indivíduo de maior desempenho é automaticamente selecionado Evita modificações deste indivíduo pelos operadores genéticos Utilizado para que os melhores indivíduos não desapareçam da população
30
André Ponce de Leon de Carvalho30 Critérios de parada Atingiu um dado número de gerações ou avaliações Encontrou a solução (quando esta é conhecida) Convergência Não ocorre melhora significativa na solução durante um dado número de gerações Média das últimas gerações
31
André Ponce de Leon de Carvalho31 Exemplo Problema: encontrar valor de x (inteiro) que minimiza f(x) = x 2, x [-7, +7] Representação cada inteiro como um cromossomo de 4 bits Exemplos: 3 = (0,0,1,1), -4 = (1,1,0,0) População inicial gerada aleatoriamente População de tamanho 4 Função de aptidão f(x)
32
Exemplo População inicial gerada: Escolher 2 indivíduos com maior aptidão pela roleta (pais) Gerar 2 filhos, que substituirão os pais André Ponce de Leon de Carvalho32 xf(x) A 1 1 1 0 1 -5 25 A 2 1 1 1 1 -7 49 A 3 0 0 1 0 2 4 A 4 0 0 1 1 3 9 Pai 1 Pai 2
33
André Ponce de Leon de Carvalho33 Exemplo xf(x) Pai 1 = A 1 1 1 0 1 -525 Pai 2 = A 3 0 0 1 0 2 4 Filho 1 1 1 1 0 mutação 1 1 1 0 0 -416 Filho 2 0 0 0 1 1 1 xf(x) A 1 1 1 0 0-416 A 2 1 1 1 1-749 A 3 0 0 0 1 1 1 A 4 0 0 1 1 3 9
34
André Ponce de Leon de Carvalho34 Exercício Encontrar de x para o qual a função f(x) = x 2 - 4x + 4 assume o valor mínimo Assumir que x [-15, +15] Codificar X como vetor binário Usar 5 bits, primeiro bit é o sinal (1-positivo, 0- negativo) Criar uma população inicial com 4 indivíduos Utilizando crossover de um ponto e mutação em apenas um gene da população Definir o valor mínimo após no máximo 10 gerações
35
André Ponce de Leon de Carvalho35 Inteligência Coletiva Inteligência de Enxames Swarm Intelligence Estuda o comportamento coletivo e descentralizado de sistemas Compostos por uma população de agentes simples Interagem localmente um com o outro e com seu ambiente
36
André Ponce de Leon de Carvalho36 Inteligência Coletiva Exemplos destes sistemas podem ser encontrados na natureza Bandos de pássaros (PSO) Colônias de formigas (ACO) Rebanhos de animais Enxames de abelhas Cardumes de peixes Colônias de bactérias
37
PSO Particle Swarm Optimization Inspiração: Comportamento de várias espécies de pássaros e de peixes Baseado na procura de abrigo (alimento) por bandos de pássaros Pássaros seguem aquele mais próximo do abrigo Busca por abrigo pode ser visto como encontrar a melhor solução para um problema André Ponce de Leon de Carvalho37
38
André Ponce de Leon de Carvalho38 Bando de Pássaros
39
André Ponce de Leon de Carvalho39 Algoritmo PSO Inicializar partículas Repetir Para cada partícula Calcular sua aptidão Escolher partícula com maior aptidão Para cada partícula Atualizar sua velocidade Atualizar sua posição Até critério de parada ser atingido
40
ACO Ant Colony Optimization Inspiração: Forma como colônias de formigas lidam com tarefas complexas Baseados no comportamento observado em formigas reais Colônias de formigas podem lidar com tarefas que não podem ser resolvidas individualmente André Ponce de Leon de Carvalho40
41
André Ponce de Leon de Carvalho41 Busca pelo Menor Caminho Formiga 2 Formiga 1 Ponto de escolha 1 Ponto de escolha 2 Instante de tempo i Ponte B Ponte A
42
André Ponce de Leon de Carvalho42 Busca pelo Menor Caminho Formiga 2 Formiga 1 Ponto de escolha 1 Ponto de escolha 2 Instante de tempo i + k
43
André Ponce de Leon de Carvalho43 Algoritmo ACO Iniciar valores para os parâmetros Inicializar quantidade de feromônio nos caminhos Enquanto critério de parada não for atingido Caminhar até destino alvo Atualizar quantidades de feromônio no caminho percorrido
44
André Ponce de Leon de Carvalho44 Computação baseada em moléculas Computação biomolecular Inspiração Estruturas moleculares e manipulações das estruturas por processos bioquímicos Moléculas mais utilizadas Sequências de DNA Mais conhecida Proteínas
45
André Ponce de Leon de Carvalho45 Computação baseada em DNA Estrutura de dados: Arranjo de moléculas em uma cadeia de DNA Operações sobre estas moléculas: Movimentação Cópia Corte Modificação Operações implementadas por meio de reações bioquímicas realizadas com o uso de enzimas
46
André Ponce de Leon de Carvalho46 Computação baseada em DNA Características Codifica informação em fitas de DNA Realiza computação sobre várias fitas em paralelo Realiza operações lógicas utilizando manipulações bioquímicas Primeiro experimento foi realizado por L. Adleman Problema do caminho Hamiltoniano
47
André Ponce de Leon de Carvalho47 Problema do Caminho Hamiltoniano Dado um grafo direcionado, com um nó inicial e um nó final Existe um caminho do nó inicial ao nó final, visitando cada nó uma única vez Proposto no século 19 pelo astrônomo irlandês William Hamilton Decidir se existe um caminho Hamiltoniano em um grafo é um problema NP-completo Instância do TSP
48
André Ponce de Leon de Carvalho48 Problema do Caminho Hamiltoniano Problema investigado por Adleman Dados Um conjunto de 7 cidades com 14 voos diretos entre algumas delas Uma cidade inicial (origem) e uma cidade final (destino) Escolher sequência de voos diretos que passa em cada cidade uma única vez
49
André Ponce de Leon de Carvalho49 Exemplo Belo Horizonte Curitiba Rio de Janeiro São Paulo Destino Origem Existe um caminho Hamiltoniano
50
André Ponce de Leon de Carvalho50 Exemplo Belo Horizonte Curitiba Rio de Janeiro São Paulo Origem Destino Não existe um caminho Hamiltoniano
51
André Ponce de Leon de Carvalho51 Problema do Caminho Hamiltoniano Não existe um algoritmo eficiente para resolver este problema Melhores algoritmos podem levar centenas de anos para resolver grafos com 100 nós Modelo baseado em DNA foi implementado com um algoritmo simples Algoritmo Geração e Teste
52
André Ponce de Leon de Carvalho52 Algoritmo Geração e Teste 1.Gerar caminhos aleatórios no grafo 2.Manter apenas aqueles caminhos que começam na cidade origem e terminam na cidade destino 3.Manter apenas os caminhos de tamanho N (#cidades) 4.Manter apenas aqueles caminhos que percorrem todas as N cidades 5. Caminhos que restam são caminhos Hamiltonianos
53
André Ponce de Leon de Carvalho53 Conclusão Biologia inspira métodos de busca Computação bioinspirada Computação evolutiva Inteligência coletiva Computação baseada em moléculas Conclusão
54
André Ponce de Leon de Carvalho54 Perguntas
55
Prática TSP Escrever programa para problema anterior que encontra caminho com menor custo para 17 cidades Utilizar Algoritmos Genéticos Qualquer linguagem de programação André Ponce de Leon de Carvalho55
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.