BCC204 - Teoria dos Grafos

Documentos relacionados
BCC204 - Teoria dos Grafos

Casamento em GB. Casamento em Grafos. Notas. Teoria dos Grafos - BCC204, Casamento em Grafos. Notas. Descrição

BCC204 - Teoria dos Grafos

BCC204 - Teoria dos Grafos

Gabriel Coutinho DCC035 - Pesquisa Operacional Lista 6

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.

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

Conteúdo. Histórico. Notas. Teoria dos Grafos BCC204. Notas. Notas. 1736: Euler e as Pontes de Königsberg

BCC204 - Teoria dos Grafos

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.

BCC204 - Teoria dos Grafos

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

PCC104 - Projeto e Análise de Algoritmos

PCC173 - Otimização em Redes

Aula 20: Revisão Otimização Linear e Inteira Túlio A. M. Toffolo

Análise e Projeto de Algoritmos

Aula 19: Lifting e matrizes ideais

Noções da Teoria dos Grafos

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

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

Pesquisa Operacional

Lista de Exercícios 02

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

Teoria dos Grafos. Fluxo Máximo em Redes

Problemas de Afectação (PA)

Definição e Conceitos Básicos

Coloração de Mapas. O Grafo. Notas. Teoria dos Grafos - BCC204, Coloração de Grafos. Notas

Programação Linear M É T O D O S : E S T A T Í S T I C A E M A T E M Á T I C A A P L I C A D A S D e 1 1 d e m a r ç o a 2 9 d e a b r i l d e

Emparelhamento em Grafos Algoritmos e Complexidade

Teoria dos Grafos Aula 2

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

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

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

Teoria dos Grafos Aula 3

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

Uma Introdução Sucinta à Teoria dos Grafos

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

Trabalho final de Teoria dos Grafos: O problema de coloração de vértices de grafos. Alessander Botti Benevides.

Percursos em um grafo

Problema de Transporte (Redes) Fernando Nogueira Problema de Transporte 1

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

CONCEITOS BÁSICOS EM GRAFOS

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

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

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

Aula 26: Branch-and-Price

Problema de designação

GRAFOS Aula 03 Representações de Grafos Max Pereira

Lista de Exercícios2

Exemplo de um problema de transporte, com 3 fontes e 3 destinos. Custos unitários de transporte para o exemplo de problema de transporte

Percursos em um grafo

PESQUISA OPERACIONAL Problema de Designação. Professor Volmir Wilhelm Professora Mariana Kleina

Grafos Planares. Grafos e Algoritmos Computacionais. Prof. Flávio Humberto Cabral Nunes

Teoria dos Grafos Aula 2

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

Melhores momentos AULA 24. Algoritmos p.906/953

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

Instituto de Computação Universidade Federal Fluminense. Notas de Aula de Teoria dos Grafos. Prof. Fábio Protti Niterói, agosto de 2015.

Conceito Básicos da Teoria de Grafos

Definições Básicas para Grafos

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

5COP096 TeoriadaComputação

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

PCC104 - Projeto e Análise de Algoritmos

Conceitos Básicos da Teoria de Grafos

PROGRAMAÇÃO DE COMPUTADORES I BCC Aula Prática 15

Problema de Designação. Fernando Nogueira Problema de Designação 1

PROFMAT. Bruno Cesar Sá da Silva EMPARELHAMENTO EM GRAFOS BIPARTIDOS NO ENSINO MÉDIO

ANÁLISE DE ALGORITMOS (INF 1721)

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

Transcrição:

BCC204 - Teoria dos Grafos Marco Antonio M. Carvalho (baseado nas notas de aula do prof. Haroldo Gambini Santos) Departamento de Computação Instituto de Ciências Exatas e Biológicas Universidade Federal de Ouro Preto 25 de abril de 2018 Marco Antonio M. Carvalho (UFOP) BCC204 25 de abril de 2018 1 / 27

Avisos Site da disciplina: http://www.decom.ufop.br/marco/ Lista de e-mails: bcc204@googlegroups.com Para solicitar acesso: http://groups.google.com/group/bcc204 Marco Antonio M. Carvalho (UFOP) BCC204 25 de abril de 2018 2 / 27

Avisos Marco Antonio M. Carvalho (UFOP) BCC204 25 de abril de 2018 3 / 27

Conteúdo 1 Introdução 2 Casamento em Grafos Bipartidos 3 O Problema de Atribuição 4 O Método Húngaro Marco Antonio M. Carvalho (UFOP) BCC204 25 de abril de 2018 4 / 27

Casamento em Grafos Descrição Dado um grafo, um casamento (também conhecido como emparelhamento, acoplamento ou matching) é um conjunto independente de arestas, ou seja, um conjunto de arestas sem vértices em comum. Exemplos de casamentos em grafos. Marco Antonio M. Carvalho (UFOP) BCC204 25 de abril de 2018 5 / 27

Definições Subconjunto Maximal Um subconjunto G s de um conjunto G é dito maximal em relação a uma propriedade τ se não for um subconjunto de nenhum outro subconjunto de G que também possua a propriedade τ. Maximal deve ser distinto de máximo: maximal é referente à uma condição de pertinência, máximo é referente à cardinalidade. Subconjunto Minimal Um subconjunto G s de um conjunto G é dito minimal em relação a uma propriedade τ se não for um superconjunto de nenhum outro subconjunto de G que também possua a propriedade τ. Minimal deve ser distinto de mínimo: minimal é referente à uma condição de pertinência, mínimo é referente à cardinalidade. Marco Antonio M. Carvalho (UFOP) BCC204 25 de abril de 2018 6 / 27

Casamento em Grafos Casamento Maximal e Casamento Máximo Um casamento é considerado maximal caso a adição de alguma aresta descaracterize o casamento. Um casamento é considerado máximo caso possua o maior número de arestas possível, ou seja, caso seja o maior casamento possível no grafo. Exemplo de grafo, casamento maximal e casamento máximo. Marco Antonio M. Carvalho (UFOP) BCC204 25 de abril de 2018 7 / 27

Casamento em Grafos Casamento Perfeito Diz-se que um vértice que faz parte do casamento é um vértice saturado (ou acoplado). Caso contrário, o vértice é não saturado (ou não acoplado). Um casamento perfeito (ou completo) ocorre quando todos os vértices são saturados. Exemplo de grafo e casamentos perfeito. Marco Antonio M. Carvalho (UFOP) BCC204 25 de abril de 2018 8 / 27

Cadeia M-aumentante Definição Considere um grafo G e um casamento M. Uma cadeia M-aumentante é um caminho entre dois vértices não saturados por M que alternam arestas de M e arestas de G \ M. Melhoramento Sempre que encontrarmos uma cadeia M-aumentante poderemos aumentar o casamento de fato, o modo acima é o único modo de melhorar um casamento. Marco Antonio M. Carvalho (UFOP) BCC204 25 de abril de 2018 9 / 27

Cadeia M-aumentante Definição Considere um grafo G e um casamento M. Uma cadeia M-aumentante é um caminho entre dois vértices não saturados por M que alternam arestas de M e arestas de G \ M. Melhoramento Sempre que encontrarmos uma cadeia M-aumentante poderemos aumentar o casamento de fato, o modo acima é o único modo de melhorar um casamento. Marco Antonio M. Carvalho (UFOP) BCC204 25 de abril de 2018 9 / 27

Cadeia M-aumentante Definição Considere um grafo G e um casamento M. Uma cadeia M-aumentante é um caminho entre dois vértices não saturados por M que alternam arestas de M e arestas de G \ M. Melhoramento Sempre que encontrarmos uma cadeia M-aumentante poderemos aumentar o casamento de fato, o modo acima é o único modo de melhorar um casamento. Marco Antonio M. Carvalho (UFOP) BCC204 25 de abril de 2018 9 / 27

Exercício 1 Considerando o grafo abaixo, crie: Um casamento maximal; Dois casamentos máximos e perfeitos. Marco Antonio M. Carvalho (UFOP) BCC204 25 de abril de 2018 10 / 27

Casamento em Grafos Bipartidos Y Definição Seja G um grafo bipartido com uma partição (X, Y ) dos vértices. Dizemos que temos um casamento de X em Y quando um acoplamento de G satura Y (não necessariamente X ). Marco Antonio M. Carvalho (UFOP) BCC204 25 de abril de 2018 11 / 27

Casamento em Grafos Bipartidos S N(S) Teorema do Casamento (Hall,1935) Seja G um grafo bipartido com uma partição de vértices {X, Y }. Então G tem um casamento que satura X se e somente se N(S) a S S X. a N(S) indica o conjunto de vértices adjacentes aos vértices do conjunto S. Marco Antonio M. Carvalho (UFOP) BCC204 25 de abril de 2018 12 / 27

O Problema de Atribuição Definição Consiste em determinar a maneira ótima de se atribuir n tarefas à n agentes de modo que nenhuma tarefa deixe de ser executada e que todos os agentes tenham uma tarefa atribuída a eles. Em outras palavras, consistem em atribuir o melhor agente à melhor tarefa. Marco Antonio M. Carvalho (UFOP) BCC204 25 de abril de 2018 13 / 27

O Problema de Atribuição Exemplo: Em uma fábrica temos 3 operários e 3 máquinas. Pelo conhecimento e pelas características de cada operário o custo por hora é diferente, segundo a atribuição das máquinas a cada operário. Qual a atribuição de menor custo? Operário\Máquina 1 2 3 1 3 5 6 2 5 4 2 3 2 3 4 3 5 6 5 4 2 2 3 4 Marco Antonio M. Carvalho (UFOP) BCC204 25 de abril de 2018 14 / 27

Exemplo Operário\Máquina 1 2 3 1 3 5 6 2 5 4 2 3 2 3 4 3 5 6 5 4 2 2 3 4 Ao atribuir uma máquina para cada operário estamos tomando 3 elementos da matriz tais que: Cada elemento está em uma linha diferente; Cada elemento está em uma coluna diferente; Cada linha e coluna contém exatamente 1 elemento. Uma solução 1 : x 1,1, x 2,2, x 3,3, com custo 11. Solução ótima? 1 x i,j indica a seleção do elemento da linha i e coluna j. Marco Antonio M. Carvalho (UFOP) BCC204 25 de abril de 2018 15 / 27

O Método Húngaro Definição Origem em 1935, por H. W. Kuhn, porém, inventado em 1931, pelos húngaros E. Egerváry e D. König; Resolve o problema de atribuição em tempo polinomial, normalmente, O(n 3 ); Utiliza transformações na matriz de custo. Marco Antonio M. Carvalho (UFOP) BCC204 25 de abril de 2018 16 / 27

O Método Húngaro Teorema 1 Se um número real é somado ou subtraído de todas as entradas de uma linha ou coluna, então uma alocação ótima para a matriz resultante é também uma alocação ótima para a matriz original. Ao diminuir os valores nas linhas e colunas, estamos comparando-as com valores relativos. 3 5 6-3 5 4 2 2 3 4 0 2 3 5 4 2 2 3 4 0 2 3 5 4 2 2 3 4 Marco Antonio M. Carvalho (UFOP) BCC204 25 de abril de 2018 17 / 27

Método Húngaro Sumário Passo 1 Identifique o valor mínimo de cada linha e subtraia; Passo 2 Identifique o valor mínimo de cada coluna e subtraia; Passo 3a Identifique o número mínimo de riscos que cubra todos os zeros da matriz; Passo 3b Sem solução viável (número de riscos < n)? Identifique o o valor mínimo das entradas não riscadas e o subtraia dessas entradas; para entradas cobertas por dois riscos, adicione esse valor; Passo 3c Sem solução viável novamente? Então volte para o passo 3a; Caso contrário, a solução é viável, vá para o passo 4; Passo 4 Identifique a solução ótima na solução viável encontrada. Marco Antonio M. Carvalho (UFOP) BCC204 25 de abril de 2018 18 / 27

O Método Húngaro Exemplo 1: 3 5 6 3 5 4 2 2 2 3 4 2 0 2 3 3 2 0 0 1 2-1 0 1 3 3 1 0 0 0 2 A solução ótima fica evidente. Marco Antonio M. Carvalho (UFOP) BCC204 25 de abril de 2018 19 / 27

O Método Húngaro Exemplo 1: 3 5 6 3 5 4 2 2 2 3 4 2 0 2 3 3 2 0 0 1 2-1 0 1 3 3 1 0 0 0 2 A solução ótima fica evidente. Marco Antonio M. Carvalho (UFOP) BCC204 25 de abril de 2018 19 / 27

O Método Húngaro Exemplo 1: 3 5 6 3 5 4 2 2 2 3 4 2 0 2 3 3 2 0 0 1 2-1 0 1 3 3 1 0 0 0 2 A solução ótima fica evidente. Marco Antonio M. Carvalho (UFOP) BCC204 25 de abril de 2018 19 / 27

O Método Húngaro Exemplo 2: 2 6 7 2 3 6 10 3 2 2 4 2 0 4 5 0 3 7 0 0 2-2 0 4 3 0 3 5 0 0 0 Solução inviável, mais zeros necessários. Continuando... Marco Antonio M. Carvalho (UFOP) BCC204 25 de abril de 2018 20 / 27

Viabilização 0 4 3 0 3 5 0 0 0 Teorema de König Sempre que se conseguir riscar todos os zeros da matriz n n com menos de n riscos a solução é inviável. Marco Antonio M. Carvalho (UFOP) BCC204 25 de abril de 2018 21 / 27

Viabilização 0 4 3 0 3 5 0 0 0 Teorema de König Sempre que se conseguir riscar todos os zeros da matriz n n com menos de n riscos a solução é inviável. Marco Antonio M. Carvalho (UFOP) BCC204 25 de abril de 2018 21 / 27

Viabilização Operação de Viabilização 0 4 3 0 3 5 0 0 0 Identificamos o valor do menor elemento não riscado e o subtraímos em todos os elementos não riscados. Para elementos riscados duas vezes, adicionamos esse mesmo valor. Marco Antonio M. Carvalho (UFOP) BCC204 25 de abril de 2018 22 / 27

Viabilização (exemplo) 0 4 3 0 3 5 3 0 0 0 0 1 0 0 0 2 3 0 0 Matriz Original: 2 6 7 3 6 10 2 2 4 Solução com custo 12. Marco Antonio M. Carvalho (UFOP) BCC204 25 de abril de 2018 23 / 27

Viabilização (exemplo) 0 4 3 0 3 5 3 0 0 0 0 1 0 0 0 2 3 0 0 Matriz Original: 2 6 7 3 6 10 2 2 4 Solução com custo 12. Marco Antonio M. Carvalho (UFOP) BCC204 25 de abril de 2018 23 / 27

Viabilização (exemplo) 0 4 3 0 3 5 3 0 0 0 0 1 0 0 0 2 3 0 0 Matriz Original: 2 6 7 3 6 10 2 2 4 Solução com custo 12. Marco Antonio M. Carvalho (UFOP) BCC204 25 de abril de 2018 23 / 27

O Método Húngaro Ajustes O método húngaro só resolve problemas de minimização em matrizes quadradas. Porém, o algoritmo pode ser adaptado para problemas de maximização, bastando multiplicar a matriz de custos por -1. Além disto, matrizes não quadradas podem se tornar quadradas pela inclusão de linhas/colunas zeradas. Marco Antonio M. Carvalho (UFOP) BCC204 25 de abril de 2018 24 / 27

Exercício Sobre o grafo de Petersen (P), acima representado, responda: 1 Encontre um casamento maximal de P com 3 arestas. 2 Use cadeias aumentantes para encontrar um casamento maximal de P com 4 arestas. 3 Encontre um casamento máximo de P. Marco Antonio M. Carvalho (UFOP) BCC204 25 de abril de 2018 25 / 27

Exercício Execute o algoritmo Húngaro e determine a atribuição ótima para a matriz abaixo. 90 75 75 80 35 85 55 65 125 95 90 105 45 110 95 115 Marco Antonio M. Carvalho (UFOP) BCC204 25 de abril de 2018 26 / 27

Dúvidas? Marco Antonio M. Carvalho (UFOP) BCC204 25 de abril de 2018 27 / 27