![Page 2: Busca não informada Capítulo 3 - IME-USPleliane/IAcurso2006/slides/Aula4...3 Algoritmo de busca geral função Busca-Geral(problema, estratégia) devolve uma solução, ou falha](https://reader035.vdocuments.com.br/reader035/viewer/2022062920/5f0266227e708231d404156b/html5/thumbnails/2.jpg)
2
Agente baseado em metas• Formulação de problema
– estado inicial: – ações: – função custo: – teste de meta:
• Nós da árvore de busca -– estado– o nó pai– ação– profundidade– o custo do caminho da
raiz até o nó
• Árvore de Busca
![Page 3: Busca não informada Capítulo 3 - IME-USPleliane/IAcurso2006/slides/Aula4...3 Algoritmo de busca geral função Busca-Geral(problema, estratégia) devolve uma solução, ou falha](https://reader035.vdocuments.com.br/reader035/viewer/2022062920/5f0266227e708231d404156b/html5/thumbnails/3.jpg)
3
Algoritmo de busca geralfunção Busca-Geral(problema, estratégia) devolve uma solução, ou
falhainicializa a árvore de busca com o estado inicial do problemalaço faça
se não há mais candidatos para expandir então devolve falhaescolha um nó folha para expandirse o nó contém um estado meta então devolve a soluçãosenão expanda o nó de acordo com a estratégia
fim
Obs: estratégia = QUEUING-FN
![Page 4: Busca não informada Capítulo 3 - IME-USPleliane/IAcurso2006/slides/Aula4...3 Algoritmo de busca geral função Busca-Geral(problema, estratégia) devolve uma solução, ou falha](https://reader035.vdocuments.com.br/reader035/viewer/2022062920/5f0266227e708231d404156b/html5/thumbnails/4.jpg)
4
Estratégias de busca• A estratégia de busca é definida pela ordem em que nós
são expandidos• Estratégias são avaliadas através das seguintes
dimensões:– completeza (encontra a solução se existir uma) – complexidade de tempo (número de nós gerados e expandidos)– complexidade de espaço (número de nós na memória)– solução ótima (encontra a solução de menor custo)
![Page 5: Busca não informada Capítulo 3 - IME-USPleliane/IAcurso2006/slides/Aula4...3 Algoritmo de busca geral função Busca-Geral(problema, estratégia) devolve uma solução, ou falha](https://reader035.vdocuments.com.br/reader035/viewer/2022062920/5f0266227e708231d404156b/html5/thumbnails/5.jpg)
5
Estratégias de busca
• Complexidade é medida em termos de:b - fator de ramificação da árvore de buscad - profundidade da solução de menor custom - profundidade máxima do espaço de busca
![Page 6: Busca não informada Capítulo 3 - IME-USPleliane/IAcurso2006/slides/Aula4...3 Algoritmo de busca geral função Busca-Geral(problema, estratégia) devolve uma solução, ou falha](https://reader035.vdocuments.com.br/reader035/viewer/2022062920/5f0266227e708231d404156b/html5/thumbnails/6.jpg)
6
Estratégias de busca não-informadaVariam quanto a ordem em que nós são expandidos:
– Busca em largura - Breadth first– Busca de custo uniforme– Busca em profundidade - Depth first– Busca em profundidade limitada– Busca em profundidade iterativa– Busca bidirecional
Não possuem informação sobre a distância do nó àmeta.
![Page 7: Busca não informada Capítulo 3 - IME-USPleliane/IAcurso2006/slides/Aula4...3 Algoritmo de busca geral função Busca-Geral(problema, estratégia) devolve uma solução, ou falha](https://reader035.vdocuments.com.br/reader035/viewer/2022062920/5f0266227e708231d404156b/html5/thumbnails/7.jpg)
7
Estratégias de busca não-informada(outros nomes)• Busca cega• Busca exaustiva• Busca completa• Busca de força bruta• Busca sistemática
![Page 8: Busca não informada Capítulo 3 - IME-USPleliane/IAcurso2006/slides/Aula4...3 Algoritmo de busca geral função Busca-Geral(problema, estratégia) devolve uma solução, ou falha](https://reader035.vdocuments.com.br/reader035/viewer/2022062920/5f0266227e708231d404156b/html5/thumbnails/8.jpg)
8
Busca em Largura
QUEUING-FN at-end
![Page 9: Busca não informada Capítulo 3 - IME-USPleliane/IAcurso2006/slides/Aula4...3 Algoritmo de busca geral função Busca-Geral(problema, estratégia) devolve uma solução, ou falha](https://reader035.vdocuments.com.br/reader035/viewer/2022062920/5f0266227e708231d404156b/html5/thumbnails/9.jpg)
9
K
G
C
F
J
N
I
M
O
H
B
L
D
A
E
A BDG CEKL EFODH IICO M NF JI ...
A
GB D
KC LE
E OF HD
C
I
II
M
FN
J
O
Busca em Largura
Busca em Largura
![Page 10: Busca não informada Capítulo 3 - IME-USPleliane/IAcurso2006/slides/Aula4...3 Algoritmo de busca geral função Busca-Geral(problema, estratégia) devolve uma solução, ou falha](https://reader035.vdocuments.com.br/reader035/viewer/2022062920/5f0266227e708231d404156b/html5/thumbnails/10.jpg)
10
Algoritmo de busca em largurafunção Busca-Geral(problema, estratégia) devolve uma solução, ou
falhainicializa a árvore de busca com o estado inicial do problemalaço faça
se não há mais candidatos para expandir então devolve falhaescolha um nó folha para expandirse o nó contém um estado meta então devolve a soluçãosenão expanda o nó de acordo com a estratégia
fim
Obs: estratégia = fila (FIFO)
![Page 11: Busca não informada Capítulo 3 - IME-USPleliane/IAcurso2006/slides/Aula4...3 Algoritmo de busca geral função Busca-Geral(problema, estratégia) devolve uma solução, ou falha](https://reader035.vdocuments.com.br/reader035/viewer/2022062920/5f0266227e708231d404156b/html5/thumbnails/11.jpg)
11
Propriedades da busca em largura
• Completa?• Solução ótima?• Tempo?• Espaço?
![Page 12: Busca não informada Capítulo 3 - IME-USPleliane/IAcurso2006/slides/Aula4...3 Algoritmo de busca geral função Busca-Geral(problema, estratégia) devolve uma solução, ou falha](https://reader035.vdocuments.com.br/reader035/viewer/2022062920/5f0266227e708231d404156b/html5/thumbnails/12.jpg)
12
Propriedades da busca em largura
• Completa? Sim. Garante encontrar a solução (se existir uma)
• Solução ótima? Sempre encontra primeiro a solução mais rasa. Solução ótima primeiro se a função custo for não-decrescente com a profundidade do nó.
• Tempo? l + b + b2 + b3 + ... + bd = O(bd)• Espaço? O(bd) (guarda todos os nós na memória)
![Page 13: Busca não informada Capítulo 3 - IME-USPleliane/IAcurso2006/slides/Aula4...3 Algoritmo de busca geral função Busca-Geral(problema, estratégia) devolve uma solução, ou falha](https://reader035.vdocuments.com.br/reader035/viewer/2022062920/5f0266227e708231d404156b/html5/thumbnails/13.jpg)
13
Busca em larguraProf. Nós Tempo Memória0 1 1 ms 100 bytes2 111 .1 s 11 Kbytes4 11.111 11 s 1 Mbytes6 106 18 min 111 Mbytes8 108 31 hs 11 Gbytes10 1010 128 dias 1 Tbytes12 1012 35 anos 111 Tbytes14 1014 3500 anos 11.111 Tbytes
B=10 1000 nós/seg 100 bytes/nó
![Page 14: Busca não informada Capítulo 3 - IME-USPleliane/IAcurso2006/slides/Aula4...3 Algoritmo de busca geral função Busca-Geral(problema, estratégia) devolve uma solução, ou falha](https://reader035.vdocuments.com.br/reader035/viewer/2022062920/5f0266227e708231d404156b/html5/thumbnails/14.jpg)
14
Busca em largura (BFS)
• Desvantagens:– complexidade exponencial: O(bd)– problema de memória maior que o de tempo
• Vantagens:– garante encontrar a solução– encontra a solução mais próxima da raiz
g(n) = Profundidade(n)
![Page 15: Busca não informada Capítulo 3 - IME-USPleliane/IAcurso2006/slides/Aula4...3 Algoritmo de busca geral função Busca-Geral(problema, estratégia) devolve uma solução, ou falha](https://reader035.vdocuments.com.br/reader035/viewer/2022062920/5f0266227e708231d404156b/html5/thumbnails/15.jpg)
15
Busca de custo uniforme
Problema de roteamento
C
A
GS
1 10
515
5 5
S0
A
S
51B C
15
A
S
5
11
B C15
A
S
1011
B C15
G
G G
B
![Page 16: Busca não informada Capítulo 3 - IME-USPleliane/IAcurso2006/slides/Aula4...3 Algoritmo de busca geral função Busca-Geral(problema, estratégia) devolve uma solução, ou falha](https://reader035.vdocuments.com.br/reader035/viewer/2022062920/5f0266227e708231d404156b/html5/thumbnails/16.jpg)
16
Busca em profundidade (DFS)
Expande os nós de profundidade maior / b*m nós armazenados
QUEUING-FN at-front
![Page 17: Busca não informada Capítulo 3 - IME-USPleliane/IAcurso2006/slides/Aula4...3 Algoritmo de busca geral função Busca-Geral(problema, estratégia) devolve uma solução, ou falha](https://reader035.vdocuments.com.br/reader035/viewer/2022062920/5f0266227e708231d404156b/html5/thumbnails/17.jpg)
17
Busca em profundidade
profundidade d
Loop infinito
profundidade máxima m
![Page 18: Busca não informada Capítulo 3 - IME-USPleliane/IAcurso2006/slides/Aula4...3 Algoritmo de busca geral função Busca-Geral(problema, estratégia) devolve uma solução, ou falha](https://reader035.vdocuments.com.br/reader035/viewer/2022062920/5f0266227e708231d404156b/html5/thumbnails/18.jpg)
18
Algoritmo de busca emprofundidade
função Busca-Geral(problema, estratégia) devolve uma solução, oufalhainicializa a árvore de busca com o estado inicial do problemalaço faça
se não há mais candidatos para expandir então devolve falhaescolha um nó folha para expandirse o nó contém um estado meta então devolve a soluçãosenão expanda o nó de acordo com a estratégia
fim
Obs: estratégia = pilha (LILO)
![Page 19: Busca não informada Capítulo 3 - IME-USPleliane/IAcurso2006/slides/Aula4...3 Algoritmo de busca geral função Busca-Geral(problema, estratégia) devolve uma solução, ou falha](https://reader035.vdocuments.com.br/reader035/viewer/2022062920/5f0266227e708231d404156b/html5/thumbnails/19.jpg)
19
Propriedades da busca em profundidade
• Completa?• Tempo?• Espaço?• Solução ótima?
![Page 20: Busca não informada Capítulo 3 - IME-USPleliane/IAcurso2006/slides/Aula4...3 Algoritmo de busca geral função Busca-Geral(problema, estratégia) devolve uma solução, ou falha](https://reader035.vdocuments.com.br/reader035/viewer/2022062920/5f0266227e708231d404156b/html5/thumbnails/20.jpg)
20
Propriedades da busca em profundidade
• Completa? Não. Falha em espaços com profundidade infinita, ou com loops. Se modificadopara evitar estados repetidos é completo em espaçosfinitos
• Tempo? O(bm): ruim se m é muito maior que d• Espaço? O(bm) linear com m• Solução ótima? Não
DFS pode realizar ciclos infinitos. Requer um espaço de busca finito e não cíclico (cheque por estados repetidos)
![Page 21: Busca não informada Capítulo 3 - IME-USPleliane/IAcurso2006/slides/Aula4...3 Algoritmo de busca geral função Busca-Geral(problema, estratégia) devolve uma solução, ou falha](https://reader035.vdocuments.com.br/reader035/viewer/2022062920/5f0266227e708231d404156b/html5/thumbnails/21.jpg)
21
Busca em profundidade (DFS)• Expande os nós de profundidade maior
– requer pouca memória (bm versus bm)
– não garante encontrar a solução ótima.– não recomendado para grandes árvores de busca ou
quando a profundidade máxima é desconhecida.
Busca Prof. Nós MemóriaBFS 12 1012 111 TbytesDFS 12 120 12 Kbytes
![Page 22: Busca não informada Capítulo 3 - IME-USPleliane/IAcurso2006/slides/Aula4...3 Algoritmo de busca geral função Busca-Geral(problema, estratégia) devolve uma solução, ou falha](https://reader035.vdocuments.com.br/reader035/viewer/2022062920/5f0266227e708231d404156b/html5/thumbnails/22.jpg)
22
Busca em profundidade limitada
• Exemplo de roteamento no mapa daRomenia: caminho máximo: passar pelas 20 cidades
• Mesma complexidade da DFS • Tempo? O(bl)• Espaço? O(bl)
![Page 23: Busca não informada Capítulo 3 - IME-USPleliane/IAcurso2006/slides/Aula4...3 Algoritmo de busca geral função Busca-Geral(problema, estratégia) devolve uma solução, ou falha](https://reader035.vdocuments.com.br/reader035/viewer/2022062920/5f0266227e708231d404156b/html5/thumbnails/23.jpg)
23
Busca em profundidade limitada
OradeaZerind
Arad
Timisoara
Lugoj
Mehadia
Dobrete Craiova
Sibiu
Rimnicu Vilcea
Fagaras
PitesteBucharest
Giurgiu
Urziceni
Neamt
Iasi
Vaslui
Hisrova
Eforie
Profundidade máxima para 20 cidades: 19
![Page 24: Busca não informada Capítulo 3 - IME-USPleliane/IAcurso2006/slides/Aula4...3 Algoritmo de busca geral função Busca-Geral(problema, estratégia) devolve uma solução, ou falha](https://reader035.vdocuments.com.br/reader035/viewer/2022062920/5f0266227e708231d404156b/html5/thumbnails/24.jpg)
24
Busca em profundidade iterativa
...
Limite = 0
Limite = 1
Limite = 2
Limite = 3
![Page 25: Busca não informada Capítulo 3 - IME-USPleliane/IAcurso2006/slides/Aula4...3 Algoritmo de busca geral função Busca-Geral(problema, estratégia) devolve uma solução, ou falha](https://reader035.vdocuments.com.br/reader035/viewer/2022062920/5f0266227e708231d404156b/html5/thumbnails/25.jpg)
25
Propriedades da busca emprofundidade iterativa• Completa? Sim• Tempo? O(bd)• Espaço? O(bd) • Solução ótima? Sim, se custo = l (por passo).
![Page 26: Busca não informada Capítulo 3 - IME-USPleliane/IAcurso2006/slides/Aula4...3 Algoritmo de busca geral função Busca-Geral(problema, estratégia) devolve uma solução, ou falha](https://reader035.vdocuments.com.br/reader035/viewer/2022062920/5f0266227e708231d404156b/html5/thumbnails/26.jpg)
26
Busca em profundidade
K
G
C
F
J
N
I
M
O
H
B
L
D
A
E
AB DCEIMNJ FI F MNJ FI ...
A
GB D
KC LE
E OF HD
C
I
II
M
FN
J
O
backtrackingAB DCEIMNJ FI F E GKOI ...Evitando nós repetidos:
![Page 27: Busca não informada Capítulo 3 - IME-USPleliane/IAcurso2006/slides/Aula4...3 Algoritmo de busca geral função Busca-Geral(problema, estratégia) devolve uma solução, ou falha](https://reader035.vdocuments.com.br/reader035/viewer/2022062920/5f0266227e708231d404156b/html5/thumbnails/27.jpg)
27
Busca em profundidade iterativa
K
G
C
F
J
N
I
M
O
H
B
L
D
A
E
A
GB D
KC LE
E OF HD
C
I
II
M
FN
J
O
AA B D GA B D C E G K LA B D C E F E I G K O L D H
IJ
![Page 28: Busca não informada Capítulo 3 - IME-USPleliane/IAcurso2006/slides/Aula4...3 Algoritmo de busca geral função Busca-Geral(problema, estratégia) devolve uma solução, ou falha](https://reader035.vdocuments.com.br/reader035/viewer/2022062920/5f0266227e708231d404156b/html5/thumbnails/28.jpg)
28
Direções de busca
• Encadeamento para frente (Forward chaining): – começa do estado atual até encontrar o estado.– gera sucessores
• Encadeamento para trás (Backward chaining): – começa do estado gol até encontrar o estado atual do
mundo (só possível se o estado meta for conhecido).– gera precessores (operadores reversíveis ?)
• Biderecional ...depende da estrutura do espaço de problema
![Page 29: Busca não informada Capítulo 3 - IME-USPleliane/IAcurso2006/slides/Aula4...3 Algoritmo de busca geral função Busca-Geral(problema, estratégia) devolve uma solução, ou falha](https://reader035.vdocuments.com.br/reader035/viewer/2022062920/5f0266227e708231d404156b/html5/thumbnails/29.jpg)
29
Exemplos de direções:
• 8-puzzle: gol e estado inicial sãoconhecidos
• 8-rainhas, xadrez: o gol não é explícito
![Page 30: Busca não informada Capítulo 3 - IME-USPleliane/IAcurso2006/slides/Aula4...3 Algoritmo de busca geral função Busca-Geral(problema, estratégia) devolve uma solução, ou falha](https://reader035.vdocuments.com.br/reader035/viewer/2022062920/5f0266227e708231d404156b/html5/thumbnails/30.jpg)
30
Busca bidirecional
• útil se o estado inicial e o gol são conhecidos• similar a busca de custo uniforme com a
diferença de começar a busca com o estadoinicial e gol, expandindo nós em ambas as direções com a esperança de se encontraremno meio
• Alternativas: – Expande alternativamente a partir dos dois lados– Expande o lado com menor número de nós na lista
![Page 31: Busca não informada Capítulo 3 - IME-USPleliane/IAcurso2006/slides/Aula4...3 Algoritmo de busca geral função Busca-Geral(problema, estratégia) devolve uma solução, ou falha](https://reader035.vdocuments.com.br/reader035/viewer/2022062920/5f0266227e708231d404156b/html5/thumbnails/31.jpg)
31
Propriedades da busca biderecional
• Completa? Sim• Tempo? O(bd/2)• Espaço? O(bd/2) (guarda todos os nós na
memória)• Solução ótima? Sim