busca - profunidade, largura, A - Unicamp
busca - profunidade, largura, A - Unicamp
busca - profunidade, largura, A - Unicamp
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Introdução<br />
Grafos × Métodos de Busca<br />
Busca em Profundidade<br />
Busca em Largura<br />
Exercícios<br />
Busca Heurística<br />
FT 024 - Teoria dos Grafos e Aplicações<br />
Profa. Dra. Elaine Cristina Catapani Poletti<br />
Aula 05<br />
DMBC/FT/UNICAMP<br />
12 de abril de 2010<br />
Elaine Catapani Disciplina FT 024
Introdução<br />
Grafos × Métodos de Busca<br />
Busca em Profundidade<br />
Busca em Largura<br />
Exercícios<br />
Busca Heurística<br />
Introdução<br />
Elaine Catapani Disciplina FT 024
Introdução<br />
Grafos × Métodos de Busca<br />
Busca em Profundidade<br />
Busca em Largura<br />
Exercícios<br />
Busca Heurística<br />
Grafos × Métodos de Busca<br />
Tipos de Algoritmos<br />
Grafos × Métodos de Busca<br />
Grafos × Métodos de Busca<br />
Compreendendo o que são grafos e árvores como podemos<br />
explorar essas estruturas a fim de <strong>busca</strong>r uma solução?<br />
Métodos de Busca<br />
Existem procedimentos para se caminhar pelos nós e arestas<br />
de um dado grafo?<br />
Elaine Catapani Disciplina FT 024
Introdução<br />
Grafos × Métodos de Busca<br />
Busca em Profundidade<br />
Busca em Largura<br />
Exercícios<br />
Busca Heurística<br />
Grafos × Métodos de Busca<br />
Tipos de Algoritmos<br />
Grafos × Métodos de Busca<br />
Grafos × Métodos de Busca<br />
Compreendendo o que são grafos e árvores como podemos<br />
explorar essas estruturas a fim de <strong>busca</strong>r uma solução?<br />
Métodos de Busca<br />
Existem procedimentos para se caminhar pelos nós e arestas<br />
de um dado grafo?<br />
Elaine Catapani Disciplina FT 024
Introdução<br />
Grafos × Métodos de Busca<br />
Busca em Profundidade<br />
Busca em Largura<br />
Exercícios<br />
Busca Heurística<br />
Grafos × Métodos de Busca<br />
Tipos de Algoritmos<br />
Algorítmos de Busca<br />
Tipos de Busca<br />
1 Busca em profundidade (Depth-First Search DFS)<br />
2 Busca em <strong>largura</strong> (Breadth-First Search BFS)<br />
3 Busca A ∗<br />
4<br />
.<br />
Elaine Catapani Disciplina FT 024
Introdução<br />
Grafos × Métodos de Busca<br />
Busca em Profundidade<br />
Busca em Largura<br />
Exercícios<br />
Busca Heurística<br />
Definição<br />
O Método DFS<br />
Exemplos<br />
Propriedades<br />
Aplicações<br />
Busca em Profundidade<br />
Depth-First Search<br />
O algoritmo DFS realiza uma <strong>busca</strong> que progride através da<br />
expansão do primeiro nó (o nó raiz) e se aprofunda cada vez mais,<br />
até que o alvo seja encontrado, ou até que se depare com um nó<br />
folha, daí a <strong>busca</strong> retrocede (backtrack) e recomeça no próximo nó.<br />
Elaine Catapani Disciplina FT 024
Introdução<br />
Grafos × Métodos de Busca<br />
Busca em Profundidade<br />
Busca em Largura<br />
Exercícios<br />
Busca Heurística<br />
Definição<br />
O Método DFS<br />
Exemplos<br />
Propriedades<br />
Aplicações<br />
Figura: Representação gráfica de uma <strong>busca</strong> DFS<br />
Elaine Catapani Disciplina FT 024
Introdução<br />
Grafos × Métodos de Busca<br />
Busca em Profundidade<br />
Busca em Largura<br />
Exercícios<br />
Busca Heurística<br />
Definição<br />
O Método DFS<br />
Exemplos<br />
Propriedades<br />
Aplicações<br />
Busca em Profundidade<br />
O Método DFS<br />
O algoritmo para <strong>busca</strong> em profundidade marca v (raiz) como visitado;<br />
A seguir toma o vértice w conectado a v, verifica se w é solução:<br />
se sim, encerra a <strong>busca</strong> (e indica a solução que pode ser<br />
somente este nó ou todo o percurso do nó-raiz até este nó),<br />
se não, continua a DFS em w;<br />
Terminando <strong>busca</strong> em w, o algoritmo toma outro vértice z conectado a<br />
v ainda não visitado e executa a <strong>busca</strong>, se o nó for a solução, encerra o<br />
algoritmo e devolve a solução, caso contrário prossegue, desta forma,<br />
sucessivamente.<br />
Elaine Catapani Disciplina FT 024
Introdução<br />
Grafos × Métodos de Busca<br />
Busca em Profundidade<br />
Busca em Largura<br />
Exercícios<br />
Busca Heurística<br />
Definição<br />
O Método DFS<br />
Exemplos<br />
Propriedades<br />
Aplicações<br />
Busca em Profundidade<br />
Exemplo DFS<br />
Considere o seguinte grafo. Qual a ordem de visitação dos<br />
vértices?<br />
Elaine Catapani Disciplina FT 024
Introdução<br />
Grafos × Métodos de Busca<br />
Busca em Profundidade<br />
Busca em Largura<br />
Exercícios<br />
Busca Heurística<br />
Definição<br />
O Método DFS<br />
Exemplos<br />
Propriedades<br />
Aplicações<br />
Busca em Profundidade<br />
Figura: Ordem de visitação de vértices<br />
Elaine Catapani Disciplina FT 024
Introdução<br />
Grafos × Métodos de Busca<br />
Busca em Profundidade<br />
Busca em Largura<br />
Exercícios<br />
Busca Heurística<br />
Definição<br />
O Método DFS<br />
Exemplos<br />
Propriedades<br />
Aplicações<br />
Busca em Profundidade<br />
Exemplo 1<br />
Aplique a <strong>busca</strong> DFS no grafo partindo de l:<br />
Elaine Catapani Disciplina FT 024
Introdução<br />
Grafos × Métodos de Busca<br />
Busca em Profundidade<br />
Busca em Largura<br />
Exercícios<br />
Busca Heurística<br />
Definição<br />
O Método DFS<br />
Exemplos<br />
Propriedades<br />
Aplicações<br />
Busca em Profundidade<br />
Exemplo 2<br />
Aplique a <strong>busca</strong> DFS no grafo partindo de l:<br />
Elaine Catapani Disciplina FT 024
Introdução<br />
Grafos × Métodos de Busca<br />
Busca em Profundidade<br />
Busca em Largura<br />
Exercícios<br />
Busca Heurística<br />
Definição<br />
O Método DFS<br />
Exemplos<br />
Propriedades<br />
Aplicações<br />
Busca em Profundidade<br />
Exemplo 3<br />
Aplique a <strong>busca</strong> DFS no grafo partindo de a:<br />
Elaine Catapani Disciplina FT 024
Introdução<br />
Grafos × Métodos de Busca<br />
Busca em Profundidade<br />
Busca em Largura<br />
Exercícios<br />
Busca Heurística<br />
Definição<br />
O Método DFS<br />
Exemplos<br />
Propriedades<br />
Aplicações<br />
Busca em Profundidade<br />
Propriedades da <strong>busca</strong> DFS<br />
Efeito backtrack.<br />
Formação de uma pilha.<br />
A complexidade temporal é O(V + E).<br />
Busca infinita.<br />
Elaine Catapani Disciplina FT 024
Introdução<br />
Grafos × Métodos de Busca<br />
Busca em Profundidade<br />
Busca em Largura<br />
Exercícios<br />
Busca Heurística<br />
Definição<br />
O Método DFS<br />
Exemplos<br />
Propriedades<br />
Aplicações<br />
Busca em Profundidade<br />
Propriedades da <strong>busca</strong> DFS<br />
Efeito backtrack.<br />
Formação de uma pilha.<br />
A complexidade temporal é O(V + E).<br />
Busca infinita.<br />
Elaine Catapani Disciplina FT 024
Introdução<br />
Grafos × Métodos de Busca<br />
Busca em Profundidade<br />
Busca em Largura<br />
Exercícios<br />
Busca Heurística<br />
Definição<br />
O Método DFS<br />
Exemplos<br />
Propriedades<br />
Aplicações<br />
Busca em Profundidade<br />
Propriedades da <strong>busca</strong> DFS<br />
Efeito backtrack.<br />
Formação de uma pilha.<br />
A complexidade temporal é O(V + E).<br />
Busca infinita.<br />
Elaine Catapani Disciplina FT 024
Introdução<br />
Grafos × Métodos de Busca<br />
Busca em Profundidade<br />
Busca em Largura<br />
Exercícios<br />
Busca Heurística<br />
Definição<br />
O Método DFS<br />
Exemplos<br />
Propriedades<br />
Aplicações<br />
Busca em Profundidade<br />
Propriedades da <strong>busca</strong> DFS<br />
Efeito backtrack.<br />
Formação de uma pilha.<br />
A complexidade temporal é O(V + E).<br />
Busca infinita.<br />
Elaine Catapani Disciplina FT 024
Introdução<br />
Grafos × Métodos de Busca<br />
Busca em Profundidade<br />
Busca em Largura<br />
Exercícios<br />
Busca Heurística<br />
Definição<br />
O Método DFS<br />
Exemplos<br />
Propriedades<br />
Aplicações<br />
Aplicações DFS<br />
Aplicações da <strong>busca</strong> DFS<br />
Busca de articulação<br />
Ordenação topológica<br />
Identificação de componentes fortemente conexos<br />
Elaine Catapani Disciplina FT 024
Introdução<br />
Grafos × Métodos de Busca<br />
Busca em Profundidade<br />
Busca em Largura<br />
Exercícios<br />
Busca Heurística<br />
Definição<br />
O Método DFS<br />
Exemplos<br />
Propriedades<br />
Aplicações<br />
Busca de articulação - Aplicações DFS<br />
Um vértice em um grafo não direcionado simples e conexo é uma<br />
articulação se sua remoção torna o grafo resultante desconexo.<br />
Figura: Exemplo de articulação<br />
Importante, por exemplo, para identificar os pontos frágeis de uma<br />
rede de computadores.<br />
Elaine Catapani Disciplina FT 024
Introdução<br />
Grafos × Métodos de Busca<br />
Busca em Profundidade<br />
Busca em Largura<br />
Exercícios<br />
Busca Heurística<br />
Definição<br />
O Método DFS<br />
Exemplos<br />
Propriedades<br />
Aplicações<br />
Ordenação topológica - Aplicações DFS<br />
Se um grafo direcionado G = (V,E) não contém ciclos, ele induz<br />
um conjunto parcialmente ordenado tal que para todos os<br />
vértices v e w, v < w ⇐⇒ existe um caminho de v até w em G.<br />
Os vértices de tal grafo podem ser ordenados para obter uma<br />
seqüência de vértices v 1 , v 2 , · · · , v n , onde v i < v j , para i < j.<br />
Importante, por exemplo, para se conhecer a sequência de<br />
requisitos para determinada ação.<br />
Elaine Catapani Disciplina FT 024
Introdução<br />
Grafos × Métodos de Busca<br />
Busca em Profundidade<br />
Busca em Largura<br />
Exercícios<br />
Busca Heurística<br />
Definição<br />
O Método DFS<br />
Exemplos<br />
Propriedades<br />
Aplicações<br />
Identificação de componentes fortemente conexos -<br />
Aplicações DFS<br />
Um grafo direcionado é fortemente conexo se existe um caminho de<br />
u até v e de v até u para qualquer par distinto de vértices u e v.<br />
Figura: Exemplo de componentes fortemente conexos<br />
Elaine Catapani Disciplina FT 024
Introdução<br />
Grafos × Métodos de Busca<br />
Busca em Profundidade<br />
Busca em Largura<br />
Exercícios<br />
Busca Heurística<br />
Definição<br />
O Método DFS<br />
Exemplos<br />
Propriedades<br />
Aplicações<br />
Identificação de componentes fortemente conexos -<br />
Aplicações DFS<br />
Elaine Catapani Disciplina FT 024
Introdução<br />
Grafos × Métodos de Busca<br />
Busca em Profundidade<br />
Busca em Largura<br />
Exercícios<br />
Busca Heurística<br />
Definição<br />
O Método BFS<br />
Exemplos<br />
Propriedades<br />
Busca em Largura<br />
Breadth-First Search<br />
O algoritmo BFS expande e examina sistematicamente todos os nós<br />
de uma árvore através de níveis, em <strong>busca</strong> de uma solução.<br />
Elaine Catapani Disciplina FT 024
Introdução<br />
Grafos × Métodos de Busca<br />
Busca em Profundidade<br />
Busca em Largura<br />
Exercícios<br />
Busca Heurística<br />
Definição<br />
O Método BFS<br />
Exemplos<br />
Propriedades<br />
Figura: Representação gráfica de uma <strong>busca</strong> BFS<br />
Elaine Catapani Disciplina FT 024
Introdução<br />
Grafos × Métodos de Busca<br />
Busca em Profundidade<br />
Busca em Largura<br />
Exercícios<br />
Busca Heurística<br />
Definição<br />
O Método BFS<br />
Exemplos<br />
Propriedades<br />
Busca em Largura<br />
O Método BFS<br />
O algoritmo para <strong>busca</strong> em <strong>largura</strong> marca v (raiz) como visitado;<br />
A seguir toma todos os vértices (filhos) conectados a v,<br />
verificando se cada um deles é solução - se sim, encerra a<br />
<strong>busca</strong> no respectivo nó e indica a solução, se não, continua a<br />
BFS nos filhos dos filhos;<br />
Terminando <strong>busca</strong> nos filhos dos filhos, o algoritmo toma os<br />
filhos dos filhos dos filhos e executa a <strong>busca</strong> até que encerra o<br />
algoritmo ou devolva a solução.<br />
Elaine Catapani Disciplina FT 024
Introdução<br />
Grafos × Métodos de Busca<br />
Busca em Profundidade<br />
Busca em Largura<br />
Exercícios<br />
Busca Heurística<br />
Definição<br />
O Método BFS<br />
Exemplos<br />
Propriedades<br />
Busca em Largura<br />
Figura: Ordem de visitação de vértices<br />
Elaine Catapani Disciplina FT 024
Introdução<br />
Grafos × Métodos de Busca<br />
Busca em Profundidade<br />
Busca em Largura<br />
Exercícios<br />
Busca Heurística<br />
Definição<br />
O Método BFS<br />
Exemplos<br />
Propriedades<br />
Busca em Largura<br />
Exemplo 1<br />
Aplique a <strong>busca</strong> BFS no grafo:<br />
Elaine Catapani Disciplina FT 024
Introdução<br />
Grafos × Métodos de Busca<br />
Busca em Profundidade<br />
Busca em Largura<br />
Exercícios<br />
Busca Heurística<br />
Definição<br />
O Método BFS<br />
Exemplos<br />
Propriedades<br />
Busca em Largura<br />
Exemplo 2<br />
Aplique a <strong>busca</strong> BFS no grafo:<br />
Elaine Catapani Disciplina FT 024
Introdução<br />
Grafos × Métodos de Busca<br />
Busca em Profundidade<br />
Busca em Largura<br />
Exercícios<br />
Busca Heurística<br />
Definição<br />
O Método BFS<br />
Exemplos<br />
Propriedades<br />
Busca em Largura<br />
Exemplo 3<br />
Aplique a <strong>busca</strong> BFS no grafo:<br />
Elaine Catapani Disciplina FT 024
Introdução<br />
Grafos × Métodos de Busca<br />
Busca em Profundidade<br />
Busca em Largura<br />
Exercícios<br />
Busca Heurística<br />
Definição<br />
O Método BFS<br />
Exemplos<br />
Propriedades<br />
Busca em Largura<br />
Propriedades da <strong>busca</strong> BFS<br />
A <strong>busca</strong> BFS é completa apenas em árvores com número finito de<br />
ramos.<br />
Os nós são adicionados à uma fila.<br />
A complexidade temporal também é proporcional ao número de<br />
vértices somado ao número de arestas do grafo O(V + E).<br />
A complexidade espacial de um algoritmo de <strong>busca</strong> BFS é maior que o<br />
de <strong>busca</strong> DFS.<br />
O algoritmo BFS encontra a solução mais rasa em uma árvore (não<br />
necessariamente a melhor).<br />
Elaine Catapani Disciplina FT 024
Introdução<br />
Grafos × Métodos de Busca<br />
Busca em Profundidade<br />
Busca em Largura<br />
Exercícios<br />
Busca Heurística<br />
Definição<br />
O Método BFS<br />
Exemplos<br />
Propriedades<br />
Busca BFS × Busca DFS<br />
Busca BFS × Busca DFS<br />
A diferença mais marcante entre a BFS e a DFS está na<br />
estrutura de dados auxiliar empregada por uma e pela outra. A<br />
<strong>busca</strong> BFS usa uma fila (de vértices), e a <strong>busca</strong> DFS usa uma<br />
pilha.<br />
A <strong>busca</strong> DFS visita, tipicamente, todos os vértices do digrafo,<br />
enquanto a <strong>busca</strong> BFS visita apenas os vértices que podem ser<br />
atingidos a partir do vértice inicial.<br />
A <strong>busca</strong> DFS é descrita, usualmente, em estilo recursivo,<br />
enquanto a <strong>busca</strong> BFS é descrita em estilo iterativo.<br />
Elaine Catapani Disciplina FT 024
Introdução<br />
Grafos × Métodos de Busca<br />
Busca em Profundidade<br />
Busca em Largura<br />
Exercícios<br />
Busca Heurística<br />
Definição<br />
O Método BFS<br />
Exemplos<br />
Propriedades<br />
Busca BFS × Busca DFS<br />
Busca BFS × Busca DFS<br />
A diferença mais marcante entre a BFS e a DFS está na<br />
estrutura de dados auxiliar empregada por uma e pela outra. A<br />
<strong>busca</strong> BFS usa uma fila (de vértices), e a <strong>busca</strong> DFS usa uma<br />
pilha.<br />
A <strong>busca</strong> DFS visita, tipicamente, todos os vértices do digrafo,<br />
enquanto a <strong>busca</strong> BFS visita apenas os vértices que podem ser<br />
atingidos a partir do vértice inicial.<br />
A <strong>busca</strong> DFS é descrita, usualmente, em estilo recursivo,<br />
enquanto a <strong>busca</strong> BFS é descrita em estilo iterativo.<br />
Elaine Catapani Disciplina FT 024
Introdução<br />
Grafos × Métodos de Busca<br />
Busca em Profundidade<br />
Busca em Largura<br />
Exercícios<br />
Busca Heurística<br />
Definição<br />
O Método BFS<br />
Exemplos<br />
Propriedades<br />
Busca BFS × Busca DFS<br />
Busca BFS × Busca DFS<br />
A diferença mais marcante entre a BFS e a DFS está na<br />
estrutura de dados auxiliar empregada por uma e pela outra. A<br />
<strong>busca</strong> BFS usa uma fila (de vértices), e a <strong>busca</strong> DFS usa uma<br />
pilha.<br />
A <strong>busca</strong> DFS visita, tipicamente, todos os vértices do digrafo,<br />
enquanto a <strong>busca</strong> BFS visita apenas os vértices que podem ser<br />
atingidos a partir do vértice inicial.<br />
A <strong>busca</strong> DFS é descrita, usualmente, em estilo recursivo,<br />
enquanto a <strong>busca</strong> BFS é descrita em estilo iterativo.<br />
Elaine Catapani Disciplina FT 024
Introdução<br />
Grafos × Métodos de Busca<br />
Busca em Profundidade<br />
Busca em Largura<br />
Exercícios<br />
Busca Heurística<br />
Definição<br />
O Método BFS<br />
Exemplos<br />
Propriedades<br />
Busca BFS × Busca DFS<br />
Busca BFS × Busca DFS<br />
Computabilidade - dependendo de como a estrutura de dados é<br />
organizada, um caminho percorrido por <strong>busca</strong> DFS pode ter<br />
tamanho infinito, já a <strong>busca</strong> BFS encontrará a solução em um<br />
número finito de passos se esta existir.<br />
Espaço de memória e tempo: a <strong>busca</strong> DFS armazena todos os<br />
nós visitados a partir da raiz, ou seja, no máximo o tamanho da<br />
árvore, a <strong>busca</strong> BFS armazena todos os possíveis nós<br />
processados, desta forma, em termos de espaço e tempo, a<br />
<strong>busca</strong> DFS pode ser mais eficiente.<br />
A <strong>busca</strong> BFS é completa apenas em árvores com número finito<br />
de ramos.<br />
Elaine Catapani Disciplina FT 024
Introdução<br />
Grafos × Métodos de Busca<br />
Busca em Profundidade<br />
Busca em Largura<br />
Exercícios<br />
Busca Heurística<br />
Definição<br />
O Método BFS<br />
Exemplos<br />
Propriedades<br />
Busca BFS × Busca DFS<br />
Busca BFS × Busca DFS<br />
Computabilidade - dependendo de como a estrutura de dados é<br />
organizada, um caminho percorrido por <strong>busca</strong> DFS pode ter<br />
tamanho infinito, já a <strong>busca</strong> BFS encontrará a solução em um<br />
número finito de passos se esta existir.<br />
Espaço de memória e tempo: a <strong>busca</strong> DFS armazena todos os<br />
nós visitados a partir da raiz, ou seja, no máximo o tamanho da<br />
árvore, a <strong>busca</strong> BFS armazena todos os possíveis nós<br />
processados, desta forma, em termos de espaço e tempo, a<br />
<strong>busca</strong> DFS pode ser mais eficiente.<br />
A <strong>busca</strong> BFS é completa apenas em árvores com número finito<br />
de ramos.<br />
Elaine Catapani Disciplina FT 024
Introdução<br />
Grafos × Métodos de Busca<br />
Busca em Profundidade<br />
Busca em Largura<br />
Exercícios<br />
Busca Heurística<br />
Definição<br />
O Método BFS<br />
Exemplos<br />
Propriedades<br />
Busca BFS × Busca DFS<br />
Busca BFS × Busca DFS<br />
Computabilidade - dependendo de como a estrutura de dados é<br />
organizada, um caminho percorrido por <strong>busca</strong> DFS pode ter<br />
tamanho infinito, já a <strong>busca</strong> BFS encontrará a solução em um<br />
número finito de passos se esta existir.<br />
Espaço de memória e tempo: a <strong>busca</strong> DFS armazena todos os<br />
nós visitados a partir da raiz, ou seja, no máximo o tamanho da<br />
árvore, a <strong>busca</strong> BFS armazena todos os possíveis nós<br />
processados, desta forma, em termos de espaço e tempo, a<br />
<strong>busca</strong> DFS pode ser mais eficiente.<br />
A <strong>busca</strong> BFS é completa apenas em árvores com número finito<br />
de ramos.<br />
Elaine Catapani Disciplina FT 024
Introdução<br />
Grafos × Métodos de Busca<br />
Busca em Profundidade<br />
Busca em Largura<br />
Exercícios<br />
Busca Heurística<br />
Exercícios<br />
Elaine Catapani Disciplina FT 024
Introdução<br />
Grafos × Métodos de Busca<br />
Busca em Profundidade<br />
Busca em Largura<br />
Exercícios<br />
Busca Heurística<br />
Busca Heurística<br />
Best-First Search<br />
Greedy Search<br />
Exemplo<br />
Busca A ∗<br />
Exemplo<br />
Busca Heurística<br />
Busca heurística<br />
Estratégias de <strong>busca</strong> heurística utilizam conhecimento específico<br />
(prévio) do problema na escolha do próximo nó a ser espandido e<br />
aplicam uma função de avaliação a cada nó na froneira do espaço de<br />
estados.<br />
Classes de Algorítmos para <strong>busca</strong> heurística<br />
Best-First Search (Busca pela melhor escolha)<br />
Busca com limite de memória<br />
Busca com melhora iterativa<br />
.<br />
Elaine Catapani Disciplina FT 024
Introdução<br />
Grafos × Métodos de Busca<br />
Busca em Profundidade<br />
Busca em Largura<br />
Exercícios<br />
Busca Heurística<br />
Busca Heurística<br />
Best-First Search<br />
Greedy Search<br />
Exemplo<br />
Busca A ∗<br />
Exemplo<br />
Best-First Search<br />
Best-First Search<br />
Busca genérica, onde o nó de menor custo aparente é<br />
expandido primeiro. Conhecimento provido por uma função de<br />
avaliação que retorna um número que indica qual nó deve ser<br />
expandido na <strong>busca</strong>.<br />
Dentre as abordagens básicas temos:<br />
Greedy Search<br />
Algorítmo A ∗ Elaine Catapani Disciplina FT 024
Introdução<br />
Grafos × Métodos de Busca<br />
Busca em Profundidade<br />
Busca em Largura<br />
Exercícios<br />
Busca Heurística<br />
Busca Heurística<br />
Best-First Search<br />
Greedy Search<br />
Exemplo<br />
Busca A ∗<br />
Exemplo<br />
Greedy Search<br />
Greedy Search<br />
Conhecido também por <strong>busca</strong> gulosa é o processo semelhante àquele<br />
realizado pela <strong>busca</strong> em profundidade com efeito backtracking.<br />
Tenta expandir o nó mais próximo do nó final com base na estimativa<br />
feita pela função heurística h(n), que é o custo estimado do menor<br />
caminho de um ponto n até o objetivo;<br />
Custo de <strong>busca</strong> é minimizado, não exandindo nós fora do caminho;<br />
Escolhe o caminho mais econômico à primeira vista, portanto não é<br />
ótima.<br />
Elaine Catapani Disciplina FT 024
Introdução<br />
Grafos × Métodos de Busca<br />
Busca em Profundidade<br />
Busca em Largura<br />
Exercícios<br />
Busca Heurística<br />
Busca Heurística<br />
Best-First Search<br />
Greedy Search<br />
Exemplo<br />
Busca A ∗<br />
Exemplo<br />
Greedy Search<br />
Greedy Search<br />
Conhecido também por <strong>busca</strong> gulosa é o processo semelhante àquele<br />
realizado pela <strong>busca</strong> em profundidade com efeito backtracking.<br />
Tenta expandir o nó mais próximo do nó final com base na estimativa<br />
feita pela função heurística h(n), que é o custo estimado do menor<br />
caminho de um ponto n até o objetivo;<br />
Custo de <strong>busca</strong> é minimizado, não exandindo nós fora do caminho;<br />
Escolhe o caminho mais econômico à primeira vista, portanto não é<br />
ótima.<br />
Elaine Catapani Disciplina FT 024
Introdução<br />
Grafos × Métodos de Busca<br />
Busca em Profundidade<br />
Busca em Largura<br />
Exercícios<br />
Busca Heurística<br />
Busca Heurística<br />
Best-First Search<br />
Greedy Search<br />
Exemplo<br />
Busca A ∗<br />
Exemplo<br />
Greedy Search<br />
Greedy Search<br />
Conhecido também por <strong>busca</strong> gulosa é o processo semelhante àquele<br />
realizado pela <strong>busca</strong> em profundidade com efeito backtracking.<br />
Tenta expandir o nó mais próximo do nó final com base na estimativa<br />
feita pela função heurística h(n), que é o custo estimado do menor<br />
caminho de um ponto n até o objetivo;<br />
Custo de <strong>busca</strong> é minimizado, não exandindo nós fora do caminho;<br />
Escolhe o caminho mais econômico à primeira vista, portanto não é<br />
ótima.<br />
Elaine Catapani Disciplina FT 024
Introdução<br />
Grafos × Métodos de Busca<br />
Busca em Profundidade<br />
Busca em Largura<br />
Exercícios<br />
Busca Heurística<br />
Busca Heurística<br />
Best-First Search<br />
Greedy Search<br />
Exemplo<br />
Busca A ∗<br />
Exemplo<br />
Greedy Search<br />
Greedy Search<br />
Conhecido também por <strong>busca</strong> gulosa é o processo semelhante àquele<br />
realizado pela <strong>busca</strong> em profundidade com efeito backtracking.<br />
Tenta expandir o nó mais próximo do nó final com base na estimativa<br />
feita pela função heurística h(n), que é o custo estimado do menor<br />
caminho de um ponto n até o objetivo;<br />
Custo de <strong>busca</strong> é minimizado, não exandindo nós fora do caminho;<br />
Escolhe o caminho mais econômico à primeira vista, portanto não é<br />
ótima.<br />
Elaine Catapani Disciplina FT 024
Introdução<br />
Grafos × Métodos de Busca<br />
Busca em Profundidade<br />
Busca em Largura<br />
Exercícios<br />
Busca Heurística<br />
Busca Heurística<br />
Best-First Search<br />
Greedy Search<br />
Exemplo<br />
Busca A ∗<br />
Exemplo<br />
Exemplo<br />
De Arad à Bucharest<br />
Elaine Catapani Disciplina FT 024
Introdução<br />
Grafos × Métodos de Busca<br />
Busca em Profundidade<br />
Busca em Largura<br />
Exercícios<br />
Busca Heurística<br />
Busca Heurística<br />
Best-First Search<br />
Greedy Search<br />
Exemplo<br />
Busca A ∗<br />
Exemplo<br />
De Arad à Bucharest<br />
Elaine Catapani Disciplina FT 024
Introdução<br />
Grafos × Métodos de Busca<br />
Busca em Profundidade<br />
Busca em Largura<br />
Exercícios<br />
Busca Heurística<br />
Busca Heurística<br />
Best-First Search<br />
Greedy Search<br />
Exemplo<br />
Busca A ∗<br />
Exemplo<br />
Rota - Busca Gulosa<br />
Elaine Catapani Disciplina FT 024
Introdução<br />
Grafos × Métodos de Busca<br />
Busca em Profundidade<br />
Busca em Largura<br />
Exercícios<br />
Busca Heurística<br />
Busca Heurística<br />
Best-First Search<br />
Greedy Search<br />
Exemplo<br />
Busca A ∗<br />
Exemplo<br />
Busca A ∗<br />
O Algoritmo A ∗<br />
O algoritmo A ∗ desenvolve uma <strong>busca</strong> que vai de um vértice inicial até outro,<br />
empregando ”heuristica de estimativa”que classifica cada nó por uma<br />
estimativa da melhor rota. A base do algoritmo é a equação:<br />
onde:<br />
f(n) = g(n) + h(n)<br />
g(n) distância do nó inicial até o nó n,<br />
h(n) distância estimada do nó n até o objetivo.<br />
Elaine Catapani Disciplina FT 024
Introdução<br />
Grafos × Métodos de Busca<br />
Busca em Profundidade<br />
Busca em Largura<br />
Exercícios<br />
Busca Heurística<br />
Busca Heurística<br />
Best-First Search<br />
Greedy Search<br />
Exemplo<br />
Busca A ∗<br />
Exemplo<br />
Exemplo<br />
De Arad à Bucharest<br />
Elaine Catapani Disciplina FT 024
Introdução<br />
Grafos × Métodos de Busca<br />
Busca em Profundidade<br />
Busca em Largura<br />
Exercícios<br />
Busca Heurística<br />
Busca Heurística<br />
Best-First Search<br />
Greedy Search<br />
Exemplo<br />
Busca A ∗<br />
Exemplo<br />
De Arad à Bucharest<br />
Elaine Catapani Disciplina FT 024
Introdução<br />
Grafos × Métodos de Busca<br />
Busca em Profundidade<br />
Busca em Largura<br />
Exercícios<br />
Busca Heurística<br />
Busca Heurística<br />
Best-First Search<br />
Greedy Search<br />
Exemplo<br />
Busca A ∗<br />
Exemplo<br />
Rota - Busca A ∗ Elaine Catapani Disciplina FT 024