1 / 48

Busca sem Informação ou Busca Cega

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. (1) Busca sem informação: definição. Um problema de busca é:

jenaya
Download Presentation

Busca sem Informação ou Busca Cega

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 Mamanguape Areia CG Guarabira 50 Guarabira 60 40 Esperança 40 90 Guarabira Esperança Areia 50 INÍCIO JP 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 Baía da Traição Mamanguape 20 50 FIM Areia 50 Guarabira 60 40 Esperança 40 90 50 INÍCIO JP 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 Mamanguape Areia CG Guarabira 50 Guarabira 60 40 Esperança 40 90 Guarabira Esperança Areia 50 INÍCIO JP 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 Geração da Árvore: • 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) } JP 50 Mamanguape 20 50 Guarabira Mamanguape 40 Esperança X 50 CG 30 Baía da Traição Mamanguape Areia 20 50 FIM Areia 50 Guarabira 60 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? Esperança 30 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 50 FIM Areia 50 Guarabira 60 40 Esperança 90 30 50 João Pessoa INÍCIO CG 120

  9. 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 (2) Estudo de Caso 2: problema dos sapos

  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. d (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 + b3 + ... + 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 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 2 1100 0,11 seg 1 MB 4 111.100 11 seg 106 MB 6 107 19 min 10 GB 8 109 31 horas 1 TeraB 10 1011 129 dias 101 TeraB 12 1013 35 anos 10 PentaB 14 1015 3.523 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) = 1+10+100+(1000-10) = 1101 Cada nó tem 1KB

  21. A B 5 5 S G 15 5 C (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 10

  22. A B 5 5 S G 15 5 C (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 5 1 10 A B C

  23. A B 5 5 S G 15 5 C (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 5 1 10 A B C 11 G

  24. A B 5 5 S G 15 5 C (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 5 1 10 A B C 11 10 G G

  25. A B 5 5 S G 15 5 C (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 5 1 10 A B C 11 10 G G

  26. A B 5 5 S G 15 5 C (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 1 15 1 10 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. m (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 2 9 3 6 10 4 5 7 8 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 = 123.450 nós gerados • Largura = 1.111.100 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 22.200 nós gerados, contra os 11.111.100 da busca em largura

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

More Related