Ontologies Reasoning Components Agents Simulations Resolução de Problemas por Meio de Busca...
-
Upload
adelina-pedroso-aragao -
Category
Documents
-
view
219 -
download
2
Transcript of Ontologies Reasoning Components Agents Simulations Resolução de Problemas por Meio de Busca...
![Page 1: Ontologies Reasoning Components Agents Simulations Resolução de Problemas por Meio de Busca Exaustiva Jacques Robin André Felipe Santana.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706385a1a28abb8238fd87a/html5/thumbnails/1.jpg)
OntologiesReasoningComponentsAgentsSimulations
Resolução de Problemas Resolução de Problemas por Meio de Busca Exaustivapor Meio de Busca Exaustiva
Jacques RobinAndré Felipe Santana
![Page 2: Ontologies Reasoning Components Agents Simulations Resolução de Problemas por Meio de Busca Exaustiva Jacques Robin André Felipe Santana.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706385a1a28abb8238fd87a/html5/thumbnails/2.jpg)
O que é um problema?O que é um problema?
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*.
![Page 3: Ontologies Reasoning Components Agents Simulations Resolução de Problemas por Meio de Busca Exaustiva Jacques Robin André Felipe Santana.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706385a1a28abb8238fd87a/html5/thumbnails/3.jpg)
Romênia: ir de Arad a BucharestRomênia: ir de Arad a Bucharest
![Page 4: Ontologies Reasoning Components Agents Simulations Resolução de Problemas por Meio de Busca Exaustiva Jacques Robin André Felipe Santana.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706385a1a28abb8238fd87a/html5/thumbnails/4.jpg)
Antes de qualquer coisa...Antes de qualquer coisa...Formular o problemaFormular 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 5: Ontologies Reasoning Components Agents Simulations Resolução de Problemas por Meio de Busca Exaustiva Jacques Robin André Felipe Santana.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706385a1a28abb8238fd87a/html5/thumbnails/5.jpg)
A Formulação do Problema define o A Formulação do Problema define o Espaço de Estados possíveisEspaç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 6: Ontologies Reasoning Components Agents Simulations Resolução de Problemas por Meio de Busca Exaustiva Jacques Robin André Felipe Santana.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706385a1a28abb8238fd87a/html5/thumbnails/6.jpg)
A Formulação do Problema exige A Formulação do Problema exige Abstração do Mundo RealAbstraçã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 7: Ontologies Reasoning Components Agents Simulations Resolução de Problemas por Meio de Busca Exaustiva Jacques Robin André Felipe Santana.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706385a1a28abb8238fd87a/html5/thumbnails/7.jpg)
Importância de uma Formulação Importância de uma Formulação adequada do Problemaadequada 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 8: Ontologies Reasoning Components Agents Simulations Resolução de Problemas por Meio de Busca Exaustiva Jacques Robin André Felipe Santana.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706385a1a28abb8238fd87a/html5/thumbnails/8.jpg)
Importância de uma Formulação Importância de uma Formulação adequada do Problemaadequada 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 9: Ontologies Reasoning Components Agents Simulations Resolução de Problemas por Meio de Busca Exaustiva Jacques Robin André Felipe Santana.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706385a1a28abb8238fd87a/html5/thumbnails/9.jpg)
Importância de uma Formulação Importância de uma Formulação adequada do Problemaadequada 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 10: Ontologies Reasoning Components Agents Simulations Resolução de Problemas por Meio de Busca Exaustiva Jacques Robin André Felipe Santana.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706385a1a28abb8238fd87a/html5/thumbnails/10.jpg)
Mais um exemplo...Mais um exemplo...
Aspirador de pó estados = estado inicial = teste de término = operadores = custo da solução =
![Page 11: Ontologies Reasoning Components Agents Simulations Resolução de Problemas por Meio de Busca Exaustiva Jacques Robin André Felipe Santana.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706385a1a28abb8238fd87a/html5/thumbnails/11.jpg)
Busca em um Espaço de EstadosBusca 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 12: Ontologies Reasoning Components Agents Simulations Resolução de Problemas por Meio de Busca Exaustiva Jacques Robin André Felipe Santana.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706385a1a28abb8238fd87a/html5/thumbnails/12.jpg)
Busca em um Espaço de EstadosBusca 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 13: Ontologies Reasoning Components Agents Simulations Resolução de Problemas por Meio de Busca Exaustiva Jacques Robin André Felipe Santana.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706385a1a28abb8238fd87a/html5/thumbnails/13.jpg)
Busca em um Espaço de EstadosBusca 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 14: Ontologies Reasoning Components Agents Simulations Resolução de Problemas por Meio de Busca Exaustiva Jacques Robin André Felipe Santana.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706385a1a28abb8238fd87a/html5/thumbnails/14.jpg)
Busca em um Espaço de EstadosBusca 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 15: Ontologies Reasoning Components Agents Simulations Resolução de Problemas por Meio de Busca Exaustiva Jacques Robin André Felipe Santana.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706385a1a28abb8238fd87a/html5/thumbnails/15.jpg)
Busca em um Espaço de EstadosBusca 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 16: Ontologies Reasoning Components Agents Simulations Resolução de Problemas por Meio de Busca Exaustiva Jacques Robin André Felipe Santana.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706385a1a28abb8238fd87a/html5/thumbnails/16.jpg)
Estratégias de BuscaEstratégias de Busca
São definidas pela ordem de expansão de nós
Avaliação de desempenho de uma estratégia – dimensões: 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 17: Ontologies Reasoning Components Agents Simulations Resolução de Problemas por Meio de Busca Exaustiva Jacques Robin André Felipe Santana.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706385a1a28abb8238fd87a/html5/thumbnails/17.jpg)
Estratégias de Busca CegaEstratégias de Busca Cega
Busca em 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
![Page 18: Ontologies Reasoning Components Agents Simulations Resolução de Problemas por Meio de Busca Exaustiva Jacques Robin André Felipe Santana.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706385a1a28abb8238fd87a/html5/thumbnails/18.jpg)
Busca em Largura (Breadth-first)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 fim
A
B C
E FD G
Fronteira = (A)
K MI OJ LH N
![Page 19: Ontologies Reasoning Components Agents Simulations Resolução de Problemas por Meio de Busca Exaustiva Jacques Robin André Felipe Santana.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706385a1a28abb8238fd87a/html5/thumbnails/19.jpg)
Busca em Largura (Breadth-first)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 fim
A
B C
E FD G
Fronteira = (B,C)
K MI OJ LH N
![Page 20: Ontologies Reasoning Components Agents Simulations Resolução de Problemas por Meio de Busca Exaustiva Jacques Robin André Felipe Santana.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706385a1a28abb8238fd87a/html5/thumbnails/20.jpg)
Busca em Largura (Breadth-first)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 fim
A
B C
E FD G
Fronteira = (C,D,E)
K MI OJ LH N
![Page 21: Ontologies Reasoning Components Agents Simulations Resolução de Problemas por Meio de Busca Exaustiva Jacques Robin André Felipe Santana.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706385a1a28abb8238fd87a/html5/thumbnails/21.jpg)
Busca em Largura (Breadth-first)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 fim
A
B C
E FD G
Fronteira = (D,E,F,G)
K MI OJ LH N
![Page 22: Ontologies Reasoning Components Agents Simulations Resolução de Problemas por Meio de Busca Exaustiva Jacques Robin André Felipe Santana.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706385a1a28abb8238fd87a/html5/thumbnails/22.jpg)
Busca em Largura (Breadth-first)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 fim
A
B C
E FD G
Fronteira = (E,F,G,H,I)
K MI OJ LH N
![Page 23: Ontologies Reasoning Components Agents Simulations Resolução de Problemas por Meio de Busca Exaustiva Jacques Robin André Felipe Santana.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706385a1a28abb8238fd87a/html5/thumbnails/23.jpg)
Busca em Largura (Breadth-first)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 fim
A
B C
E FD G
Fronteira = (F,G,H,I,J,K)
K MI OJ LH N
![Page 24: Ontologies Reasoning Components Agents Simulations Resolução de Problemas por Meio de Busca Exaustiva Jacques Robin André Felipe Santana.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706385a1a28abb8238fd87a/html5/thumbnails/24.jpg)
Busca em Largura (Breadth-first)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 fim
A
B C
E FD G
Fronteira = (G,H,I,J,K,L,M)
K MI OJ LH N
![Page 25: Ontologies Reasoning Components Agents Simulations Resolução de Problemas por Meio de Busca Exaustiva Jacques Robin André Felipe Santana.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706385a1a28abb8238fd87a/html5/thumbnails/25.jpg)
Busca em Largura (Breadth-first)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 fim
A
B C
E FD G
Fronteira = (H,I,J,K,L,M,N,O)
K MI OJ LH N
![Page 26: Ontologies Reasoning Components Agents Simulations Resolução de Problemas por Meio de Busca Exaustiva Jacques Robin André Felipe Santana.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706385a1a28abb8238fd87a/html5/thumbnails/26.jpg)
Desempenho da Busca em Largura Desempenho da Busca em Largura (Breadth-first)(Breadth-first)
Completa?
Tempo?
Espaço?
Ótima?
Sim, desde que b (fator de ramificação) seja finito
1 + b + b2 + b3 + ... + bd + b(bd – 1) = O(bd+1), i.e., exponencial em d (fator de profundidade)
O(bd+1) (armazena cada nódulo na memória)
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 !!!!!
![Page 27: Ontologies Reasoning Components Agents Simulations Resolução de Problemas por Meio de Busca Exaustiva Jacques Robin André Felipe Santana.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706385a1a28abb8238fd87a/html5/thumbnails/27.jpg)
Busca de Custo UniformeBusca de Custo Uniforme
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ó
A C E
B
D
Cidades:
1 10
515
5 5
A
B C D1 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 28: Ontologies Reasoning Components Agents Simulations Resolução de Problemas por Meio de Busca Exaustiva Jacques Robin André Felipe Santana.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706385a1a28abb8238fd87a/html5/thumbnails/28.jpg)
• Completa?
• Tempo?
• Espaço?
• Ótima?
Desempenho da Busca de Custo Desempenho da Busca de Custo UniformeUniforme
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 29: Ontologies Reasoning Components Agents Simulations Resolução de Problemas por Meio de Busca Exaustiva Jacques Robin André Felipe Santana.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706385a1a28abb8238fd87a/html5/thumbnails/29.jpg)
Busca em ProfundidadeBusca em Profundidade (Depth-first) (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 30: Ontologies Reasoning Components Agents Simulations Resolução de Problemas por Meio de Busca Exaustiva Jacques Robin André Felipe Santana.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706385a1a28abb8238fd87a/html5/thumbnails/30.jpg)
Busca em ProfundidadeBusca em Profundidade (Depth-first) (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 = (B,C)
![Page 31: Ontologies Reasoning Components Agents Simulations Resolução de Problemas por Meio de Busca Exaustiva Jacques Robin André Felipe Santana.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706385a1a28abb8238fd87a/html5/thumbnails/31.jpg)
Busca em ProfundidadeBusca em Profundidade (Depth-first) (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 = (D,E,C)
![Page 32: Ontologies Reasoning Components Agents Simulations Resolução de Problemas por Meio de Busca Exaustiva Jacques Robin André Felipe Santana.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706385a1a28abb8238fd87a/html5/thumbnails/32.jpg)
Busca em ProfundidadeBusca em Profundidade (Depth-first) (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 = (H,I,E,C)
![Page 33: Ontologies Reasoning Components Agents Simulations Resolução de Problemas por Meio de Busca Exaustiva Jacques Robin André Felipe Santana.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706385a1a28abb8238fd87a/html5/thumbnails/33.jpg)
Busca em ProfundidadeBusca em Profundidade (Depth-first) (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 = (I,E,C)
![Page 34: Ontologies Reasoning Components Agents Simulations Resolução de Problemas por Meio de Busca Exaustiva Jacques Robin André Felipe Santana.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706385a1a28abb8238fd87a/html5/thumbnails/34.jpg)
Busca em ProfundidadeBusca em Profundidade (Depth-first) (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 = (E,C)
![Page 35: Ontologies Reasoning Components Agents Simulations Resolução de Problemas por Meio de Busca Exaustiva Jacques Robin André Felipe Santana.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706385a1a28abb8238fd87a/html5/thumbnails/35.jpg)
Busca em ProfundidadeBusca em Profundidade (Depth-first) (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 = (J,K,C)
![Page 36: Ontologies Reasoning Components Agents Simulations Resolução de Problemas por Meio de Busca Exaustiva Jacques Robin André Felipe Santana.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706385a1a28abb8238fd87a/html5/thumbnails/36.jpg)
Busca em ProfundidadeBusca em Profundidade (Depth-first) (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 = (K,C)
![Page 37: Ontologies Reasoning Components Agents Simulations Resolução de Problemas por Meio de Busca Exaustiva Jacques Robin André Felipe Santana.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706385a1a28abb8238fd87a/html5/thumbnails/37.jpg)
Busca em ProfundidadeBusca em Profundidade (Depth-first) (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 = (C)
![Page 38: Ontologies Reasoning Components Agents Simulations Resolução de Problemas por Meio de Busca Exaustiva Jacques Robin André Felipe Santana.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706385a1a28abb8238fd87a/html5/thumbnails/38.jpg)
Desempenho da Busca em Desempenho da Busca em Profundidade (Depth-first)Profundidade (Depth-first)
Completa?
Tempo?
Espaço?
Ótima?
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 39: Ontologies Reasoning Components Agents Simulations Resolução de Problemas por Meio de Busca Exaustiva Jacques Robin André Felipe Santana.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706385a1a28abb8238fd87a/html5/thumbnails/39.jpg)
Busca de Aprofundamento IterativoBusca 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 = 0AL = 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 40: Ontologies Reasoning Components Agents Simulations Resolução de Problemas por Meio de Busca Exaustiva Jacques Robin André Felipe Santana.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706385a1a28abb8238fd87a/html5/thumbnails/40.jpg)
Desempenho da Busca Desempenho da Busca por Aprofundamento Iterativopor Aprofundamento Iterativo
Completa?
Tempo?
Espaço?
Ótima?
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 41: Ontologies Reasoning Components Agents Simulations Resolução de Problemas por Meio de Busca Exaustiva Jacques Robin André Felipe Santana.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706385a1a28abb8238fd87a/html5/thumbnails/41.jpg)
Busca BidirecionalBusca 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 42: Ontologies Reasoning Components Agents Simulations Resolução de Problemas por Meio de Busca Exaustiva Jacques Robin André Felipe Santana.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706385a1a28abb8238fd87a/html5/thumbnails/42.jpg)
Busca BidirecionalBusca Bidirecional Motivação: (bd/2 + bd/2) << bd
A B
![Page 43: Ontologies Reasoning Components Agents Simulations Resolução de Problemas por Meio de Busca Exaustiva Jacques Robin André Felipe Santana.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706385a1a28abb8238fd87a/html5/thumbnails/43.jpg)
Busca BidirecionalBusca Bidirecional
A B
Infelizmente, nem sempre é aplicável! Motivação: (bd/2 + bd/2) << bd
![Page 44: Ontologies Reasoning Components Agents Simulations Resolução de Problemas por Meio de Busca Exaustiva Jacques Robin André Felipe Santana.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706385a1a28abb8238fd87a/html5/thumbnails/44.jpg)
Análise Comparativa dasAnálise Comparativa das Estratégias de Busca Cega 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 45: Ontologies Reasoning Components Agents Simulations Resolução de Problemas por Meio de Busca Exaustiva Jacques Robin André Felipe Santana.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706385a1a28abb8238fd87a/html5/thumbnails/45.jpg)
Repetição de Estados na BuscaRepetição de Estados na Busca
Soluções possíveis (Custo x Eficácia)
Não retornar ao estado “pai” Não retornar a um ancestral 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
C
D
A
B B
C CC C
![Page 46: Ontologies Reasoning Components Agents Simulations Resolução de Problemas por Meio de Busca Exaustiva Jacques Robin André Felipe Santana.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706385a1a28abb8238fd87a/html5/thumbnails/46.jpg)
Problemas com informação ParcialProblemas 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 47: Ontologies Reasoning Components Agents Simulations Resolução de Problemas por Meio de Busca Exaustiva Jacques Robin André Felipe Santana.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706385a1a28abb8238fd87a/html5/thumbnails/47.jpg)
Problemas com informação ParcialProblemas 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
....