Escolar Documentos
Profissional Documentos
Cultura Documentos
Notícias de IA
Notícias de IA
Notícias de IA
Notícias de IA
Notícias de IA
Notícias de IA
Notícias de IA
Notícias de IA
Notícias de IA
Notícias de IA
Notícias de IA
Universidade Federal do ABC
Centro de Matemática, Computação e Cognição
Santo André - SP
Setembro - 2022
1 - Estratégias de busca sem informação
Direção da ramificação:
1. Do estado inicial para um estado final
2. De um estado final para o estado inicial
3. Busca bidirecional
Considerações sobre desempenho
Obtenção da solução (completeness)
O algoritmo garante encontrar a solução quando ela existe?
Otimização
A estratégia encontra a solução ótima?
Para passos com igual custo, a solução ótima é aquela em
menor profundidade na árvore de busca
Solução ótima B C
D E F G
Considerações sobre desempenho
Complexidade de tempo
Quanto tempo o algoritmo leva para encontrar uma solução?
Complexidade de espaço
Quanta memória é necessária para executar a busca?
Exemplo:
b = fator de ramificação = 2
d = profundidade da solução ótima (mais rasa) = 1
m = profundidade máxima da árvore de busca = 2
A Profundidade/nível 0
D E F G Profundidade/nível 2
1.1 - Busca em Largura/Extensão
A Nó raiz
B C Profundidade/nível 1
D E F G Profundidade/nível 2
1.1 - Busca em Largura/Extensão
A A A A
B C B C B C B C
D E F G D E F G D E F G D E F G
A A A A
B C B C B C B C
D E F G D E F G D E F G D E F G
ABCDEFG
1.1 - Busca em Largura/Extensão
Fronteira pode ser vista como uma fila
Novos sucessores são colocados no final
O primeiro da fila é selecionado a cada passo
Árvore de busca:
A A A A
B C B C B C B C
D E F G D E F G D E F G D E F G
Fila:
A B C C D E D E F G
1.1 - Busca em Largura/Extensão
É completa
Quando o nó objetivo encontra-se em uma profundidade finita e dado
que o fator de ramificação seja finito.
Cada nó gerado tem que ser mantido na memória, pois ele é parte da
fronteira ou é ancestral de um nó da fronteira
Na busca em largura:
• g(n) = profundidade (n)
1.2 - Busca de Custo Uniforme
F = {S}
F = {A, B, C}
• Testa A, expande-o e
guarda seu filho Ga
ordenadamente
– Obs.: O algoritmo de
geração e teste guarda na
fronteira todos os nós
gerados, testando se um nó
é o objetivo apenas quando
ele é retirado da fila
1.2 - Busca de Custo Uniforme
F= {B, Ga, C}
F= {Gb, Ga, C}
• Testa Gc e para
1.2 - Busca de Custo Uniforme
A Nó raiz
B C Profundidade/nível 1
D E F G Profundidade/nível 2
A A A A
B C B C B C B C
D E F G D E F G D E F G D E F G
A A A A
B C B C B C B C
D E F G D E F G D E F G D E F G
ABDECFG
1.3 - Busca em Profundidade
Fronteira pode ser vista como uma pilha
Os novos sucessores são colocados no início
O último ou o topo da pilha é selecionado a cada passo
Árvore de busca:
A A A A
B C B C B C B C
D E F G D E F G D E F G D E F G
Pilha:
A B D E
C E C
C
1.3 - Busca em profundidade
Profundidade máxima m
B C B C B C B C
D E F G D E F G D E F G D E F G
A ABC ABCDE ABCE
A A A A
B C B C B C B C
D E F G D E F G D E F G D E F G
AC ACFG ACG ACG
1.3 - Busca em Profundidade
Ex.: Romênia
Há 20 cidades
Limite = 0
A A
A
1.5 - Busca por aprofundamento iterativo
Limite = 1
A A A A
B C B C B C B C
A ABC AC
1.5 - Busca por aprofundamento iterativo
Limite = 2
A A A A
B C B C B C B C
D E F G D E F G D E F G D E F G
A ABC ABCDE ABCE
A A A A
B C B C B C B C
D E F G D E F G D E F G D E F G
AC ACFG ACG ACG
1.5 - Busca por aprofundamento iterativo
Custo não é muito alto, pois a maior parte dos nós estará em
níveis inferiores
Ex.:
b = 10, d = 5;
nós(BAI) = 50 + 400 + 3.000 + 20.000 + 100.000 = 123.450
nós(BL) = 10 + 100 + 1.000 + 10.000 + 100.000 + 999.990 = 1.111.110
nós(BP) = 10 + 100 + 1.000 + 10.000 + 100.000 = 111.110
Overhead = (123.450 – 111.110) / 111.110 = 11%
1.5 - Busca por aprofundamento iterativo
Idéia:
podar estados repetidos, para gerar apenas a parte da árvore que
corresponde ao grafo do espaço de estados (que é finito!)
mesmo quando esta árvore é finita ... evitar estados repetidos pode reduzir
exponencialmente o custo da busca
3 - Como evitar estados repetidos
3. 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 de memória: O(bd)
4 - Exercício
Para o problema da Romênia, desenhe o grafo de busca.
4 - Exercício
Slides de:
Profa. Ana Carolina Monard, UFABC
Russel