Teoria dos Grafos Aula 9

Documentos relacionados
Teoria dos Grafos Aula 8

Teoria dos Grafos Aula 8

Teoria dos Grafos Aula 7

Teoria dos Grafos Aula 5

Teoria dos Grafos Aula 6

Grafos: Busca. Algoritmos e Estruturas de Dados 2. Graça Nunes

Otimização em Grafos

PCC173 - Otimização em Redes

Algoritmo de Dijkstra Estudo e Implementação

GRAFOS Aula 05 Algoritmos de percurso: busca em largura e profundidade Max Pereira

Grafos: Busca. SCE-183 Algoritmos e Estruturas de Dados 2. Thiago A. S. Pardo Maria Cristina

Busca Heurística - Informada

Teoria dos Grafos Aula 9

Inteligência Artificial

AED2 - Aula 22 Busca em largura, cálculo de distâncias

Teoria dos Grafos Aula 14

Algoritmos em Grafos: Caminho Mínimo

GRAFOS Aula 06 Algoritmo de Caminho Mínimo: Dijkstra Max Pereira

Inteligência Artificial

Grafos Caminhos mais Curtos

GRAFOS BUSCAS E MENOR CAMINHO. Prof. André Backes

Os problemas de IA empregam heurísticas, basicamente, em duas situações:

Estratégias informadas de Busca. February 19, 2018

INF 1010 Estruturas de Dados Avançadas

BCC204 - Teoria dos Grafos

Inteligência Artificial

lnteligência Artificial

Caminho Mínimo de Fonte Única em Grafos sem Pesos Negativos

BCC204 - Teoria dos Grafos

Caminho mais curto. 1 - Caminho não pesado

Busca Heurística. Profa. Josiane M. P. Ferreira

Teoria dos Grafos Aula 11

Inteligência Artificial. Prof. Tiago A. E. Ferreira Aula 5 Resolvendo Problemas

Tecnicas Essencias Greedy e Dynamic

INF 1010 Estruturas de Dados Avançadas

Resolução de Problemas de Busca

Métodos de Busca. Inteligência Artificial. Busca Heurística. Busca Heurística. Prof. Ms. Luiz Alberto Contato:

Técnicas Inteligência Artificial

Projeto e Análise de Algoritmos. Método Guloso

Teoria dos Grafos Aula 22

Grafos IFRN. Prof. Robinson Alves

5COP096 TeoriadaComputação

Busca Cega (Exaustiva) e Heurística. Busca Aula 2

Distâncias Mínimas. Pedro Ribeiro 2014/2015 DCC/FCUP. Pedro Ribeiro (DCC/FCUP) Distâncias Mínimas 2014/ / 27

Inteligência Artificial (SI 214) Aula 4 Resolução de Problemas por meio de Busca Heurística

1 Distância em Grafos

Estratégias de Busca: Métodos Informados. March 9, 2015

Redes de Computadores 2 Prof. Rodrigo da Rosa Righi - Aula 2

CIC 110 Análise e Projeto de Algoritmos I

Caminho mais curto e o algoritmo de Dijkstra

Aula 9 TECNOLOGIA EM JOGOS DIGITAIS PROGRAMACAO E INTEGRACAO DE JOGOS I. Marcelo Henrique dos Santos

CES-11. Algoritmos e Estruturas de Dados. Carlos Alberto Alonso Sanches Juliana de Melo Bezerra

CTC-17 Inteligência Artificial Problemas de Busca. Prof. Paulo André Castro

Algoritmos em Grafos

Teoria dos Grafos Aula 24

Aula 09. Percurso em grafo

Estratégias de Busca Cega

Estratégias de Busca Cega

Métodos de Busca. Estratégias de Busca Cega

Introdução à Resolução de Problemas por meio de Busca

AULA 13 PROJETO E ANÁLISE DE ALGORITMOS. Problema do caminho mais curto de uma única origem em grafos Karina Valdivia Delgado

Algoritmo de Dijkstra em LISP

Grafos: caminhos mínimos em Listas de Adjacência. Profa. Graça Nunes

Busca em largura. Algoritmos em Grafos. Marco A L Barbosa

Calculando distâncias

Estratégias informadas de Busca. March 3, 2016

Oalgoritmo de Dijkstra

BCC402 Algoritmos e Programação Avançada. Prof. Marco Antonio M. Carvalho Prof. Túlio Toffolo 2012/1

MAC425/5739 Inteligência Artificial 3. Busca informada

Grafos: algoritmos de busca

Grafos Árvores Geradoras Mínimas

Otimização em Grafos

Busca com informação e exploração. Inteligência Artificial. Busca pela melhor escolha. Romênia com custos em km. Busca com informação (ou heurística)

Redes Complexas Aula 13

Inteligência Artificial

Teoria dos Grafos Aula 8

Paulo Roberto Quícoli - Raul Peres de Góes - Faculdade de Tecnologia de Taquaritinga (FATEC) SP Brasil

Técnicas Inteligência Artificial

Teoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Departamento de Matemática Aplicada

QUESTÕES DE PROVAS ANTIGAS

Exemplo do jogo dos fósforos Terça-feira, 9 de maio. Exemplo para o Problema do Corpo de Bombeiros. Exemplo: Localidade do Corpo de Bombeiros

Algoritmo da IFT 2 / 16. Algoritmo da IFT Estrutura da fila de prioridade Resolvendo empates. Algoritmo 1 Algoritmo geral da IFT

Grafos representação e aplicações. Prof. Guilherme Tomaschewski Netto

Teoria dos Grafos. Caminho mínimo - Algoritmo de Dijskstra

06 Grafos: Caminhos Mínimos SCC0503 Algoritmos e Estruturas de Dados II

Caminho Mínimo de Fonte Única em Grafos com Pesos Negativos Letícia Rodrigues Bueno

Busca em Largura. Adaptado de Humberto C. B. Oliveira

Eduardo Camponogara. DAS-9003: Introdução a Algoritmos

Transformada Imagem-Floresta (IFT)

Análise de Algoritmos

Melhores momentos AULA 12

Busca em Largura Letícia Rodrigues Bueno

Inteligência Artificial

Felipe Affonso Feliphe Nogueira

CEFET/RJ Disciplina: Inteligência Artificial Professor: Eduardo Bezerra Lista de exercícios 01

Cap. 4 Busca com Informações e Exploração. do livro de Russel e Norvig

Análise de proximidade em modelos matriciais

Redes Complexas Aula 2

TP308 Introdução às Redes de Telecomunicações

Transcrição:

Teoria dos Grafos Aula 9 Aula passada Corretude de Dijkstra Fila de prioridades e Heap Dijkstra eficiente Dijkstra o próprio (documentário) Aula de hoje Problema do labirinto (pathfinding) Busca informada Best-first search A*

Problema do Labirinto (Pathfinding) Problema: Encontrar caminho mais curto em um labirinto Representação com grafos (direção, pesos) BFS ou Dijkstra to the rescue!

Problema com BFS e Dijkstra Expandem em todas as direções até encontrar destino Exploram muitos vértices desnecessários Meio ineficiente (na prática)!

Algoritmos Informados BFS e Dijsktra são algoritmos de busca não-informados não conhecem nada sobre destino Não podem fazer melhor! Em muitos contextos, existe alguma informação sobre o destino da busca Exemplos? Algoritmos de busca informados: possuem alguma informação sobre destino Como explorar isto? Locais em uma cidade: coordenadas (lat., long.)

Grid em duas dimensões Exemplo Informação disponível: coordenada de cada vértice, coordenada do destino Algoritmo de busca utiliza estas informações Bem mais eficiente!

Best-first Search Algoritmo para ideia anterior? 1.Best_first_search(G,s,d) 2.Para cada vértice v 3. dist[v] = infinito 4.Define conjunto S = 0 // vazio 5.dist[s] = heuristica(s,d) 6.Enquanto S!= V Estimativa de distância entre v e d (destino) Ex. distância de manhattan entre u e v (distância no grid) 7. Selecione u em V-S, tal que dist[u] é mínima 8. Se u == d, pare 9. Adicione u em S 10. Para cada vizinho v de u faça 11. dist[v] = heuristica(v,d) Explora vértices na ordem dada pela heurística Funciona? Encontra menor caminho?

Exemplo Best-First Search Best-first BFS Best-first search não garante menor caminho Best-first mais eficiente que BFS Tradeoff: eficiência x optimalidade

Melhorando Best-First Ideias para melhorar Best-First Search? Problema: Best-first não utiliza o que foi descoberto, confia cegamente na heurística Usar o que já foi descoberto! Considere s origem, d destino, e v um vértice qualquer dist[v] = distância entre s e v + heuristica(v,d) Estimativa de distância entre s e d, passando por v e utilizando o menor caminho entre s e v Se heuristica(v,d) = 0, o que temos? Dijkstra!

Algoritmo A* Muito famoso (início anos 70), muito utilizado, diversas aplicações em IA (ex. xadrez) Generaliza Dijkstra e possui propriedades importantes (a saber) Implementação demanda dois vetores de distâncias dist_s[v]: distância de s até v dist[v]: estimativa de distância de s até d passando por v dist_s[v]: mesmo vetor mantido por alg. de Dijkstra dist[v]: define ordem de exploração dos vértices

Show me the code Algoritmo A* 1.A_star(G,s,d) 2.Para cada vértice v 3. dist[v] = infinito 4.Define conjunto S = 0 // vazio 5.dist_s[s] = 0 Ex. distância de manhattan 6.dist[s] = 0 + heuristica(s,d) entre u e v (distância no grid) 7.Enquanto S!= V 8. Selecione u em V-S, tal que dist[u] é mínima 9. Se u == d, pare 10. Adicione u em S 11. Para cada vizinho v de u faça 12. Se dist_s[v] > dist_s[u] + w(u,v) então 13. dist_s[v] = dist_s[u] + w(u,v) 14. dist[v] = dist_s[v] + heuristica(v,d) Importante: extrai mínimo utilizando estimativa de distância

Exemplo do A* A* BFS A* encontrou caminho mínimo Explorou muito menos que BFS Maravilha sempre?

Propriedades do A* A* obtém caminho mínimo quando heurística nunca sobre-estima o valor da distância heurística admissível heurística(u,d) <= distância(u,v) + heurística(v,d) Comprimento do menor caminho entre u e v Sempre verdade no plano (distância Euclideana) ou grid (distância de Manhattan) Em geral, difícil encontrar heurísticas admissíveis ex. jogo de xadrez A* pode falhar em encontrar caminho mínimo mas é mais eficiente que Dijkstra (tradeoff)

Explorando Buscas Website: Red Blob Games - Amit Patel I explore visual and interactive ways of explaining math and computer algorithms, especially those used in computer games. I want to learn by playing with things. A* search: http://www.redblobgames.com/pathfinding/astar/introduction.html Explorem este e outros recursos deste website! * imagens destes slides obtidos em exemplos do website