Teoria dos Grafos Aula 2

Documentos relacionados
Teoria dos Grafos Aula 2

Teoria dos Grafos Aula 1

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

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

Redes Complexas Aula 2

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

Teoria dos Grafos Aula 6

Definição e Conceitos Básicos

Introdução a Grafos Letícia Rodrigues Bueno

Percursos em um grafo

Grafos: conceitos básicos e métricas

GRAFOS E ALGORITMOS TEORIA DE GRAFOS

Redes Complexas Aula 2

Percursos em um grafo

Teoria dos Grafos Aula 3

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

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

CONCEITOS BÁSICOS EM GRAFOS

BCC204 - Teoria dos Grafos

Teoria dos Grafos Aula 18

Teoria dos Grafos Aula 5

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

Grafos Orientados (digrafos)

Cap. 2 Conceitos Básicos em Teoria dos Grafos

Comunicação e redes. Aula 2: Teoria dos Grafos Conceitos básicos. Professor: Guilherme Oliveira Mota.

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

CAP4. ELEMENTOS DA TEORIA DE GRAFOS. Grafo [graph]. Estrutura que consiste num par ordenado de conjuntos, G ( V, E) , sendo:

Aplicações da Matemática: Redes Sociais, Jogos, Engenharia

GRAFOS Conceitos Básicos (Parte 1)

Parte B Teoria dos Grafos

Circuitos Hamiltorianos

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

Teoria dos Grafos. Edson Prestes

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

Teoria dos Grafos. Teoria dos Grafos. Profa. Sheila Morais de Almeida DAINF-UTFPR-PG. agosto

Teoria dos Grafos Aula 22

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

GRAFOS: UMA INTRODUÇÃO

Estruturas de Dados Grafos

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

Algoritmos em Grafos - Aula 02 Introdução à Teoria dos Grafos

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

Teoria dos Grafos Aula 1 - Introdução

Noções da Teoria dos Grafos

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

Definições Básicas para Grafos

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

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

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

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

15 - Coloração Considere cada um dos grafos abaixo:

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

Teoria dos Grafos. Edson Prestes

14 Coloração de vértices Considere cada um dos grafos abaixo:

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.

Teoria dos Grafos. Motivação

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

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

GRAFOS ORIENTADOS. PSfrag replacements. Figura 1: Exemplo de um grafo orientado.

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

Teoria dos Grafos Aula 9

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

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:

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

PCC173 - Otimização em Redes

Conceito Básicos da Teoria de Grafos

Subconjuntos Especiais

INF 1010 Estruturas de Dados Avançadas

Pesquisa Operacional II. Professor João Soares de Mello

Teoria dos Grafos. Conjuntos de Corte e Conectividade

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 Departamento de Matemática Aplicada.

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

Análise e Projeto de Algoritmos

Introdução à Teoria dos Grafos

Transcrição:

Teoria dos Grafos Aula 2 Aula passada Logística Objetivos Grafos, o que são? Formando pares Aula de hoje Mais problemas reais Definições importantes Algumas propriedades

Objetivos da Disciplina Grafos como ferramenta de modelagem abtração de problemas reais Algoritmos eficientes em grafos para resolver problemas Abordagem? Estudo de problemas reais Construção de algoritmos eficientes complexidade de algoritmos Técnicas para construção de algortimos

O que é um grafo? Definição: Um grafo é um conjunto de pontos, chamados vértices, conectados por linhas, chamadas de arestas [Wikipedia 2008] a c e b d É um grafo? f Definição burocrática!

Grafo, outra definição Abstração que permite codificar relacionamentos entre pares de objetos Que objetos? Qualquer um! Ex. pessoas, cidades, empresas, países, páginas web, filmes, etc... Que relacionamentos? Qualquer um! Ex. amizade, conectividade, produção, língua falada, etc. Simétrico ou assimétrico

Grafo Abstração que permite codificar relacionamentos entre pares de objetos objetos relacionamentos vértices do grafo arestas do grafo Exemplos?

Poder da Abstração Problema Problema Problema Problema Modelo (grafo) Algoritmo Solução Muitos problemas resolvidos com o mesmo algoritmo (solução) em cima da abstração!

Alocação de Professores N professores M disciplinas (< N) Cada professor pode lecionar uma ou mais disciplinas Problema 1: Dado o que cada professor pode lecionar, é possível que as M disciplinas sejam oferecidas simultaneamente? Problema 2: Qual o maior número de disciplinas que podem ser oferecidas?

Alocação de Professores Como abstrair o problema (via grafos)? Mesma abstração! A 1 B 2 C 3 D 4 Mesmo algoritmo!

Pesquisando no Orkut Milhões de pessoas (profiles) Profiles interligadas via relacionamentos declarados Problema 1: Como saber se duas pessoas estão conectadas através de uma sequência de relacionamentos? Problema 2: Qual é o menor caminho entre duas pessoas? Orkut resolve os dois problemas!

Pesquisando no Como abstrair o problema (via grafos)? Objeto: profiles (pessoas) Relacionamento: relacionamentos declarados Antonio é amigo da Camila Antonio Camila Ana Dalva Beto Bruna Carlos Diogo Carlos e Ana: Conectados? Menor caminho?

Pesquisando no Como Orkut resolve o problema? milhões de profiles e relacionamentos! Algoritmo (eficiente)!

Viagem entre Cidades Cidades brasileiras Estradas entre cidades Problema 1: Como saber se duas cidades estão conectadas por estradas? Problema 2: Qual é o menor (melhor) caminho entre duas cidades?

Viagem entre Cidades Como abstrair o problema (via grafos)? Abstração parecida! Brasília 1015Km Sampa 72Km Santos 716Km BH 586Km 434Km 429Km Rio Algoritmo parecido! (algumas variações)

Grafo Abstração que permite codificar relacionamentos entre pares de objetos Como representá-lo formalmente? Conjuntos! Conjuntos de objetos e de pares relacionados

Grafo Grafo G = (V, E) V = conjunto de objetos chamaremos de vértices ou nós E = conjunto de pares relacionados chamaremos de arestas par não ordenado: (a,b) == (b,a) Exemplo: G = (V, E) V = {1, 2, 3, 4} E = {(1,2), (1,3), (2,3), (3,4)}

Representação Gráfica Desenho de G (o que vimos até agora) representação gráfica dos conjuntos Exemplo: G = (V, E) V = {1, 2, 3, 4} E = {(1,2), (1,3), (2,3), (3,4)} 1 2 3 4

Adjacência e Incidência Vértices adjacentes são vértices vizinhos mais precisamente... Dado grafo G= (V, E) Dois vértices a e b são adjacentes se existe e = (a, b) no conjunto E Aresta e é incidente aos vértices a e b Exemplo: G = (V, E) V = {1, 2, 3, 4} E = {(1,2), (1,3), (2,3), (3,4)} 4 e 1 são adjacentes? 3 e 2 são adjacentes?

Vértices e Arestas Número de vértices de um grafo n = V cardinalidade do conjunto Número de arestas de um grafo m = E Dado G = (V, E) Menor número de arestas de G? Maior número de arestas de G? zero! número de pares não ordenados em um n 2 n n 1 = conjunto de n = V objetos 2 n 2

Grau Grau de um vértice v número de vértices adjacentes a v função grau(v) Exemplo: G = (V, E) V = {1, 2, 3, 4} E = {(1,2), (1,3), (2,3), (3,4)} Dado G = (V, E) Grau mínimo de um vértice? Grau máximo de um vértice? grau(1) =? grau(4) =? zero! n - 1

Grafo Regular Todos os vértices têm mesmo grau no caso de r-regular, grau é r Exemplo: G é 2-regular, n = 3 V = {1, 2, 3} E = {(1,2), (1,3), (2,3)} 3 1 2 Dado G = (V, E), e G r-regular Quantas arestas tem G? E = nr 2 Por que?

São regulares? Grafo Regular 1 2 3 4 5 6 7 8 2 1 3 É possível ter qualquer combinação de n e r? 6 4 5

Grafo Completo Aresta presente entre cada par de vértices todos os vértices tem grau máximo Notação de grafo completo K n onde n é o número de vértices Exemplos K 1 K 2 K 3 K 4 1 1 1 3 1 3 K 5 2 2 2 2 4 1 3 Quantas arestas têm K n? 5 4

Caminho Como definir caminho em um grafo? Ex. caminho entre 1 e 7? 1 2 3 4 5 6 7 8 Caminho entre dois vértices sequência de vértices conectados por arestas Caminho entre v 1 e v k sequência v 1,..., v k, tal que v i,v i 1 E i =1, k 1 Ex. caminho entre 1 e 7? 1, 2, 3, 7 (1,2), (2,3), (3,7) 1, 5, 6, 2, 6, 7 é caminho?

Caminho Simples Vértices do caminho são distintos não há voltas 1 2 3 4 5 6 7 8 Ex. caminho entre 1 e 7? 1, 5, 6, 2, 6, 7 não é caminho simples 1, 5, 8, 7 é caminho simples Comprimento do caminho número de arestas que o forma Dado G = (V, E) qual é o menor caminho simples entre dois vértices? qual é o maior?

Ciclo Caminho simples que começa e termina no mesmo vértice 1 2 3 4 5 6 7 8 v 1 = v k Ex. ciclo em 5? 5, 1, 2, 3, 7, 6, 5 5, 1, 4, 8, 5 Comprimento do ciclo número de arestas que o forma Dado G = (V, E) qual é o maior ciclo? n vértices, ciclo hamiltoniano

Subgrafo Um grafo que é parte de outro grafo mais precisamente... Dado G = (V, E) G' = (V', E') é subgrafo de G se V ' V e E' E

Subgrafo Exemplo Dado G = (V, E) 1 2 3 4 5 6 7 8 É subgrafo de G? 1 2 3 5 6 7 É subgrafo de G? 1 2 3 5 6 7 É subgrafo de G? 1 3 2 5 7 6

Clique Um grafo completo dentro de outro grafo mais precisamente... Dado G = (V, E) G' = (V', E') é um clique de G se G' é subgrafo de G G' é um grafo completo

Clique Exemplo Dado G = (V, E) 1 2 3 4 5 6 7 8 É clique de G? 1 2 5 Qual é o maior clique de G? É clique de G? 1 2 2 6 3 7 5 6 Problema difícil : encontrar maior clique de um grafo

Conexo Grafo está conectado como definir mair precisamente? Grafo G=(V, E) é conexo se existe caminho entre qualquer par de vértices Caso contrário, G é desconexo 1 2 3 5 6 7 Conexo? 1 3 2 5 7 6 Conexo?

Conexo Problema: Como saber se um grafo é conexo? Como você resolveria este problema? Veremos algoritmo (eficiente) em duas aulas...

Componentes Conexos Maiores subgrafos conectados de um grafo mais precisamente... Subgrafos maximais de G que sejam conexos maximal: subconjunto que maximiza a propriedade, no caso subgrafo conexo 1 4 Exemplo: 2 3 6 5 8 9 7 6 7 1 8 2 Componente conexo? Componente conexo? 4 5