Teoria dos Grafos Aula 26
|
|
|
- Teresa Garrau Lencastre
- 7 Há anos
- Visualizações:
Transcrição
1 Teoria dos Grafos Aula 26 Aula passada Redes de fluxo Problema do fluxo máximo Problema do corte mínimo Aula de hoje Algoritmo de Ford Fulkerson Análise do algoritmo Melhorando algoritmo inicial Dualidade
2 Backbone da RNP RNP: Rede Nacional de Pesquisa em Ensino ligação entre instutições nacionais Capacidade dos enlaces ( bits por segundo )
3 Problema do Fluxo Máximo Dado G=(V,E) com capacidade nas arestas e dois vértices s e t Problema: Determinar fluxo máximo entre s e t 5 1 s t Fluxo máximo? Limitante para fluxo máximo?
4 Fluxo na Rede Como definir um fluxo na rede? Determinar o fluxo de cada aresta da rede Função f : E 1) Capacidade R, com restrições Fluxo em uma aresta menor que capacidade 2) Conservação Fluxo que entra igual ao fluxo que sai Fluxo que sai da origem igual fluxo que entra no destino Valor do fluxo f quantidade de fluxo saindo da origem
5 Buscando um Algoritmo Algoritmo guloso Começar com f(e) = 0, para todo e Procurar caminho P entre s-t com f(e) < c(e), para todo e em P Aumentar fluxo em P Repetir até não conseguir mais v(f) = 20 s t Problema: fluxo não volta atrás!
6 Grafo Residual Idéia: dar chance do fluxo voltar atrás! Construir um grafo onde isto é possivel Grafo residual Arestas (direcionadas) originais: e = (u, v) capacidade c(e), fluxo f(e) Arestas residuais (do grafo residual) dois tipos: originais e reversas e = (u,v), e R = (v,u) manter os dois tipos no grafo residual
7 Arestas do Grafo Residual Capacidade das arestas dado grafo original e um fluxo f c f e =c e f e c f e = f e, quando e for original, quando e for reversa Exemplo original 10/8 2 u Grafo residual v u Todos os vértices, mais arestas (originais e reversas) com capacidade 8 v
8 Construindo Grafo Residual Vértices iguais ao original Arestas originais e reversas com capacidade apenas quando capacidade > 0 Exemplo 20/ /10 s 30/5 t 10/5 2 20/10
9 Aumentando Fluxo Idéia: aumentar o fluxo de um caminnho saturar o caminho Dado um caminho P, entre s e t no grafo residual atualizar fluxo do caminho Encontrar gargalo do caminho, b capacidade da aresta de menor capacidade Atualizar fluxos f(e) = f(e) + b, se e for aresta original f(e R ) = f(e R ) b, se e for aresta reversa
10 Aumentando Fluxo f : fluxo c : capacidade P : caminho Exemplo: P = {s, 1, t} 20/ /10 s 30/5 t P não possui aresta reversa 10/5 2 20/10
11 Ford-Fulkerson Idéia: aumentar o fluxo dos caminhos, enquanto for possivel 1) Inicializar com fluxo 0 2) Descobrir um caminho P (no grafo residual) aumentar fluxo deste caminho, via gargalo 3) Atualizar grafo residual capacidade das arestas 4) Parar quando não houver mais caminho P
12 Ford-Fulkerson Algoritmo Exemplo?
13 Análise do Término Assumir capacidades inteiras Então fluxos e capacidades residuais interias Fluxo máximo é inteiro C : limitante para fluxo máximo C = soma das capacidades de saída de s Teorema: algoritmo termina em no máximo v(f * ) <= C iterações Prova: cada iteração aumenta valor do fluxo em ao menos uma unidade Gargalo é sempre no minimo, b = 1
14 Complexidade Número de iterações = O(C) Complexidade de cada iteração? Encontrar caminho P BFS = O(n + m) Descobrir gargalo e atualizar fluxos do caminho Caminho mais comprido = O(n) Atualizar grafo residual Iterar por arestas (originais + residuais) = O(n + m) Assumir grafo conexo: m = (n) Cada passo = O(m)
15 Complexidade Complexidade de cada passo: O(m) Total de passos: O(C) Complexidade: O(mC) Algoritmo Polinomial? Pseudo-Polinomial C é um número com log 2 C bits
16 Capacidade Reais Assumimos capacidade inteira Onde? Para que? Algoritmo pode não terminar com capacidades reais Incremento a cada passo pode ser arbitrariamente pequeno Número de iterações pode divergir Modelos de problemas reais trabalham com capacidade inteiras ex. bps, carros por hora, etc.
17 Casos Patológicos Número de iterações pode ser muito alto Escolha patológica dos caminhos para aumento de fluxo Exemplo Escolher P1 = {s, 1, 2, t} s 1 Escolher P2 = {s, 2, 1, t} Alternar entre eles iterações, pois C = t
18 Melhorando Algoritmo Idéia: encontrar caminhos de maior capacidade, maiores gargalos Problema: caminho com maior gargalo (entre todos) pode ser difícil encontrar Aumento do tempo de cada iteração Idéia: caminhos com gargalos suficientemente grandes reduzir restrição ao longo do algoritmo Restringir caminhos do grafo residual
19 Melhorando Algoritmo : parâmetro de escala G f ( ) : grafo residual restringido arestas com capacidade residual de ao menos Algortimo modificado 1) = maior potência de 2, que não seja maior do que C (capacidade de saída de s) 2) Trabalhar com G f ( ) até que não haja mais P 3) Fazer = /2 4) G f ( ) = Grafo residual convencional
20 Complexidade Número de iterações que reduzem log 2 C Número máximo de caminhos P para um dado valor de primeira iteração: 1 em geral, no máximo 2m (pode-se mostrar) Custo total: O(m 2 log C ) Polinomial? Outras variações que não dependem de C Custo O(mn)
Teoria dos Grafos Aula 22
Teoria dos Grafos Aula 22 Aula passada Aula de hoje Algoritmo de Ford- Aplicações do Fulkerson fluxo máximo Análise do Emparelhamento algoritmo Caminhos Melhorando distintos algoritmo inicial Corte mínimo
Fluxo em Redes. > Fluxo em Redes Modelando com Fluxo Máximo 1/20
Fluxo em Redes > Fluxo em Redes Modelando com Fluxo Máximo 1/20 Definição (Fluxo) Fluxo s-t: fluxo f (e) para cada aresta e satisfazendo Para cada aresta e: 0 f (e) c(e) (capacidade) Para cada nó v s,
Teoria dos Grafos Aula 6
Teoria dos Grafos Aula 6 Aula passada Busca em grafos Busca em largura (BFS Breadth First Search) Propriedades Aula de hoje BFS implementação Complexidade Busca em profundidade (DFS) Conectividade, componentes
GRAFOS Aula 10 Fluxo em Redes Max Pereira
Ciência da Computação GRAFOS Aula 10 Max Pereira É a transferência de algum tipo de recurso quantificável e sujeito a restrições de equilíbrio, de um local (origem) para outro (destino) através de uma
Teoria dos Grafos Aula 18
Teoria dos Grafos Aula 18 Aula passada Coloração Algoritmo guloso Número cromático Teorema das 4 cores Aula de hoje Clusterização (ou agrupamento) Algoritmo Variação Clusterização Coleção de objetos Agrupar
Grafos: árvores geradoras mínimas. Graça Nunes
Grafos: árvores geradoras mínimas Graça Nunes 1 Motivação Suponha que queremos construir estradas para interligar n cidades Cada estrada direta entre as cidades i e j tem um custo associado Nem todas as
Teoria dos Grafos. Fluxo Máximo em Redes
Teoria dos Grafos Valeriano A. de Oliveira Socorro Rangel Silvio A. de Araujo Departamento de Matemática Aplicada [email protected], [email protected], [email protected] Fluxo Máximo
Algoritmos em Grafos COM11087-Tópicos Especiais em Programação I
Algoritmos em Grafos COM11087-Tópicos Especiais em Programação I [email protected] Introdução Teoria dos Grafos é o estudo das propriedades e estruturas dos grafos. O objetivo é, após modelar um problema
Grafos: componentes fortemente conexos, árvores geradoras mínimas
Grafos: componentes fortemente conexos, árvores geradoras mínimas SCE-183 Algoritmos e Estruturas de Dados 2 Thiago A. S. Pardo Maria Cristina 1 Componentes fortemente conexos Um componente fortemente
Teoria dos Grafos Aula 24
Teoria dos Grafos Aula 24 Aula passada Caminho mais curto entre todos os pares Algortimo de Floyd Warshall Programação dinâmica Aula de hoje Caminho mais curto em grafos Algoritmo de Bellman Ford Algoritmo
Elementos de Matemática Discreta
Duração: 55m Instituto Superior Técnico - Departamento de Matemática Licenciatura em Engenharia de Telecomunicações e Informática Elementos de Matemática Discreta - 2015-2016 Teste 3 - teste tipo Cotação
Fluxo Máximo. Pedro Ribeiro 2014/2015 DCC/FCUP. Pedro Ribeiro (DCC/FCUP) Fluxo Máximo 2014/ / 28
Fluxo Máximo Pedro Ribeiro DCC/FCUP 2014/2015 Pedro Ribeiro (DCC/FCUP) Fluxo Máximo 2014/2015 1 / 28 Fluxo Máximo Um grafo pesado pode ser interpretado como uma rede de canalizações onde o peso é a capacidade
Algoritmos de Fluxo Máximo
UNIVERSIDADE CATÓLICA DE PELOTAS Escola de Informática Programa de Pós-Graduação em Informática Mestrado em Ciência da Computação Algoritmos de Fluxo Máximo Rodrigo Santos de Souza 1 Fluxo em Redes É a
Grafos Hamiltonianos e o Problema do Caixeiro Viajante. Prof. Ademir Constantino Departamento de Informática Universidade Estadual de Maringá
Grafos Hamiltonianos e o Problema do Caixeiro Viajante Prof. Ademir Constantino Departamento de Informática Universidade Estadual de Maringá Grafo Hamiltoniano Definição: Um circuito hamiltoniano em um
Teoria dos Grafos Aula 14
Teoria dos Grafos Aula 14 Aula passada MST Aula de hoje Construção de algoritmos Paradigma guloso Escalonando tarefas no tempo (interval scheduling) Projetando Algoritmos Dado um problema P, como projetar
CURSO DE ENGENHARIA DE PRODUÇÃO PESQUISA OPERACIONAL FLUXO MÁXIMO
CURSO DE ENGENHARIA DE PRODUÇÃO PESQUISA OPERACIONAL FLUXO MÁXIMO Email: [email protected] SUMÁRIO Introdução; Aplicações; Premissas; Teorema de Ford-Fulkerson; Fluxo Máximo como
Problema do Caminho Mais Curto. Problema do Caminho Mais Curto
Problema do Caminho Mais Curto " Podemos afectar pesos" aos arcos de um grafo, por exemplo, para representar uma distância entre cidades numa rede ferroviária: ria: Chicago 650 600 700 Toronto 200 New
Fluxo em Redes: Ford-Fulkerson - Fluxo Máximo
JAILSON ALVES MICAEL AGUIAR PIETRO DALMAZIO VINÍCIUS ALVES Fluxo em Redes: Ford-Fulkerson - Fluxo Máximo Trabalho apresentado ao professor doutor Leandro Colombi Resendo como requisito para aprovação na
MÓDULO 2 - OTIMIZAÇÃO DE REDES
MÓUL - TIMIZÇÃ RS s problemas de otimização de redes podem ocorrer em várias áreas, mas geralmente são encontrados nas áreas de transportes e comunicações. Um problema típico de transporte consiste em
Problema da Árvore Geradora Mínima (The Minimum Spanning Tree Problem-MST)
Volmir Eugênio Wilhelm Departamento de Engenharia de Produção UFPR 45 Problema da Árvore Geradora Mínima (The Minimum Spanning Tree Problem-MST) Alguns problemas de otimização combinatória podem ser formulados
Algoritmo Simplex para Programação Linear I
EA Planejamento e Análise de Sistemas de Produção Algoritmo Simple para Programação Linear I DCA-FEEC-Unicamp Modelo de Programação Linear ma c ( n ) s. a. A b A ( m n) b ( m ) c ( n) P ( R n A b} Poliedro
Módulo 2 OTIMIZAÇÃO DE REDES
Módulo 2 OTIMIZAÇÃO DE REDES Grafos e Redes Está contida na área de Pesquisa Operacional. Pode ser considerada como uma teoria baseada na interligação de pontos e linhas, utilizada principalmente na solução
Teoria dos Grafos Aula 23
Teoria dos Grafos Aula 23 Aula passada Apresentação de trabalhos Discussão da prova Subset sum Problema da mochila Aula de hoje Caminho mais curto entre todos os pares Algortimo de Floyd Warshall Programação
Problema do Caminho Mínimo
Departamento de Engenharia de Produção UFPR 63 Problema do Caminho Mínimo O problema do caminho mínimo ou caminho mais curto, shortest path problem, consiste em encontrar o melhor caminho entre dois nós.
Problemas de Fluxo em Redes
CAPÍTULO 7 1. Conceitos fundamentais de grafos Em muitos problemas que nos surgem, a forma mais simples de o descrever, é representá-lo em forma de grafo, uma vez que um grafo oferece uma representação
Otimização em Grafos
Otimização em Grafos Luidi G. Simonetti PESC/COPPE 2017 Luidi Simonetti (PESC) EEL857 2017 1 / 35 Teoria dos Grafos - Relembrando Árvore Um grafo G é uma árvore se é conexo e não possui ciclos (acíclico).
Pesquisa Operacional
Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 3 - Teoria dos Grafos Fernando Marins [email protected] Departamento de Produção
Análise e Projeto de Algoritmos
Análise e Projeto de Algoritmos 2018.2 Classes P e NP P São os problemas que podem ser resolvidos em tempo polinomial por uma Máquina de Turing Determinística. NP São os problemas que podem ser decididos
Teoria dos Grafos Aula 27
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
Teoria dos Grafos Aula 8
Teoria dos Grafos Aula 8 Aula passada Grafos com pesos, caminhos e distâncias Ideia e algoritmo de Dijkstra Dijkstra o próprio Aula de hoje Corretude de Dijkstra Fila de prioridades e Heap Dijkstra eficiente
GRAFOS Aula 09 Coloração de Grafos Max Pereira
Ciência da Computação GRAFOS Aula 09 Coloração de Grafos Max Pereira O problema da coloração de grafos trata-se de atribuir cores a determinados elementos de um grafo, sob certas restrições. A coloração
André Vignatti DINF- UFPR
Notação Assintótica: O André Vignatti DINF- UFPR Notação Assintótica Vamos expressar complexidade através de funções em variáveis que descrevam o tamanho de instâncias do problema. Exemplos: Problemas
Pesquisa Operacional. Teoria dos Grafos
Pesquisa Operacional Teoria dos Grafos 1 Sumário Introdução Histórico Aplicações de modelos em grafos Conceitos e Notação Representações de um grafo G Tipos de grafos Algoritmos Algoritmo de Djisktra Algoritmo
O Problema da 3- Coloração de Grafos
Otimização Combinatória O Problema da - Coloração de Grafos Guilherme Zanardo Borduchi Hugo Armando Gualdron Colmenares Tiago Moreira Trocoli da Cunha Prof.ª Marina Andretta Introdução ao Problema Problema
Grafos Parte 1. Aleardo Manacero Jr.
Grafos Parte 1 Aleardo Manacero Jr. Uma breve introdução Grafos são estruturas bastante versáteis para a representação de diversas formas de sistemas e/ou problemas Na realidade, árvores e listas podem
Teoria dos Grafos Aula 5
Teoria dos Grafos Aula Aula passada Explorando grafos Mecanismos genéricos Ideias sobre BFS, DFS Aula de hoje Busca em grafos Busca em largura (BFS Breadth First Search) Propriedades Busca em Grafos Problema
Grafos: Busca. Algoritmos e Estruturas de Dados 2. Graça Nunes
Grafos: Busca Algoritmos e Estruturas de Dados Graça Nunes Percorrendo um grafo Percorrendo um Grafo Percorrer um grafo é uma tarefa fundamental Pense no caso de se procurar uma certa informação associada
Projeto e Análise de Algoritmos Aula 8: Algoritmos Gulosos (DPV 5; CLRS 4)
1 Projeto e Análise de Algoritmos Aula 8: Algoritmos Gulosos (DPV 5; CLRS 4) DECOM/UFOP 2013/1 5º. Período Anderson Almeida Ferreira Adaptado do material de Andréa Iabrudi Tavares BCC241/2012-2 3 Comparação
Otimização em Grafos
Otimização em Grafos Luidi G. Simonetti PESC/COPPE 2017 Luidi Simonetti (PESC) EEL857 2017 1 / 33 Definição do Problema Dado: um grafo ponderado G = (V, E), orientado ou não, onde d : E R + define as distâncias
GRAFOS Aula 08 Árvore Geradora Mínima: Algoritmos de Kruskal e Prim-Jarnik Max Pereira
Ciência da Computação GRAFOS Aula 08 Árvore Geradora Mínima: Algoritmos de Kruskal e Prim-Jarnik Max Pereira Árvore Geradora (spanning tree) É um subconjunto de um grafo G que possui todos os vértices
Aula 10: Tratabilidade
Teoria da Computação DAINF-UTFPR Aula 10: Tratabilidade Prof. Ricardo Dutra da Silva Na aula anterior discutimos problemas que podem e que não podem ser computados. Nesta aula vamos considerar apenas problemas
MATEMÁTICA DISCRETA PARA ENGENHARIA DE COMPUTAÇÃO
MATEMÁTICA DISCRETA PARA ENGENHARIA DE COMPUTAÇÃO Profa. Kathya Collazos Linares *As aulas baseiam-se no material do Professor Antonio Alfredo Ferreira Loureiro; Jorge Figueiredo e Judith Gersting Árvore
Regras para evitar ciclagem
Regras para evitar ciclagem Marina Andretta ICMC-USP 19 de outubro de 2016 Baseado no livro Introduction to Linear Optimization, de D. Bertsimas e J. N. Tsitsiklis. Marina Andretta (ICMC-USP) sme0211 -
Problema de Fluxo Máximo
Problema de Fluxo Máximo The Maximum Flow Problem Fernando Nogueira Fluxo Máximo 1 O Problema de Fluxo Máximo (The Maximum Flow Problem) Considere uma rede direcionada (dígrafo) conectada, com 2 nós especiais
Teoria dos Grafos Aula 7
Teoria dos Grafos Aula 7 Aula passada Implementação BFS DFS, implementação Complexidade Aplicações Aula de hoje Classe de funções e notação Propriedades da notação Funções usuais Tempo de execução Comparando
Definição e Conceitos Básicos
Definição e Conceitos Básicos Grafos e Algoritmos Computacionais Prof. Flávio Humberto Cabral Nunes [email protected] 1 Conceitos Básicos Em grafos ocorrem dois tipos de elementos: Vértices ou nós;
5COP096 TeoriadaComputação
Sylvio 1 Barbon Jr [email protected] 5COP096 TeoriadaComputação Aula 13 Prof. Dr. Sylvio Barbon Junior Sumário - Problemas NP-Completo Algoritmos Não-deterministas; Classes NP-Completo e NP-Dificil; Teorema
AULA 11 PROJETO E ANÁLISE DE ALGORITMOS. Conceitos básicos e representação de grafos Karina Valdivia Delgado
AULA 11 PROJETO E ANÁLISE DE ALGORITMOS Conceitos básicos e representação de grafos Karina Valdivia Delgado Roteiro Motivação Conceitos básicos Representação Motivação Um grafo é uma abstração que permite
Teoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Departamento de Matemática Aplicada
Teoria dos Grafos Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo Departamento de Matemática Aplicada Capítulo 09: Representação de Grafos Preparado a partir do texto: Rangel, Socorro. Teoria
ANÁLISE DE ALGORITMOS (INF 1721)
PUC-Rio Departamento de Informática Prof. Marcus Vinicius S. Poggi de Aragão (3WA) Horário: 2as. e 4as. 9-11hs (3WA) 24 de novembro de 2015 Período: 2015.2 ANÁLISE DE ALGORITMOS (INF 1721) 3 a Lista de
AULA 13 PROJETO E ANÁLISE DE ALGORITMOS. Problema do caminho mais curto de uma única origem em grafos Karina Valdivia Delgado
AULA 13 PROJETO E ANÁLISE DE ALGORITMOS Problema do caminho mais curto de uma única origem em grafos Karina Valdivia Delgado Roteiro Motivação Relaxamento Algoritmo de Dijkstra Motivação Suponha que você
Como saber se um problema está em NP e não está em P?
? P = NP Uma das principais questões em aberto é se P = NP, isto é, se de fato tudo o que pode ser feito em tempo polinomial por uma MTND poderia ser feito por uma MTD em tempo polinomial, talvez com um
Teoria dos Grafos. Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada.
Teoria dos Grafos Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada [email protected], [email protected] Preparado a partir do texto: Rangel, Socorro. Teoria do Grafos,
Análise e Síntese de Algoritmos
Análise e Síntese de Algoritmos Fluxos Máximos em Grafos CLRS, Cap. 26 Contexto Algoritmos elementares em grafos (CLR, Cap. 22) Árvores abrangentes de menor custo (CLR, Cap. 23) Caminhos mais curtos com
Combinando relações. Exemplo Seja A = {1, 2, 3} e B = {1, 2, 3, 4}. As relações
1 / 11 Combinando relações Combinando relações Exemplo Seja A = {1, 2, 3} e B = {1, 2, 3, 4}. As relações R 1 = {(1, 1), (2, 2), (3, 3)} e R 2 = {(1, 1), (1, 2), (1, 3), (1, 4)} podem ser combinadas para
Teoria dos grafos. Caminho euleriano e Hamiltoniano. Prof. Jesuliana N. Ulysses
1 7 Teoria dos grafos Caminho euleriano e Hamiltoniano Grafo Euleriano Grafo onde é possível achar um caminho fechado (ciclo), passando em cada aresta uma única vez Quais são os grafos de Euler? Teorema:
Algoritmos de aproximação - Problema de cobertura por conjuntos
Algoritmos de aproximação - Problema de cobertura por conjuntos Marina Andretta ICMC-USP 22 de setembro de 205 Baseado no livro Uma introdução sucinta a Algoritmos de Aproximação, de M. H. Carvalho, M.
Teoria dos Grafos Aula 9
Teoria dos Grafos Aula 9 Aula passada Grafos direcionados Busca em grafos direcionados Ordenação topológica Aula de hoje Grafos com pesos Dijkstra Implementação Fila de prioridades e Heap Dijkstra (o próprio)
Simplex. Investigação Operacional José António Oliveira Simplex
18 Considere um problema de maximização de lucro relacionado com duas actividades e três recursos. Na tabela seguinte são dados os consumos unitários de cada recurso (A, B e C) por actividade (1 e 2),
x y Grafo Euleriano Figura 1
Grafo Euleriano Um caminho simples ou um circuito simples é dito euleriano se ele contém todas as arestas de um grafo. Um grafo que contém um circuito euleriano é um grafo euleriano. Um grafo que não contém
Jogos de Anti-Coordenação e Colorações Estáveis em Grafos. Renato Lui Geh NUSP:
Jogos de Anti-Coordenação e Colorações Estáveis em Grafos Renato Lui Geh NUSP:8536030 Introdução Jogos de coordenação: Classe de jogos em que jogadores jogam cooperativamente. Jogador i fazer a mesma ação
Algoritmos em Grafos
Algoritmos em Grafos Baseado em: The Algorithm Design Manual Steven S. Skiena IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 1/42 Introdução (1) Um grafo G=(V,E)
ANÁLISE DE ALGORITMOS (INF 1721)
PUC-Rio Departamento de Informática Prof. Marcus Vinicius S. Poggi de Aragão (3WA) Horário: 2as. e 4as. 9-11hs (3WA) 3 de dezembro de 2016 Período: 2016.2 ANÁLISE DE ALGORITMOS (INF 1721) 3 a Lista de
