Download - Resolução de Problemas por meio de busca
![Page 1: Resolução de Problemas por meio de busca](https://reader036.vdocuments.pub/reader036/viewer/2022062301/568130aa550346895d96b365/html5/thumbnails/1.jpg)
Resolução de Problemas por meio de buscaBaseado no Cap 3 de Russel, Norvig
Artificial Intelligence: a Modern Aproach
Carlos Augusto dos SantosComputação InteligenteUFS-DCOMPProf . Maria AugustaAbril/2009
![Page 2: Resolução de Problemas por meio de busca](https://reader036.vdocuments.pub/reader036/viewer/2022062301/568130aa550346895d96b365/html5/thumbnails/2.jpg)
No Cap. 2 vimos agentes reativos,◦ baseiam suas ações em um mapeamento direto de estados
de ações,◦ não podem operar bem em ambientes cujo mapeamento
seriam grande demais par armazenar e levaria muito tempo para aprender.
No Cap. 3 veremos um tipo de agente baseados em objetivos chamado Agente de Resolução de Problemas.◦ decidem o que fazer encontrando ações que levam a
estados desejáveis.
Introdução
![Page 3: Resolução de Problemas por meio de busca](https://reader036.vdocuments.pub/reader036/viewer/2022062301/568130aa550346895d96b365/html5/thumbnails/3.jpg)
Agentes de Resolução de Problemas Formulação de Problemas Busca da Solução Problemas e Soluções bem definidos Exemplos de Problemas Algoritmos Específicos
◦ Busca em Extensão◦ Busca de Custo Uniforme◦ Busca em Profundidade◦ Busca em Profundidade Limitada (Backtracking)◦ Busca em Profundidade Iterativa em Profundidade◦ Busca Bidirecional◦ Tabela Comparativa
Limitações e Dificuldades◦ Estados Repetidos◦ Informações Parciais
Roteiro
![Page 4: Resolução de Problemas por meio de busca](https://reader036.vdocuments.pub/reader036/viewer/2022062301/568130aa550346895d96b365/html5/thumbnails/4.jpg)
Problemas e Soluções bem definidos
![Page 5: Resolução de Problemas por meio de busca](https://reader036.vdocuments.pub/reader036/viewer/2022062301/568130aa550346895d96b365/html5/thumbnails/5.jpg)
Qualquer situação a ser “resolvida” por uma seqüência ações a ser executada, com vistas a atingir um objetivo;◦ Na descrição acima:Situação = estado inicial;Seqüência de Ações = operações que irão gerar uma sucessão de estados;Objetivo = estado final (ou conjunto de) desejado;
Metáfora da resolução de problemas por meio de busca:◦ Transformar um problema de raciocínio de um agente diretamente em um
problema de navegação num espaço de estados, no qual, a partir de um estado inicial, um agente pode buscar uma seqüência de ações que conduzem ao estados final desejado.
A solução de um problema é conjunto de seqüências de ações que levam de um estado inicial ao estado objetivado
Uma solução ótima é uma seqüência de ações que leva de um estado inicial ao estado objetivado com o menor custo*.
O que é um Problema?
![Page 6: Resolução de Problemas por meio de busca](https://reader036.vdocuments.pub/reader036/viewer/2022062301/568130aa550346895d96b365/html5/thumbnails/6.jpg)
Romênia: ir de Arad a Bucharest
![Page 7: Resolução de Problemas por meio de busca](https://reader036.vdocuments.pub/reader036/viewer/2022062301/568130aa550346895d96b365/html5/thumbnails/7.jpg)
Algoritmo Genérico de buscaFunção AGENTE-DE –RESOLUÇÃO-DE PROBLEMAS-SIMPLES(percepção) retorna uma ação
entradas: percepção, uma percepçãovariáveis státicas: seq, uma sequencia de ações inicialmente vazia
estado, alguma descrição dp estado atual do mundo
Objetivo, um objetivo, inicialmente nulo
Problema, uma formulação de problema
Estado <- ATUALIZAR-ESTADO(estado,percepção)se seq está vazia então faça
objetivo <- FORMULAR-OBJETIVO(estado)
problema <- FORMULAR-PROBLEMA(estado, objetivo)
seq <- BUSCA(problema)
ação <- PRIMEIRO(seq)
seq <- RESTO(seq)retornar ação
Busca da Solução
![Page 8: Resolução de Problemas por meio de busca](https://reader036.vdocuments.pub/reader036/viewer/2022062301/568130aa550346895d96b365/html5/thumbnails/8.jpg)
Antes de qualquer coisa...Formular o problema
Formular o objetivo: definir um estado final que satisfaz o agente
ex: “Estar em Bucareste”
Especificar o problema em termos de: Estado Inicial ex: “Estou em Arad” Função Sucessor S(x) = conjunto de pares ação-estado
◦ ex: S(Arad) = { (Arad→Zerind, Zerind), (Arad→Sibiu, Sibiu), ......} Teste do Objetivo: condição que é capaz de determinar se
o estado final foi alcançado◦ ex: “Estou em Bucareste?”
Custo (path cost) ex: soma de distancias, nº de ações executadas, etc.
![Page 9: Resolução de Problemas por meio de busca](https://reader036.vdocuments.pub/reader036/viewer/2022062301/568130aa550346895d96b365/html5/thumbnails/9.jpg)
A Formulação do Problema define o Espaço de Estados possíveis
O Espaço de Estados É definido implicitamente pelo estado inicial juntamente com
todos os estados alcançáveis através da função sucessora S(x).
Forma um grafo onde os nós representam estados e os arcos entre os nós representam ações.Entretanto:
Estado Corresponde a uma
configuração do mundo.Ex: “estou em Bucareste”
Nó Estrutura de Informação que compõe
uma seqüência percorrida. Ex: Nó(“Bucareste”) (1)Antecessor = Nó(“Pitesti”)Path-cost = 418 Km
Nó(“Bucareste”) (2)Antecessor = Nó(“Fagarás”)Path-cost = 450 Km
![Page 10: Resolução de Problemas por meio de busca](https://reader036.vdocuments.pub/reader036/viewer/2022062301/568130aa550346895d96b365/html5/thumbnails/10.jpg)
A Formulação do Problema exige Abstração do Mundo Real
O mundo real é absurdamente complexo: espaço de estados tem que ser abstraído para a resolução de problemas.
Estado (abstrato) = conjunto de estados reais
Ação (abstrata) = combinação complexa de ações reais, onde cada ação abstrata deveria ser “mais fácil” que o
problema original.◦ Ex: “Arad→Zerind” representa um complexo de rotas possíveis,
paradas para descanso, etc.
Solução (abstrata) = conjunto de caminhos reais que são soluções no mundo real para o problema.
![Page 11: Resolução de Problemas por meio de busca](https://reader036.vdocuments.pub/reader036/viewer/2022062301/568130aa550346895d96b365/html5/thumbnails/11.jpg)
Importância de uma Formulação adequada do Problema
O Espaço de Estados derivado da formulação do problema impacta na eficiência de busca da solução
Ex: Problema das 8 Rainhas Dispor 8 rainhas num tabuleiro de xadrez, sem que qualquer
uma delas esteja “sob ataque” das demais: não pode haver mais de uma rainha em uma mesma linha, coluna ou diagonal somente o custo da busca conta (nº de passos para a solução)
![Page 12: Resolução de Problemas por meio de busca](https://reader036.vdocuments.pub/reader036/viewer/2022062301/568130aa550346895d96b365/html5/thumbnails/12.jpg)
Importância de uma Formulação adequada do Problema Problema das 8 Rainhas - Formulação 1:
◦ estado inicial: nenhuma rainha no tabuleiro◦ operadores: adicionar uma rainha a qualquer quadrado vazio◦ teste do objetivo: 8 rainhas no tabuleiro sem ataque mútuo?
.... E assim por diante, até 64 x 63 x 62 x ..... x 57 1,8 x 1014 seqüências possíveis a serem testadas
[_,_]0:
[1,1] [1,2] [2,1]....... [1,8] [2,2] ....... [2,8] [8,1] [8,2] ....... [8,8].......
(64 estados possíveis)
1:
[1,2] [2,1]....... [1,8] [2,2] ....... [2,8] [8,1] [8,2] ....... [8,8].......
(64 x 63 estados possíveis)
2:
![Page 13: Resolução de Problemas por meio de busca](https://reader036.vdocuments.pub/reader036/viewer/2022062301/568130aa550346895d96b365/html5/thumbnails/13.jpg)
Importância de uma Formulação adequada do Problema
Problema das 8 Rainhas - Formulação 2:◦ estado inicial: nenhuma rainha no tabuleiro◦ operadores: adicionar uma rainha a qualquer quadrado da coluna mais a esquerda que
não contém nenhuma rainha◦ teste do objetivo: 8 rainhas no tabuleiro sem ataque mútuo?
.... E assim por diante, até 88 1,7 x 107 seqüências possíveis a serem testadas
[_,_]0:
[1,1] [2,1] [3,1] ....... [8,1] (8 estados possíveis)1:
[1,2] [2,2] [3,2] ....... [8,2] (8 x 8 estados possíveis)2:
1,8 x 1014 possibilidadesda formulação 1
<<
![Page 14: Resolução de Problemas por meio de busca](https://reader036.vdocuments.pub/reader036/viewer/2022062301/568130aa550346895d96b365/html5/thumbnails/14.jpg)
Busca em um Espaço de Estados Uma vez o problema bem formulado... usa-se um método de
busca para encontrar o estado final desejado.
Métodos genéricos de busca:◦ Busca exaustiva ou cega
Não sabe qual o melhor nó da fronteira a ser expandido = menor custo de caminho desse nó até um nó final (objetivo).
◦ Busca heurística - informada Estima qual o melhor nó da fronteira a ser expandido com
base em funções heurísticas => conhecimento
![Page 15: Resolução de Problemas por meio de busca](https://reader036.vdocuments.pub/reader036/viewer/2022062301/568130aa550346895d96b365/html5/thumbnails/15.jpg)
Gráfico do Espaço de Estados do Aspirador
Estados: O agente está entre duas posições que podem estar limpas ou sujas. Ou seja, há 2 X 22=8 estados possíveis
Ações: Esquerda, Direita, Aspirar Teste de Objetivo: Todos os locais limpos Custo de Caminho: 1 por ação
![Page 16: Resolução de Problemas por meio de busca](https://reader036.vdocuments.pub/reader036/viewer/2022062301/568130aa550346895d96b365/html5/thumbnails/16.jpg)
Examplo: Quebra-cabeça 8 peças
Estados: Cada peça pode estar em qualquer lugar
Ações: Mover para o espaço vazio em qualquer direção
Teste de Objetivo = Verifica se as peças estão devidamente sequenciadas
Custo de Caminho: 1 por movimento
![Page 17: Resolução de Problemas por meio de busca](https://reader036.vdocuments.pub/reader036/viewer/2022062301/568130aa550346895d96b365/html5/thumbnails/17.jpg)
Busca em um Espaço de Estados Uma vez o problema bem formulado... usa-se um método de
busca para encontrar o estado final desejado.
Métodos genéricos de busca:◦ Busca exaustiva ou cega
Não sabe qual o melhor nó da fronteira a ser expandido = menor custo de caminho desse nó até um nó final (objetivo).
◦ Busca heurística - informada Estima qual o melhor nó da fronteira a ser expandido com
base em funções heurísticas => conhecimento
![Page 18: Resolução de Problemas por meio de busca](https://reader036.vdocuments.pub/reader036/viewer/2022062301/568130aa550346895d96b365/html5/thumbnails/18.jpg)
Descrição informal do algoritmofunção BUSCA-EM-ÁRVORE(problema, estratégia)
retorna uma solução ou falhaInicializar a árvore de busca usando o estado inicial de problemarepita
se não existe nenhum candidato para expansão então retornar falha
escolher um nó para expansão de acordo com a estratégiase o nó contém um estado objetivo então retornar solução
correspondenteSenão expandir o nó e adicionar os nós restantes à arvore de busca
Busca em Árvore
![Page 19: Resolução de Problemas por meio de busca](https://reader036.vdocuments.pub/reader036/viewer/2022062301/568130aa550346895d96b365/html5/thumbnails/19.jpg)
Nosso nó será uma estrutura de dados com cinco componentes:◦ ESTADO: o estado no espaço de estados a que o nó
corresponde;◦ NÓ-PAI: O nó da árvore de busca que gerou esse nó;◦ AÇÃO: A ação que foi aplicada ao pai para gerar o nó;◦ CUSTO-DO-CAMINHO: O custo, tradicionalmente
denotado por g(n), do caminho desde o estado inicial até o nó, indicado pelos ponteiros do pai.
Árvore de busca
![Page 20: Resolução de Problemas por meio de busca](https://reader036.vdocuments.pub/reader036/viewer/2022062301/568130aa550346895d96b365/html5/thumbnails/20.jpg)
Busca em um Espaço de Estados
Arad Fagaras Oradea R.Vilcea Arad Lugoj Arad Oradea
Sibiu Timisoara Zenrid
Arad
Grafo do espaço de estados do problema
Árvore de Busca
A cada passo, a árvore de busca é expandida a partir de sua fronteira, pelos operadores definidos na sua função sucessora
![Page 21: Resolução de Problemas por meio de busca](https://reader036.vdocuments.pub/reader036/viewer/2022062301/568130aa550346895d96b365/html5/thumbnails/21.jpg)
Busca em um Espaço de Estados
Arad Fagaras Oradea R.Vilcea Arad Lugoj Arad Oradea
Sibiu Timisoara Zenrid
Arad
Grafo do espaço de estados do problema
Árvore de Busca
A cada passo, a árvore de busca é expandida a partir de sua fronteira, pelos operadores definidos na sua função sucessora
fronteira
![Page 22: Resolução de Problemas por meio de busca](https://reader036.vdocuments.pub/reader036/viewer/2022062301/568130aa550346895d96b365/html5/thumbnails/22.jpg)
Busca em um Espaço de Estados
Arad Fagaras Oradea R.Vilcea Arad Lugoj Arad Oradea
Sibiu Timisoara Zenrid
Arad
Grafo do espaço de estados do problema
Árvore de Busca
A cada passo, a árvore de busca é expandida a partir de sua fronteira, pelos operadores definidos na sua função sucessora
fronteira
![Page 23: Resolução de Problemas por meio de busca](https://reader036.vdocuments.pub/reader036/viewer/2022062301/568130aa550346895d96b365/html5/thumbnails/23.jpg)
Busca em um Espaço de Estados
Arad Fagaras Oradea R.Vilcea Arad Lugoj Arad Oradea
Sibiu Timisoara Zenrid
Arad
Grafo do espaço de estados do problema
Árvore de Busca
A cada passo, a árvore de busca é expandida a partir de sua fronteira, pelos operadores definidos na sua função sucessora
fronteira
![Page 24: Resolução de Problemas por meio de busca](https://reader036.vdocuments.pub/reader036/viewer/2022062301/568130aa550346895d96b365/html5/thumbnails/24.jpg)
Desempenho de uma Estratégia de Busca
Completude: se sempre encontra uma solução, se ela existe;
Complexidade de Tempo: em função do nº de nós gerados/expandidos;
Complexidade de Espaço: em função do nº máximo de nós armazenados em memória;
Otimização: se sempre encontra a solução de menor custo
◦ Complexidade de tempo e espaço é mensurada em termos de:b (branching) - fator máximo de ramificação da árvore de busca;d (depth) – profundidade da solução de menor custo;m – profundidade máxima do espaço de estados (que pode ser infinita)
![Page 25: Resolução de Problemas por meio de busca](https://reader036.vdocuments.pub/reader036/viewer/2022062301/568130aa550346895d96b365/html5/thumbnails/25.jpg)
Estratégias de BuscaBusca Cega ou Exaustiva
![Page 26: Resolução de Problemas por meio de busca](https://reader036.vdocuments.pub/reader036/viewer/2022062301/568130aa550346895d96b365/html5/thumbnails/26.jpg)
Exaustiva: Busca em todo espaço de estados, com sequencia sistemática de açoes que atingem todos os estados. Também chamada de Busca Cega, Sistemática ou Uniforme
Parcial: Busca num conjunto restrito de espaço de estados a partir do conhecimento a cerca de características específicas do problema ou classe de problema
Heurística: Estimativa ou conhecimento aproximado sobre a classe ou família em que o algoritmo de busca possa “confiar” para aprimorar o tempo de execução e/ou exigências de espaço;
Buscas Não-heuristicas nao são escalonáveis a grandes problemas. (pior caso é exponencial em tempo e/ou espaço)
Busca Heurística, parcial não oferece garantia de encontrar uma solução se ela existir ou a melhor solução entre muitas existentes.
Métodos de Busca
![Page 27: Resolução de Problemas por meio de busca](https://reader036.vdocuments.pub/reader036/viewer/2022062301/568130aa550346895d96b365/html5/thumbnails/27.jpg)
Busca em Extensão/Largura (Breadth-first);
Busca de Custo Uniforme;
Busca em Profundidade (Depth-first);
Busca em Profundidade Limitada (Depth-limited)
Busca de Aprofundamento Iterativo (Iterative deepening)
Busca Bidirecional
Busca Cega
![Page 28: Resolução de Problemas por meio de busca](https://reader036.vdocuments.pub/reader036/viewer/2022062301/568130aa550346895d96b365/html5/thumbnails/28.jpg)
Busca em Largura (Breadth-first)
Expande sempre o nó menos profundo ainda não expandido;◦ Fronteira é uma fila do tipo FIFO, i.e., novos sucessores são postos
no fimA
B C
E FD G
Fronteira = (A)
K MI OJ LH N
![Page 29: Resolução de Problemas por meio de busca](https://reader036.vdocuments.pub/reader036/viewer/2022062301/568130aa550346895d96b365/html5/thumbnails/29.jpg)
Busca em Largura (Breadth-first)
A
B C
E FD G
Fronteira = (B,C)
K MI OJ LH N
Expande sempre o nó menos profundo ainda não expandido;◦ Fronteira é uma fila do tipo FIFO, i.e., novos sucessores são postos
no fim
![Page 30: Resolução de Problemas por meio de busca](https://reader036.vdocuments.pub/reader036/viewer/2022062301/568130aa550346895d96b365/html5/thumbnails/30.jpg)
Busca em Largura (Breadth-first)
A
B C
E FD G
Fronteira = (C,D,E)
K MI OJ LH N
Expande sempre o nó menos profundo ainda não expandido;◦ Fronteira é uma fila do tipo FIFO, i.e., novos sucessores são postos
no fim
![Page 31: Resolução de Problemas por meio de busca](https://reader036.vdocuments.pub/reader036/viewer/2022062301/568130aa550346895d96b365/html5/thumbnails/31.jpg)
Busca em Largura (Breadth-first)
A
B C
E FD G
Fronteira = (D,E,F,G)
K MI OJ LH N
Expande sempre o nó menos profundo ainda não expandido;◦ Fronteira é uma fila do tipo FIFO, i.e., novos sucessores são postos
no fim
![Page 32: Resolução de Problemas por meio de busca](https://reader036.vdocuments.pub/reader036/viewer/2022062301/568130aa550346895d96b365/html5/thumbnails/32.jpg)
Busca em Largura (Breadth-first)
A
B C
E FD G
Fronteira = (E,F,G,H,I)
K MI OJ LH N
Expande sempre o nó menos profundo ainda não expandido;◦ Fronteira é uma fila do tipo FIFO, i.e., novos sucessores são postos
no fim
![Page 33: Resolução de Problemas por meio de busca](https://reader036.vdocuments.pub/reader036/viewer/2022062301/568130aa550346895d96b365/html5/thumbnails/33.jpg)
Busca em Largura (Breadth-first)
A
B C
E FD G
Fronteira = (F,G,H,I,J,K)
K MI OJ LH N
Expande sempre o nó menos profundo ainda não expandido;◦ Fronteira é uma fila do tipo FIFO, i.e., novos sucessores são postos
no fim
![Page 34: Resolução de Problemas por meio de busca](https://reader036.vdocuments.pub/reader036/viewer/2022062301/568130aa550346895d96b365/html5/thumbnails/34.jpg)
Busca em Largura (Breadth-first)
A
B C
E FD G
Fronteira = (G,H,I,J,K,L,M)
K MI OJ LH N
Expande sempre o nó menos profundo ainda não expandido;◦ Fronteira é uma fila do tipo FIFO, i.e., novos sucessores são postos
no fim
![Page 35: Resolução de Problemas por meio de busca](https://reader036.vdocuments.pub/reader036/viewer/2022062301/568130aa550346895d96b365/html5/thumbnails/35.jpg)
Busca em Largura (Breadth-first)
A
B C
E FD G
Fronteira = (H,I,J,K,L,M,N,O)
K MI OJ LH N
Expande sempre o nó menos profundo ainda não expandido;◦ Fronteira é uma fila do tipo FIFO, i.e., novos sucessores são postos
no fim
![Page 36: Resolução de Problemas por meio de busca](https://reader036.vdocuments.pub/reader036/viewer/2022062301/568130aa550346895d96b365/html5/thumbnails/36.jpg)
Completa?◦ Sim, desde que b (fator de ramificação) seja finito
Tempo?◦ 1 + b + b2 + b3 + ... + bd + b(bd – 1) = O(bd+1), i.e., exponencial em d (fator de
profundidade)
Espaço?◦ O(bd+1) (armazena cada nó na memória)
Ótima?◦ Em geral, não. Sim quando o custo é constante a cada passo
Espaço é o grande problema; pode facilmente gerar nódulos a 10MB/sec, o que em 24h chegaria a 860GB !!!!!
Desempenho da Busca em Largura (Breadth-first)
![Page 37: Resolução de Problemas por meio de busca](https://reader036.vdocuments.pub/reader036/viewer/2022062301/568130aa550346895d96b365/html5/thumbnails/37.jpg)
Expande sempre o próximo nó ainda não expandido que possui caminho de menor custo • Fronteira = fila de nós ordenada pelo custo do caminho até cada nó
Busca de Custo Uniforme
A C E
B
D
Cidades:
1 10
515
5 5
A
B C D
1 5 15Fronteira = (B,C,D)
A
B C D
11
5 15
Fronteira = (C, EB ,D)
EB
A
B C D
11 10
15
Fronteira = (Ec, EB ,D)
EB Ec
A
Fronteira = (A)
![Page 38: Resolução de Problemas por meio de busca](https://reader036.vdocuments.pub/reader036/viewer/2022062301/568130aa550346895d96b365/html5/thumbnails/38.jpg)
• Completa?
• Tempo?
• Espaço?
• Ótima?
Desempenho da Busca de Custo Uniforme
Sim, desde que o custo de cada nó 0
Nº de nós com custo(nó) < custo(solução ótima)
Sim, já q os nódulos expandem em ordem crescente de custo(nó)
Nº de nós com custo(nó) < custo(solução ótima)
Se o custo dos nós de um mesmo nível for igual, o desempenho é equivalente ao da Busca em Largura
![Page 39: Resolução de Problemas por meio de busca](https://reader036.vdocuments.pub/reader036/viewer/2022062301/568130aa550346895d96b365/html5/thumbnails/39.jpg)
Busca em Profundidade (Depth-first)
Expande sempre o nó mais profundo ainda não expandido;◦ Fronteira é uma fila do tipo LIFO, i.e., novos sucessores são postos no
início
A
B C
E FD G
J LH NK MI O
Fronteira = (A)
![Page 40: Resolução de Problemas por meio de busca](https://reader036.vdocuments.pub/reader036/viewer/2022062301/568130aa550346895d96b365/html5/thumbnails/40.jpg)
Busca em Profundidade (Depth-first)
A
B C
E FD G
J LH NK MI O
Fronteira = (B,C)
Expande sempre o nó mais profundo ainda não expandido;◦ Fronteira é uma fila do tipo LIFO, i.e., novos sucessores são postos no
início
![Page 41: Resolução de Problemas por meio de busca](https://reader036.vdocuments.pub/reader036/viewer/2022062301/568130aa550346895d96b365/html5/thumbnails/41.jpg)
Busca em Profundidade (Depth-first)
A
B C
E FD G
J LH NK MI O
Fronteira = (D,E,C)
Expande sempre o nó mais profundo ainda não expandido;◦ Fronteira é uma fila do tipo LIFO, i.e., novos sucessores são postos no
início
![Page 42: Resolução de Problemas por meio de busca](https://reader036.vdocuments.pub/reader036/viewer/2022062301/568130aa550346895d96b365/html5/thumbnails/42.jpg)
Busca em Profundidade (Depth-first)
A
B C
E FD G
J LH NK MI O
Fronteira = (H,I,E,C)
Expande sempre o nó mais profundo ainda não expandido;◦ Fronteira é uma fila do tipo LIFO, i.e., novos sucessores são postos no
início
![Page 43: Resolução de Problemas por meio de busca](https://reader036.vdocuments.pub/reader036/viewer/2022062301/568130aa550346895d96b365/html5/thumbnails/43.jpg)
Busca em Profundidade (Depth-first)
A
B C
E FD G
J LH NK MI O
Fronteira = (I,E,C)
Expande sempre o nó mais profundo ainda não expandido;◦ Fronteira é uma fila do tipo LIFO, i.e., novos sucessores são postos no
início
![Page 44: Resolução de Problemas por meio de busca](https://reader036.vdocuments.pub/reader036/viewer/2022062301/568130aa550346895d96b365/html5/thumbnails/44.jpg)
Busca em Profundidade (Depth-first)
A
B C
E FD G
J LH NK MI O
Fronteira = (E,C)
Expande sempre o nó mais profundo ainda não expandido;◦ Fronteira é uma fila do tipo LIFO, i.e., novos sucessores são postos no
início
![Page 45: Resolução de Problemas por meio de busca](https://reader036.vdocuments.pub/reader036/viewer/2022062301/568130aa550346895d96b365/html5/thumbnails/45.jpg)
Busca em Profundidade (Depth-first)
A
B C
E FD G
J LH NK MI O
Fronteira = (J,K,C)
Expande sempre o nó mais profundo ainda não expandido;◦ Fronteira é uma fila do tipo LIFO, i.e., novos sucessores são postos no
início
![Page 46: Resolução de Problemas por meio de busca](https://reader036.vdocuments.pub/reader036/viewer/2022062301/568130aa550346895d96b365/html5/thumbnails/46.jpg)
Busca em Profundidade (Depth-first)
A
B C
E FD G
J LH NK MI O
Fronteira = (K,C)
Expande sempre o nó mais profundo ainda não expandido;◦ Fronteira é uma fila do tipo LIFO, i.e., novos sucessores são postos no
início
![Page 47: Resolução de Problemas por meio de busca](https://reader036.vdocuments.pub/reader036/viewer/2022062301/568130aa550346895d96b365/html5/thumbnails/47.jpg)
Busca em Profundidade (Depth-first)
A
B C
E FD G
J LH NK MI O
Fronteira = (C)
Expande sempre o nó mais profundo ainda não expandido;◦ Fronteira é uma fila do tipo LIFO, i.e., novos sucessores são postos no
início
![Page 48: Resolução de Problemas por meio de busca](https://reader036.vdocuments.pub/reader036/viewer/2022062301/568130aa550346895d96b365/html5/thumbnails/48.jpg)
Completa?
Tempo?
Espaço?
Ótima?
Desempenho da Busca em Profundidade (Depth-first)
Não: falha em árvores de profundidade infinita. Nesse caso, pode-se arbitrar um limite de profundidade L: Depth-limited search
O(bm): muito ruim se m >> d (m profundidade máxima, d profundidade da solução)
O(b.m), i.e., função de crescimento linear
Não: deve ser evitada em árvores muito profundas ou profundidade infinita
![Page 49: Resolução de Problemas por meio de busca](https://reader036.vdocuments.pub/reader036/viewer/2022062301/568130aa550346895d96b365/html5/thumbnails/49.jpg)
Busca de Aprofundamento Iterativo Variação da Busca em Profundidade, que utiliza um limite de
profundidade L, que inicia em 0 e vai sendo incrementado de 1, a cada iteração.
A
A
B C
A
B C
D E D E
A
B C
D E
A
B C
D E D E
AL = 0
AL = 1 A
B C
A
B C
AL = 2 A
B C
A
B C
D E
A
B C
D E
A
B C
D E D E
![Page 50: Resolução de Problemas por meio de busca](https://reader036.vdocuments.pub/reader036/viewer/2022062301/568130aa550346895d96b365/html5/thumbnails/50.jpg)
Completa?
Tempo?
Espaço?
Ótima?
Desempenho da Busca por Aprofundamento Iterativo
Sim, desde que b (fator de ramificação) seja finito
O(bd) (b fator de ramificação, d profundidade do nó objetivado)
O(b.d) (b fator de ramificação, d profundidade do nó objetivado)
Em geral, não. Sim quando o custo é constante a cada passo
Em geral, é o método de Busca Cega preferido para grandes espaçosde busca e quando a profundidade da solução é desconhecida
![Page 51: Resolução de Problemas por meio de busca](https://reader036.vdocuments.pub/reader036/viewer/2022062301/568130aa550346895d96b365/html5/thumbnails/51.jpg)
Busca Bidirecional Princípio básico - dois agentes de busca agindo em paralelo,
onde a cada expansão de nós verifica-se a existência de interseção entre as respectivas fronteiras de suas árvores de busca.
A B
![Page 52: Resolução de Problemas por meio de busca](https://reader036.vdocuments.pub/reader036/viewer/2022062301/568130aa550346895d96b365/html5/thumbnails/52.jpg)
Busca Bidirecional Motivação: (bd/2 + bd/2) << bd
A B
![Page 53: Resolução de Problemas por meio de busca](https://reader036.vdocuments.pub/reader036/viewer/2022062301/568130aa550346895d96b365/html5/thumbnails/53.jpg)
Motivação: (bd/2 + bd/2) << bd
Busca Bidirecional
A B
Infelizmente, nem sempre é aplicável!
![Page 54: Resolução de Problemas por meio de busca](https://reader036.vdocuments.pub/reader036/viewer/2022062301/568130aa550346895d96b365/html5/thumbnails/54.jpg)
Análise Comparativa das Estratégias de Busca Cega
Critério Largura CustoUniforme
Profun-Didade
Aprofund.Iterativo
Bidirecional(se aplicável)
Completa? Sim* Sim* Não Sim* Sim*
Tempo bd+1 bd* bm bd bd/2
Espaço bd+1 bd* b.m b.d bd/2
Ótima? Sim* Sim Não Sim* Sim*
![Page 55: Resolução de Problemas por meio de busca](https://reader036.vdocuments.pub/reader036/viewer/2022062301/568130aa550346895d96b365/html5/thumbnails/55.jpg)
Repetição de Estados na Busca
A
B
C
D
Soluções possíveis (Custo x Eficácia)
1. Não retornar ao estado “pai”2. Não retornar a um ancestral3. Não gerar qualquer estado que já
tenha sido criado antes (em qualquer ramo)
◦ requer que todos os estados gerados permaneçam na memória: custo O(bd)
◦ pode ser implementado mais eficientemente com hash tables
◦ quando encontra nó igual tem de escolher o melhor (menor custo de caminho até então)
A
B B
C CC C
![Page 56: Resolução de Problemas por meio de busca](https://reader036.vdocuments.pub/reader036/viewer/2022062301/568130aa550346895d96b365/html5/thumbnails/56.jpg)
Problemas com informação Parcial
Sensorless or conformant problem (ambiente inacessíveis)◦ Agente não sabe seu estado inicial (percepção deficiente)◦ Deve raciocinar sobre os conjuntos de estados◦ Solução: seqüência de ações (via busca)
Problema de contingência ◦ Efeito das ações não-determinístico e/ou mundo parcialmente
observável => novas percepções depois de ação ex. aspirador que suja ao sugar e/ou só percebe sujeira localmente
◦ Solução: árvore de decisão (via planejamento, agente deliberativo)
Problema exploratório (on-line)◦ Espaço de estados desconhecido
ex. dirigir sem mapa◦ Solução.... via aprendizagem por reforço (agente indutivo situado)
![Page 57: Resolução de Problemas por meio de busca](https://reader036.vdocuments.pub/reader036/viewer/2022062301/568130aa550346895d96b365/html5/thumbnails/57.jpg)
Problemas com informação Parcial
Estado simples◦ Início: 5◦ Solução: [dir, suga]
Conformant problem◦ Início: {1,2,3,4,5,6,7,8}◦ Dica: direita => {2,4,6,8}◦ Solução: [dir, suga, esq, suga]
Problema de contingência◦ Início: [lado esq, sujo] = {1,3} ◦ Solução? Sugar => {5,7}, Dir =>
{6,8}, Sugar no 6 => 8 mas sugar no 8 => 6
◦ Solução: [sugar, dir, se sujo sugar]◦ Solução geral: [dir, se sujo suga, esq,
se sujo suga] Problema exploratório
◦ ....
![Page 58: Resolução de Problemas por meio de busca](https://reader036.vdocuments.pub/reader036/viewer/2022062301/568130aa550346895d96b365/html5/thumbnails/58.jpg)
Referências:◦ Russel e Norvig, Artificial Intelligence: a Modern Aproach,
2ed, Elsevier;◦ Russel e Norvig, Inteligencia Artificial, Tradução da 2ed,
Ed, Campos;◦ Santana, André F, Resolução de Problemas por Meio de
Busca Cega no Espaço Extensional de Hipótese, UFPE, 2003
Acessado em 08/04/2011 no link http://www.cin.ufpe.br/~in1006/2003/ExhaustiveSearch.ppt
FIM