*Capítulo 3 (Russel & Norvig) 1
Estratégias de busca sem informação Busca em largura Busca de custo uniforme (menor custo) Busca em profundidade Busca em profundidade limitada Busca de aprofundamento iterativo em profundidade 2
Utilizam somente a informação disponível quando da definição do problema As estratégias de busca diferenciam-se apenas pela ordem em que expandem os nós da árvore de busca Estratégias que exploram primeiramente nós mais promissores com uso de informação extra-problema serão vistas mais tarde busca informada ou heurística 3
Resolução de problemas por meio de buscas 4
Dentre os nós da fronteira, expande o mais raso (sempre explora o caminho mais curto antes) A fronteira é uma FILA (FIFO) nós sucessores vão para o final da fila de fronteira Explorados={A} Fronteira=B<C 5
Explorados={A, B} Fronteira=C<D<E 6
Explorados={A, B, C} Fronteira=D<E<F<G 7
Completa? Sim (se b é finita) Ótimo? Sim (se custo for igual para todos os passos) Tempo? 1+b+b 2 +b 3 + +b d = O(b d ) Espaço? O(b d ) (mantém todos os nós na memória) Espaço Guarda todos os nós na memória Os que já foram explorados Os que estão na fronteira 8
Resolução de problemas por meio de buscas 9
Estende a BUSCA EM LARGURA de modo a encontrar a solução ótima para qualquer valor de passo Estratégia: expandir o nó n que apresentar menor custo de caminho = g(n) Fronteira = fila ordenada pelo g(n) Sofre ligeira alteração em relação à busca em largura: Teste de objetivo é feito quando um nó é selecionado para expansão (e não quando é gerado) Se o nó já está na fronteira, mesmo assim é necessário verificar se o caminho encontrado é mais barato que aquele guardado 10
11
Difícil avaliar em termos de b e d, porque é expande nós em função do custo Então, usa C* é o custo da solução ótima Completude: garante, se cada step custar mais do que épsilon (>= 0 de valor muito baixo) Optimalidade: sim, se expandir os nós respeitando g(n) Complexidade espacial: O(b 1+[C*/ε] ) Se custo for igual para todos os steps, então C*=d.ε, e a complexidade será igual a da busca por largura Complexidade de tempo: O(b 1+[C*/ε] ) idem 12
A complexidade de tempo e espaço pode ser maior do que a da busca em largura, pois pode examinar grandes caminhos com pequenos passos antes de examinar caminhos com grandes passos que podem levar mais rapidamente a solução ótima. 1 40 2 5 30 80 13
Resolução de problemas por meio de buscas 14
Expande o nó de maior profundidade que esteja na fronteira da árvore de busca Fronteira = PILHA (LIFO) 15
16
17
18
19
20
21
22
23
24
25
Busca em grafo Busca em árvore Busca com Backtracking Espacial Idem à busca em largura O(b d ) O(b.m) O(m) Tempo O(b m ) Completo Sim, se o espaço de estados for finito Optimalidade Não, pois retorna a 1a. Solução encontrada Não é completo, pois não elimina loops da árvore Idem ao do lado 26
A baixa complexidade espacial da busca em profundidade com busca em árvore fez com que fosse aplicado em Satisfação de restrições (Constraint satisfaction) Satisfabilidade em lógica Prop. (Propositional satisfability) Programação lógica (Logic programming) 27
Resolução de problemas por meio de buscas 28
Tenta amenizar o problema da busca em profundidade em espaços de estado de tamanho infinito Impõe um limite l para a máxima profundidade a ser expandida Nós na profundidade l são tratados como se não tivessem sucessores 29
Problemas deste artifício: Se l < d a solução não será encontrada e, portanto, é fonte de incompletude Se l > d não encontra o ótimo O problema é determinar o valor de l! Um modo é pegar o diâmetro do espaço de estados do grafo Ex. Tamanho máximo do caminho que liga uma cidade a outra neste caso, é 9 Neamt-Lugoj ou Neamt-Timisoara 30
Complexidade de tempo: O(b l ) Complexidade de espaço: O(b.l) 31
Estratégia utilizada em conjunto com busca em profundidade para encontrar o melhor limite l aumentar gradualmente l até encontrar um estado objetivo. Isto ocorre quando a profundidade alcançar d (profundidade do objetivo mais raso) 32
A 33
A 34
A B C 35
A B C 36
A B C 37
A B C 38
A B C E F G H 39
A B C E F G H 40
A B C E F G H 41
A B C E F G H 42
A B C E F G H 43
A B C E F G H 44
A B C E F G H 45
A B C E F G H 46
Limite l=3 47
Completa? Sim, quando b for finito = busca em largura Ótima? Sim, se custos dos passos forem iguais Tempo? O(b d ) = busca em largura Espaço? O(b.d) = busca em profundidade 48