Grafos aula 3. Relembrando... Rede de eventos e atividades. Rede de eventos e atividades

Documentos relacionados
Oalgoritmo de Dijkstra

Problema do Caminho Mínimo

Grafos. Fabio Gagliardi Cozman. PMR2300 Escola Politécnica da Universidade de São Paulo

Estruturas de Dados Grafos

GRAFOS Aula 08 Árvore Geradora Mínima: Algoritmos de Kruskal e Prim-Jarnik Max Pereira

INF 1010 Estruturas de Dados Avançadas

MÓDULO 2 - OTIMIZAÇÃO DE REDES

Estrutura de Dados e Algoritmos e Programação e Computadores II. Aula 10: Introdução aos Grafos

ESTRUTURAS DISCRETAS (INF 1631) GRAFOS. 1. O que é um grafo? Defina um grafo orientado. Defina um grafo não-orientado.

Problema da Árvore Geradora Mínima (The Minimum Spanning Tree Problem-MST)

ALGORITMO DE DIJKSTRA

Teoria dos Grafos AULA

Otimização. Otimização em Redes. Paulo Henrique Ribeiro Gabriel Faculdade de Computação Universidade Federal de Uberlândia 2016/2

Problemas de Optimização em redes

GRAFOS. Prof. André Backes. Como representar um conjunto de objetos e as suas relações?

INF 1010 Estruturas de Dados Avançadas

SCC603 Algoritmos e Estruturas de Dados II Prof.a Rosane Minghim 1o sem. 2013

Grafos: aplicações. Grafos: árvore geradora mínima

Sub-grafo. Árvore Geradora Mínima

Prova Didática Grafos: Árvores Geradoras e Caminhos Mínimos, Análise de Complexidade

Grafos: caminhos mínimos

Grafos: componentes fortemente conexos, árvores geradoras mínimas

Grafos: caminhos mínimos

Grafos Parte 1. Aleardo Manacero Jr.

Módulo 2 OTIMIZAÇÃO DE REDES

AULA 11 PROJETO E ANÁLISE DE ALGORITMOS. Conceitos básicos e representação de grafos Karina Valdivia Delgado

GRAFOS Aula 07 Algoritmos de Caminho Mínimo: Bellman-Ford / Floyd-Warshall Max Pereira

Grafos: caminhos (matriz adjacência)

Algoritmos e Estruturas de Dados II

Matemática Discreta - Exercícios de Grafos

UNIVERSIDADE DE SÃO PAULO INSTITUTO DE CIÊNCIAS MATEMÁTICAS E DE COMPUTAÇÃO Departamento de Ciências de Computação

Estrutura de Dados e Algoritmos e Programação e Computadores II. Aula 11: Introdução aos Grafos

Problemas de Fluxo em Redes

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

Pesquisa Operacional. Teoria dos Grafos

Conceitos Básicos da Teoria de Grafos

GRAFOS Aula 03 Representações de Grafos Max Pereira

Grafos Caminhos mais Curtos

Grafos: árvores geradoras mínimas. Graça Nunes

Teoria dos Grafos. Aula 5 - Estruturas de Dados para Grafos. Profª. Alessandra Martins Coelho. março/2013

Grafos COM11087-Tópicos Especiais em Programação II

Otimização em Grafos

Departamento de Engenharia de Produção UFPR 57

Teoria dos Grafos. Edson Prestes

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

Teoria dos grafos. FATEC Carapicuíba Augusto de Toledo Cruz Junior

UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 8 Grafos. Estrutura de Dados 1

= comprimento (distância, valor) da aresta orientada do vértice i ao vértice j,, e:

Teoria dos Grafos Aula 8

Definições Básicas para Grafos

Conceito Básicos da Teoria de Grafos

Teoria dos Grafos Aula 1 - Introdução

Volmir Eugênio Wilhelm Departamento de Engenharia de Produção UFPR 45

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

Teoria dos Grafos Aula 8

UNIVERSIDADE DE SÃO PAULO INSTITUTO DE CIÊNCIAS MATEMÁTICAS E DE COMPUTAÇÃO Departamento de Ciências de Computação

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

Disciplina: Matemática Discreta Agostinho Iaqchan Ryokiti Homa

apenas os caminhos que passam só por vértices em C, exceto, talvez, o próprio v A Figura 1 a seguir ilustra o significado do conjunto C edovalordist.

Teoria dos Grafos Aula 5

Universidade Federal de Alfenas

Teoria dos Grafos. Teoria dos Grafos. Profa. Sheila Morais de Almeida DAINF-UTFPR-PG. agosto

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

ESTRUTURAS DE DADOS. prof. Alexandre César Muniz de Oliveira. 1. Introdução 2. Pilhas 3. Filas 4. Listas 5. Árvores 6. Ordenação 7. Busca 8.

Grafos IFRN. Robinson Alves

Cap. 2 Conceitos Básicos em Teoria dos Grafos

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

BCC204 - Teoria dos Grafos

Investigação Operacional

Algoritmo Aproximação. Prof. Anderson Almeida Ferreira [DPV]9.2 [ZIV]9.2.2 e 9.2.3

Teoria dos Grafos. Edson Prestes

TGR BCC Representação Computacional de Grafos. Prof. Ricardo José Pfitscher

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

Teoria dos Grafos Aula 6

Definição e Conceitos Básicos

Teoria dos Grafos. Árvores Geradoras

Árvores. Listas e árvores. Árvores. Árvores. Árvores. Árvores 03/11/2011. Listas lineares

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

Teoria dos Grafos. Edson Prestes

Teoria dos Grafos. Edson Prestes

Prof. Marco Antonio M. Carvalho

GRAFOS BUSCAS E MENOR CAMINHO. Prof. André Backes

Árvores: Conceitos Básicos e Árvore Geradora

Grafos: algoritmos de busca

2 Definição do Problema

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

Problema. Quantas cores são necessárias para pintar este mapa? Número. Cromático. Estruturas de Dados - Grafos. Problema. Problema

Redes Complexas. Renato Vicente. Complex Systems EACH USP

Árvore Geradora Mínima

Algoritmo Aproximado. Prof. Anderson Almeida Ferreira [DPV]9.2 [ZIV]9.2.2 e 9.2.3

Estruturas de Dados para Conjuntos Disjuntos: Union-find Letícia Rodrigues Bueno

Teoria dos Grafos Aula 2

Caminhos mínimos de única origem

MATEMÁTICA DISCRETA. Patrícia Ribeiro 2018/2019. Departamento de Matemática, ESTSetúbal 1 / 47

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

10/10/2011. TGR BCC O problema do Caminho mínimo. Prof. Ricardo José Pfitscher. Cronograma. O problema do caminho mínimo Algoritmo de Dijkstra

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

IFRN. Introdução à Teoria dos Grafos. Prof. Edmilson Campos

Transcrição:

Grafos aula Relembrando... m grafo é valorado (ou ponderado) se possuir valores associados às linhas e/ou aos vértices. Rota mais curta entre aeroportos aminho mais curto entre máquinas, para transmissão de dados via internet istâncias mais curtas entre cidades Rede de eventos e atividades 6 Rede de eventos e atividades 6 vértices eventos arcos atividades grafo dirigido valorado sem ciclos fonte e sumidouro xs: PRT técnica de avaliação e revisão de desempenho PM método de caminho crítico

Problema do caminho mínimom ado um grafo ponderado e dois vértices v e u, queremos encontrar o caminho de custo total mínimo entre v e u O comprimento (ou peso) de um caminho P éa soma dos pesos das arestas que compõem P xemplo: qual o menor caminho de oston a Los Angeles? Problema do caminho mínimo Propriedade : m sub-caminho de um caminho mínimo é, ele próprio, um caminho mínimo Propriedade : xiste uma árvore de caminhos mínimos partindo de um vértice inicial até todos os outros vértices Algoritmo de ijkstra Também conhecido como método guloso O algoritmo de ijkstra encontra o caminho mínimo a partir de um vértice de partida v até todos os outros vértices unciona em: Grafos dirigidos e não-dirigidos Grafos com pesos de arestas não-negativos Algoritmo de ijkstra: funcionamento ado um vértice v (vértice de partida), o algoritmo calcula, para cada vértice u, a distância mínima até v O algoritmo mantém o conjunto de vértices (nuvem ) cujas distâncias tenham sido computadas ada vértice u possui um rótulo [u] associado. [u] armazena uma aproximação da distância entre v e u. O algoritmo altera [u] cada vez que encontra uma distância menor Quando um vértice u é adicionado à nuvem, seu rótulo [u] é igual a distância final (até o momento) entre v e u ondição inicial [v] = (distância de v até v é zero) [u] = para u v

Algoritmo: expandindo a nuvem A nuvem é inicialmente vazia Repita até que todos os vértices tenham sido adicionados à nuvem : Selecione o vértice u que não esteja em e que tenha o menor rótulo [u] na primeira iteração, será escolhido o vértice inicial v ver condições iniciais! oloque-o em Atualize os rótulos dos vértices adjacentes a u da seguinte forma: para cada vértice z adjacente a u faça se z não está na nuvem, então se [u] + weight(u,z) < [z] então [z] = [u] + weight(u,z) Algoritmo: expandindo a nuvem A nuvem é inicialmente vazia Repita até que todos os vértices tenham sido adicionados à nuvem : Selecione o vértice u que não esteja em e que tenha o menor rótulo [u] na primeira iteração, será escolhido o vértice inicial v ver condições iniciais! oloque-o em Atualize os rótulos dos vértices adjacentes a u da seguinte forma: para cada vértice z adjacente a u faça se z não está na nuvem, então se [u] + weight(u,z) < [z] então [z] = [u] + weight(u,z) Atualizando a distância d(z) xemplo # onsidere uma aresta e = (u,z) tal que u é o último vértice adicionado à nuvem z não está na nuvem A atualização da distância d(z) em função da aresta e é realizada para encontrar a situação ótima O relaxamento da aresta e = (u,z) atualiza a distância d(z) v v d(u) = u d(u) = u d(z) = z d(z) = 6 z A A A A

xemplo # A xemplo # S 6 A S 6 S 6

S 6 S 6 xemplo # Algoritmo de ijkstra Algoritmo: Seja G(,A) um grafo orientado e s um vértice de G: S 6. Atribua valor zero à estimativa do custo mínimo do vértice s (a raiz da busca) e infinito às demais estimativas;. Atribua um valor qualquer aos precedentes (o precedente de um vértice t é o vértice que precede t no caminho de custo mínimo de s para t). nquanto houver vértice aberto: seja k um vértice ainda aberto cuja estimativa seja a menor dentre todos os vértices abertos; feche o vértice k Para todo vértice j ainda aberto que seja sucessor de k faça: some a estimativa do vértice k com o custo do arco que une k a j; caso esta soma seja melhor que a estimativa anterior para o vértice j, substitua-a e anote k como precedente de j.

Algoritmo de ijkstra xemplo #: caminho mais curto começando por Washington (WI) ma lista ordenada armazena os vértices que não fazem parte da nuvem have: distância lemento: vértice Algoritmo aminhomínimo(g,s) ntrada: grafo G e vértice inicial s Saída: rótulo [u] para cada vértice u de G Q lista ordenada por distância para todo v G se v = s v.setistance() senão v.setistance( ) enquanto Q não for vazia faça u Q.removeMin() para todo vértice z adjacente a u tal que z esteja em Q faça { relaxa aresta } se [u] + w(u,z) < [z] então z.setistance([u]+w(u,z)) reordene lista Q JK é o mais próximo... Seguido por P (Warwick)

oston (OS) é o próximo hicago (OR) segue Miami (MIA), em seguida depois allas (W)

San rancisco (SO): o próximo Los Angeles (LA) é o último Algoritmo de ijkstra xercício ma lista ordenada armazena os vértices que não fazem parte da nuvem have: distância lemento: vértice Algoritmo aminhomínimo (G,s) ntrada: grafo G e vértice inicial s Saída: rótulo [u] para cada vértice u de G Q lista ordenada por distância para todo v G se v = s setistance (v, ) senão setistance (v, ) enquanto Q não for vazia faça u removemin(q) para todo vértice z adjacente a u tal que z esteja em Q faça { relaxa aresta } se [u] + w(u,z) < [z] então setistance (z, [u]+w(u,z)) reordene lista Q

xercício om base no que foi apresentado em aula a respeito de grafos, escreva a estrutura de dados grafo para grafos não-dirigidos, usando uma matriz de adjacência emonstre as estruturas de dados necessárias para armazenar um grafo Liste as operações que podem ser realizadas Implemente o algoritmo de ijkstra para essa estrutura.