A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Agentes Resolvedores de problemas II. SI 20052 Tipos de Busca Desinformada Busca em Largura (ou extensão) Busca por Custo Uniforme Busca em Profundidade.

Apresentações semelhantes


Apresentação em tema: "Agentes Resolvedores de problemas II. SI 20052 Tipos de Busca Desinformada Busca em Largura (ou extensão) Busca por Custo Uniforme Busca em Profundidade."— Transcrição da apresentação:

1 Agentes Resolvedores de problemas II

2 SI Tipos de Busca Desinformada Busca em Largura (ou extensão) Busca por Custo Uniforme Busca em Profundidade Busca em Profundidade Limitada Busca em Profundidade Interativa Busca Bidirecional

3 SI Busca em Largura Expande os nós mais rasos ainda não expandidos Todos os nós de profundidade d são expandidos antes dos nós de profundidade d+1 Fila: coloca os nós gerados no fim da fila (FIFO)

4 SI Busca em Largura Completude: Sim encontra o mais raso, se o fator de ramificação b é finito Otimalidade: Sim, se o custo do caminho for uma função não decrescente da profundidade do nó. Caso contrário não é ótima. Custo de Tempo: 1 + b + b 2 + b b d = exponencial em d Custo de Memória: O(b d ) – guarda todos os nós na memória Grande quantidade de espaço e tempo exigida. Pode facilmente gerar 1MB de nós que devem ser guardados.

5 SI Analisando a busca em largura Para um fator de ramificação b=10, e supondo que 1000 nós podem ser gerados por segundo, temos: profundidadenóstempomemória ,11 seg1 MB seg106 MB min10 GB horas1 TeraB dias101 TeraB anos10 PentaB anos1 exaB Requisitos de memória são problemas maiores do que o tempo de execução Problemas de busca de complexidade exponencial não podem ser resolvidos por métodos sem informação (exceto os menores)

6 SI Exercício Resolva o problema do mapa por busca em largura. Defina estados, a função sucessor, o teste de objetivo e o custo do caminho.

7 SI Busca por Custo Uniforme Expande o nó de menor custo ainda não expandidos (pelo custo do caminho – g(n)) Se comporta como a busca em largura com g(n)=constante Encontra a solução mais barata porque os nós mais baratos são expandidos primeiro Fila: insere os nós gerados em ordem crescente pelo custo do caminho S A C B G S G 11 G 10 A C B Fila/custo/fechado A(1) B(5) C(15) A(1) x B(5) G(11) C(15) A(1) x B(5) x G(10) G(11) C(15) A(1) x B(5) x G(10) x G(11) C(15)

8 SI Busca por Custo Uniforme Completude: Sim, se nenhum operador tiver custo negativo Custo Tempo: quantidade de nós com g <= custo da solução ótima Custo Memória: quantidade de nós com g <= custo da solução ótima Otimalidade: Sim. Espaço e tempo continuam sendo um problema pode se muito maior que b d.

9 SI Exercícios Resolva o problema do mapa através de busca por custo uniforme. Defina estados, a função sucessor, o teste de objetivo e o custo do caminho.

10 SI Busca em profundidade Expande o nó mais profundo ainda não expandido Quando encontra um nó que não pode ser expandido, volta para expandir os outros dos níveis mais rasos Os nós que foram expandidos e não tem descendentes na borda podem ser tirados da memória Fila: insere o nó gerado no inicio da fila (LIFO - pilha)

11 SI Busca em profundidade

12 SI Busca em profundidade

13 SI Busca em profundidade

14 SI Busca em profundidade

15 SI Busca em profundidade

16 SI Busca em profundidade

17 SI Busca em profundidade

18 SI Busca em profundidade

19 SI Busca em profundidade

20 SI Busca em profundidade

21 SI Busca em profundidade

22 SI Busca em profundidade

23 SI Busca em profundidade Completude: Não. Falha se o espaço de estados for infinito ou com loops Custo Memória: Armazena somente um caminho simples da raiz até a folha. Para um fator de ramificação b e uma profundidade máxima de m armazena bm nós (busca em largura = b d ) Para um nó objetivo com profundidade d=12 e supondo que os nós na mesma profundidade não tenham sucessores exige 118kb ao invés dos 10Pb da busca em largura Custo Tempo: O(b m ) no pior caso -> examinar todos os ramos Terrível se m é muito maior que d (m - profundidade máxima de qq nó) Otimalidade: Não Necessita de um espaço de busca finito e não cíclico

24 SI Exercícios Resolva o problema do mapa por busca em profundidade Defina estados, a função sucessor, o teste de objetivo e o custo do caminho.

25 SI Busca com Profundidade Limitada Evita os problemas da busca em profundidade impondo um corte na profundidade de caminho Problema => escolher a profundidade correta Completude: Sim. Se a solução existente estiver em uma profundidade d< l, ela é encontrada Otimalidade: Não. A solução ótima pode estar em outra subárvore Tempo: O(b l ), onde l é o limite de profundidade Memória: O(b l ) Alguns problemas sugerem um valor de l. (20 cidades => l =19)

26 SI Busca com Profundidade Interativa Tenta todos os possíveis limites de profundidade, começando pelo 0. Combina os benefícios da busca em largura e em profundidade Ordem de expansão parecida com a busca em largura Alguns nós podem ser expandidos múltiplas vezes

27 SI Busca com Profundidade Interativa

28 SI Busca com Profundidade Interativa

29 SI Busca com Profundidade Interativa

30 SI Busca com Profundidade Interativa

31 SI Busca com Profundidade Interativa Completude: Sim Otimalidade: Sim Tempo: O(b d ) – alguns nós podem ser gerados várias vezes. Mas isso acontecerá nos níveis superirores que normalmente têm poucos nós Memória: O(bd) Preferida quando o espaço de busca é muito grande e a profundidade da solução não é conhecida Tempo comparação com a busca em largura com b=10 e d=5 Prof. Interativa = nós gerados Largura = nós gerados É o método de busca sem informação preferido quando existe um espaço de busca grande e a profundidade da solução não é conhecida

32 SI Busca Bidirecional Busca em duas direções: Para frente, a partir do nó inicial, e Para trás, a partir do nó final (objetivo) A busca pára quando os dois processos geram o mesmo nó Problema: verificar antes de cada expansão se o nó não pertence à borda da outra busca É possível utilizar estratégias diferentes em cada direção da busca Os operadores devem ser reversíveis

33 SI Busca Bidirecional A comparação de cada nó antes da expansão pode ser feita em tempo constante utilizando uma tabela hash Completude: Sim Otimalidade: Sim Tempo: O(b d/2 ) Memória: O(b d/2 ) Para b=10 e d=6 temos nós gerados, contra os

34 SI Comparação das Estratégias de Busca Sim 1,2 Sim 1 SimNãosim 1,2 sim 1 Completa ? Sim 3,4 sim 3 Não SimSim 3 Otima? O(b d/2 )O(bd) O(b l ) O(bm)>>b d Espaço O(b d/2 )O(b d ) O(b l ) O(b m )O(b d + 1 ) Tempo Bidirecional (se aplicável) Profundi dade Interativ a Profund idade limitada Profund idade Custo Uniform e Largur a 1 – completa se b é finito 2 – completa se o custo do passo é >= c, para c positivo 3 – ótima se o custo dos passos são todos idênticos 4 – se ambos os sentidos utilizam busca em largura

35 SI Estados Repetidos Como evitar desperdiçar tempo expandindo estados que já foram expandidos antes? Para alguns problemas os estados repetidos são inevitáveis: problemas em que os operadores são reversíveis A árvore de busca para estes problemas é infinita, mas evitando os estados repetidos, ela se torna finita

36 SI Estados Repetidos Se o espaço de estados for uma malha retangular, cada estado tem 4 sucessores A árvore de busca que inclui os estado repetidos tem 4 d folhas porém 2d 2 estados distintos Para d=20, isso seria 1 trilhão de nós, mas cerca e 800 estados distintos Estados repetidos podem fazer o problema solúvel se tornar insolúvel, se o algoritmo de busca não os detectar Para isso o algoritmo de busca em árvore pode ser modificado para incluir: Uma estrutura de dados = lista fechada – que contém os nós expandidos Os nós ainda não expandidos às vezes são chamados de lista aberta Se o nó atual corresponder a um nó da lista fechada, ele não será expandido Este algoritmo de BUSCA-EM-GRAFO ém muito mais eficiente do que BUSCA-EM-ARVORE

37 SI Busca em grafo Função BUSCA-EM-GRAFO (problema, borda) retorna uma solução ou falha fechado <- um conjunto vazio borda <- INSERIR(CRIAR-NÓ(ESTADO- INICIAL[problema]),borda) repita se VAZIA?(borda) então retornar falha nó <- REMOVER-PRIMEIRO(borda) se TESTAR-OBJETIVO[problema](ESTADO[nó]) então retornar SOLUÇÃO(nó) se ESTADO[nó] não está em fechado então adicionar ESTADO[nó] a fechado borda<-INSERIR-TODOS(EXPANDIR(nó, problema),borda)

38 SI Busca em grafo Pode não ser ótimo porque descarta um caminho recém- descoberto Se esse caminho for melhor do que o anterior então a busca pode perder uma solução ótima Se utilizarmos busca em largura e busca por custo uniforme com passos de custo constante, a busca em grafo continua sendo ótima A busca em grafo por aprofundamento iterativo precisa de outras verificações para garantir a otimalidade A busca em profundidade e a busca por aprofundamento iterativo não tem mais o requisito de tempo linear, pois todos os nós fechados são guardados


Carregar ppt "Agentes Resolvedores de problemas II. SI 20052 Tipos de Busca Desinformada Busca em Largura (ou extensão) Busca por Custo Uniforme Busca em Profundidade."

Apresentações semelhantes


Anúncios Google