Teoria dos Grafos 1. Teoria dos Grafos

Documentos relacionados
Capítulo 1. Introdução. 1.1 Grafos

1.3 Isomorfismo 12 CAP. 1 CONCEITOS BÁSICOS

Representações de Grafos

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

Conceitos Básicos da Teoria de Grafos

Introdução a Grafos Letícia Rodrigues Bueno

Grafos Orientados (digrafos)

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

Conceitos Básicos Isomorfismo de Grafos Subgrafos Passeios em Grafos Conexidade

GRAFOS E ALGORITMOS TEORIA DE GRAFOS

Exercícios de Teoria dos Grafos

Exercícios de Teoria dos Grafos

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

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

Capítulo 1 Conceitos e Resultados Básicos

Exercícios de Teoria dos Grafos

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.

Parte B Teoria dos Grafos

05 Grafos: ordenação topológica SCC0503 Algoritmos e Estruturas de Dados II

Prof. Marco Antonio M. Carvalho

GRAFOS Conceitos Básicos (Parte 1)

Estruturas de Dados Grafos

Disciplina: Matemática Discreta Agostinho Iaqchan Ryokiti Homa

CAL ( ) MIEIC/FEUP Grafos: Introdução (Março, 2011)

GRAFOS. Introdução Conceitos Fundamentais

TEORIA DOS GRAFOS TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS MATEMÁTICA DISCRETA II PROFº MARCOS NASCIMENTO

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.

ALGORITMOS E ESTRUTURAS DE DADOS CES-11

CONCEITOS BÁSICOS EM GRAFOS

Matemática Discreta 10

Cap. 2 Conceitos Básicos em Teoria dos Grafos

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

Percursos em um grafo

grafo nós vértices arcos arestas

SCC603 Algoritmos e Estruturas de Dados II Prof.a Rosane Minghim 1o sem. 2013

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

Definição e Conceitos Básicos

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

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

SCC Modelagem Computacional em Grafos Introdução a Grafos

03 Grafos: percurso, ponderação e caminhos SCC0503 Algoritmos e Estruturas de Dados II

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

Introdução à Teoria dos Grafos. Isomorfismo

Teoria dos Grafos. Edson Prestes

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

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

Uma introdução sucinta à Teoria dos Grafos. P. Feofiloff Y. Kohayakawa Y. Wakabayashi

Teoria dos Grafos. Edson Prestes

Uma Introdução Sucinta à Teoria dos Grafos

Algoritmos de Ordenação: Cota Inferior

Subgrafos. Se G é um grafo e F A(G) então o subgrafo de G induzido (ou gerado) por F é o

Departamento de Engenharia de Produção UFPR 57

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

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

PCC173 - Otimização em Redes

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

Percursos em um grafo

GRAFOS: UMA INTRODUÇÃO

Conceito Básicos da Teoria de Grafos

Uma Introdução Sucinta à Teoria dos Grafos

Busca em Profundidade. Componentes Conexos. Grafos. Maria Adriana Vidigal de Lima. Fevereiro

Teoria dos Grafos AULA 1

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

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

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

CT-234. Estruturas de Dados, Análise de Algoritmos e Complexidade Estrutural. Carlos Alberto Alonso Sanches

5COP096 TeoriadaComputação

Doutorado em Ciência da Computação. Algoritmos e Grafos. Raimundo Macêdo LaSiD/DCC/UFBA

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

CI065 CI755 Algoritmos e Teoria dos Grafos

Teoria dos Grafos Introdu c ao

Teoria dos Grafos. Edson Prestes

Uma introdução sucinta à Teoria dos Grafos. P. Feofiloff Y. Kohayakawa Y. Wakabayashi

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

Doutorado em Ciência da Computação. Algoritmos e Grafos. Raimundo Macêdo LaSiD/DCC/UFBA

Estrutura de Dados Árvores Prof. Tiago Eugenio de Melo, MSc material de referência

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

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

Definições Básicas para Grafos

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

Teoria dos Grafos AULA 1

Teoria dos Grafos. Edson Prestes

Ministério da Educação UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ. Campus Curitiba PLANO DE ENSINO

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

Planaridade UFES. Teoria dos Grafos (INF 5037)

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

Teoria dos Grafos Aula 6

INF 1010 Estruturas de Dados Avançadas

Teoria dos Grafos. Edson Prestes

MODELAGEM MATEMÁTICA E A CONTEXTUALIZAÇÃO DO ESTUDO DE GRAFOS E MATRIZES NO ENSINO MÉDIO

Estrutura de Dados. Ricardo José Cabeça de Souza Parte 9

Algoritmos em Grafos

Oalgoritmo de Dijkstra

Análise de Algoritmos

Teoria dos Grafos. Edson Prestes

Noções da Teoria dos Grafos

Aula 2 Definições, Conceitos Básicos e Representação Interna de Grafos. Teoria dos Grafos Prof.

Transcrição:

Teoria dos Grafos Teoria dos Grafos 1 A palavra grafo é um neologismo derivado da palavra graph em inglês. Ela foi usada pela primeira vez no sentido que nos interessa aqui pelo matemático inglês James Josheph Sylvester (1814 1897). Desde a primeira aplicação dos grafos, estes têm sido utilizados numa ampla variedade de aplicações. Algumas consistem de: análise de circuitos elétricos, verificação de caminhos mais curtos, análise de planejamento de projetos, identificação de compostos químicos, mecânica estatística, genética, cibernética, linguística, ciências sociais, etc. Pode-se dizer que de todas as estruturas matemáticas são os grafos que se encontram em mais amplo uso. Os grafos são estruturas de dados presentes em ciência da computação, e os algoritmos para trabalhar com eles são fundamentais na área. Existem centenas de problemas computacionais interessantes definidos em termos de grafos. Um grafo consistem num conjunto de nós (vértices) e num conjunto de arcos (arestas). Cada arco num grafo é especificado por um par de nós. A figura ilustra um grafo. A sequência de nós é {A, B, C, D, E, F, G, H}, e o conjunto de arcos é {(A, B), (A, D), (A, C), (C, D), (C, F), (E, G), (A, A)}. Se os pares de nós que formam os arcos forem pares ordenados, diz-se que o grafo é um grafo orientado (dígrafo). As três figuras abaixo ilustram três dígrafos. As setas entre os nós representam arcos. A ponta de cada seta representa o segundo nó no par ordenado de nós que forma um arco, e o final de cada seta representa o primeiro nó no par. O conjunto de arcos do grafo da figura é {<A, B>, <A, C>, <A, D>, <C, D>, <F, C>, <E, G>, <A, A>}. Parênteses indicam um par nãodesordenado e chaves angulares para indicar um par ordenado. Um nó não precisa ter arcos associados a ele (nó H). Um grafo não precisa ser uma árvore, mas uma árvore tem de ser um grafo. O nó A, na figura abaixo, tem grau de entrada 1, grau de saída 2 e grau 3

2 Conceitos Um grafo G é constituído por um conjunto N de elementos e por uma relação binária A entre esses elementos. Escrevemos: G = (N, A). N é um conjunto de vértices não vazio. A é um conjunto de partes de vértices, sendo que esses pares são denominados de bordas. N(G) e A(G) representarão os conjuntos de vértices e bordas do grafo G. Por sua vez, a relação A é também um conjunto cujos membros são pares ordenados (n i, n j ), onde n i e n j são elementos de N. Formalmente, A N N, A é um subconjunto do produto cartesiano de N por N. Um grafo não pode ter duas arestas diferentes com o mesmo par de pontas, ou seja, não pode ter arestas paralelas. Também não pode ter uma aresta com pontas coincidentes, ou seja, não pode ter laços. Um nó n incide em um arco x se n for um de seus dois nós no par ordenado de nós que constituem x. O grau de um nó é o número de arcos incidentes nesse nó. O grau de entrada de um nó n é o número de arcos quem têm n como cabeça, e o grau de saída de n é o número de arcos que têm n como terminação da seta. Um nó n será adjacente a um nó m se existir um arcos de m até n. Se n for adjacente a m, n será chamado sucessor de m e m será um predecessor de n. Uma relação R num conjunto A é uma sequência de pares ordenados de elementos de A. Por exemplo, se A = {3, 5, 6, 8, 10, 17}, o conjunto R = {<3, 10>, <5, 6>, <5, 8>, <6, 17>, <8, 17>, <10, 17>} será uma relação. Se <x, y> for um membro de uma relação R, diz-se que x está relacionado a y em R. A relação R anterior pode ser descrita dizendo que x está relacionado com y se x for menor que y e o resto obtido a partir da divisão de y por x for ímpar. <8, 17> é um membro dessa relação porque 8 é menor que 17 e o resto da divisão de 17 por 8 é 1, número ímpar. Uma relação pode ser representada por um grafo na qual os nós representam o conjunto básico e os arcos representam os pares ordenados da relação. A figura ilustra o grafo que representa a relação anterior. Um número pode ser associado a cada arco, como na figura. Nesta figura, o número associado a cada arco é o resto obtido da divisão do inteiro posicionado na cabeça do arco pelo inteiro posicionado em sua terminação. Um grafo desse tipo, no qual existe um número associado a cada arco, é chamado grafo

Teoria dos Grafos 3 ponderado ou rede. O número associado a um arco é chamado peso. Um grafo é conexo quando tem um nó do qual existem caminhos para todos os demais. Um grafo é dito fortemente conexo se de todos os nós é possível atingir todos os demais. Um subgrafo se define com um subconjunto dos nós de um dado grafo, juntamente com todos os arcos cujas duas extremidades são nós desse subconjunto. Já em um grafo parcial, permanecem todos os nós do grafo original, mas é tomado um subconjunto de seus arcos. A figura mostra um grafo parcial P do grafo original G. No grafo G não há circuitos. Diz-se que P é um grafo acíclico, por não conter circuito algum. Num grafo não-dirigido, não tem ordenação especial o par de vértices que representam qualquer borda. Os pares (v 1, v 2 ) representam a mesma borda. Num grafo dirigido cada borda é representada por um par dirigido (v 1, v 2 ), v 1 é o cabo e v 2 a cabeça da borda. Assim sendo (v 2, v 1 ) e (v 1, v 2 ) representam duas bordas diferentes. As bordas de um grafo dirigido são desenhadas com uma seta que vai da cauda até a cabeça. Exemplos de grafos 1. Os vértices do grafo são as casas de um tabuleiro de xadrez com t linhas e t colunas (t vale 8 no tabuleiro usual). Dois vértices são adjacentes se uma dama do jogo de xadrez pode saltar de um deles para o outro em um só movimento. Esse é o grafo dos movimentos da dama (grafo da dama). Podemos dizer que esse é o grafo da dama t-pot-t. 2. Por analogia com o exemplo anterior, definem-se o grafo do rei, o grafo do bispo, o grafo do cavalo e o grafo da torre t-por-t. A figura do tabuleiro de xadrez 8-por-8 indica todos os vizinhos do vértice no grafo do cavalo. 3. O grafo das palavras é definido assim: cada vértice é uma palavra da língua portuguesa e duas palavras são adjacentes se diferem em exatamente uma posição. Por exemplo, rato e ralo são adjacentes, enquanto ralo e rota não são. 4. Um cubo de dimensão k, ou k-cubo, é o grafo definido da seguinte maneira: os vértices do grafo são todas as sequências b1b2...bk em que cada bi pertence a {0, 1}; dois vértices são adjacentes se diferem em exatamente uma posição. 5. O grafo dos estados do Brasil é definido assim: cada vértice é um dos estados da República Federativa do Brasil; dois estados são adjacentes se têm uma fronteira comum. 6. A grade p-por-p é o grafo definido assim: o conjunto de vértices é o produto cartesiano {1, 2,..., p} {1, 2,..., q} e dois vértices (i, j) e (i, j ) de V são adjacentes se i = i e j j` = 1 ou se j = j e i i = 1. 7. Seja V o conjunto de todos os subconjuntos de {1, 2, 3, 4, 5} que têm exatamente 2 elementos. Digamos que dois elementos v e w de V são adjacentes se v w =. Essa relação de adjacência sobre V define o grafo de Peterson (Julius Peterson (1839 1910), matemático dinamarquês). 8. Os hidrocarbonetos conhecidos como alcanos (Etano (C 2 H 6 ), butano (C 4 H 10 ) e isobutano (C 4 H 10 )) têm fórmula

4 Conceitos química CpH2p+2, onde C e H representam moléculas de carbono e hidrogênio respectivamente. As moléculas de alcanos podem ser representadas por grafos como os da figura. Os vértices em que incide uma só aresta representam átomos de hidrogênio (H); os demais representam átomos de carbono (C). Isomorfismo Um isomorfismo entre dois grafos G e H é uma bijeção de V(G) em V(H) tal que dois vértices v e w são adjacentes em G se e somente se (v) e (w) são adjacentes em H. Dois grafos são isomorfos se é possível alterar os nomes dos vértices de um deles de tal modo que os dois grafos fiquem iguais. Para decidir se dois grafos G e H são isomorfos, basta examinar todas as bijeções de v(g) em V(H). Se cada um dos grafos tem n vértices, esse algoritmo consome tempo proporcional a n!. Como n! cresce explosivamente com n, esse algoritmo é decididamente insatisfatório na prática. Caminhos e circuitos Um caminho é qualquer grafo da forma ({v 1, v 2,..., v n }, {v i v i+1 : 1 i < n}). Em outras palavras, um caminho é um grafo C cujo conjunto de vértices admite uma permitação (v 1, v 2,..., v n ) tal que {v 1 v 2, v 2 v 3,...,v n-1 v n } = A(C). Os vértices v 1 e v n são os extremos do caminho. O grafo ({u, v, w, z}, {wz, vz, uw}) é um caminho, que pode ser denotado por uwzv. Um circuito (ou ciclo) é um grafo O com n(o) 3 cujo conjunto de vértices admite uma permutação (v 1, v 2,...,v n ) tal que {v 1 v 2, v 2 v 3,..., v n-1 v n } {v n v 1 } = A(O). Esse circuito pode ser denotado simplesmente por v 1 v 2...v n v 1. O comprimento de um caminho ou circuito é o número de arestas do grafo. Um caminho de comprimento k tem k + 1 vértices e um circuito de comprimento k tem k vértices. Subgrafos Um subgrafo de um grafo G é qualquer grafo H tal que V(H) V(G) e A(H) A(G). Um subgrafo H de G é próprio se V(H) V(G) ou A(H) A(G). Um subgrafo de G induzido por um subconjunto X de V(G) é o grafo (X, B) em que B é o conjunto de todas as arestas de G que tem ambas as pontas em X. Esse subgrafo é denotador por G[X]. Se dissermos que uvwz é um caminho em G, devemos entender que ({u, v, w, z}, {uv, vw, wz}) é um subgrafo de G. Convenção análoga vale para circuitos que são subgrafos de G. Grafos conexos e componentes Um grafo é conexo se, para qualquer par {v, w} de seus vértices, existe um caminho com extremos v e w. Por exemplo, o grafo do bispo não é conexo (a menos que o tabuleiro tenha uma só linha e uma só coluna.

Teoria dos Grafos 5 Um subgrafo conexo H de um grafo G é maximal se H não é subgrafo próprio de algum subgrafo conexo de G. Um componente (ou componente conexo) de um grafo G é qualquer subgrafo conexo maximal de G. Cada vértice de um grafo pertence a um e um só componente. Um grafo é conexo se e somente se tem um único componente. Exercícios 1. Sejam: N = {1, 2, 3, 4, 5, 6} A = {(1, 2), (2, 1), (2, 3), (2, 4), (3, 3), (4, 1), (4, 3), (5, 6)} Represente G graficamente, sendo os arcos denotados por setas orientadas do primeiro para o segundo nó do respectivo par ordenado. 2. Abaixo temos a representação de três grafos. Represente a sequência de nós e o conjunto de arcos. G 1 G 2 G 3 3. Quantos vértices e quantas arestas tem o grafo da dama 3-por-3? 4. Quantos vértices e quantas arestas tem o grafo do cavalo 4-por-4? 5. A partir do exemplo da definição dos grafos das palavra, faça uma figura da parte do grafo definida pelas palavras abaixo: caiado cavado cavalo girafa girava ralo ramo rata rato remo reta reto tora vaiado varado virada virado virava 6. Faça figuras dos cubos de dimensões 1, 2 e 3. 7. Quantos vértices e arestas têm o grafo dos estados brasileiros?

6 Conceitos 8. Quantas arestas tem a grade p-por-p dada por uma grade 3-por-4 exibida na figura. 9. Os dois grafos da figura abaixo são isomorfos? 10. Quais dos grafos da figura abaixo são isomorfos entre si? 11. Verifique que o grafo do cavalo 3-por-3 tem dois componentes: um caminho de comprimento 0 e um circuito de comprimento 8. 12. Examine o grafo da figura ao lado. Responda V (verdadeiro) ou F (falso) para as seguintes afirmações: ( ) Existem um caminho de comprimento 1 de A até C. ( ) Existe um caminho de comprimento 2 de B até G. ( ) Existe dois caminhos de comprimento 3 de A até F. ( ) Não existe um caminho de B até C. ( ) Existem ciclos de B para B e de H para H. ( ) Não existem ciclos de F para F. 13. Quantos componentes tem o grafo do bispo t-por-t? 14. Em relação ao percurso de grafo dado como exemplo: a. Execute manualmente o procedimento ampl representando o conteúdo da fila f a cada passo. b. Execute manualmente o procedimento prof representando o conteúdo da pilha p a cada passo. c. Indique qual o comando no procedimento prof que provoca a interrupção do esquema interno de repetição, e mostre como esse esquema é retomado mais tarde, através do uso da pilha p. Bibliografia Estrutura de Dados Usando C Aaron M. Tenenbaum, Yedidyah Langsam, Moshe J. Augenstein

São Paulo: Makron Books, 1995 Algoritmos: Teoria e Prática Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein Rio de Janeiro: Elsevier, 2002 Estrutura de Dados Paulo Veloso, Clesio dos Santos, Paulo Azevedo, Antonio Furtado Rio de Janeiro: Campus, 1983 Fundamentos de Estrutura de Dados 253 Ellis Horowitz, Sartaj Sahni Rio de Janeiro: Campus, 1986 Uma Introdução Sucinta à Teoria dos Grafos 8 http://www.ime.usp.br/~pf/teoriadosgrafos/ P. Feofiloff, Y. Kohayakawa, Y. Wakabayashi Algoritmos para Grafos em C via Sedgewick http://www.ime.usp.br/~pf/algoritmos_para_grafos/ Paulo Feofiloff Teoria dos Grafos 7