Algoritmos em redes de fluxo e aplicações

Documentos relacionados
Análise de Algoritmos

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

Gabriel Coutinho DCC035 - Pesquisa Operacional Lista 6

Complexidade e algoritmos para algumas

BCC204 - Teoria dos Grafos

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

Teoria dos Grafos. Cobertura, Coloração de Arestas, Emparelhamento

Definição e Conceitos Básicos

PCC173 - Otimização em Redes

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

Análise e Projeto de Algoritmos

A resposta para este problema envolve a partição do conjunto de arestas de tal forma que arestas adjacentes não pertençam a um mesmo conjunto.

GRAFOS BUSCAS E MENOR CAMINHO. Prof. André Backes

Teoria dos Grafos Aula 2

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

Algoritmos de Aproximação para o Problema do Caixeiro Viajante

2 Definição do Problema

A resposta para este problema envolve a partição do conjunto de arestas de tal forma que arestas adjacentes não pertençam a um mesmo conjunto.

Problemas de Busca (a.k.a NP) - parte 2

O grau de saída d + (v) de um vértice v é o número de arcos que tem

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

Algoritmos para o problema da árvore de Steiner com coleta de prêmios

R.J. Wilson and J.J. Watkins, Graphs An Introductory approach, J. Wiley, 1990.

Análise de Algoritmos

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

INSTITUTO SUPERIOR TÉCNICO Análise e Síntese de Algoritmos. RESOLUÇÃO DO 2 o TESTE

Emparelhamentos Máximos em Grafos Bipartidos

Melhores momentos AULA 24. Algoritmos p.906/953

COMPLEXIDADE PARAMETRIZADA PARTE 1. Rafael Coelho.

Lista de Exercícios Programação Inteira. x 2 0 e inteiros.

Teoria dos grafos. Caminho euleriano e Hamiltoniano. Prof. Jesuliana N. Ulysses

Análise de Algoritmos. Slides de Paulo Feofiloff

Busca e Decisão. Problemas de Otimização. Kakuro. P e NP. Pode-se resolver o Kakuro somente resolvendo problemas de decisão?

Kidney Exchange Programmes

01 Grafos: parte 1 SCC0503 Algoritmos e Estruturas de Dados II

Percursos em um grafo

Teoria dos jogos Algorítmica e Otimização Combinatória

Matemática discreta e Lógica Matemática

Teoria dos Grafos Aula 2

Redução polinomial. Permite comparar o grau de complexidade de problemas diferentes.

Lista de Exercícios Programação Inteira. x 2 0 e inteiros.

Percursos em um grafo

Teoria dos Grafos. Grafos Planares

Teoria dos Grafos. Professor: Guilherme Oliveira Mota.

Teoria dos Grafos. Coloração de Vértices

Teoria e Algoritmos em Grafos

Uma Introdução Sucinta à Teoria dos Grafos

BCC204 - Teoria dos Grafos

Distinguir e determinar número cromático e índice cromático de grafos; Conceitos elementares da teoria dos grafos (aula 7);

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

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

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

Teoria dos Grafos Aula 26

Tópicos de Matemática Finita 2 a Época 20 de Julho de 2001

1 Introdução Motivação

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

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

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

Teoria dos Grafos Coloração. Profª. Alessandra Martins Coelho

Conceito Básicos da Teoria de Grafos

Planaridade AULA. ... META Introduzir o problema da planaridade de grafos. OBJETIVOS Ao final da aula o aluno deverá ser capaz de:

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

5COP096 TeoriadaComputação

Aula 19: Lifting e matrizes ideais

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

04 Grafos: caminhos e coloração SCC0503 Algoritmos e Estruturas de Dados II

Algoritmos Probabilísticos

GRAFOS E ALGORITMOS TEORIA DE GRAFOS

Conjuntos Independentes e Cliques

x y Grafo Euleriano Figura 1

Teoria dos Grafos. Fluxo Máximo em Redes

Lista de Exercícios 9 (Extra): Soluções Grafos

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

UNIVERSIDADE FEDERAL DO RIO DE JANEIRO DEPARTAMENTO DE CIÊNCIAS DA COMPUTAÇÃO. 5 a Lista de Exercícios

BCC204 - Teoria dos Grafos

BCC204 - Teoria dos Grafos

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

Projeto e Análise de Algoritmos

Árvores: Conceitos Básicos e Árvore Geradora

Algoritmos de aproximação - Problema de cobertura por conjuntos

P, NP e NP-Completo. André Vignatti DINF- UFPR

1 Emparelhamentos em Grafos

Resumo. O Problema da Atribuição de Tarefas pode ser traduzido para a Teoria dos Grafos da seguinte

Matemática Discreta. Aula 06: Teoria dos Grafos. Tópico 01: Grafos e suas Representações. Observação

Matemática para Ciência de Computadores

Projeto e Análise de Algoritmos

ANÁLISE DE ALGORITMOS (INF 1721)

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

Prof. Marco Antonio M. Carvalho

Estratégias vencedoras para o jogo Slither

Problema do Caminho Mais Curto. Problema do Caminho Mais Curto

Árvore Geradora Mínima

Análise e Síntese de Algoritmos

Análise e Síntese de Algoritmos. Fluxos Máximos em Grafos CLRS, Cap. 26

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

Análise e Síntese de Algoritmos. Problemas NP-Completos CLRS, Cap. 34

Complexidade computacional

Teoria dos Grafos Aula 27

GRAFOS Aula 02 Formalização: definições Max Pereira

O PRINCÍPIO DAS GAVETAS Paulo Cezar Pinto Carvalho - IMPA

Transcrição:

Algoritmos em redes de fluxo e aplicações Marcos Massayuki Kawakami Orientador: José Coelho de Pina Instituto de Matemática e Estatística - Universidade de São Paulo

Introdução Motivação Problemas envolvendo fluxos são recorrentes em competições de programação. Material em português sobre o tema focado em competições é escasso. Objetivos Elaborar um material didático sobre o tema de fluxos. Facilitar o acesso à informação 1

Redes e fluxos Uma rede capacitada é um grafo dirigido (V, E) munido de uma função u : E Q +. O valor atribuído a cada aresta é chamado de capacidade da aresta. 2

Redes e fluxos Sejam s e t dois vértices de uma rede capacitada (V, E, u). Um fluxo de s a t é uma função f : E Q + que satisfaz: 3

Redes e fluxos Sejam s e t dois vértices de uma rede capacitada (V, E, u). Um fluxo de s a t é uma função f : E Q + que satisfaz: (Condições de capacidade) Para toda aresta e E, f (e) u(e). 3

Redes e fluxos Sejam s e t dois vértices de uma rede capacitada (V, E, u). Um fluxo de s a t é uma função f : E Q + que satisfaz: (Condições de capacidade) Para toda aresta e E, f (e) u(e). (Condições de conservação) Para todo vértice v diferente de s e t, f (e) = f (e). e E + (v) e E (v) 3

Redes e fluxos Um exemplo de fluxo: 4

Redes e fluxos O valor de um fluxo f é igual a quantidade de fluxo que sai de s. Pelas condições de conservação, este valor deve ser igual à quantidade de fluxo que entra em t. f := f (e) = f (e) e E (s) e E + (t) 5

Redes e fluxos O valor de um fluxo f é igual a quantidade de fluxo que sai de s. Pelas condições de conservação, este valor deve ser igual à quantidade de fluxo que entra em t. f := f (e) = f (e) e E (s) e E + (t) Problema do fluxo máximo Dados dois vértices s e t de uma rede capacitada (V, E, u), encontrar um fluxo de s a t de valor máximo. 5

Redes e fluxos O valor de um fluxo f é igual a quantidade de fluxo que sai de s. Pelas condições de conservação, este valor deve ser igual à quantidade de fluxo que entra em t. f := f (e) = f (e) e E (s) e E + (t) Problema do fluxo máximo Dados dois vértices s e t de uma rede capacitada (V, E, u), encontrar um fluxo de s a t de valor máximo. Este problema pode ser resolvido em tempo polinomial no tamanho do grafo. Além disso, se u for inteiro, é sempre possível encontrar um fluxo máximo f inteiro. 5

Uma aplicação: emparelhamentos bipartidos Um emparelhamento em um grafo não-dirigido G é um subconjunto M das arestas de G tal que todo vértice de G é ponta de no máximo uma aresta de M. 6

Uma aplicação: emparelhamentos bipartidos Um emparelhamento em um grafo não-dirigido G é um subconjunto M das arestas de G tal que todo vértice de G é ponta de no máximo uma aresta de M. Problema do emparelhamento bipartido máximo Dado um grafo bipartido, encontrar um emparelhamento de cardinalidade máxima. 6

Uma aplicação: emparelhamentos bipartidos O problema do emparelhamento máximo bipartido pode ser modelado como uma instância do problema do fluxo máximo da seguinte maneira: 7

Uma aplicação: emparelhamentos bipartidos O problema do emparelhamento máximo bipartido pode ser modelado como uma instância do problema do fluxo máximo da seguinte maneira: 1. Direcionamos todas as arestas do grafo da esquerda para a direita. 7

Uma aplicação: emparelhamentos bipartidos O problema do emparelhamento máximo bipartido pode ser modelado como uma instância do problema do fluxo máximo da seguinte maneira: 2. Adicionamos dois novos vértices s e t. 7

Uma aplicação: emparelhamentos bipartidos O problema do emparelhamento máximo bipartido pode ser modelado como uma instância do problema do fluxo máximo da seguinte maneira: 3. Ligamos s a todos os vértices da esquerda, e todos os vértices da direita a t. 7

Uma aplicação: emparelhamentos bipartidos O problema do emparelhamento máximo bipartido pode ser modelado como uma instância do problema do fluxo máximo da seguinte maneira: 4. Todas as arestas recebem capacidade unitária. 7

Uma aplicação: emparelhamentos bipartidos O problema do emparelhamento máximo bipartido pode ser modelado como uma instância do problema do fluxo máximo da seguinte maneira: 5. Um emparelhamento máximo no grafo original pode ser obtido de um fluxo máximo inteiro na rede construída. 7

Evitando colas durante uma prova Queremos aplicar uma prova em uma sala de aula. Algumas das carteiras desta sala estão quebradas e não podem ser usadas. 8

Evitando colas durante uma prova Queremos aplicar uma prova em uma sala de aula. Algumas das carteiras desta sala estão quebradas e não podem ser usadas. Um aluno é capaz de colar de alunos sentados ao seu lado ou imediatamente a sua frente na diagonal. 8

Evitando colas durante uma prova Queremos aplicar uma prova em uma sala de aula. Algumas das carteiras desta sala estão quebradas e não podem ser usadas. Um aluno é capaz de colar de alunos sentados ao seu lado ou imediatamente a sua frente na diagonal. Qual o maior número de alunos que podem fazer a prova simultaneamente nesta sala sem que haja possibilidade de cola? 8

Reduzindo para emparelhamentos Considere o grafo em que as carteiras são os vértices e duas carteiras estão conectadas por uma aresta se existe risco de cola. 9

Reduzindo para emparelhamentos Considere o grafo em que as carteiras são os vértices e duas carteiras estão conectadas por uma aresta se existe risco de cola. Este grafo é bipartido! 9

Reduzindo para emparelhamentos Estamos procurando um conjunto de vértices tal que não exista aresta entre dois vértices deste conjunto. Um conjunto com esta propriedade é chamado de conjunto independente. 10

Reduzindo para emparelhamentos O complementar de um conjunto independente é tal que toda aresta incide em algum vértice deste conjunto. Um conjunto com esta propriedade é chamado de cobertura. 11

Reduzindo para emparelhamentos Teorema de König Em um grafo bipartido, o tamanho de uma cobertura mínima é igual ao tamanho de um emparelhamento máximo. 12

Reduzindo para emparelhamentos Teorema de König Em um grafo bipartido, o tamanho de uma cobertura mínima é igual ao tamanho de um emparelhamento máximo. A resposta para o problema é a diferença entre a quantidade de carteiras disponíveis e o tamanho de um emparelhamento máximo. 12

Conteúdo do material Teoria elementar sobre o tema de fluxos em rede. Implementações em C++ dos algoritmos estudados. Resolução de problemas de competições passadas. 13

Perguntas? 13