Grafos - Buscas
1 - Conceitos e termos
2 - Aplicações
Formulação do Problema
 Definição dos objetivos
 Cuidado com os fatores irrelevantes
 Representação do mundo em um dado instante
como um estado em um grafo
 Obter a solução é realizar uma busca neste grafo
de estados
Formulação do Problema
 Algumas definições:
– Espaço de estados: todos os estados acessíveis do
inicial
– Caminho: seqüência de estados conectados por ações
– Solução Ótima: menos custo entre todas as possíveis
soluções
– Custo do Passo: custo numérico para executar uma
deteminada ação em um estado
Formulação do Problema
 Componentes formais:
– Estado inicial: como o problema começa, em um
determinado estado
– Função Sucessor: possíveis ações, funções que, dado
um estado e uma ação levam para outro estado
– Teste de Objetivo: verificar se o estado alcançado
corresponde a um objetivo
– Custo de Caminho: um custo numérico para cada
caminho
Classes de problemas
 Miniproblemas: para teste de algoritmos
– Jogo de blocos
– 8 rainhas
 Problemas do mundo real:
– Roteamento
– Tour (Caixeiro viajante)
– Navegação de robôs
– Busca na Internet
Buscando a solução
 Árvore de Busca e Grafo de Busca
 Mesmo um grafo finito pode gerar uma árvore
infinita
 Busca em árvore:
– Verificar se o estado é o objetivo
– Senão, aplicar a função sucessor ao estado com todas
as ações possíveis
– Adicionar estados alcançáveis à pilha ou fila
(profundidade ou largura) e ir para um dos novos
estados
 Busca pode ser sem informação ou heurística
Buscando a solução
 Busca sem informação
– Busca em extensão: utiliza fila para percurso em
largura no grafo/árvore
– Busca de custo uniforme: expande o nó com o caminho
de custo mais baixo
– Busca em profundidade: utiliza pilhas para caminho em
profundidade
– Busca em profundidade limitada: a busca é limitada a
uma profundidade determinada
– Busca de aprofundamento iterativo: o limite da
profundidade é aumentado a cada passo
– Busca bidirecional
Bidirecional
 Partir com uma busca do estado inicial, e outra
do estado desejado
 Quando as duas se cruzam, o caminho pode ser
traçado
 Entretanto, nem sempre o objetivo é um estado
simples
Quebra Cabeças
 Qual seria uma implementação de busca adeuqada?
2
8
3
1
6
4
5
7
1
2
3
4
5
6
7
8
Download

Busca em Grafos - caversan.eng.br