Teoria dos Grafos Aula 27



Documentos relacionados
Teoria dos Grafos Aula 27

Teoria dos Grafos Aula 22

PESQUISA OPERACIONAL TEORIA DOS GRAFOS

Grafos. Problema Abstração Modelo Solução

Online Survivable Network Design

26/08/2013. Árvore. Árvore. Árvore. Floresta :: Exemplo. Floresta ÁRVORES

Teoria dos Grafos. Edson Prestes

Teoria dos Grafos. Aulas 3 e 4. Profa. Alessandra Martins Coelho

Teoria dos Grafos. Edson Prestes

The Stable Matching Problem

Teoria dos Grafos Aula 1

01/05/2016. Danillo Tourinho Sancho da Silva, MSc ROTEIRIZAÇÃO TEORIA DOS GRAFOS MOTIVAÇÃO

BCC204 - Teoria dos Grafos

Morfologia Matemática Binária

7 - Análise de redes Pesquisa Operacional CAPÍTULO 7 ANÁLISE DE REDES. 4 c. Figura Exemplo de um grafo linear.

CAPÍTULO 2. Grafos e Redes

Teoria dos Grafos Aula 1

Capítulo 7. Topologia Digital. 7.1 Conexidade

Algoritmos e Estruturas de Dados II. Trabalho Prático 2

BC-0506: Comunicação e Redes Algoritmos em Grafos

Simulação Gráfica. Morfologia Matemática. Julio C. S. Jacques Junior

Prof. Bruno Holanda - Semana Oĺımpica Nível 1. Teoria dos Grafos

Introdução a Redes Complexas

Resolução de Problemas

Redes de Computadores. Camada de Aplicação Teoria de Redes Complexas: Conceitos Básicos em Grafos

Fluxo Máximo a Custo Mínimo

Laços Fortes e Fracos

Universidade Federal de Goiás Instituto de Informática Processamento Digital de Imagens

Teoria dos Grafos Aula 26

TOPOLOGIA DA IMAGEM DIGITAL

Redes Complexas Aula 2

Mercados de Emparelhamento

Hoje estou elétrico!

A limiarização é uma das abordagens mais importantes de segmentação de imagens. A limiarização é um caso específico de segmentação.

Trabalho Computacional

UM TEOREMA QUE PODE SER USADO NA

Estatística e Probabilidade

Contagem II. Neste material vamos aprender novas técnicas relacionadas a problemas de contagem. 1. Separando em casos

Análise de Redes de Transportes. Útil também para várias outras áreas além de Transportes!

Raciocínio Lógico para o INSS Resolução de questões Prof. Adeilson de melo REVISÃO 01 - conjuntos e porcentagens

Roteamentos AULA ... META. Introduzir alguns problemas de roteamento. OBJETIVOS. Ao final da aula o aluno deverá ser capaz de:

Grafos. Redes Sociais e Econômicas. Prof. André Vignatti

Figura 1: Exemplo de arredondamento com arestas retas.

Circuitos Elétricos Circuitos Magneticamente Acoplados

Nome: Lucas da Silva Oliveira. Professor: Ricardo Fabbri

UFSM Prof. Ghendy Cardoso Junior

Sistemas Operacionais

COS767 - Modelagem e Análise Aula 2 - Simulação. Algoritmo para simular uma fila Medidas de interesse

Análise de Redes Sociais

APLICAÇÃO REDE APLICAÇÃO APRESENTAÇÃO SESSÃO TRANSPORTE REDE LINK DE DADOS FÍSICA 1/5 PROTOCOLOS DE REDE

Classificação da imagem (ou reconhecimento de padrões): objectivos Métodos de reconhecimento de padrões

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

Gabriel Coutinho DCC035 - Pesquisa Operacional Lista 6

Introdução a Algoritmos Parte 04

Prog A B C A e B A e C B e C A,B e C Nenhum Pref

A TEORIA DOS GRAFOS NA ANÁLISE DO FLUXOGRAMA DO CURSO DE ENGENHARIA DE PRODUÇÃO DA UFF

Aula 2 TRANSFORMADORES I. Prof. Dr. Maurício Salles mausalles@usp.br USP/POLI/PEA

Matemática Discreta. Leandro Colombi Resendo. Matemática Discreta Bacharel em Sistemas de Informações

Princípio da Casa dos Pombos I

Proposta de Trabalho para a Disciplina de Introdução à Engenharia de Computação PESQUISADOR DE ENERGIA

3.1 Definições Uma classe é a descrição de um tipo de objeto.

Modelos Pioneiros de Aprendizado

Top Guia In.Fra: Perguntas para fazer ao seu fornecedor de CFTV

Introdução. Uso do disco Vantagens Desvantagens Baixo custo, facilidade de manutenção do software e do hardware, simetria e flexibilidade

Eduardo C. Xavier. 24 de fevereiro de 2011

Tema I: Teoria Matemática das Eleições Nº de Aulas Previstas (90 m): 18

Pesquisa Operacional Programação em Redes

Associação de resistores

Grafo: Algoritmos e Aplicações

ESTRUTURAS CRISTALINAS - TEORIA

Especificação do 3º Trabalho

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DA PARAÍBA TEMA DA AULA

Aula 20. Roteamento em Redes de Dados. Eytan Modiano MIT

2 Definição do Problema

5COP096 TeoriadaComputação

Quinta-feira, 14 de março. Introdução aos Fluxos de Rede Handouts: Notas de Aula

2 Diagrama de Caso de Uso

Parte 4-B Mais Exemplos. (específicos - redes de computadores)

Fundamentos de Redes de Computadores. Elementos de Redes Locais

Placas-mãe, uma breve introdução

O que você deve saber sobre

PASSEIOS ALEATÓRIOS E CIRCUITOS ELÉTRICOS

Aula 4 Análise Circuitos Elétricos Prof. Marcio Kimpara

Como Processos Criam Valor?

Programação em papel quadriculado

Este documento foi elaborado sob a licença

Redes de Computadores I. Gabarito da Lista de Exercícios 2 B C. Tabela de B B C

DISTRIBUIÇÃO DE FREQÜÊNCIAS

Aula 03 - Modelagem em PPLIM

Seis Graus de Separação. Sidney de Castro

AULA 3 Ferramentas de Análise Básicas

Introdução ao Aplicativo de Programação LEGO MINDSTORMS Education EV3

Teoria de Redes e o papel dos bancos no mercado interbancário Brasileiro

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas

Introdução. Servidor de Tempo (SNTP) com opção de horário de verão automático; 1 Cadastro do novo modelo de equipamento Urano Topmax SS

Tópicos Especiais em Redes: Introdução a Teoria dos Jogos com Aplicações a Redes de Computadores

Redes Complexas Aula 14

Método Simplex Especializado para Redes

AULA 6 Esquemas Elétricos Básicos das Subestações Elétricas

Capítulo 7 CAMADA DE TRANSPORTE

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 Ideia: 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 Ideia: 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 estender 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 arestas possível Algoritmo para problema genérico?

Aplicação de Fluxo Máximo Ideia: 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 algorítimos mais eficientes específicos para este problema

Segmentação de Imagens Remoção de fundo Separar o que é objeto de interesse do fundo Problema: quais pixels pertencem ao objeto, quais pertecem ao fundo (background) Como modelar o problema de imagens como um grafo? Como o algoritmo de fluxo máximo/corte mínimo pode ajudar?

Segmentação de Imagens Remoção de fundo Separar o que é objeto de interesse do fundo Problema: quais pixels pertencem ao objeto, quais pertecem ao fundo (background) Como modelar o problema de imagens como um grafo? Como o algoritmo de fluxo máximo/corte mínimo pode ajudar?

Segmentação de Imagens Modelando o problema como grafo Que pesos colocar nas arestas?

Segmentação de Imagens Ajuda do usuário Indicar alguns pixels como foreground ou background Montar histogramas

Segmentação de Imagens Peso das arestas: Termo de fronteira (arestas entre pixels): diferença entre pixels vizinhos Termo regional (arestas saindo de s ou chegando a t): histogramas, Prob(bg) e Prob(fg)

Segmentação de Imagens Quanto maior o peso (mais similar) mais difícil de cortar a aresta

Graph Cuts (Boykov)