Prof. Marco Antonio M. Carvalho

Documentos relacionados
BCC204 - Teoria dos Grafos

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

Árvore Geradora Mínima

Prof. Marco Antonio M. Carvalho

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

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

INF 1010 Estruturas de Dados Avançadas

Grafos Árvores Geradoras Mínimas

Análise de Algoritmos

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

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

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

Problema da Árvore Geradora Mínima

Otimização em Grafos

Teoria dos Grafos Aula 6

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

Grafos Parte 1. Aleardo Manacero Jr.

Teoria dos Grafos Aula 5

2 Definição do Problema

Projeto e Análise de Algoritmos Aula 8: Algoritmos Gulosos (5)

Demonstração. Relação invariante chave. Implementações do algoritmo de Prim. Implementação grosseira

Sub-grafo. Árvore Geradora Mínima

Projeto e Análise de Algoritmos NP Completude. Prof. Humberto Brandão

Prova Didática Grafos: Árvores Geradoras e Caminhos Mínimos, Análise de Complexidade

Projeto e Análise de Algoritmos Aula 8: Algoritmos Gulosos (DPV 5; CLRS 4)

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

Teoria dos Grafos. Árvores Geradoras

Algoritmos em Grafos

Teoria dos Grafos Aula 8

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

Abordagens para Resolução de Problemas

Teoria dos Grafos Caminhos. Profª. Alessandra Martins Coelho

Estruturas de Dados. Grafos VIII: Árvores Geradoras Mínimas. Prof. Ricardo J. G. B. Campello

5COP096 TeoriadaComputação

Teoria dos Grafos Aula 8

Algoritmos e Estruturas de Dados II Grafos conceitos gerais. Thiago A. S. Pardo Profa. M. Cristina Material de aula da Profa. Josiane M.

Estruturas de Dados para Conjuntos Disjuntos: Union-find Letícia Rodrigues Bueno

Algoritmo de Prim Wikipédia, a enciclopédia livre

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:

Grafos - Motivação. Grafos - Motivação. Algoritmos e Estruturas de Dados II Introdução a Grafos

Estruturas de Dados Grafos

INF 1010 Estruturas de Dados Avançadas

Teoria dos Grafos Aula 8

Tecnicas Essencias Greedy e Dynamic

Oalgoritmo de Dijkstra

Caminho mais curto e o algoritmo de Dijkstra

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

Árvores: Conceitos Básicos e Árvore Geradora

Pesquisa Operacional. Teoria dos Grafos

Volmir Eugênio Wilhelm Departamento de Engenharia de Produção UFPR 45

Volmir Eugênio Wilhelm Departamento de Engenharia de Produção UFPR 21

ALGORITMOS E ESTRUTURAS DE DADOS CES-11

Teoria da Computação. Clique de um Grafo. Alexandre Renato Rodrigues de Souza 1

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

Algoritmos de aproximação - Problema do caixeiro viajante

Teoria e Algoritmos em Grafos

MATEMÁTICA DISCRETA PARA ENGENHARIA DE COMPUTAÇÃO

Departamento de Engenharia de Produção UFPR 57

Teoria dos Grafos Aula 2

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

Teoria dos Grafos. Edson Prestes

Aula 10: Tratabilidade

Grafos. Exemplo de árvore geradora mínima. Notas. Notas. Notas. Notas. Árvores espalhadas mínimas. Como construir uma árvore geradora miníma

Teoria dos Grafos Aula 18

Circuitos Eulerianos Ciclos Hamiltonianos O Problema do Caixeiro Viajante CAMINHAMENTOS BASEADO EM TOWNSEND (1987), CAP. 7.

5COP096 TeoriadaComputação

ESTRUTURAS DE DADOS. prof. Alexandre César Muniz de Oliveira. 1. Introdução 2. Pilhas 3. Filas 4. Listas 5. Árvores 6. Ordenação 7. Busca 8.

GRAFOS. Introdução Conceitos Fundamentais

UNIVERSIDADE DE SÃO PAULO INSTITUTO DE CIÊNCIAS MATEMÁTICAS E DE COMPUTAÇÃO Departamento de Ciências de Computação

Projeto e Análise de Algoritmos. Método Guloso

UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 8 Grafos. Estrutura de Dados 1

Problemas de Fluxo em Redes

Alg l ori r t i m t os e E str t u r tu t ra r s d e D ados I I Intr t o r duçã ç o ã a a Gr G a r f a o f s P of o a. M. C r C ist s ina n a /

Algoritmos e Estruturas de Dados II Introdução a Grafos. Divisão do arquivo

CES-11. Algoritmos e Estruturas de Dados. Carlos Alberto Alonso Sanches

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

GRAFOS E ALGORITMOS TEORIA DE GRAFOS

Algoritmo Floyd-Warshall. Problema dos caminhos mínimos entre todos os pares. Programação dinâmica

PCC173 - Otimização em Redes

Teoria dos Grafos AULA 2

Teoria dos Grafos. Conjuntos de Corte e Conectividade

Grafos Msc. Daniele Carvalho Oliveira. Doutoranda em Computação UFU Mestre em Computação - UFU Bacharel em Computação - UFJF 1

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

SCC Modelagem Computacional em Grafos Introdução a Grafos

Projeto e Análise de Algoritmos

Cortes (cut sets) 2010/2 Teoria dos Grafos (INF 5037/INF2781) CC/EC/UFES

Grafos: Busca. Algoritmos e Estruturas de Dados 2. Graça Nunes

Conceitos Básicos da Teoria de Grafos

Introdução a Grafos Letícia Rodrigues Bueno

Formulação de Programação Linear Inteira para o Problema de Particionamento em Conjuntos Convexos

Algoritmos em Grafos - Aula 07 Algoritmos Gulosos

Introdução à Teoria dos Grafos

BCC204 - Teoria dos Grafos

Prof. Marco Antonio M. Carvalho

Teoria dos Grafos Aula 7

TEORIA DOS GRAFOS UMA APLICAÇÃO DE LOGÍSTICA PARA O ENSINO MÉDIO. Profº M. Sc. Marcelo Mazetto Moala

Aula 19 Conjuntos disjuntos (Union-find)

Teoria dos Grafos. Edson Prestes

Análise de Algoritmos

TGR BCC Representação Computacional de Grafos. Prof. Ricardo José Pfitscher

Transcrição:

Prof. Marco Antonio M. Carvalho

Lembretes Lista de discussão Endereço: programaacao@googlegroups.com Solicitem acesso: http://groups.google.com/group/programaacao Página com material dos treinamentos http://www.decom.ufop.br/marco/extensao/obi/ Repositório online de problemas das edições passadas da OBI http://br.spoj.com/problems/obi/sort=-7 Moodle http://programaacao.net.br/login/index.php 2

Avisos 3

Na aula de hoje Árvore Geradora Árvore Geradora Mínima Algoritmo de Prim Problema Selecionado Um Problema de Lógica 4

Árvore Geradora 5

Árvore Geradora Todo grafo G conexo possui uma árvore que contém todos os seus vértices; Uma árvore geradora de um grafo G é um subgrafo conexo e acíclico que possui todos os vértices originais de G e um subconjunto das arestas originais de G Em outras palavras, uma árvore geradora é um subgrafo gerador que é uma árvore. Como consequência das propriedades de uma árvore, todo grafo conexo possui pelo menos uma árvore geradora. 6

7

Árvore Geradora Grafo de exemplo, árvore geradora e árvore não geradora. 8

Árvore Geradora Uma floresta é um conjunto de árvores sem vértices em comum; Uma floresta geradora é uma floresta que contém todos os vértices de um grafo. Grafo de exemplo e florestas, apenas a primeira é geradora. 9

Árvore Geradora Mínima 10

Árvore Geradora Mínima A árvore geradora de custo mínimo é a árvore geradora de menor custo dentre todas as possíveis em um grafo; Analogamente, a árvore geradora de custo máximo é a árvore geradora de maior custo dentre todas as possíveis em um grafo; A determinação de ambas as árvores descritas pode ser feita em tempo polinomial. 11

Árvore Geradora Mínima Grafo de exemplo e árvores geradoras de custo mínimo e máximo. 12

Árvore Geradora Mínima Um dos primeiros algoritmos para determinação de árvores geradoras mínimas data do ano de 1928. De lá para cá, a complexidade dos algoritmos evoluiu de O( A log V ) para O( A ), cuja implementação data de 2008; Dois dos algoritmos mais populares para determinação de árvores geradoras mínimas, ambos gulosos, remetem ao final da década de 50: o algoritmo de Prim e o Algoritmo de Kruskal. 13

Algoritmo de Prim 14

Algoritmo de Prim Este algoritmo foi proposto 1930 pelo matemático tcheco Vojtech Jarník; Este mesmo algoritmo foi novamente proposto pelo cientista da computação americano Robert C. Prim (* 1921 2009) em 1957 e redescoberto posteriormente pelo holandês Edsger Dijkstra em 1959. 15

Algoritmo de Prim O princípio do algoritmo é Incluir, de forma gulosa, um a um, os vértices da árvore geradora mínima; O algoritmo parte de qualquer vértice do grafo; A cada passo, acrescenta menor aresta incidente no conjunto de vértices que já foram selecionados e que possui uma extremidade em vértices no conjunto de não selecionados. 16

Algoritmo de Prim Terminologia T min : Conjunto de arestas que define a árvore geradora mínima; T: Conjunto dos vértices já selecionados pelo algoritmo; N: Conjunto dos vértices não selecionados pelo algoritmo; \: subtração em conjuntos. 17

Algoritmo de Prim Entrada: Grafo G =(V, A) e matriz de pesos D={d ij } para todas as arestas {i, j} 1 Escolha qualquer vértice i 2 V ; 2 T {i}; 3 N V \ i; 4 T min ;; 5 enquanto T 6= V faça 6 Encontre aaresta(j, k) 2 A tal que j 2 T, k 2 N e d jk émínimo; 7 T T [ {k}; 8 N N \{k}; 9 T min T min [ (j, k); 10 fim 18

Algoritmo de Prim Grafo de exemplo. O vértice 1 é o primeiro a ser escolhido. 19

Algoritmo de Prim Inserção do vértice 2 e da aresta {1, 2}. Inserção do vértice 2 e da aresta {1, 2}. A região em azul indica os vértices escolhidos. 20

Algoritmo de Prim Inserção do vértice 3 e da aresta {2, 3}. 21

Algoritmo de Prim Inserção do vértice 4 e da aresta {2, 4}. Inserção do vértice 4 e da aresta {2, 4}. 22

Algoritmo de Prim Inserção do vértice 5 e da aresta {4, 5}. Inserção do vértice 5 e da aresta {4, 5}. 23

Algoritmo de Prim Inserção do vértice 6 e da aresta {4, 6}. Inserção do vértice 6 e da aresta {4, 6}. A árvore geradora mínima foi determinada. 24

Aplicações Projeto de redes de computadores e de comunicação; Instalações telefônicas, hidráulicas, elétricas, de petróleo e gás; Análise de agrupamentos; Análise genética; Análise de padrões de distribuição espacial de esporos; Astronomia (determinação de agrupamento de quasars); Geração de limites de problemas NP-Difíceis; Computação móvel; Modelos de localização de interação de partículas em fluxo turbulento de fluidos; etc. 25

Problema Selecionado 26

Problemas Selecionados http://www.urionlinejudge.com.br/judge/pt/problems/view/1152 27

Um Problema de Lógica 28

Um Problema de Lógica Um carro precisa transportar uma pessoa importante através de um deserto; Não há posto de gasolina no deserto, e o tanque do carro só tem capacidade para ir até metade do deserto; Por sorte, existem carros que podem transferir o combustível de seu tanque para outros carros; Quantos carros serão necessários para transportar a pessoa até o outro lado do deserto? 29

Perguntas? 30