INF 1771 Inteligência Artificial



Documentos relacionados
MAC425/5739 Inteligência Artificial 3. Busca informada

Métodos de Busca. Inteligência Artificial. Busca Heurística. Busca Heurística. Prof. Ms. Luiz Alberto Contato:

INF 1771 Inteligência Artificial

REDES NEURAIS / INTELIGÊNCIA ARTIFICIAL LISTA DE EXERCÍCIOS 6

Métodos de Busca Informada (best first search) Capítulo 4 Parte I

Inteligência Artificial 04. Busca Sem Informação (Cega) Capítulo 3 Russell & Norvig; Seções 3.4 e 3.5

Busca Heurística - Informada

Heurística Curso de Análise e Desenvolvimento de Sistemas INTELIGÊNCIA ARTIFICIAL PROFESSOR FLÁVIO MURILO

Projeto e Análise de Algoritmos

lnteligência Artificial

Agentes que resolvem problemas através de busca Capítulo 3 Parte I

INF 1771 Inteligência Artificial

Inteligência Artificial: 3. Resolução de problemas por meio de busca. Capítulo 3 Russell e Norvig; Seções 3.1, 3.2 e 3.3

Os problemas de IA empregam heurísticas, basicamente, em duas situações:

Busca com informação e exploração. Inteligência Artificial. Busca pela melhor escolha. Romênia com custos em km. Busca com informação (ou heurística)

Busca Heurística. Profa. Josiane M. P. Ferreira

INTRODUÇÃO À INTELIGÊNCIA COMPUTACIONAL. Aula 02 Prof. Vitor Hugo Ferreira

Busca Cega (Exaustiva) e Heurística. Busca Aula 2

Inteligência Artificial. Estratégias de Busca Informada. Huei Diana Lee

Redes Neurais (Inteligência Artificial)

Estratégias de Busca Cega

Estratégias de Busca Cega

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

Tópicos Especiais: Inteligência Artificial BUSCA COM INFORMAÇÃO E EXPLORAÇÃO

Prof. Dr. Jaime Simão Sichman Prof. Dra. Anna Helena Reali Costa

Procura Informada. Capítulo 4

Busca Heurísticas e Meta-Heurístca

Teoria de Jogos. Algoritmo Minimax e Alfa-Beta AED

Problema da Árvore Geradora Mínima

Estratégias de Procura Informadas

Inteligência Artificial

Inteligência Artificial. Resolução de problemas por meio de algoritmos de busca. Busca heurística

Prof. Neckel FÍSICA 1 PROVA 1 TEMA 2 PARTE 1 PROF. NECKEL POSIÇÃO. Sistema de Coordenadas Nome do sistema Unidade do sistema 22/02/2016.

Introdução à Inteligência Artificial 2007/08

Árvores de Decisão Matemática Discreta

Inteligência Artificial IA I. MÉTODOS DE BUSCA

INF 1010 Estruturas de Dados Avançadas. Indexação em Espaços Multidimensionais DI, PUC-Rio Estruturas de Dados Avançadas 2012.

Algoritmos e Estruturas de Dados I. Recursividade. Pedro O.S. Vaz de Melo

Tipos de problemas de programação inteira (PI) Programação Inteira. Abordagem para solução de problemas de PI. Programação inteira

Algoritmos de Busca Local. Prof. Sheila Cáceres.Material baseado no livro de Inteligência Artificial de Russel e Norvig, Capítulo 4, Seções 3 4.

Teoria dos Grafos. Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada.

Inteligência Artificial

Aula 01 Introdução Custo de um algoritmo, Funções de complexidad e Recursão

Best-first search. Pesquisa informada. Best-first search Pesquisa gananciosa (greedy) Best-first search

Unidade 10 Análise combinatória. Introdução Princípio Fundamental da contagem Fatorial

Inteligência Artificial

Programação Linear - Parte 4

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

Buscas Informadas ou Heurísticas - Parte I

Busca com informação e exploração. Inteligência Artificial

Teoria dos Grafos Aula 9

3.3 Qual o menor caminho até a Escola? 28 CAPÍTULO 3. CICLOS E CAMINHOS

Resumo: Estudo do Comportamento das Funções. 1º - Explicitar o domínio da função estudada

OBSERVAÇÕES: EXERCÍCIOS

A. Equações não lineares

Árvores Parte 1. Aleardo Manacero Jr. DCCE/UNESP Grupo de Sistemas Paralelos e Distribuídos

Calculando seno(x)/x com o interpretador Hall.

Business intelligence para empresas de segurança. Como uma instituição pode gerar recursos e errar menos com ajuda da informação

Métodos Quantitativos Aplicados

GUIA DE FUNCIONAMENTO DA UNIDADE CURRICULAR

Ciclo com Contador : instrução for. for de variável := expressão to. expressão do instrução

RESOLUÇÃO DE PROBLEMAS POR MEIO DE BUSCA (PARTE 1) *Capítulo 3 (Russel & Norvig)

Resolução de problemas por meio de busca. Inteligência Artificial. Formulação de problemas. Estratégias de busca

3. Resolução de problemas por meio de busca

Trabalho Prático II - Resta 1 Data de Entrega: Conferir no calendário!

Conjuntos mecânicos I

Matemática Básica Intervalos

Algoritmos e Estruturas de Dados I. Variáveis Indexadas. Pedro O.S. Vaz de Melo

Jogos Bayesianos Estratégias e Equilíbrio Aplicações. Jogos Bayesianos. Prof. Leandro Chaves Rêgo

CTC-17 Inteligência Artificial Problemas de Busca. Prof. Paulo André Castro

números decimais Inicialmente, as frações são apresentadas como partes de um todo. Por exemplo, teremos 2 de um bolo se dividirmos esse bolo

Medidas de Tendência Central. Introdução Média Aritmética Moda Mediana

Polos Olímpicos de Treinamento. Aula 6. Curso de Combinatória - Nível 2. Jogos. 1. Simetria. Prof. Bruno Holanda

Resolução de problemas por meio de busca. CAPÍTULO 3 - Russell

Inteligência Artificial - IA. Resolução de problemas por meio de busca

Agentes Simples Reflexos Agentes com Representação do Mundo Agentes Baseado em Objectivos Agentes Baseados em Utilidade

Resolução de problemas por meio de busca. Inteligência Artificial

números decimais Inicialmente, as frações são apresentadas como partes de um todo. Por exemplo, teremos 2 de um bolo se dividirmos esse bolo

Atividade extra. Exercício 1. Exercício 2. Matemática e suas Tecnologias Matemática

Agentes que resolvem problemas. Resolução de Problemas. Objectivo. Objectivo

Alguns Apontamentos Sobre Cálculo Combinatório

Melhorias de Processos segundo o PDCA Parte IV

Transcrição:

INF 1771 Inteligência Artificial Aula 04 Busca Heurística Edirlei Soares de Lima <elima@inf.puc-rio.br>

Métodos de Busca Busca Cega ou Exaustiva: Não sabe qual o melhor nó da fronteira a ser expandido. Apenas distingue o estado objetivo dos não objetivos. Busca Heurística: Estima qual o melhor nó da fronteira a ser expandido com base em funções heurísticas. Busca Local: Operam em um único estado e movem-se para a vizinhança deste estado.

Busca Heurística Algoritmos de Busca Heurística: Busca Gulosa A* A busca heurística leva em conta o objetivo para decidir qual caminho escolher. Conhecimento extra sobre o problema é utilizado para guiar o processo de busca.

Busca Heurística Como encontrar um barco perdido? Busca Cega -> Procura no oceano inteiro. Busca Heurística -> Procura utilizando informações relativas ao problema. Exemplo: correntes marítimas, vento, etc.

Busca Heurística Função Heurística (h) Estima o custo do caminho mais barato do estado atual até o estado final mais próximo. São específicas para cada problema. Exemplo: Encontrar a rota mais curta entre duas cidades: h(n) = distância em linha reta direta entre o nó n e o nó final.

Função Heurística Estado Atual Estado Objetivo

Busca Heurística Algoritmos de Busca Heurística: Busca Gulosa A*

Busca Gulosa Estratégia: Expande os nós que se encontram mais próximos do objetivo (uma linha reta conectando os dois pontos no caso de distancias), desta maneira é provável que a busca encontre uma solução rapidamente. A implementação do algoritmo se assemelha ao utilizado na busca cega, entretanto utiliza-se uma função heurística para decidir qual o nó deve ser expandido.

Busca Gulosa Arad 366 Sibiu Timissoara Zerind 253 329 374 Arad Fagaras Oradea Rimnicu Vilcea 366 176 380 193 Sibiu Bucharest 263 0 Função Heurística (h): Distancia em linha reta Arad 366 Mehadia 241 Bucharest 0 Neamt 234 Craiova 160 Oradea 380 Drobeta 242 Pitesti 100 Eforie 161 Rimnicu Vilcea 193 Fagaras 176 Sibiu 253 Giurgiu 77 Timisoara 329 Iasi 226 Vaslui 199 Lugoj 244 Zerind 374 Hirsova 151 Urziceni 80

Busca Gulosa Custo de busca mínimo: No exemplo, não expande nós fora do caminho. Não é ótima: No exemplo, escolhe o caminho que é mais econômico à primeira vista, via Fagaras. Porém, existe um caminho mais curto via Rimnicu Vilcea. Não é completa: Pode entrar em loop se não detectar a expansão de estados repetidos. Pode tentar desenvolver um caminho infinito.

Busca Gulosa Ir de Iasi para Fagaras?

Busca A* Estratégia: Combina o custo do caminho g(n) com o valor da heurística h(n) g(n) = custo do caminho do nó inicial até o nó n h(n) = valor da heurística do nó n até um nó objetivo (distancia em linha reta no caso de distancias espaciais) f(n) = g(n) + h(n) É a técnica de busca mais utilizada.

Busca A* Arad 0+366=366 Sibiu Timissoara Zerind 140+253=393 118+329=447 75+374=449 Arad Fagaras Oradea Rimnicu Vilcea 280+366=646 239+176=415 291+380=671 220+193=413 Sibiu Bucharest Craiova Pitesti Sibiu 338+253=591 450+0=450 366+160=526 317+100=417 300+253=553 Bucharest Craiova Rimnicu Vilcea 418+0=418 455+160=615 414+193=607 Arad 366 Mehadia 241 Bucharest 0 Neamt 234 Craiova 160 Oradea 380 Drobeta 242 Pitesti 100 Eforie 161 Rimnicu Vilcea 193 Fagaras 176 Sibiu 253 Giurgiu 77 Timisoara 329 Iasi 226 Vaslui 199 Lugoj 244 Zerind 374 Hirsova 151 Urziceni 80

Busca A* A estratégia é completa e ótima. Custo de tempo: Exponencial com o comprimento da solução, porém boas funções heurísticas diminuem significativamente esse custo. Custo memória: O( b d Guarda todos os nós expandidos na memória. ) Nenhum outro algoritmo ótimo garante expandir menos nós.

Definindo Heurísticas Cada problema exige uma função heurística diferente. Não se deve superestimar o custo real da solução. Como escolher uma boa função heurística para o jogo 8-Puzzle?

Definindo Heurísticas Estado Atual Estado Objetivo A quantidade de peças for a do lugar 7

Definindo Heurísticas

Definindo Heurísticas 2 Outra Heurística?

Definindo Heurísticas 2 Número de movimentos necessários para colocar cada peça no seu lugar 10

Definindo Heurísticas 2 10 2 9

Definindo Heurísticas Como escolher uma boa função heurística para o jogo 8-Puzzle? h¹ = número de elementos fora do lugar. h² = soma das distâncias de cada número à sua posição final (movimentação horizontal e vertical). Qual das heurísticas é melhor?

Exemplo - A* 1 2 3 4 5 1 X 2 3 4

Exemplo - A* Qual é o espaço de estados? Quais são as ações possíveis? Qual será o custo das ações?

Exemplo - A* Heurística do A*: f(n) = g(n) + h(n) g(n) = custo do caminho h(n) = função heurística Qual seria a função heurística h(n) mais adequada para este problema? A distancia em linha reta é uma opção.

Exemplo - A* Como calcular a heurística h(n)? Distancia de Manhattan

Exemplo - A* O próximo passo é gerar a árvore de busca e expandir os nós que tiverem o menor valor resultante da função heurística f(n). f(n) = g(n) + h(n)

Exemplo - A* [1,1] [1,2] [2,1] [1,2] = f(n) =?? +?? [2,1] = f(n) =?? +??

Exemplo - A* 1 2 3 4 5 1 X 2 3 4

Exemplo - A* [1,1] [1,2] [2,1] [1,1] [2,2] [1,1] = f(n) =?? +?? [2,2] = f(n) =?? +??

Exemplo - A* 1 2 3 4 5 1 X 2 3 4

Exercícios (1) Qual seria uma boa heurística para o jogo da velha?

Exercícios (2) Supondo que é necessário utilizar um algoritmo de busca para resolver um problema no qual são necessárias respostas instantâneas. Mas, mesmo utilizando o A* com uma boa função heurística, o tempo gasto com o processo de busca ainda está muito grande. O que pode ser feito para otimizar esse processo? Caminhos pré-calculados. Custos pré-calculados.

Caminhos Pré-Calculados Tabela pré-calculada com os melhores caminhos. Armazena-se somente o próximo nó que deve ser seguindo do nó atual ao nó destino.

Custos Pré-Calculados Saber qual o melhor caminho entre dois nós somente é útil quando se sabe onde se deseja ir. Uma tabela pré-calculada com os custos de locomoção entre quaisquer dois nós também é uma informação muito util.

Leitura Complementar Russell, S. and Novig, P. Artificial Intelligence: a Modern Approach, 2nd Edition, Prentice-Hall, 2003. Capítulo 4: Informed Search and Exploration