Teoria dos Grafos Aula 27

Documentos relacionados
Teoria dos Grafos Aula 22

Teoria dos Grafos Aula 27

Teoria dos Grafos Aula 1

Teoria dos Grafos Aula 26

Teoria dos Grafos Aula 1

Teoria dos Grafos Aula 2

Teoria dos Grafos Aula 8

Redes Complexas Aula 14

Fluxo em Redes. > Fluxo em Redes Modelando com Fluxo Máximo 1/20

Teoria dos Grafos Aula 6

Aplicações da Matemática: Redes Sociais, Jogos, Engenharia

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

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

Árvore Geradora Mínima

Instituto de Computação - Universidade Federal Fluminense Teoria dos Grafos - Lista de exercícios

MATEMÁTICA DISCRETA PARA ENGENHARIA DE COMPUTAÇÃO

Introdução à Teoria da Computação Exercícios

Teoria dos Grafos Aula 14

Instituto de Computação - Universidade Federal Fluminense Teoria dos Grafos - Lista de exercícios

Algoritmos em Grafos

GRAFOS Aula 10 Fluxo em Redes Max Pereira

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

Grafos e Algoritmos Raimundo Macêdo. Teorema de Hall (Prova por Indução)

Teoria dos Grafos Aula 17

Capítulo 1. Aula Conectividade Caminhos

Árvores Árvores Geradoras de Custo Mínimo 0/16

Teoria dos Grafos Caminhos. Profª. Alessandra Martins Coelho

Teoria dos Grafos Aula 18

Teoria dos Grafos Aula 24

Módulo 2 OTIMIZAÇÃO DE REDES

Teoria dos Grafos Aula 5

Teoria dos Grafos Aula 2

Sub-grafo. Árvore Geradora Mínima

MÓDULO 2 - OTIMIZAÇÃO DE REDES

Introdução à Teoria dos Grafos (MAC-5770) IME-USP Depto CC Profa. Yoshiko. Capítulo 3

Teoria e Algoritmos em Grafos

Fluxo Máximo. Pedro Ribeiro 2014/2015 DCC/FCUP. Pedro Ribeiro (DCC/FCUP) Fluxo Máximo 2014/ / 28

Teorema 1 - Todo corte de arestas de um grafo conexo G contém pelo menos uma aresta em comum com qualquer árvore geradora de G. Exemplo 2 - Seja T:

Teoria dos Grafos. Fluxo Máximo em Redes

Teoria dos Grafos. Edson Prestes

Análise de Algoritmos

GRAFOS E ALGORITMOS TEORIA DE GRAFOS

2 Definição do Problema

O estudo utilizando apenas este material não é suficiente para o entendimento do conteúdo. Recomendamos a leitura das referências no final deste

Teoria dos Grafos Aula 22

Introdução a Redes Complexas

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

Definição e Conceitos Básicos

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

Problemas de Fluxo em Redes

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

INF 1010 Estruturas de Dados Avançadas

Notas 1 / 14. Notas. todos os pares de pontos devem ser ligados por ao menos um percurso; usaremos um mínimo possível de ligações. 2 / 14.

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

Otimização em Grafos

Grafo planar: Definição

Gabriel Coutinho DCC035 - Pesquisa Operacional Lista 6

Teoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Capítulo 5: Grafos Conexos. Departamento de Matemática Aplicada

Teoria dos Grafos. Conjuntos de Corte e Conectividade

Matemática Discreta Capítulo 3 Versão preliminar

Fábio Protti - UFF Loana T. Nogueira - UFF Sulamita Klein UFRJ

Introdução à Teoria dos Grafos

Cap. 2 Conceitos Básicos em Teoria dos Grafos

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

Teoria dos Grafos Aula 8

Algoritmos em Grafos - Aula 02 Introdução à Teoria dos Grafos

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

PERCURSOS. André Falcão, Carlos Augusto, Rafael Broédel e Lucas Dipré

Parte B Teoria dos Grafos

Departamento de Engenharia de Produção UFPR 57

Algoritmos em redes de fluxo e aplicações

Noções da Teoria dos Grafos

Teoria dos Grafos AULA 3

Introdução à classe de problemas NP- Completos

Problema do Caminho Mínimo

Otimização em Grafos

Noções da Teoria dos Grafos. André Arbex Hallack

Grafos Árvores Geradoras Mínimas

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

Teoria dos Grafos Aula 23

Teoria dos Grafos Aula 8

Melhores momentos AULA 22. Algoritmos p.824/855

Teoria dos Grafos. Edson Prestes

Grafos - Introdução. Pedro Ribeiro 2014/2015 DCC/FCUP. Pedro Ribeiro (DCC/FCUP) Grafos - Introdução 2014/ / 32

1 Trajeto Euleriano. > Trajeto Euleriano 0/20

Algoritmos de Fluxo Máximo

BCC204 - Teoria dos Grafos

Projeto e Análise de Algoritmos

Teoria dos Grafos. Árvores Geradoras

O estudo utilizando apenas este material não é suficiente para o entendimento do conteúdo. Recomendamos a leitura das referências no final deste

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

Mercados de Emparelhamento

Teoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Capítulo 16: Grafos Planares. Departamento de Matemática Aplicada

Redes Complexas Aula 13

Prof. Marco Antonio M. Carvalho

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

André Vignatti DINF- UFPR

PCC173 - Otimização em Redes

Transcrição:

Teoria dos Grafos Aula 27 Aula passada Aula de hoje Algoritmo de Ford Aplicações do fluxo Fulkerson máximo Análise do algoritmo Emparelhamento perfeito Melhorando algoritmo inicial Caminhos distintos Corte mínimo

Formando Pares N rapazes Cada rapaz declara interesse em uma ou mais moça N moças Cada moça declara interesse em um ou mais rapaz Casal pode sair junto (formar um par) se existe interesse mútuo Problema 1: Qual maior número de pares que podemos formar? Problema 2: Quais pares devemos formar?

Formando Pares Como abstrair o problema (usando grafos)? Objeto: pessoas (rapazes e moças) Relacionamento: interesse mútuo em sair Exemplo: Ana e Beto têm interesse mútuo! Podemos formar 5 pares? Antonio Ana Beto Bruna Carlos Camila Diogo Dalva Edu Eva

Problema Genérico Emparelhamento em grafos bipartites Grafo bipartite (ou bipartidos) dois tipos de vértices, arestas apenas entre tipos diferentes Determinar maior emparelhamento emparelhamento: formação de pares perfeito: todos vértices estão emparelhados Algoritmo para problema genérico?

Aplicação de Fluxo Máximo Idéia: Converter problema original em problema de fluxo máximo Como? Construir redes de fluxo direcionada Adicionar vértice s conectar ao vértices do conjunto X Adicionar vértice t conectar vértices do conjunto Y a t Direcionar arestas do grafo original X -> Y Capacidade 1 em todas as arestas

Exemplo Original (G) Capacidades todas iguais a 1 Rede de fluxos (G') A F B G C H I D I E J E J X Y X Y A F B G C H D 1 s t Hipótese: Fluxo máximo em G' é igual ao maior emparelhamento em G!

Provando Hipótese (1/2) Emparelhamento com k pares em G tem fluxo k em G' cada par contribui unidade de fluxo Fluxo com valor k em G' emparelha k pares em G assumir integridade de fluxo (fluxo inteiros): f(e) = 0 ou f(e) = 1 arestas com fluxo são arestas emparelhadas Seja M' conjunto de arestas com f(e) = 1 M' possui k arestas

Provando Hipótese (2/2) Cada vértice em X incidente em no máximo uma aresta em M' Conservação de fluxo Cada vértice em Y incidente em no máximo uma aresta em M' Conservação de fluxo Valor do fluxo máximo em G' é igual ao maior emparelhamento em G Vértices com f(e) = 1 correspondem aos vértices do emparelhamento

Complexidade Algoritmo original: O(mC) 2 Algoritmo modificado: O(m log C) Quanto vale C? C = O(n) Custo via algoritmo original: O(mn) Custo menor via algoritmo original! Porque?

Robustez da Malha Elétrica Malha elétrica (distribuição de energia) Torres e linhas de transmissão Robustez: número de caminhos distintos (em linhas) Problema: Determinar robustez entre fonte geradora e ponto consumidor

Robustez da Malha Elétrica Objetos: torres de transmissão Arestas: linhas entre torres B A Fonte geradora F E C Número de caminhos distintos (em arestas)? D G

Problema Genérico Dado grafo direcionado G e dois vértices s, t quaisquer Encontrar número de caminhos distintos em termos de arestas podemos repetir vértices Encontrar os caminhos em si não só o número Algoritmo para problema genérico?

Aplicação de Fluxo Máximo Idéia: Converter problema original em problema de fluxo máximo Como? Construir rede de fluxos s e t são origem/destino da rede remover arestas entrada s, saída t capacidade 1 em todas outras arestas assumir fluxo inteiro

Hipótese e Prova Fluxo máximo s-t é igual número de caminhos distintos entre s e t Se existirem k caminhos distintos s-t, então fluxo máximo será ao menos k cada caminho carrega fluxo 1, independente Se existir fluxo máximo k, então temos k caminhos distintos Assumir fluxo inteiro Intuição: cada aresta com f(e) = 1 pertence a exatamente 1 caminho (algum)

Complexidade Algoritmo original: O(mC) Quanto vale C? C = O(n) Custo via algoritmo original: O(mn) Custo menor via algoritmo original De novo!

Grafos Não-Direcionados Considerar grafos não-direcionados E dois vértices quaisquer s, t Número de caminhos distintos entre eles? Em termos de arestas Caminho entre eles? Não só o número Como extender modelo anterior?

Aplicação de Fluxo Máximo Construir rede de fluxos direcionada Para cada aresta (u, v) original (não direcionada) Adicionar aresta (u, v) direcionada Adicionar aresta (v, u) direcionada Continuar como caso direcionado remover arestas entrando s e saindo t, capacidade 1 em todas arestas, assumir fluxos inteiros Problema: apenas uma das arestas pode ser utilizada aresta é única no grafo não-direcionado

Aplicação de Fluxo Máximo Problema não será problema! Fluxo máximo existe utilizando aresta em apenas uma das direções Supor duas direções sendo utilizadas Novo fluxo onde nenhuma das duas é utilizada tem mesmo valor e é um fluxo 1/1 u 1/1 1/0 v u 1/0 v

Conectividade na Internet Internet: rede de redes Conectividade entre AS (sistemas autônomos) Robustez: conectividade global Problema: Determinar robustez da Internet Número mínimo de arestas que precisam falhar para desconectar o grafo

Problema Genérico Problema do corte mínimo em grafos nãodirecionados Corte: conjunto de arestas que se removidas desconectam o grafo geram mais de um componente conexo Tamanho do corte: número de arestas que o compõem Corte mínimo: corte com o menor número de aresas possível Algoritmo para problema genérico?

Aplicação de Fluxo Máximo Idéia: Converter problema original em problema de fluxo máximo Como? Escolher dois vértices s e t quaisquer Construir rede de fluxos s-t Como no caso anterior, caminhos distintos Obter corte mínimo entre s-t corte mínimo é igual ao fluxo máximo, que é igual ao número de caminhos distintos Corte mínimo global?

Aplicação de Fluxo Máximo Problema: corte mínimo s-t não necessariamente é corte mínimo global? Solução? Fixar s, variar t para cada vértice do grafo Determinar corte mínimo para cada t via redes de fluxo Corte mínimo global é o menor deles Obs: corte mínimo global necessariamente separa s de t para algum par s e t

Complexidade Fixar s, variar t Total de n-1 rodadas Algoritmo original: O(mC) Quanto vale C? C = O(n) Custo de cada rodada: O(mn) Custo total: O(mn2) Mas existem algortimos mais eficientes específicos para este problema