Estratégias de Busca Cega

Documentos relacionados
Estratégias de Busca Cega

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

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

lnteligência Artificial

Busca Heurística - Informada

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

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

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

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

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

Inteligência Artificial

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)

MAC425/5739 Inteligência Artificial 3. Busca informada

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

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

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

Buscas Informadas ou Heurísticas - Parte I

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

Inteligência Artificial

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

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

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

Buscas Informadas ou Heurísticas - Parte II

Inteligência Artificial

INF 1771 Inteligência Artificial

Cap. 4 Busca com Informações e Exploração. do livro de Russel e Norvig

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.1

Estratégias de Procura Informadas

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

Procura Informada. Capítulo 4

Técnicas Inteligência Artificial

Inteligência Artificial. Resolução de problemas por meio de algoritmos de busca. Aula II Algoritmos básicos de busca cega

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

INF 1771 Inteligência Artificial

Agentes de Procura Procura Estocástica. Capítulo 3: Costa, E. e Simões, A. (2008). Inteligência Artificial Fundamentos e Aplicações, 2.ª edição, FCA.

Buscas Não Informadas (Cegas) - Parte I

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

Redes Neurais (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. Capítulo 3 Inteligência Artificial Sistemas de Informação

Inteligência Artificial

Buscas Informadas ou Heurísticas - Parte III

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

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

Resolução de Problemas através de Busca. Prof. Júlio Cesar Nievola PPGIA - PUC-PR

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

Inteligência Computacional

Resolução de Problemas

Inteligência Artificial - IA

INF 1771 Inteligência Artificial

*Capítulo 3 (Russel & Norvig)

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

Agentes de Procura Procura Heurística. Capítulo 3: Costa, E. e Simões, A. (2015). Inteligência Artificial Fundamentos e Aplicações, 3.ª edição, FCA.

BCC204 - Teoria dos Grafos

Resolução de Problemas: Busca Heurística

Resolução de Problemas de Busca

CEFET/RJ Disciplina: Inteligência Artificial Professor: Eduardo Bezerra Lista de exercícios 01

Busca em Espaço de Estados a

CEFET/RJ Disciplina: Inteligência Artificial Professor: Eduardo Bezerra Lista de exercícios 01

Resolução de problemas por meio de busca. Inteligência Artificial. Busca. Exemplo: Romênia. Exemplo: Romênia 8/23/2010

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

SISTEMAS INTELIGENTES 1 PROF. TACLA/UTFPR/CPGEI-PPGCA

BUSCA CEGA OU SEM INFORMAÇÃO (parte 2 Resolução de problemas por busca) *Capítulo 3 (Russel & Norvig)

Tópicos Especiais: Inteligência Artificial

Busca no espaço de estados

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

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

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

Resolução de problemas por meio de busca. Capítulo 3 Russell & Norvig Seções 3.4 e 3.5

Inteligência Artificial

meio de busca Seções 3.1, 3.2 e 3.3

Inteligência Artificial

Sistemas Inteligentes Lista de Exercícios sobre Busca e Agentes Inteligentes

CEFET/RJ Disciplina: Inteligência Artificial Professor: Eduardo Bezerra Lista de exercícios 02

Enunciados dos Exercícios Cap. 2 Russell & Norvig

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

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

Transcrição:

Estratégias de Busca Cega Encontram soluções para problemas pela geração sistemática de novos estados, que são comparados ao objetivo. São ineficientes na maioria dos casos: utilizam apenas o custo de caminho do nó atual ao nó inicial (função g(n)) para decidir qual o próximo nó da fronteira a ser expandido. Essa medida nem sempre conduz a busca na direção do objetivo. 1

Estratégias de Busca Heurística Utilizam conhecimento específico do problema que pode ser usada para guiar o processo de busca. Aplicam uma função que avalia a um nó particular e prediz a qualidade dos seus nós sucessores: A função avaliação f(n) estima o custo de caminho do nó atual até o objetivo mais próximo utilizando uma função heurística. Afunçãoheurísticah(n) estima o custo do caminho mais barato do estado atual até o estado final mais próximo. f(n) = g(n) + h(n) 2

Os problemas de IA empregam heurísticas, basicamente, em duas situações: 1. Um problema pode não ter uma solução exata por causa das ambiguidades inerentes na sua formulação ou pela disponibilidade dos dados. Exemplos: Diagnóstico médico, Sistemas de visão. 2. Um problema pode ter uma solução exata, mas o custo computacional para encontrá la pode ser proibitivo. Exemplo: Jogo de xadrez. 3

Umaheurísticaéapenasumaconjecturainformada sobre o próximo passo a ser tomado na solução de um problema. A heurística é baseada na experiência e na intuição. Umaheurísticapodelevarumalgoritmodebuscaa uma solução sub ótima ou, inclusive, levá lo a não conseguir encontrar uma solução. As heurísticas podem falhar. George Polya define heurística como o estudo dos métodos e das regras de descoberta e invenção (Polya, 1945) relacionada com o termo grego original, o verbo eurisco ( Eu descubro ). Quando Arquimedes emergiu de seu famoso banho segurando a coroa de ouro, ele gritou Eureka! ( Eu descobri! ). 4

Exemplo... Porção do espaço de estados para o jogo da velha 9 8 N 0 de caminhos =9! 7... 5

Exemplo... Os primeiros três níveis do espaço de estados do jogo da velha reduzidos por simetria. 3 movimentos iniciais: Para o canto Para o centro de um lado Para o centro da grade 6

Exemplo... A heurística do maior número de vitórias aplicada aos primeiros filhos do jogo da velha. Maior número de vitórias: maior número de linhas, colunas e diagonais ainda disponíveis.

Exemplo Espaço de estados reduzido heuristicamente para o jogo da velha. 8

Classes de algoritmos para Busca Heurística: 1. Busca pela melhor escolha (Best First search): Greedy best first search (Busca gulosa pela melhor escolha) A* 2. Busca com limite de memória (Memory Bounded Search): IDA* (Iterative Deepening A*) RBFS (Busca recursiva de melhor escolha) SMA* (SimplifiedMemory Bounded A*) 9

Algoritmo geral: Busca pela Melhor Escolha BME (Best first search) Seleciona para expansão o nó que tiver o menor custo estimado até a meta (objetivo), segundo uma função de avaliação f(n). Tipicamente f(n) usa uma função heurística h(n) = custo estimado do caminho mais econômico do nó n até um nó objetivo (Restrição inicial: se n é um nó objetivo, h(n) = 0). 10

Uma forma de uso da informação heurística sobre um problema consiste em computar estimativas numéricas para os nós no espaço de estados; Uma estimativa indica o quanto um nó é promissor com relação ao alcance de um nó objetivo; A ideia é continuar a busca sempre a partir do nó mais promissor no conjunto de candidatos; O programa de busca do melhor caminho (escolha) é baseado neste princípio. 11

A Busca do melhor caminho pode ser derivada de um refinamento da busca em largura. A Busca em largura sempre escolhe para expansão os menores caminhos candidatos (isto é, os nós extremos menos profundos da busca). A Busca do melhor caminho refina este princípio calculando uma estimativa heurística para cada candidato e escolhe para expansão o melhor candidato de acordo com esta estimativa. 12

Greedy best first search (Busca gulosa pela melhor escolha) Tenta expandir o nó mais próximo à meta, na suposição de que isso provavelmente levará a uma solução rápida. Avalia nós para expandir com base unicamente na função heurística: f(n) = h(n) Exemplo: encontrar a melhor rota (rota mais curta) de uma cidade a outra, num mapa usando a Função heurística h DLR (n) (DLR: distância em linha reta entre as cidades e a cidade meta). 13

Exemplo: Localização de rotas na Romênia, usando h DLR (n) f(n) = h DLR (n) Objetivo: Bucareste Um mapa rodoviário simplificado de parte da Romênia. 14

Busca pela melhor escolha Busca Gulosa f(n) = h DLR (n) Objetivo: Bucareste Distância em linha reta para Bucareste: 15

Exemplo Passo a Passo... Fases de uma busca gulosa pela melhor escolha para Bucareste, usando-se a heurística de distância em linha reta h DLR. Os nós são identificados por seus valores de h. 17

Exemplo Passo a Passo... Fases de uma busca gulosa pela melhor escolha para Bucareste, usando-se a heurística de 18 distância em linha reta h DLR. Os nós são identificados por seus valores de h.

Exemplo Passo a Passo... Fases de uma busca gulosa pela melhor escolha para Bucareste, usando-se a heurística de 19 distância em linha reta h DLR. Os nós são identificados por seus valores de h.

Exemplo Passo a Passo... Fases de uma busca gulosa pela melhor escolha para Bucareste, usando-se a heurística de 20 distância em linha reta h DLR. Os nós são identificados por seus valores de h.

21 Fases de uma busca gulosa pela melhor escolha para Bucareste, usando-se a heurística de distância em linha reta h DLR. Os nós são identificados por seus valores de h.

Busca pela melhor escolha Busca Gulosa Não é completa Pode entrar em ciclos e não encontrar a solução se não detectar estados repetidos; Pode se perder em um caminho infinito e nunca retroceder para tentar outras opções. Não é ótima No exemplo encontrou caminho (Arad, Sibiu, Fagaras, Bucareste) que é 32km maior que (Arad, Sibiu, Rimnicu Vilcea, Pitesti, Bucareste) Dependendo do problema e da qualidade da heurística a complexidade pode ter uma redução substancial. 22

BME mais famoso : Busca A* Objetivo: Minimizar o custo total estimado da solução. Função de avaliação: f(n) = g(n) + h(n) g(n) = custo do caminho (distância) do nó inicial ao nó n h(n) = custo estimado do caminho (distância ) de menor custo de n ao nó final f(n) = custo estimado da solução de menor custo que passa por n. A* expande o nó de menor valor de f na fronteira do espaço de estados. 23

Exemplo: Localização de rotas na Romênia, usando a Busca A* f(n) = g(n) + h DLR (n) Objetivo: Bucareste Um mapa rodoviário simplificado de parte da Romênia. 24

Busca pela melhor escolha A* f(n) = g(n) + h DLR (n) Objetivo: Bucareste Distância em linha reta para Bucareste: 449 75 + 374 239 239 + 178 118 + 329 447 220 393 413 317 140 + 253 417 418 220 + 193 317 + 98 366 415 455 496 336 + 160 25

Exemplo Passo a Passo... 26

Exemplo Passo a Passo... 27

Exemplo Passo a Passo... 28

Exemplo Passo a Passo... 29

Exemplo Passo a Passo... 30

Exemplo Passo a Passo 31

Estágios em uma busca A* por Bucareste. Os nós estão rotulados f = g + h. Os valores de h são distâncias em linha reta para Bucareste. 32

A função heurística h(n) deve satisfazer as seguintes condições, para que a busca A* seja ótima: Admissibilidade. Consistência 33

Admissibilidade Uma heurística é admissível se nunca superestima o custo de atingir o objetivo. Como g(n) éocustorealparaatingirn ao longo do caminho atual e f(n) = g(n)+h(n) então f(n) nunca irá a superestimar o verdadeiro custo de uma solução ao longo do caminho atual através de n A distância em linha reta é uma heurística admissível, pois, o caminho mais curto entre dois pontos quaisquer é uma linha reta Um algoritmo de busca que garantidamente encontre um percurso ideal para um objetivo, se este existir, é chamado de admissível (Nilsson, N. K. Principles of Artificial Intelligence, Morgan Kaufmann, 1980). 34

Admissibilidade h(n) é o estimador, se ele for perfeito então A* convergirá imediatamente para o objetivo Se o valor de h(n) for sempre zero, a busca será controlada por g(n). Se o valor de g(n) também for zero, a estratégia da busca será aleatória. Se o valor de g(n) sempre for 1, a busca será em amplitude Eseh(n) não for nem perfeito nem zero? O algoritmo A* encontrará o caminho ideal (determinado por g(n)) paraoobjetivo,seesteexistir,desdequesegarantaque h(n) não superestime o custo da busca. 35

Admissibilidade Para cada nó está indicado f(n) = g(n)+h(n) Ao subestimar f(b) jogam-se fora os esforços Mas, foi descoberto que B estava distante do objetivo e voltou-se para experimentar outro percurso.

Admissibilidade O algoritmo expandiu até G para obter um caminho de solução cujo comprimento é 4. Supondo que exista um caminho direto de D até uma solução, dando um caminho de comprimento 2, este nunca será encontrado, pois f(d) foi superestimado. Ao superestimar f(d), se fez parecer D tão ruim que se pode encontrar uma outra solução, pior, sem nunca expandir D.

Consistência Uma heurística h(n) será consistente se, para cada nó n e para cada sucessor n de n gerado por uma ação a, o custo estimado de alcançar o objetivo de n não for maior do que o custo do passo de chegar a n mais o custo estimado de alcançar o objetivo de n h( n) c( n,a,n') h( n') Desigualdade triangular: cada um dos lados de um triangulo não pode ser mais longo que a soma dos outros dois lados. 38

Consistência Exemplo: A distancia em linha reta h(n) de Neamt a Urzeni (objetivo) não é maior que o custo g(n) de Neamt a Iasi + custo h(n ) de Iasi a Urzeni, portanto a heurística é consistente. 39

Desempenho do A* A* é completa e ótima: nenhum outro algoritmo ótimo garante expandir menos nós que A*. A* expande todos os nós com f(n) C* C* é o custo do caminho de solução ótima A* pode expandir alguns nós no contorno objetivo (f(n) =C*) antes de selecionar um nó objetivo. 40

Desempenho do A* Custo de tempo: Crescimento exponencial do número de nós com o comprimento da solução(complexidade temporal). Custo memória: O(b d ) O maior problema é a complexidade espacial, guarda todos os nós gerados na memória, para possibilitar o backtracking. Assim, A* não é aplicável em muitos problemas de grande escala. Usa se variantes que encontram soluções subótimas. 41

A* define Contornos f(n) C*, nósnointeriordeumcontornodadotem custosdef menores ou iguais ao valor de contorno.

Para reduzir os requisitos de memória para A* adapta se a ideia de profundidade iterativa para o contexto de busca heurística : IDA* (Iterative Deepening A*) igual ao profundidade iterativa, porém seu limite é dado pela função de avaliação ou f-custo (g+h), e não pela profundidade (d). A cada iteração, o valor de corte é o menor f-custo de qualquer nó que excedeu o corte na iteração anterior. Prático para problemas com custos de passo unitário. Tem a mesmas dificuldades dos custos de valor real que a versão iterativa de custo uniforme. 43

RBFS (Busca recursiva de melhor escolha) Algoritmo recursivo simples, tenta imitar a operação de busca pela melhor escolha (BFS), mas usando apenas um espaço linear de memória Estrutura similar ao de busca em profundidade recursiva Ao invés de continuar indefinidamente seguindo o caminho atual, utiliza a variáveis f-limite para acompanhar o f-valor do melhor caminho alternativo disponível de qualquer nó ancestral do nó atual 44

RBFS (Busca recursiva de melhor escolha) Se o nó atual exceder esse limite, a recursão reverte para o caminho alternativo Com a reversão da recursão, substitui o f-valor de cada nó ao longo do caminho por um valor de backup o melhor f-valor de seus filhos O RBFS lembra o f-valor das melhores folhas da sub árvore esquecida e pode, portanto, decidir se vale a pena re expandir a sub árvore algum tempo mais tarde 45

RBFS (Busca recursiva de melhor escolha)

RBFS (Busca recursiva de melhor escolha)

RBFS (Busca recursiva de melhor escolha)

A RBFS é mais eficiente do que a IDA*, mas também tem a geração excessiva de um mesmo nó. Ambas sofrem por usarem pouca memória e esquecem o que fizeram. SMA* (Simplified Memory Bounded A*) Similar ao A*, expande a melhor folha até que a memória esteja cheia Como não pode adicionar novo nó, suprime o pior nó folha O RBFS faz o backup do nó esquecido em seu pai. O ancestral de uma subárvore esquecida conhece a qualidade do melhor caminho daquela subárvore. Com essa informação, o SMA* regenera a subárvore somente quando todos os outros caminhos foram mostrados como piores do que o caminho que ele esqueceu. 49

Solução de problemas usando técnicas de busca heurística: dificuldades em definir e usar a função de avaliação não consideram conhecimento genérico do mundo (ou senso comum ) Função de avaliação: compromisso (conflito) entre tempo gasto na seleção de um nó e redução do espaço de busca Achar o melhor nó a ser expandido a cada passo pode ser tão difícil quanto o problema da busca em geral. 50

Como escolher uma boa função heurística h? h depende de cada problema particular. h deve ser admissível não superestimar o custo real da solução Exemplo: jogo dos 8 números um número pode mover se de A para B se A é adjacente a B e B está vazio busca exaustiva: 4 5 8 solução média em 22 passos fator de ramificação médio: 3 3 22 estados possíveis 9!/2 (controlando os estados repetidos) 1 6 7 2 3 51

Distância de Manhattan: distância de quarteirões ou distância de táxi. Recebeu o nome pois define a menor distância possível que um carro é capaz de percorrer numa malha urbana reticulada ortogonal, como se encontram em zonas como Manhattan. Algumas heurísticas possíveis: h 1 = n 0 de elementos em posições erradas h 1 = 8 h 2 = soma das distâncias de cada elemento à posição final objetivo (city block distance Manhattan distance) h 2 = 3+1+2+2+2+3+3+2=18 52

2 8 3 1 6 4 7 5 (4) Exemplo: Espaço de estados gerado com h 1 (n) (para cada estado está indicado entre parênteses o valor da função heurística): 2 8 3 1 6 4 7 5 2 8 3 1 4 7 6 5 (5) (3) 2 8 3 1 4 7 6 5 2 3 1 8 4 7 6 5 (3) (3) 2 8 3 1 6 4 7 5 2 8 3 1 4 7 6 5 (6) (4) Estado Inicial Estado Objetivo 8 3 2 1 4 7 6 5 (3) 2 8 3 7 1 4 6 5 (4) 2 3 1 8 4 7 6 5 (2) 2 3 1 8 4 7 6 5 (4) 2 8 3 1 6 4 7 5 1 2 3 8 4 7 6 5 1 2 3 8 4 7 6 5 (1) Neste exemplo não são considerados os nós que aparecem por mais de uma vez. 1 2 3 8 4 7 6 5 (0) 1 2 3 7 8 4 6 5 (2) 53

2 8 3 1 6 4 7 5 (5) Exemplo: Espaço de estados gerado com h 2 (n) 2 8 3 1 6 4 7 5 (6) 2 8 3 1 4 7 6 5 (4) 2 8 3 1 6 4 7 5 (6) 2 8 3 1 4 7 6 5 (5) 2 3 1 8 4 7 6 5 (3) 2 8 3 1 4 7 6 5 (5) Estado Inicial 2 8 3 1 6 4 Estado Objetivo 1 2 3 8 4 2 3 1 8 4 7 6 5 (2) 2 3 1 8 4 7 6 5 (4) 7 5 7 6 5 1 2 3 8 4 7 6 5 (1) 1 2 3 8 4 7 6 5 (0) 1 2 3 7 8 4 6 5 (2) 54

h i domina h k h(n) i h k (n), n no espaço de estados No exemplo anterior: h 2 domina h 1, Isso pode ser traduzido na forma: A heurística 2 é melhor que a heurística 1, pois terá um menor fator de ramificação. Desde que h 1 e h 2 não superestimem o custo real. 55

Caso existam muitas funções heurísticas para o mesmo problema, e nenhuma delas domine as outras, usa se uma heurística composta: h (n) = max(h 1 (n), h 2 (n),,h m (n)) 56