Jacques Robin Humberto César Brandão de Oliveira

Slides:



Advertisements
Apresentações semelhantes
Inteligência Artificial
Advertisements

Inteligência Artificial
Inteligência Artificial
Busca Otimizada Subida da Encosta (Hill Climbing)
Busca com Informação Busca com informação Busca Gulosa Busca A*
Disciplina: Inteligência Artificial
Inteligência Artificial I
Inteligência Artificial
I Iterated Local Search Helena R. Lorenço, Olivier Martinz
Metaheurísticas Prof. Aurora Pozo Departamento de Informática Universidade Federal do Paraná
Busca informada (heurística) Parte 2
1 Inventando Funções Heurísticas Como escolher uma boa função heurística h? h depende de cada problema particular. h deve ser admissível não superestimar.
1 Busca Heurística - Informada Estratégias de Busca Exaustiva (Cega) encontram soluções para problemas pela geração sistemática de novos estados, que são.
Busca Heurística - Informada
Busca Cega (Exaustiva)
Busca Heurística - Informada
Inventando Funções Heurísticas
Inteligência Artificial
Busca com informação e exploração
Capítulo 4 - Russell e Norvig
Capítulo 3 - Russell e Norvig
JOGO DOS OITO A* e IDA*.
Buscando Soluções Busca Heurística.
Inteligência Artificial
Inteligência Artificial
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
Busca Competitiva - MiniMax Jogo-da-Velha
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
Meta - heurísticas Prof. Aurora
I Iterated Local Search Helena R. Lorenço, Olivier Martinz
Resolução de problemas por meio de busca
Busca com informação e exploração
Introdução e Busca Cega
Introdução aos Agentes Inteligentes Busca Cega (Exaustiva)
Introdução aos Agentes Inteligentes Busca Heurística (Informada)
Busca Heurística Preâmbulo O que é um problema em IA?
Disciplina: Métodos de Computação Inteligente – 1
Busca iterativa (otimização)
Introdução aos Agentes Inteligentes Algoritmos de Melhorias Iterativas (Otimização) Flávia Barros.
Busca Cega (Exaustiva) e Heurística
Algoritmos de Busca Local
Tópicos Avançados em Inteligência Artificial
Tópicos em Sistemas Inteligentes
Resolução de Problemas por meio de Busca
Patrícia A. Jaques (orientadora)‏
Inteligência Artificial
1 Introdução aos Agentes Inteligentes Inventando Funções Heurísticas Flávia Barros.
Resolução de Problemas de Busca
Busca com Informação e Exploração “Busca heurística”
1 Introdução aos Agentes Inteligentes Resolução de Problemas de Busca Flávia Barros.
INF 1771 – Inteligência Artificial
Busca com Informação e Exploração “Busca heurística”
Inventando Funções Heurísticas
Busca Heurística - Informada
Busca Competitiva Disciplina: Inteligência Artificial
Disciplina: Inteligência Artificial Universidade de Itaúna
Busca em Espaço de Estados Parte2 Algoritmos de Busca Cega
Principais Tópicos Introdução Métodos de busca Busca cega
Ao final desta aula, a gente deve...
Ontologies Reasoning Components Agents Simulations Resolução de Problemas por Meio de Busca Exaustiva Jacques Robin André Felipe Santana.
1 Sistemas Inteligentes Algoritmos de Melhorias Iterativas (Otimização) Flávia Barros.
Sistemas Inteligentes Algoritmos de Melhorias Iterativas (Otimização)
Busca Cega (Exaustiva) e Heurística
Estratégias Busca Heurística (Informada)
Sistemas Inteligentes Busca Cega (Exaustiva)
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.
Busca com informação e exploração - Busca Heurística Jeneffer Ferreira Lázaro .: Capitulo 4 -
Transcrição da apresentação:

Jacques Robin Humberto César Brandão de Oliveira Busca Heurística Jacques Robin Humberto César Brandão de Oliveira

Roteiro Definição Algoritmos de busca heurística global Busca gulosa A* RBFS SMA* Projeto de funções heurísticas Algoritmos de busca heurística local Subida em encosta Recozimento simulado Busca focada local Algoritmos genéticos Busca local em espaço contínuo Agente de busca on-line e ambientes desconhecidos

Busca cega: motivação e definição Motivação: busca cega exponencial na profundidade da solução ou do espaço de estados Definição: Busca não exaustiva do espaço de estados, utilizando atalhos para sua exploração que descartam sub-espaços sem explorá-los Muitas vezes sem garantia de encontrar sempre a melhor solução ou até uma solução em todas as instâncias do problema

Busca gulosa pela melhor escolha Estratégia: Expandir primeiro nó que parece mais próximo do objetivo de menor custo Distância do nó a expandir para esse objetivo estimado através de uma função heurística h(n) Avalia nós através da função h(n) h(n) depende do problema Exemplo: Objetivo: Encontrar um bom caminho de Arad à Bucareste. h(n) = distância em linha reta do nó n até o objetivo (Bucareste)

Busca gulosa pela melhor escolha: exemplo

Busca gulosa pela melhor escolha: exemplo

Busca gulosa pela melhor escolha: exemplo

Busca gulosa pela melhor escolha: exemplo

Busca gulosa pela melhor escolha: características Explora árvore de busca em profundidade primeira Sofre dos mesmos problemas da busca cega em profundidade Completa? Não. ex, ao buscar melhor caminho Iasi  Bucharest, entra em loop Iasi  Neamt, Neamt  Iasi pode se perder um tempão em caminhos que são impasses Ótima? Não ex, não encontra melhor caminho Arad  Sibiu  Riminicu  Pitesti  Bucharest Pior caso tempo e espaço: O(bm) Porque?

A* Sempre expande no minimizando f(n) = g(n) + h(n), onde Ex: g(n) custo real da origem até n, utilizada na busca cega de custo uniforme f(n) heurística estimando custo de n até o objetivo, utilizada na busca heurística gulosa pela melhor escolha Ex: g(n) distância na pista da origem até n f(n) distância em linha reta de n até o objetivo

A*: exemplo Distância em linha reta para Bucharest: 336 + 160 449 75 + 374 239 + 178 220 239 140 + 253 417 118 + 329 220 + 193 393 366 317 447 413 317 + 98 455 418 415 496

A*: características Explora árvore de busca em largura primeira Vantagens e limitações semelhante a busca cega de custo uniforme Custo uniforme procede desenhando contornos crescentes circulares A* procede desenhando contornos crescentes elípticos Melhor h(n), mais alongados os contornos h(n) perfeita, elipse contém apenas o melhor caminho Completa? Sim, para heurísticas h(n) admissíveis i.e., que sempre sub-estima o custo real n, h(n)  c(n) ex, distância em linha reta  distância na pista Ótima? Sim, para heurísticas h(n) admissíveis Garantido mais eficiente do que qualquer outro algoritmo completo e ótimo usando a mesma heurística Pior caso tempo e espaço: O(bd) Porque?

Extensões de A* Objetivo: limitar números de nos guardados na memória A* guarda todos os nós expandidos durante toda a busca Torna uso inviável para problema de tamanho reais IDA*: A cada iteração i, busca A* com expansão limitada a nós com f(n)  li Vantagens e limitações semelhantes as de busca em aprofundamento iterativo Busca recursiva pela melhor escolha MA* SMA*

Busca Recursiva pela Melhor Escolha (BRM) Expande a árvore de busca em profundidade primeira Desempata nós de profundidade p minimizando fp(n) de A* Guarda no nó expandido n lembrete de fp(n’), aonde n’ é o no com o segundo menor custo estimado em uma profundidade p’  p Quando todos os nós da fronteira tem custo estimado  f(n’): retrocesso até a profundidade p e expande n’ atualiza fp(n) com fp+k(n’’), aonde n’’ é o descendente de n expandido na ida com menor custo estimado

BRM: exemplo  Arad 366 447 Timisoara Sibiu 393 447 415 Fagaras Oradea R. Vilcea 413 415 526 Pitesti Sibiu 417 553

BRM: exemplo  Arad 366 447 Timisoara Sibiu 393 417 447 Fagaras Oradea R. Vilcea 413417 415 526 Sibiu Bucareste 591 450

BRM: exemplo  Arad 366 447 Timisoara Sibiu 393 447 Fagaras 447 Oradea R. Vilcea 413417 415450 526 447 Pitesti Sibiu 417 553 Bucareste R. Vilcea 418 607

BRM: características Completo e ótimo: se heurística h é admissível Espaço: O(bd) no pior caso Não aproveita de toda a memória disponível Tempo: difícil de se estimar

SMA* (Simple limited Memory A*) Enquanto tem memória disponível segue A* Quando a memória acaba: Ele retira nó n folha que maximiza f(n) Como BRMP, propaga lembrete de f(n) para os pai de n Completo se profundidade do nó objetivo menor que limite de memória Ótimo se profundidade da solução ótima menor que limite de memória

Projeto de função heurística Propriedades desejáveis: Admissibilidade Alta precisão (qualidade da estimativa da distância entre nó corrente e nó objetivo) Medida de precisão: Fator de ramificação efetivo b*  1definido por: N + 1 = 1 + b* + (b*)2 + ... + (b*)d onde, N = numero de nós gerado por A* na árvore de busca d = profundidade do objetivo na árvore de busca b – 1 boa medida de precisão Estratégias genéricas de projeto de heurística: Custo real de um problema menos restrito (relaxed) do que o tratado Custo real de um sub-problema do problema tratado

Projeto de função heurística: retirar restrições Problema menos restrito 1: Retirar as restrições 1 e 2 h1: Número de rótulos fora do objetivo Problema menos restrito 2: Retirar apenas restição 2 h2: Somas das distâncias de Manhattan entre cada rótulo e seu objetivo h1 domina h2 hd(n) = max{h1(n), .., hk(n)} sempre domina h1(n), .., hk(n) Restrições: Rótulo se move apenas em local horizontalmente ou verticalmente adjacente Rótulo se move apenas em local livre

Projeto de função heurística Sub-problemas: Mover rótulo {1-4} Mover rótulo {5-8} Resolver variedades de problemas pequenos de antemão Contar número de passos totais para resolvê-los Dividir problema grande em sub-problemas pequenos Estimar custo do cada nó pelo numero de passos dos sub-problemas Funciona apenas para problemas no qual cada passo envolve apenas um subproblema

Busca heurística local Aplica-se apenas para problemas pelos quais só importa o nó solução, não importa o caminho desde a raiz até esse nó. ex: Distribuição espacial de equipamentos (8 rainhas, VLSI, plano de usina) Roteamento (veículos, pacotes de redes, etc.) Escalonamento de tarefas Requer formulação de estado completo Geralmente bem mas eficiente do que busca global Permite otimização (i.e., encontrar nó de menor custo)

Busca em encosta (hill-climbing) Sempre expandir nó vizinho que maximiza função de objetivo (gulosa) Vantagens: Guarda apenas um nó em memória Funciona sem modificação com conhecimento parcial e online Limitações: Incompleto e não ótimo Eficiência depende da topologia do espaço de estados

Busca em encosta: exemplo Estado inicial: colocação aleatória de uma rainha por coluna Operador: mudar um rainha de posição h = número de pares de rainha que se atacam Taxa de sucesso em encontrar solução ótima: 14% O que fazer quando não há melhor vizinho Passos “laterais” Limite de 100 passos laterais consecutivos permite atingir taxa de 94% O que fazer quando há muitos vizinhos igualmente melhor Seleção aleatória

Melhoras da busca em encosta Busca em encosta repetitiva a partir de pontos iniciais aleatórios Recozimento simulado Alternar passos de gradiente crescentes (hill-climbing) com passos aleatórios de gradiente descente Taxa de passos aleatórios diminuem com o tempo Outro parâmetro importante em buscas locais: Amplitude dos passos Pode também diminuir com o tempo Busca em feixe local (local beam search) Fronteira de k estados (no lugar de apenas um) A cada passo, seleciona k estados sucessores de f mais alto Busca em feixe local estocástica: A cada passo, seleciona k estados semi-aleatoriamente com probabilidade de ser escolhido crescente com f Forma de busca genética com partenogenesa (reprodução asexuada)