• Like
  • Save
Graph Theory - Exercises - Chapter 2
Upcoming SlideShare
Loading in...5
×
 

Graph Theory - Exercises - Chapter 2

on

  • 265 views

Some solved exercises of Graph Theory. The reference book used was: "Grafos - Introdução e Prática".

Some solved exercises of Graph Theory. The reference book used was: "Grafos - Introdução e Prática".

Statistics

Views

Total Views
265
Views on SlideShare
265
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Graph Theory - Exercises - Chapter 2 Graph Theory - Exercises - Chapter 2 Document Transcript

    • Lista de Exercícios - Teoria dos Grafos Exercícios do Capítulo 2 - Questões 1, 2, 3, 6 e 8 Michel Alves dos Santos ∗ Março de 2011 ∗Bacharelando em Ciência da Computação, Universidade Federal do Estado de Alagoas(UFAL). E-mails: mi- chel.mas@gmail.com, michelalavessantos@hotmail.com. Disciplina: Teoria dos Grafos. Docente Responsável: Leo- nardo Viana Pereira. 1
    • Conteúdo Lista de Figuras 2 1 Questão 1 3 1.1 a) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2 b) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3 c) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.4 d) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.5 e) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.6 f) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.7 g) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.8 h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.9 i) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.10 j) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.11 k) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2 Questão 2 5 2.1 a) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.2 b) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.3 c) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.4 d) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.5 e) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.6 f) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.7 g) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.8 h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.9 i) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3 Questão 3 7 3.1 a) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.2 b) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3.3 c) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3.4 d) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3.5 e) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3.6 f) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 4 Questão 6 9 5 Questão 8 10 5.1 a) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 5.2 b) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 5.3 c) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Lista de Figuras 1 Grafo apresentado para primeira questão. A primeira figura indica apenas as liga- ções entre os vértices, a segunda apresenta uma numeração para as arestas. . . . . 3 2 Grafo orientado fornecido para a segunda questão. . . . . . . . . . . . . . . . . . . 5 3 Grafo orientado fornecido para a segunda questão com arestas numeradas. . . . . . 7 4 Grafo fornecido para a terceira questão. . . . . . . . . . . . . . . . . . . . . . . . . 8 5 Exemplo de grafo para cálculo do grau. Primeiro Passo da Demonstração. . . . . . 9 2
    • 6 Exemplo de grafo para cálculo do grau. Segundo Passo da Demonstração. . . . . . 9 7 Exemplo de grafos não isomorfos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1 Questão 1 Figura 1: Grafo apresentado para primeira questão. A primeira figura indica apenas as ligações entre os vértices, a segunda apresenta uma numeração para as arestas. 1.1 a) A seguir, duas condificações de duas soluções diferentes: • abcdebdae; • abcdaebde. 1.2 b) Vértice Vértice(s) adjacente(s) a b, d, e b a, c, d, e c b, d d a, b, c, e e a, b, d 1.3 c) a b c d e a 0 1 0 1 1 b 1 0 1 1 1 c 0 1 0 1 0 d 1 1 1 0 1 e 1 1 0 1 0 3
    • 1.4 d) 1 2 3 4 5 6 7 8 a 1 1 1 0 0 0 0 0 b 1 0 0 0 1 1 0 0 c 0 0 0 1 0 0 1 0 d 0 1 0 0 1 0 0 1 e 0 0 1 0 0 1 0 1 1.5 e) Verificando se cbdeadeab é uma solução (sem usar o desenho). Usando a lista de adjacência temos os seguintes passos: c → d d → b b → e e → a d → e e → a O passo em destaque já foi um passo realizado antes, isso que dizer que uma aresta foi repetida, portanto essa codificação não é uma solução para o problema tratado. Acho também que um computador, convenientente programado, poderia realizar esta verifica- ção. Basta apenas criar um algoritmo onde para cada percurso, o mesmo deve ser armazenado e verificado para cada outro percurso realizado, ou seja, deve-se ter uma implementação de um percurso simples. 1.6 f) A solução abcdeadbe pode ser codificada como 14783256. Eu codificaria a solução numérica, pois como a mesma faz referência as arestas, fica mais fácil identificar se uma codificação dada é válida para esse problema, basta verificar se existe um número repetido na sequência. A seguir as codificações das sequências do item (e): adcbedbae → 27468513 eabdebcda → 31586472 cbdeadeab → 75632831 4
    • 1.7 g) • 12345678 não é solução, pois não é possível sair diretamente da aresta 2 para 3; • 12345687 também não é solução pelo mesmo motivo do item anterior; • 35742861 também não é solução pelo mesmo motivo do item anterior. Usando a lista de incidência e procurando por outros vértices que também incidam na mesma aresta e que possuam uma ligação para a próxima aresta da sequência fornecida. 1.8 h) É possível formar 88 = 16.777.216 sequências. 1.9 i) Um computador que examinasse 1.000.000 sequências por segundo, levaria pelo menos Tempo = 88 1.000.000 = 16.777.216 1.000.000 = 16, 777216 ou seja, 16.777.216seq 106seq/s = 16, 777216s, para descobrir todas as soluções. 1.10 j) Para um grafo com 20 arestas, seria possível formar o seguinte número de sequências: 2020 = 104.857.600.000.000.000.000.000.000 1.11 k) Um computador que examinasse 1.000.000 seq/s, levaria pelo menos: Tempo = 202 0 1.000.000 = 104.857.600.000.000.000.000.000.000 1.000.000 = 104.857.600.000.000.000.000s 2 Questão 2 Figura 2: Grafo orientado fornecido para a segunda questão. 5
    • 2.1 a) A seguir, duas condificações de duas soluções diferentes: • acbcdabd; • abcbdacd. 2.2 b) Vértice Vértice(s) adjacente(s) a b, c b c, d c b, d d a 2.3 c) a b c d a 0 1 1 0 b 0 0 1 1 c 0 1 0 1 d 1 0 0 0 2.4 d) 1 2 3 4 5 6 7 a 1 1 0 0 0 0 -1 b -1 0 1 1 -1 0 0 c 0 -1 -1 0 1 1 0 d 0 0 0 -1 0 -1 1 2.5 e) Verificando se acdabcbd é uma solução (sem usar o desenho). Usando a lista de adjacência temos os seguintes passos: a → c c → d d → a a → b b → c c → b b → d Logo, todas as arestas foram percorridas, e não houve repetições, logo a sequência acdabcbd é uma solução. Verificando se abdacbda é uma solução (sem usar o desenho). Usando a lista de adjacência temos os seguintes passos: a → b b → d d → a a → c c → b b → d O passo em destaque já foi um passo realizado antes, isso quer dizer que uma aresta foi repetida, portanto essa codificação não é uma solução para o problema tratado. 6
    • 2.6 f) Figura 3: Grafo orientado fornecido para a segunda questão com arestas numeradas. Através da figura podemos observar que a sequência 1354726 é uma solução válida. A seguir as codificações das sequências do item (e): acdabcbd → 2671354 abdacbda → 1472547 2.7 g) • 1234567 não é solução, pois não é possível sair diretamente da aresta 1 para 2; • 1234567 não é solução pelo mesmo motivo do item anterior; • 3574261 não é solução, pois não é possível sair diretamente da aresta 5 para 7. 2.8 h) É possível formar 77 = 823.543 sequências. 2.9 i) Um computador que examinasse 1.000.000 seq/s, levaria pelo menos 823.543seq 106seq/s = 0.823543s, para descobrir todas as soluções. 3 Questão 3 3.1 a) Logo abaixo a lista de adjacência do grafo da figura acima: Vértice Vértice(s) adjacente(s) A B, C B A, C, D C A, B, D D B, C 7
    • Figura 4: Grafo fornecido para a terceira questão. 3.2 b) Logo abaixo a matriz de adjacência: A = A B C D A 0 1 1 0 B 1 0 1 1 C 1 1 0 1 D 0 1 1 0 3.3 c) B = 1 2 3 4 5 A 1 1 0 0 0 B 1 0 1 1 0 C 0 1 1 0 1 D 0 0 0 1 1 3.4 d) Calculando o produto A2 :     0 1 1 0 1 0 1 1 1 1 0 1 0 1 1 0     ∗     0 1 1 0 1 0 1 1 1 1 0 1 0 1 1 0     =     2 1 1 2 1 3 2 1 1 2 3 1 2 1 1 2     O tamanho (comprimento) de um caminho é o número de arestas do mesmo, ou seja, número de vértices menos um. Quantos caminhos distintos de tamanho n existem conectando dois vértices de um dado grafo G? Este valor pode ser computado multiplicando a matriz de adjancência do grafo G por ela mesma n vezes. Se A é a matriz de adjacência de um grafo G, a entrada aij da matriz A2 indica a quantidade de caminhos de tamanho 2 conectando vi a vj no grafo G. Este resultado é válido para caminhos de tamanho n calculando An . Logo os números na diagonal significam o número de caminhos de tamanho 2 que existem de um vértice para ele mesmo. 3.5 e) Calculando o produto B · Bt :     1 1 0 0 0 1 0 1 1 0 0 1 1 0 1 0 0 0 1 1     ∗       1 1 0 0 1 0 1 0 0 1 1 0 0 1 0 1 0 0 1 1       =     2 1 1 0 1 3 1 1 1 1 3 1 0 1 1 2     8
    • Os valores da diagonal principal represetam o número de conexões ou caminhos que o respectivo vértice possui a partir dele. Fora da diagonal o número de conexões que o respectivo vértice possui com os demais. 3.6 f) Calculando o produto Bt · B:       1 1 0 0 1 0 1 0 0 1 1 0 0 1 0 1 0 0 1 1       ∗     1 1 0 0 0 1 0 1 1 0 0 1 1 0 1 0 0 0 1 1     =       2 1 1 1 0 1 2 1 0 1 1 1 2 1 1 1 0 1 2 1 0 1 1 1 2       4 Questão 6 Se para cada ligação entre vértices inserimos/aumentamos um grau para cada vértice partici- pante da ligação então, teremos para o seguinte grafo visto abaixo um número de vértices |V | = 2 e número de arestas |E| = 1. Figura 5: Exemplo de grafo para cálculo do grau. Primeiro Passo da Demonstração. Para o próximo grafo teríamos o mesmo, um número de vértices |V | = 3 e número de arestas |E| = 2 Figura 6: Exemplo de grafo para cálculo do grau. Segundo Passo da Demonstração. E por indução nós podemos contruir uma forma de chegar até v∈V d(v) = 2m Onde d(v) é a função que retorna o grau de um determinado vértice v ∈ V , V o conjunto de vértices do grafo e m o número de arestas. Observando a matriz de incidência notamos que cada linha determina o grau de um vértice. Como para cada aresta aparecem dois 1s na matriz de incidência, a soma de todos os graus equivale a contar duas vezes cada aresta. Uma outra observação interessante é que o número de vértices de grau impar em um grafo orientado sempre é par: Nv(d(v)impar) = 2k Sendo Nv a função que classifica e retorna o número de vértices que possuem grau ímpar, e esse número sempre será da forma 2k. Como a soma dos graus de todos os vértices é um número par (2n) é impossível que só um tenha grau ímpar. Os dois fatos relacionados nessa questão a priori podem parecer coincidência mas são fortes consequências de leis encontradas na Álgebra Linear. Não faremos uso dessas ferramentas de caráter mais avançado, iremos apenas formalizar esses 9
    • fatos de maneira bem simples. Para isso denotaremos um grafo pela letra G e representaremos por V (G) e A(G) respectivamente, os conjuntos de vértices e das arestas de G. Teorema 1 (Relação Entre a Soma dos Graus e a Quantidade de Arestas). Para todo grafo G v∈V (G) d(v) = 2 · m Isto é: “A soma dos graus dos vértices de um grafo é sempre o dobro do número de arestas.” Demonstração. Quando contamos os graus dos vértices estamos contando as extremidades das arestas uma vez. Como cada aresta tem duas extremidades, no processo de contagem cada aresta foi computada duas vezes. Corolário 1 (Ou Lema do Aperto de Mãos). Todo grafo G possui um número par de vértices de grau ímpar. Nv(d(v)impar) = 2k Demonstração. Se tivéssemos um número ímpar de vértices de grau ímpar a soma dos graus seria ímpar. Mas a soma dos graus é o dobro do número de arestas e, portanto é um número par. 5 Questão 8 5.1 a) Suponha que exista um grafo G bipartido. Se G não contém ciclos, então não há o que provar. Suponha que G tem um ciclo Cn = v0v1, v1v2, ..., vs−1vs. Supondo que v0 ∈ V1, então v1 ∈ V1, v2 ∈ V1, etc. Ou seja, vi ∈ V1 se e somente se i é par. Como v0 = vs, s deve ser par. Desta forma, utilizamos um número par de arestas. 5.2 b) Sim. Seja v0 ∈ V (G). Vamos separar os vértices de G em dois subconjuntos V1 e V2 de tal modo que v0 ∈ V2 e v ∈ V1 se e somente se existe um caminho de comprimento ímpar de v0 a v. Então V1 e V2 são disjuntos. De fato, suponha que exista w ∈ V1 ∩ V2. Podemos supor que w é o vétice “mais próximo” de v0 tal que isso acontece. Então existiria um caminho C1 de comprimento par de v0 a w e um caminho C2 de v0 a w de comprimento ímpar, que não se cruzam. Então C1 ∪ C2 seria um ciclo de comprimento ímpar, o que por absurdo não é válido. 5.3 c) Observa-se na figura abaixo que no grafo G1 existe um ciclo fechado ímpar no vértice A. Já no grafo G2, todo ciclo fechado em A é par. Figura 7: Exemplo de grafos não isomorfos. 10