*capítulo 3 (russel & norvig) - lyfreitas.com.br · utilizam somente a informação...
TRANSCRIPT
� 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 dadefinição do problema
� As estratégias de busca diferenciam-se apenas pelaordem em que expandem os nós da árvore de busca
� Estratégias que exploram primeiramente nós mais promissorescom uso de informação extra-problema serão vistas mais tarde� busca informada ou heurística
3
� Dentre os nós da fronteira, expande o mais raso (sempreexplora o caminho mais curto antes)
� A fronteira é uma FILA (FIFO) – nós sucessores vão para o final da fila de fronteira
5
Explorados={A}Fronteira=B<C
� Completa? Sim (se b é finita)� Ótimo? Sim (se custo for igual para todos os passos)� Tempo? 1+b+b2+b3+… +bd = O(bd)� Espaço? O(bd) (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
� 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 custode 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 paraexpansão (e não quando é gerado)
� Se o nó já está na fronteira, mesmo assim é necessário verificarse o caminho encontrado é mais barato que aquele guardado
10
� Difícil avaliar em termos de b e d, porque é expande nós emfunçã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(b1+[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(b1+[C*/ε])� idem
12
� A complexidade de tempo e espaço pode ser maior do que a da busca em largura, pois pode examinar grandescaminhos com pequenos passos antes de examinarcaminhos com grandes passos que podem levar maisrapidamente a solução ótima.
1
13
40
30
1
2
5
80
� Expande o nó de maior profundidade que esteja nafronteira da árvore de busca
� Fronteira = PILHA (LIFO)
15
Busca em grafo Busca emárvore
Busca com Backtracking
Espacial Idem à busca emlargura O(bd)
O(b.m) � O(m)
26
Tempo O(bm)
Completo Sim, se o espaço de estados for finito
Não é completo, poisnão eliminaloops da árvore
Optimalidade Não, pois retorna a 1a. Solução encontrada
Idem ao do lado
� A baixa complexidade espacial da busca emprofundidade 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
� Tenta amenizar o problema da busca em profundidadeem 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ãotivessem 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!� 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
� Estratégia utilizada em conjunto com busca emprofundidade 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