Caminhos e caminhamentos em Grafos

Slides:



Advertisements
Apresentações semelhantes
Algoritmos de Caminho Mínimo em Grafos
Advertisements

Caminhamento em Grafos
Algoritmo de Caminho Mínimo
Árvores 2010/1 Teoria dos Grafos (INF 5037/INF2781)
Árvores CC/EC/Mestrado Teoria dos Grafos ‏ 1.
Algoritmos em Grafos (Parte 2)
Antonio Dirceu Rabelo de Vasconcelos Filho
Gustavo Sant´Anna Ferreira Rodrigo Ribeiro de Souza
Grafos - Caminhos Caminhos Máximo / Mínimo:
CAMINHAMENTO EM GRAFOS (CONTINUAÇÃO)
Inteligência Artificial
Celso C. Ribeiro Caroline T. Rocha
Fluxo em Redes Prof. Ricardo R. Santos.
4º Encontro – 15/01/2009 Tema: Os Vinhos da Adega do Ota
Grafos Introdução
Pontes Seja (G) o número de componentes conexas de G. Uma ponte é uma aresta a tal que (G - a) > (G)
UFES CC/EC/Mestrado Teoria dos Grafos Árvores. UFES CC/EC/Mestrado Teoria dos Grafos Árvores Grafo Acíclico: não possui ciclos.
CC/EC/PPGI/UFES CC/EC/MestradoTeoria dos Grafos Algoritmo de Caminho Mínimo.
Problema do Carteiro Chinês
Grafos Grafo G = (V, E) V — conjunto de vértices
Grafos Grafo G = (V, E) V — conjunto de vértices
Estrutura de Dados e Algoritmos e Programação e Computadores II
Outlook – notificação de mensagens
CONCEITOS BÁSICOS DE GRAFOS
Introdução à Linguagem Prolog
Busca em Profundidade Para encontrar um caminho de solução Sol, de um dado nó para algum nó objetivo Se N é um nó objetivo, então Sol=[N] Se há um nó N1.
Árvores.
Geometria Computacional Interseção de Segmentos
Árvore Geradora de Peso Mínimo
FACENS – Engenharia da Computação Inteligência Artificial
Ronaldo Celso Messias Correia –
Pesquisa Operacional - Profa Úrsula L. F. Ribeiro
Estruturas de Dados II Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Dicas Como criar uma página no seu wiki individual.
Usando o E X C E L para calcular Juros Simples e Compostos
Árvore Geradora Mínima
INF 1771 – Inteligência Artificial
Buscas em Grafos Prof. André Renato 1º Semestre/2012
Baseado em: The Algorithm Design Manual Steven S. Skiena
Algoritmos em Grafos.
T ÓPICOS DE I.A. Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas.
Caminho Hamiltoniano ... em um grafo é o caminho que visita
Grafos Árvores Geradoras.
Algoritmos em Grafos Árvores Geradoras Prof. André Renato
Caminhamento em Grafos: Busca em Largura e Busca em Profundidade
Celso C. Ribeiro Caroline T. Rocha
Números Ordinais 10º 9º 8º 7º 6º 5º 4º 3º 2º 1º.
O problema do emparelhamento máximo
VIÚVA 10 VEZES E AINDA VIRGEM.
As dez piores práticas do desenvolvimento de software
Introdução e Busca Cega
Algoritmos Gulosos em Grafos
Katia S. Guimarães Busca em Grafos Katia S. Guimarães
Ronaldo Celso Messias Correia –
Usando VNS Por: Vitor de Araújo Gabriel Leffa André Moraes (E Mestre Huang Ho)
VIÚVA 10 VEZES E AINDA VIRGEM.
Busca Combinatorial e Métodos de Heurística
Msc. Daniele Carvalho Oliveira
CAMINHOS MAIS CURTOS EM GRAFOS
Algoritmos para Obtenção de Árvore Geradora Mínima
Katia S. Guimarães Busca em Grafos Katia S. Guimarães

Universidade do Vale do Rio dos Sinos - São Leopoldo -
Introdução a Algoritmos em Grafos.

Algoritmos em Grafos Celso C. Ribeiro Caroline T. Rocha.
Programação Dinâmica Profa. Sandra de Amo Bacharelado em Ciência da Computação – UFU Disciplina de Análise de Algoritmos.
© Copyright 2003 Algoritmos e Estruturas de Dados - Todos os direitos reservados Busca em Grafos IF672 - Algoritmos e Estruturas de Dados CIn - UFPE ©
Algoritmo de Dijkstra.
Transcrição da apresentação:

Caminhos e caminhamentos em Grafos Leandro Guarino de Vasconcelos

Caminhamento em grafos Caminhar (ou percorrer) um grafo consiste em visitar todos os seus vértices atravessando todas as suas arestas O caminhamento pode ocorrer utilizando busca em profundidade ou busca em largura A representação por lista de adjacências facilita o processo de caminhamento em grafos

Busca em Profundidade Enquanto for possível, aprofundar-se no grafo. Quando não for mais possível, recuar até que seja possível continuar a aprofundar-se. A ordem em que os nós e arestas são visitados depende Do vértice inicial Da ordem em que os vértices e arestas aparecem na lista de adjacências 7º 6º 8 9 1 5 4 2 6 3 7 10 1º 2 8º 3 10 1 10º 9 4 3º 6 2º 4º 7 5 9º 8 5º

Busca em Profundidade Esse processo de busca pode ser representado por meio de uma árvore binária 1 4 6 5 7 8 3 2 10 9 7º 6º 8 9 1 5 4 2 6 3 7 10 1º 2 8º 3 10 1 10º 9 4 3º 6 2º 4º 7 5 9º 8 5º

Busca em Profundidade X X X X X X X X Caminhamento na lista de adjacências A árvore de busca em profundidade é gerada através de uma pilha 1 D A E B C F G H A A B C D E F G H X X 2 7 B C X X D E F G 3 X 5 6 8 X X H 4 X não visitado visitado

Algoritmo de Busca em Profundidade Procedimento BUSCA-PROF Para i = 1,...,n faça visitado(i)  não fim-para Se visitado(i) = não então PROF(i) Fim Procedimento PROF(nó v) visitado(v)  sim Para cada nó w adjacente a v faça Se visitado(w) = não então PROF(w) fim-para Fim

Busca em Largura Enquanto for possível, examinar todos os nós à mesma distância do nó inicial. Quando não for mais possível, aprofundar. Usa uma fila ao invés de uma pilha no processo de caminhamento 5 6 8 9 1 5 4 2 6 3 7 10 1 2 9 3 10 1 2 9 4 7 6 4 10 7 5 3 8 8

Busca em Profundidade X Busca em Largura Árvore de busca em profundidade (pilha) Árvore de busca em largura (fila) B C A F G D E D E A F G C B

Busca em Largura Caminhamento na lista de adjacências Fila w = F G H D 1 D A E B C F G H A 2 3 B C D E F G 4 5 6 7 H 8 Fila w = F G H D C E A B não visitado visitado F B C A G H E D B E D G C F E F C D D E

Algoritmo de Busca em Largura Procedimento BUSCA-AMPL(v) visitado(v)  sim Colocar v em uma fila Enquanto fila não vazia faça w  retirar o elemento da frente da fila Para cada vértice i adjacente a w faça Se visitado(i) = não então visitado(i)  sim Colocar i no final da fila fim-se fim-para fim-enquanto Fim

APLICAÇÕES A solução de certos problemas não requerem que se encontre um caminho qualquer, mas um caminho específico Exemplo: caminho mínimo Usando busca em largura obtemos o menor caminho em termos do número de arestas percorridas Mas se tivermos pesos associados a arestas, a busca em largura não resolve

Arestas valoradas Na solução de diversos problemas, temos a associação de pesos, custos ou distâncias a cada aresta de um grafo Caminho mais curto Caminho mais rápido Caminho mais barato etc.

Exercício 1 Vértice inicial Lista de adjacências 1  2, 7 2  3, 1, 8 3  2, 4 4  3, 5, 9 5  4, 9, 6, 7 6  5, 8 7  1, 5 8  2, 6, 9 9  4, 5, 8 3 2 1 4 7 5 9 6 8

Exercício 2 Vértice inicial Lista de adjacências 1  2, 3, 4 2  1, 4 3  1, 4 4  2, 1, 3, 5, 6, 7 5  4 6  4, 8 7  4, 8 8  6, 7 5 2 1 6 3 4 8 7