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

Documentos relacionados
Busca com informação e exploração. Inteligência Artificial. Revisão da aula passada: Heurística Admissível. Revisão da aula passada: Busca A *

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

Inteligência Artificial (SI 214) Aula 4 Resolução de Problemas por meio de Busca Heurística

Buscas Informadas ou Heurísticas - Parte III

Resumo. Como um agente busca de seqüência de ações para alcançar seus objetivos.

Buscas Informadas ou Heurísticas - Parte I

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

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

Estratégias de Busca: Métodos Informados. March 9, 2015

Capítulo 4 Secção 1. Livro

Resolução de problemas por meio de busca. Capítulo 3 Inteligência Artificial Sistemas de Informação

Estratégias de Busca Cega

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

INF 1771 Inteligência Artificial

Buscas Informadas ou Heurísticas - Parte II

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

Lista 1 Sistemas Inteligentes (INE5633) 2014s2. Cap. 2 - Russel & Norvig - Exercícios selecionados (respostas em azul)

Enunciados dos Exercícios Cap. 2 Russell & Norvig

MAC425/5739 Inteligência Artificial 3. Busca informada

Resolução de Problemas

INF 1771 Inteligência Artificial

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

CTC-17 Inteligência Artificial Busca Competitiva e Busca Iterativa. Prof. Paulo André Castro

Inteligência Artificial Busca

Inteligência Artificial

Resolução de Problemas. Universidade Católica de Pelotas Engenharia da Computação Disciplina: Inteligência Artificial

Resolução de problemas por meio de busca. Prof. Pedro Luiz Santos Serra

INF 1771 Inteligência Artificial

INTELIGÊNCIA ARTIFICIAL 2008/09

Inteligência Artificial

Inteligência Artificial. Prof. Tiago A. E. Ferreira Aula 5 Resolvendo Problemas

Resolução de Problemas. Hugo Barros

LERCI/LEIC TAGUSPARK INTELIGÊNCIA ARTIFICIAL 2005/06 PROCURA

INF 1771 Inteligência Artificial

Exemplos. Jogo dos oito :-) Mundo dos blocos (ex: torre de Hanoi) Poblema das rainhas. Criptoaritmética. Missionários e Canibais.

Respostas dos Exercícios Cap. 2 Russell & Norvig

RESOLUÇÃO DE PROBLEMAS

Técnicas para Implementação de Jogos

Inteligência Artificial

Métodos de Busca. Inteligência Artificial. Algoritmos Genéticos. Algoritmos Evolucionários. Prof. Ms. Luiz Alberto Contato:

Complexidade de Algoritmos

Inteligência Artificial (SI 214) Aula 5 Problemas de Satisfação de Restrições

Inteligência Computacional

Anatomia do motor de um programa de xadrez. Hugo Vinicius M. D. Santana Orientador: José Coelho de Pina

Resolução de problemas por meio de busca. Capítulo 3 Russell & Norvig Seções 3.1, 3.2 e 3.3

Sistemas Baseados em Conhecimento

Método Guloso. Troco mínimo. Paulo Eustáquio Duarte Pinto (pauloedp arroba ime.uerj.br) junho/2012. Troco mínimo. Troco mínimo

Sistemas Inteligentes Lista de Exercícios sobre Busca

Introdução à Inteligência Artificial. Procura em contextos competitivos jogos (cont.)

Busca em Espaço de Estados

Teoria dos Grafos Aula 24

SOLUÇÕES HEURÍSTICAS PARA O JOGO DE DAMAS

Introdução. Inteligência Artificial. Problema de Busca. Problema de Busca. Prof. Ms. Luiz Alberto Contato:

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.

PCS Inteligência Artificial

Satisfação de Restrições. Capítulo 5 (disponível online)

Experimentos e Resultados

Aula 04 / LAB 01 Resolução de problemas por meio de busca Prof. Dr. Alexandre da Silva Simões. Exercício 1. Problema dos jarros de água

Trabalho 1: Caminho mais curto entre duas cidades. Discentes: Ricardo Seromenho a23842 Rui Dias a24254

4 Detecção de Silhueta

Inteligência Artificial Apontamentos para as aulas Luís Miguel Botelho

Ex. 1) Considere que a árvore seguinte corresponde a uma parte do espaço de estados de um jogo de dois agentes: f=7 f=7 f=1 f=2

Algoritmos Genéticos. Estéfane G. M. de Lacerda DCA/UFRN Outubro/2008

Agentes que Fazem Busca

PROCURA E PLANEAMENTO

Distorções Dinâmicas no Tempo & Pesquisa. Distorção dinâmica no tempo Pesquisa Algoritmos gráficos de pesquisa Algoritmos de programação dinâmica

Inteligência Artificial. Inteligência Artificial

Projeto e Análise de Algoritmos

Solução de problemas por meio de busca (com Python) Luis Martí DEE/PUC-Rio

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

Busca competitiva. Inteligência Artificial. Profª. Solange O. Rezende

Aula 14. Contadores Assíncronos. SEL Sistemas Digitais. Prof. Dr. Marcelo Andrade da Costa Vieira

Quantidade de memória necessária

2. MÉTODO DE RECOZIMENTO SIMULADO

Tabelas Hash. informação, a partir do conhecimento de sua chave. Hashing é uma maneira de organizar dados que:

Inteligência Artificial. Metodologias de Busca

Algoritmos 3/17/ Algoritmos como área de estudo e investigação

Redes Complexas Aula 7

Análise de Algoritmos Parte 4

IA: Busca Competitiva. Ricardo Britto DIE-UFPI

Jogo de Damas. Alunos: Sávio Mendes de Figueiredo Sômulo Nogueira Mafra

Aula 10: Tratabilidade

Grafos: árvores geradoras mínimas. Graça Nunes

Projecto de Algoritmos e Estruturas de Dados

Alternativamente pode ser pensado como uma forma de maximizar o minimo ganho possível.

Grafos: componentes fortemente conexos, árvores geradoras mínimas

Acesso Sequencial Indexado

Otimização de horários Seminário. Clarisse Resende 25/01/2013

O mais leve e o mais pesado Algoritmos de Ordenação

BCC402 Algoritmos e Programação Avançada Prof. Marco Antonio M. Carvalho Prof. Túlio Ângelo M. Toffolo 2011/1

Numa PA, qualquer termo, a partir do segundo, é a média aritmética do seu antecessor e do seu sucessor.

Linguagem com sintaxe e semântica precisas: lógica. Mecanismo de inferência: derivado da sintaxe e da

Inteligência Computacional

Capítulo VII : A Recorrência

Grafos. Notas. Notas. Notas. Notas. Caminhos mais curtos de única origem. Subestrutura ótima. Propriedades de caminhos mais curtos

Busca em Profundidade e em Largura

Capítulo 7 Transformadas de Fourier. definimos a sua transformada de Fourier

Resolução de Problemas

MAC Introdução ao Escalonamento e Aplicações. Márcio Hasegawa Prof. Alfredo Goldman

Inteligência Artificial Prof. Marcos Quinet Pólo Universitário de Rio das Ostras PURO Universidade Federal Fluminense UFF

Transcrição:

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

Busca com informação (ou heurísica) UIliza conhecimento específico sobre o problema para encontrar soluções de forma mais eficiente do que a busca cega. Conhecimento específico além da definição do problema. Abordagem geral: busca pela melhor escolha. UIliza uma função de avaliação para cada nó. Expande o nó que tem a função de avaliação mais baixa. Dependendo da função de avaliação, a estratégia de busca muda. 2

Busca pela melhor escolha Idéia: usar uma função de avaliação f(n) para cada nó. esimaiva do quanto aquele nó é desejável Expandir nó mais desejável que ainda não foi expandido Implementação: Ordenar nós na borda em ordem decrescente de acordo com a função de avaliação Casos especiais: Busca gulosa pela melhor escolha Busca A* 3

Busca gulosa pela melhor escolha Função de avaliação f(n) = h(n) (heurísica) = esimaiva do custo de n até o objeivo ex., h DLR (n) = distância em linha reta de n até Bucareste. Busca gulosa pela melhor escolha expande o nó que parece mais próximo ao objeivo de acordo com a função heurísica. 4

Romênia com custos em km Distância em linha reta para Bucareste 5

Exemplo de busca gulosa pela melhor escolha 6

Exemplo de busca gulosa pela melhor escolha 7

Exemplo de busca gulosa pela melhor escolha 8

Exemplo de busca gulosa pela melhor escolha 9

Busca gulosa pela melhor escolha Não é óima, pois segue o melhor passo considerando somente o estado atual. Pode haver um caminho melhor seguindo algumas opções piores em alguns pontos da árvore de busca. Minimizar h(n) é suscehvel a falsos inícios. Ex. Ir de Iasi a Fagaras HeurísIca sugerirá ir a Neamt, que é um beco sem saída. Se repeições não forem detectadas a busca entrará em loop. 10

Propriedades da busca gulosa pela melhor escolha Completa? Não pode ficar presa em loops, ex., Iasi Neamt Iasi Neamt Tempo? O(b m ) no pior caso, mas uma boa função heurísica pode levar a uma redução substancial Espaço? O(b m ) mantém todos os nós na memória ÓIma? Não 11

Busca A * Idéia: evitar expandir caminhos que já são caros Função de avaliação f(n) = g(n) + h(n) g(n) = custo até o momento para alcançar n h(n) = custo esimado de n até o objeivo f(n) = custo total esimado do caminho através de n até o objeivo. 12

Exemplo de busca A * 13

Exemplo de busca A * 14

Exemplo de busca A * 15

Exemplo de busca A * 16

Exemplo de busca A * 17

Exemplo de busca A * 18

HeurísIca Admissível Uma heurísica h(n) é admissível se para cada nó n, h(n) h * (n), onde h * (n) é o custo verdadeiro de alcançar o estado objeivo a parir de n. Uma heurísica admissível nunca superesima o custo de alcançar o objeivo, isto é, ela é oimista. Exemplo: h DLR (n) (distância em linha reta nunca é maior que distância pela estrada). Teorema: Se h(n) é admissível, A * usando algoritmo BUSCA-EM-ARVORE é óima. 19

Prova que A * é óima com heurísica admissível Assuma um nó obje3vo não- ó3mo G 2, e seja C* o custo da solução óima. Então, como G 2 não é óimo e h(g 2 ) = 0, sabemos que: f(g 2 ) = g(g 2 ) + h(g 2 ) = g(g 2 ) > C* Considere qualquer nó de borda n que esteja num caminho de solução óimo. Se h(n) não superes*mar o custo de completar o caminho de solução, então: f(n) = g(n) + h(n) C*. 20

Prova que A * é óima com heurísica admissível (cont.) Logo, se f(n) C* < f(g 2 ), G 2 não será expandido e A* deve retornar uma solução óima. Isso vale para busca em árvore, para outras estruturas de busca pode não valer. Na busca em grafos temos que assegurar que o caminho óimo para qualquer estado repeido seja o primeiro a ser seguido. Requisito extra para h(n): consistência 21

Consistência (ou monotonicidade) Uma heurísica é consistente (ou monotônica) se para cada nó n, cada sucessor n' de n gerado por qualquer ação a, h(n) c(n,a,n') + h(n') Se h é consistente, temos f(n') = g(n') + h(n') = g(n) + c(n,a,n') + h(n') g(n) + h(n) = f(n) Isto é, f(n) is não- decrescente ao longo de qualquer caminho. Teorema: Se h(n) is consistente, A* usando BUSCA-EM-GRAFOS é óima. 22

A * é óima com heurísica consistente A * expande nós em ordem crescente de valores de f. Gradualmente adiciona contornos" de nós. Contorno i tem todos os nós com f=f i, onde f i < f i+1 Se h(n)=0 temos uma busca de custo uniforme círculos concêntricos. Quanto melhor a heurística mais direcionados ao objetivo serão os círculos 23

Propriedades da Busca A* Completa? Sim (a não ser que exista uma quanidade infinita de nós com f f(g) ) Tempo? Exponencial no pior caso Espaço? Mantém todos os nós na memória ÓIma? Sim OImamente eficiente Nenhum outro algoritmo de busca óimo tem garania de expandir um número de nós menor que A*. Isso porque qualquer algoritmo que não expande todos os nós com f (n) < C* corre o risco de omiir uma solução óima. 24

Exemplo: HeurísIcas Admissíveis Para o quebra- cabeça de 8 peças: h 1 (n) = número de peças fora da posição h 2 (n) = distância Manhavan total (para cada peça calcular a distância em quadras até a sua posição) 25

Medindo a qualidade de uma heurísica Fator de ramificação efeiva A* gera N nós Profundidade da solução é d Supondo uma árvore uniforme, podemos calcular o fator de ramificação efeiva b* a parir de 26

Exemplo: Quebra- cabeça de 8 peças 27

Dominância h 2 é melhor que h 1 e muito melhor que a busca por aprofundamento iteraivo. h 2 é sempre melhor que h 1 pois h 2 domina h 1 Como ambas heurísicas são admissíveis, menos nós serão expandidos pela heurísica dominante. Escolhe nós mais próximos da solução. 28

Como criar heurísicas admissíveis? 1. A solução de uma simplificação de um problema (problema relaxado) é uma heurísica para o problema original. Admissível: a solução do problema relaxado não vai superesimar a do problema original. É consistente para o problema original se for consistente para o relaxado. 29

Exemplo: Quebra- cabeça de 8 peças h 1 daria a solução óima para um problema relaxado em que as peças pudessem se deslocar para qualquer lugar. h 2 daria a solução óima para um problema relaxado em que as peças pudessem se mover um quadrado por vez em qualquer direção. 30

Como criar heurísicas admissíveis? 2. Usar o custo da solução de um subproblema do problema original. Calcular o custo da solução exata sem se preocupar com os * Limite inferior do custo do problema completo 31

Como criar heurísicas admissíveis? 3. Banco de dados de padrões: Armazenar o custo exato das soluções de muitos subproblemas. Para um determinado estado procurar o subproblema referentes àquele estado. Exemplo: todas as configurações das 4 peças na figura anterior. 32

Algoritmos de Busca Local Em muitos problemas de oimização o caminho para o objeivo é irrelevante. Queremos apenas encontrar o estado objeivo, não importando a seqüência de ações. Espaço de estados = conjunto de configurações completas. Queremos encontrar a melhor configuração. Neste caso podemos usar algoritmos de busca local. Mantêm apenas o estado atual, sem a necessidade de manter a árvore de busca. 33

Exemplo: n- rainhas Colocar n rainhas em um tabuleiro n n, sendo que cada linha coluna ou diagonal pode ter apenas uma rainha. 34

Busca de Subida de Encosta É como subir o Everest em meio a um nevoeiro durante uma crise de amnésia 35

Busca de Subida de Encosta Elevação é a função objeivo: queremos encontrar o máximo global. Elevação é o custo: queremos encontrar o mínimo global. O algoritmo consiste em uma repeição que percorre o espaço de estados no senido do valor crescente (ou decrescente). Termina quando encontra um pico (ou vale) em que nenhuma vizinho tem valor mais alto. 36

Busca de Subida de Encosta Não mantém uma árvore, o nó atual só registra o estado atual e o valor da função objeivo. Não examina antecipadamente valores de estados além dos valores dos vizinhos imediatos do estado atual. 37

Busca de Subida de Encosta Problema: dependendo do estado inicial pode ficar presa em máximos (ou mínimos) locais. 38

Busca de Subida de Encosta: Problema das 8- rainhas 39

Busca de Subida de Encosta: Problema das 8- rainhas 40

Subida de encosta: melhorias Movimento lateral para evitar platôs Porém pode ocorrer repeição infinita, temos que impor um limite para o número de movimentos laterais. Subida de encosta com reinícios aleatórios. Conduz várias buscas a parir de vários estados iniciais escolhidos aleatoriamente. É completa, pois no pior acaso irá acabar gerando o estado objeivo como estado inicial, porém é ineficiente. 41

Busca de têmpera simulada (simulated annealing) Combina a subida de encosta com um percurso aleatório resultando em eficiência e completeza. Subida de encosta dando uma chacoalhada nos estados sucessores. Estados com avaliação pior podem ser escolhidos com uma certa probabilidade. Esta probabilidade diminui com o tempo. 42

Busca de têmpera simulada Escapa de máximos locais permiindo alguns passos ruins mas gradualmente decresce a sua freqüência. 43

Propriedades da busca de têmpera simulada Pode- se provar que se T decresce devagar o suficiente, a busca pode achar uma solução óima global com probabilidade tendendo a 1. Muito usada em projetos de circuitos integrados, layout de instalações industriais, oimização de redes de telecomunicações, etc. 44

Busca em feixe local Manter k estados ao invés de um. Começa com k estados gerados aleatoriamente. A cada iteração, todos os sucessores dos k estados são gerados. Se qualquer um deles for o estado objeivo, a busca para; senão seleciona- se os k melhores estados da lista pra coninuar. 45

Algoritmos genéicos Um estado sucessor é gerado através da combinação de dois estados pais. Começa com k estados gerados aleatoriamente (população). Um estado é representado por uma string de um alfabeto finito (normalmente strings de 0s e 1s). Função de avaliação (função de fitness). Valores mais altos pra estados melhores. Produz a próxima geração de estados por seleção, mutação e crossover. 46

Algoritmos genéicos Função de fitness: número de pares de rainhas que não estão se atacando (min = 0, max = 8 7/2 = 28) 24/(24+23+20+11) = 31% 23/(24+23+20+11) = 29% etc 47

Algoritmos genéicos 48