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

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

Busca sem Informação ou Busca Cega

Apresentações semelhantes


Apresentação em tema: "Busca sem Informação ou Busca Cega"— Transcrição da apresentação:

1 Busca sem Informação ou Busca Cega
Definição Estudos de Caso Busca em Largura Busca por Custo Uniforme Busca em Profundidade Busca com Profundidade Limitada Busca com Profundidade Interativa Busca Bidirecional Comparação

2 (1) Busca sem informação: definição
Um problema de busca é: Aquele que é resolvido através da busca do melhor estado (ou caminho) em todo o espaço de estados. Ex: chegar à Areia saindo de JP Discutiremos sobre algoritmos de busca em árvore Ex: Busca em Largura Baía da Traição Mamanguape JP 20 50 FIM Areia 50 Mamanguape 60 Guarabira CG Guarabira 40 40 Esperança 90 50 Guarabira Areia Esperança JP INÍCIO CG 120 Esperança Um problema de busca sem informação é: Aquele que não possui informação do melhor caminho para chegar na solução. Ex: saindo de João Pessoa, não temos idéia de que direção está o objetivo (apesar de CG estar a 120km, é a melhor direção)

3 (1) Busca sem Informação : definição
Um problema de busca é: Aquele que é resolvido através da busca do melhor estado (ou caminho) em todo o espaço de estados. Ex: chegar à Areia saindo de JP Origem Destino Dist. em Linha Reta (km) JP Areia 134 BT 155 Mamanguape 130 Guarabira 89 Esperança 53 CG 35 Baía da Traição Mamanguape 20 50 FIM Areia 60 Guarabira 50 40 40 Esperança 90 50 JP INÍCIO CG 120 Um problema de busca com informação é: Aquele que possui informação do melhor caminho para chegar na solução. Ex: indo pra CG, gasto 120km de percurso + distância em linha reta até Areia (35km) = 155km

4 (1) Busca: critérios de análise
Como determinar que um algoritmo é melhor do que outro? Ex: para esse exemplo, é melhor usar Busca em Largura ou em Profundidade? Discutiremos sobre algoritmos de busca em árvore Ex: Busca em Largura Baía da Traição Mamanguape JP 20 50 FIM Areia Mamanguape 60 Guarabira 50 CG Guarabira 40 40 Esperança 90 50 Guarabira Areia Esperança JP INÍCIO CG 120 Esperança Critérios de Análise a) É completo? (ele sempre acha a solução, se existir?) b) É ótimo? (ele acha a melhor solução?) c) Leva quanto tempo para achar a solução? (tempo) d) Produz quantos nós? (memória) O algoritmo Busca em Largura...

5 (1) Busca: critérios de análise
Dado o algoritmo: MissaoBregareia(){ cidade = JP faça cidadeAnterior = cidade cidade=proximaCidade(menorDistância,naoVisitada) cidade.visitada=true se (cidade=jaVisitada ou cidade=FIM) cidade=cidadeAnterior enquanto (cidade  Areia) } Geração da Árvore: JP 50 Mamanguape 20 50 Mamanguape Guarabira 40 X Esperança 50 CG 30 Baía da Traição Mamanguape 20 Areia 50 FIM Areia 60 Guarabira 50 40 O algoritmo MissaoBregareia... a) É completo? (ele acha a solução, se existir?) b) É ótimo? (ele acha a melhor solução?) c) Leva quanto tempo? d) Produz quantos nós? 30 Esperança 90 50 INÍCIO JP CG 120

6 (1) Busca: critérios de análise
Completude: A estratégia sempre encontra uma solução quando existe alguma? Custo do tempo: Quanto tempo gasta para encontrar uma solução? Normalmente medida em termos do número de nós gerados. Custo de memória: Quanta memória é necessária para realizar a busca? Normalmente medida pelo tamanho máximo que a lista de nós abertos assume durante a busca. Qualidade/otimalidade (optimality): A estratégia encontra a melhor solução quando existem soluções diferentes? menor custo de caminho As complexidades de tempo e espaço são medidas em termos de: b : fator de ramificação máximo da árvore de busca. d : profundidade do nó objetivo menos profundo. m : profundidade máxima de qualquer caminho no espaço de estados.

7 (1) Busca sem Informação: algoritmos
Terminologia: Borda: é a coleção de nós que foram gerados mas não expandidos (nós abertos). Também conhecido como franja Nó Folha: qualquer elemento da borda (sem sucessores na árvore) Estratégia de Busca: função que seleciona o próximo nó a ser expandido da borda Algoritmos 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

8 (2) Estudo de Caso 1: Missão Bregareia
Problema do menor caminho Objetivo: Ir pro Bregareia, saindo de João Pessoa Ações: Próxima cidade Usando Busca... Em Largura Por Custo Uniforme Em Profundidade Em Profundidade Limitada Em Profundidade Interativa Bidirecional Baía da Traição Mamanguape 20 FIM 50 Areia 60 Guarabira 50 40 Esperança 30 90 50 João Pessoa INÍCIO CG 120

9 (2) Estudo de Caso 2: problema dos sapos
Objetivo: Faça com que os machos fiquem na direita e as fêmeas na esquerda Ações: Pular para frente, e duas pedras no máximo Usando Busca... Em Largura Por Custo Uniforme Em Profundidade Em Profundidade Limitada Em Profundidade Interativa Bidirecional M1 M2 M3 F3 F2 F1

10 (2) Estudo de Caso 3: menor caminho
Início objetivo

11 (3) 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 Borda organizada como uma fila (FIFO)

12 (3) 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 Borda organizada como uma fila (FIFO) 1

13 (3) 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 Borda organizada como uma fila (FIFO) 1 2

14 (3) 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 Borda organizada como uma fila (FIFO) 1 2 3

15 (3) 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 Borda organizada como uma fila (FIFO) 1 2 3 4

16 (3) 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 Borda organizada como uma fila (FIFO) 1 2 3 4 5

17 (3) 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 Borda organizada como uma fila (FIFO) 1 2 3 4 5 6

18 (3) 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 Borda organizada como uma fila (FIFO) 1 2 3 4 5 6 7

19 (3) Busca em Largura: análise
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ó (ou seja, quando todos os caminhos tiverem o mesmo custo) Custo de Tempo: 1 + b + b2 + b bd + (bd+1-b) = O(bd+1) Custo de Memória: O(bd+1) – 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. 1 d b = número máximo de filhos (ou fator de ramificação) d = altura do nó ótimo 2 3 4 5 6 7

20 (3) Busca em Largura: análise
Para um fator de ramificação b=10, e supondo que 1000 nós podem ser gerados por segundo, temos: profundidade nós tempo memória ,11 seg 1 MB seg MB min 10 GB horas 1 TeraB dias TeraB anos 10 PentaB anos 1 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) 1+b1+b2+(b3-b) = ( ) = 1101 Cada nó tem 1KB

21 (4) Busca por Custo Uniforme
Expande o nó de menor custo ainda não expandidos (pelo custo do caminho – g(n)) Encontra a solução mais barata porque os nós mais baratos são expandidos primeiro Borda é organizada em ordem crescente pelo custo do caminho de cada nó S S A C B G

22 (4) Busca por Custo Uniforme
Expande o nó de menor custo ainda não expandidos (pelo custo do caminho – g(n)) Encontra a solução mais barata porque os nós mais baratos são expandidos primeiro Borda é organizada em ordem crescente pelo custo do caminho de cada nó S 1 15 S A C B G 5 A B C

23 (4) Busca por Custo Uniforme
Expande o nó de menor custo ainda não expandidos (pelo custo do caminho – g(n)) Encontra a solução mais barata porque os nós mais baratos são expandidos primeiro Borda é organizada em ordem crescente pelo custo do caminho de cada nó S 1 15 S A C B G 5 A B C 11 G

24 (4) Busca por Custo Uniforme
Expande o nó de menor custo ainda não expandidos (pelo custo do caminho – g(n)) Encontra a solução mais barata porque os nós mais baratos são expandidos primeiro Borda é organizada em ordem crescente pelo custo do caminho de cada nó S 1 15 S A C B G 5 A B C 11 10 G G

25 (4) Busca por Custo Uniforme
Expande o nó de menor custo ainda não expandidos (pelo custo do caminho – g(n)) Encontra a solução mais barata porque os nós mais baratos são expandidos primeiro Borda é organizada em ordem crescente pelo custo do caminho de cada nó S 1 15 S A C B G 5 A B C 11 10 G G

26 (4) 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 (pode ser muito maior que O(bd)) Custo Memória: quantidade de nós com g <= custo da solução ótima Otimalidade: Sim. Espaço e tempo continuam sendo um problema S S A C B G 1 15 5 A B C 11 10 b = número máximo de filhos (ou fator de ramificação) g = custo do nó ótimo G G

27 (5) 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 Borda organizada como uma pilha (LIFO)

28 (5) 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 Borda organizada como uma pilha (LIFO) 1

29 (5) 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 Borda organizada como uma pilha (LIFO) 1 2

30 (5) 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 Borda organizada como uma pilha (LIFO) 1 2 3

31 (5) 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 Borda organizada como uma pilha (LIFO) 1 2 3 4

32 (5) 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 Borda organizada como uma pilha (LIFO) 1 2 3 4 5

33 (5) 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 Borda organizada como uma pilha (LIFO) 1 2 3 6 4 5

34 (5) 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 Borda organizada como uma pilha (LIFO) 1 2 3 6 4 5 7

35 (5) 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 Borda organizada como uma pilha (LIFO) 1 2 3 6 4 5 7 8

36 (5) 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 Borda organizada como uma pilha (LIFO) 1 2 9 3 6 4 5 7 8

37 (5) 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 Borda organizada como uma pilha (LIFO) 1 2 9 3 6 10 4 5 7 8

38 (5) Busca em profundidade
Completude: Sim, somente se o espaço de estados não tiver laços 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 = bd) Custo Tempo: O(bm) 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 1 m 2 9 3 6 10 4 5 7 8 Problema -> escolha errada no início da busca = pode não encontrar a solução ou encontrar uma que tem um caminho maior b = número máximo de filhos (ou fator de ramificação) m = altura máxima da árvore Esteja certo de que entende que m  d

39 (6) 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(bl), onde l é o limite de profundidade Memória: O(bl) Alguns problemas sugerem um valor de l. (20 cidades => l =19)

40 (7) 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

41 (7) Busca com Profundidade Interativa

42 (7) Busca com Profundidade Interativa

43 (7) Busca com Profundidade Interativa

44 (7) Busca com Profundidade Interativa

45 (7) Busca com Profundidade Interativa
Completude: Sim Otimalidade: Sim (se o custo do caminho for uma função não decrescente da profundidade do nó,ou seja, quando todos os caminhos tiverem o mesmo custo) Tempo: O(bd) – alguns nós podem ser gerados várias vezes. Mas isso acontecerá nos níveis superiores 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 b = número máximo de filhos (ou fator de ramificação) d = altura do nó ótimo

46 (8) 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

47 (8) 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(bd/2) Memória: O(bd/2) Para b=10 e d=6 temos nós gerados, contra os da busca em largura

48 (9) Comparação das Estratégias de Busca
Sim1,2 Sim1 Sim Não sim1,2 sim1 Completa? Sim3,4 sim3 Sim3 Otima? O(bd/2) O(bd) O(bl) O(bm) >>bd Espaço O(bd + 1) Tempo Bidirecional (se aplicável) Profun- didade Interativa Profun- didade limitada Profun- didade Custo Uniforme Largura 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


Carregar ppt "Busca sem Informação ou Busca Cega"

Apresentações semelhantes


Anúncios Google