SlideShare uma empresa Scribd logo
Lista de Exercícios - Teoria dos Grafos
Michel Alves dos Santos ∗
Novembro de 2010
∗
Bacharelando em Ciência da Computação, Universidade Federal do Estado de Alagoas(UFAL). E-
mails: michel.mas@gmail.com, michelalavessantos@hotmail.com. Disciplina: Teoria dos Grafos. Docente
Responsável: Leonardo Viana Pereira.
1
Conteúdo
Lista de Figuras 4
Lista de Tabelas 5
1 Exercícios do Capítulo 4 6
1.1 Determinine todas as árvores parciais do grafo G a seguir (Figura 1). . . . 6
1.2 Como podemos adaptar o algoritmo de Kruskal para obter o valor de uma
árvore parcial de valor máximo? . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3 Um grafo G é autocomplementar se e somente se: . . . . . . . . . . . . . . 7
1.4 Um problema muito conhecido é o de atravessar um rio com uma cabra, um
lobo e um cesto de alfaces, com o auxílio de um barqueiro, em um barco
que só comporta dois desses elementos (problema da travessia). Dadas as
restrições óbvias sobre quem pode, ou não, esperar lado a lado em uma
margem, monte um modelo de caminho que indique ao menos uma sequência
viável de travessia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.5 Um modelo parecido é o “dos 8 litros”: você acha em um depósito de vinhos
um garrafão com capacidade para 8 litros, cheio de um vinho que você deseja
dividir meio a meio com um amigo. A dificuldade é que, no depósito, existem
apenas 2 garrafas vazias, uma com capacidade para 5 e a outra para 3 litros.
A divisão talvez seja possível passando-se vinho de uma dessas garrafas para
outra, em uma sequência. Monte um modelo que indica a sequência a ser
seguida, para que no final se tenham 4 litros na garrafa de 8 e os outros 4,
naturalmente, na de 5 litros. . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2 Exercícios do Capítulo 8 10
2.1 Mostre que, se um grafo G não orientado for euleriano, seu conjunto de
arestas poderá ser particionado em ciclos disjuntos. . . . . . . . . . . . . . 10
2.2 Explique por que, no PCC orientado, todas as extremidades de arco adici-
onadas a um vértice dado serão sempre, ou saídas, ou chegadas. . . . . . . 10
2.3 Construa uma sequência de De Brujin B(2,3). . . . . . . . . . . . . . . . . 10
2.4 Mostre que sempre existe uma sequência de De Brujin (r,s), para quaisquer
r,s inteiros positivos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.5 Construa um algoritmo para achar um ciclo euleriano em um grafo euleriano
não orientado, a partir da construção progressiva de ciclos ao longo de um
percurso inicial. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.6 Verifique se os grafos a seguir(figura 5) são hamiltonianos ou não-hamiltonianos,
justificando a resposta(Dica: Um deles é hamiltoniano e o outro não). . . . 11
2
2.7 Considere dois vértices v e w em um grafo G com n vértices. Mostre que, se
d(v) + d(w) >= n e G possui um percurso hamiltoniano entre v e w, então
G é hamiltoniano. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.8 Mostre que os grafos correspondentes aos 5 sólidos platônicos são hamilto-
nianos. Quais deles são eulerianos? . . . . . . . . . . . . . . . . . . . . . . 11
3
Lista de Figuras
1 Determinação de árvores parciais. . . . . . . . . . . . . . . . . . . . . . . . 6
2 Algumas árvores parciais do grafo G. . . . . . . . . . . . . . . . . . . . . . 6
3 Modelo para o problema da travessia. . . . . . . . . . . . . . . . . . . . . . 8
4 Problema da divisão do vinho. . . . . . . . . . . . . . . . . . . . . . . . . . 9
5 Verificação de ciclos hamiltonianos. . . . . . . . . . . . . . . . . . . . . . . 11
4
Lista de Tabelas
5
1 Exercícios do Capítulo 4
1.1 Determinine todas as árvores parciais do grafo G a seguir
(Figura 1).
Figura 1: Determinação de árvores parciais.
(a) Você pode garantir que realmente determinou todas?
(b) O processo que você utilizou seria eficaz para o grafo H?
Figura 2: Algumas árvores parciais do grafo G.
(a) Não.
(b) Seria necessário um tempo considerável de processamento uma vez que o processo
usado foi a retirada aleatória de ciclos. Como o grafo H possui vários ciclos o processo
não seria eficaz.
1.2 Como podemos adaptar o algoritmo de Kruskal para obter
o valor de uma árvore parcial de valor máximo?
É simples, basta ao invés de pegar a aresta com menor valor a cada iteração, pegar a
arestas com maior valor em cada iteração, dessa forma o resultado será o valor de uma
árvore parcial de valor máximo.
6
1.3 Um grafo G é autocomplementar se e somente se:
1. G = G.
(a) Que ordem deve ter uma árvore autocomplementar?
(b) Quais serão as árvores autocomplementares?
1.4 Um problema muito conhecido é o de atravessar um rio com
uma cabra, um lobo e um cesto de alfaces, com o auxílio de
um barqueiro, em um barco que só comporta dois desses ele-
mentos (problema da travessia). Dadas as restrições óbvias
sobre quem pode, ou não, esperar lado a lado em uma mar-
gem, monte um modelo de caminho que indique ao menos
uma sequência viável de travessia.
Levando em consideração que todos estavam na margem 1 e o objetivo é que todos
estejam na margem 2, teremos o seguinte algoritmo:
1. Barqueiro leva ovelha para margem 2.
2. Barqueiro volta só para margem 1.
3. Barqueiro leva o lobo ou cesto de alfaces para margem 2.
4. Barqueiro volta com o a ovelha.
5. Barqueiro leva o cesto de alfaces ou lobo.
6. Barqueiro volta só.
7. Barqueiro leva a ovelha.
Para montar um modelo de caminho algumas abstrações devem serem feitas. Cada nó terá
em seu rótulo um par ordenado (x,y) onde x pertence ao conjunto 1,2,3,4 representando,
respectivamente, a ovelha, o lobo, o cesto de alface e o barqueiro e y pertence ao conjunto
1,2 onde representamos, respectivamente, a margem 1 e margem 2. Ou seja, no par terá
quem está no barco e para onde está indo, lembrando que no caso onde x = 1 ou x = 2,
ou x = 3, fica subentendido que o barqueiro também se encontra no barco. A ilustração
a seguir reforça a sequência de travessia apresentada (Figura 3). Vale observar que um
algoritmo de busca em profundidade resolveria esse modelo de caminho.
7
Figura 3: Modelo para o problema da travessia.
1.5 Um modelo parecido é o “dos 8 litros”: você acha em um
depósito de vinhos um garrafão com capacidade para 8 litros,
cheio de um vinho que você deseja dividir meio a meio com
um amigo. A dificuldade é que, no depósito, existem apenas
2 garrafas vazias, uma com capacidade para 5 e a outra para
3 litros. A divisão talvez seja possível passando-se vinho de
uma dessas garrafas para outra, em uma sequência. Monte
um modelo que indica a sequência a ser seguida, para que
no final se tenham 4 litros na garrafa de 8 e os outros 4,
naturalmente, na de 5 litros.
Para a resolução desse problema propomos o seguinte algoritmo:
1. A garrafa 8L está cheia.
2. Colocamos 8L em 5L, sobrando 3 litros em 8L.
3. Colocamos 5L em 3L, sobrando 2 litros em 5L. 3 litros em 8L e 3 litros em 3L.
4. Colocamos 3L em 8L, dessa forma 8L ficará com 6 litros e 5L com 2 litros.
5. Colocamos 5L em 3L, dessa forma 3L estará com 2 litros, 5L vazia e 8L com 6 litros.
6. Colocamos o conteúdo de 8L em 5L, assim 5L ficará com 5 litros, 8L com 1 litro e
3L com 2 litros.
8
7. Colocamos o conteúdo de 5L em 3L até que 3L encha e com isso teremos 3 litros em
3L, 4 litros em 5L e 1 litro em 8L.
8. Colocamos o conteúdo de 3L em 8L e assim teremos 8L com 4 litros e 5L com 4 litros.
Para montar o modelo de caminho algumas abstrações devem serem feitas. Cada nó terá
em seu rótulo uma tupla de três ordenado (x,y,z) onde x e z pertencem ao conjunto 8,3,5
representando, respectivamente: garrafa de 8L, garrafa de 3L e garrafa de 5L e y pertence
ao conjunto 1,2,3,4,5,6,7,8 representando a quantidade de litros a serem tiradas de x e
colocadas em z. Vale observar que um algoritmo de busca em profundidade resolveria esse
modelo de caminho.
Figura 4: Problema da divisão do vinho.
9
2 Exercícios do Capítulo 8
2.1 Mostre que, se um grafo G não orientado for euleriano,
seu conjunto de arestas poderá ser particionado em ciclos dis-
juntos.
Seja G um grafo euleriano. O caso em que G não possui arestas é trivial. Sendo G
conexo e tendo pelo menos uma aresta, todo o seu vértice tem, pelo menos, grau 2.
Portanto, pelo Teorema de Euler, possui um ciclo C1. Retirando de G as arestas de C1
obtemos um subgrafo gerador G1 cujos vértices têm ainda todos grau par. Se G1 não
tem arestas, está terminada a demonstração desta implicação. Caso contrário, G1 tem
um ciclo C2 e a repetição do argumento anterior conduz-nos a um grafo G2, subgrafo
gerador de G1, cujos vértices têm grau par. Se G2 não tem arestas terminamos, caso
contrário repete-se o argumento. E continuamos com este raciocínio sucessivamente
até obtermos um grafo Gn totalmente desconexo (isto é, sem arestas). Aí teremos
uma partição das arestas de G em n ciclos. 2.2 Explique por que, no
PCC orientado, todas as extremidades de arco adicionadas a
um vértice dado serão sempre, ou saídas, ou chegadas.
2.3 Construa uma sequência de De Brujin B(2,3).
B(2, 3) : 11101000 2.4 Mostre que sempre existe uma sequência
de De Brujin (r,s), para quaisquer r,s inteiros positivos.
2.5 Construa um algoritmo para achar um ciclo euleriano
em um grafo euleriano não orientado, a partir da construção
progressiva de ciclos ao longo de um percurso inicial.
grau = 0;
soma = 0;
matrizAdjacencias[][];
N = NumeroDeLinhas(matrizAdjacencias[][]);
i = 0; //i é a linha atual
Enquanto ((soma <= 2) e ( i<= N))
{
grau = 0;
Para( j=0; j < N; j++) grau = grau + matrizAdjacencias[i][j];
10
Se (grau mod 2 == 1) soma ++; //caso seja ímpar
i++;
}
Se (soma > 2) Escreve ‘CAMINHO NÃO EXISTENTE’
Senão Escreve ‘CAMINHO EXISTENTE’
2.6 Verifique se os grafos a seguir(figura 5) são hamiltonia-
nos ou não-hamiltonianos, justificando a resposta(Dica: Um
deles é hamiltoniano e o outro não).
Figura 5: Verificação de ciclos hamiltonianos.
O primeiro grafo é hamiltoniano porque podemos passar uma única vez por cada
vértice. Já o segundo grafo, não é hamiltoniano porque não podemos encontrar um
caminho hamiltoniano. Sempre faz-se necessário passar mais de uma vez por um
vértice.
2.7 Considere dois vértices v e w em um grafo G com n
vértices. Mostre que, se d(v) + d(w) >= n e G possui um
percurso hamiltoniano entre v e w, então G é hamiltoniano.
2.8 Mostre que os grafos correspondentes aos 5 sólidos platô-
nicos são hamiltonianos. Quais deles são eulerianos?
11

Mais conteúdo relacionado

PDF
Graph Theory - Exercises - Chapter 4 - Part II
PDF
Graph Theory - Exercises - Chapter 2
PDF
Graph Theory - Exercises - Chapters 2, 3, 4, 5, 6, 7, 8, and 9
PDF
Graph Theory - Exercises - Chapter 3 - Algorithms of Dijkstra and Bellman-Ford
PDF
Enem 2017
PDF
Graph Theory - Exercises - Chapter 8
PPTX
MACS - grafos, trajetos e circuitos eulerianos; circuitos eulerianos...
PDF
Grafoes-cap1e2.pdf
Graph Theory - Exercises - Chapter 4 - Part II
Graph Theory - Exercises - Chapter 2
Graph Theory - Exercises - Chapters 2, 3, 4, 5, 6, 7, 8, and 9
Graph Theory - Exercises - Chapter 3 - Algorithms of Dijkstra and Bellman-Ford
Enem 2017
Graph Theory - Exercises - Chapter 8
MACS - grafos, trajetos e circuitos eulerianos; circuitos eulerianos...
Grafoes-cap1e2.pdf

Semelhante a Graph Theory - Exercises - Chapter 4 (20)

PDF
Graph Theory - Exercises - Chapter 3
PDF
Pesquisa operacional teoria dos grafos
PDF
Cap1 grafos 2001
PDF
aula-7sobre tipos de-grafos-eulerianos.pdf
PDF
Teoria dos Grados caminhos-circuitos.pdf
PPTX
Grafos De Bruijn para identificação de variações genéticas usando GBS
PDF
Grafos cap9
PDF
Aulas 11-guloso Algoritmos
ODP
Elementary Circuits Enumeration in Graphs
PDF
Apostila grafos
PDF
Teoria dos grafos
PDF
Portefólio (Aeed------piaget almada).pdf
PDF
Apostila grafos
PDF
Caminhos Mínimos: Dijkstra e Floyd-Warshall
PDF
Frevgrafos[1]
PDF
Cap1-pp-15-29-completa.pdfgraofs 222222222
PPTX
Grafos .pptx
PDF
Teoria dos grafos
PDF
Análise de Algoritmos - Mais problemas NP-Completos
Graph Theory - Exercises - Chapter 3
Pesquisa operacional teoria dos grafos
Cap1 grafos 2001
aula-7sobre tipos de-grafos-eulerianos.pdf
Teoria dos Grados caminhos-circuitos.pdf
Grafos De Bruijn para identificação de variações genéticas usando GBS
Grafos cap9
Aulas 11-guloso Algoritmos
Elementary Circuits Enumeration in Graphs
Apostila grafos
Teoria dos grafos
Portefólio (Aeed------piaget almada).pdf
Apostila grafos
Caminhos Mínimos: Dijkstra e Floyd-Warshall
Frevgrafos[1]
Cap1-pp-15-29-completa.pdfgraofs 222222222
Grafos .pptx
Teoria dos grafos
Análise de Algoritmos - Mais problemas NP-Completos
Anúncio

Mais de Michel Alves (20)

PDF
Texture Synthesis: An Approach Based on GPU Use
PDF
Intelligent Transfer of Thematic Harmonic Color Palettes
PDF
A Framework for Harmonic Color Measures
PDF
Effectiveness of Image Quality Assessment Indexes
PDF
Introduction to Kernel Functions
PDF
About Perception and Hue Histograms in HSV Space
PDF
Color Harmonization - Results
PDF
Wave Simulation Using Perlin Noise
PDF
Similarity Maps Using SSIM Index
PDF
Qualifying Exam - Image-Based Reconstruction With Color Harmonization
PDF
TMS - Schedule of Presentations and Reports
PDF
Month Presentations Schedule - March/2015 - LCG/UFRJ
PDF
Color Palettes in R
PDF
Sigmoid Curve Erf
PDF
Hue Wheel Prototype
PDF
Cosine Curve
PDF
Triangle Mesh Plot
PDF
Triangle Plot
PDF
Capacity-Constrained Point Distributions :: Video Slides
PDF
Capacity-Constrained Point Distributions :: Density Function Catalog
Texture Synthesis: An Approach Based on GPU Use
Intelligent Transfer of Thematic Harmonic Color Palettes
A Framework for Harmonic Color Measures
Effectiveness of Image Quality Assessment Indexes
Introduction to Kernel Functions
About Perception and Hue Histograms in HSV Space
Color Harmonization - Results
Wave Simulation Using Perlin Noise
Similarity Maps Using SSIM Index
Qualifying Exam - Image-Based Reconstruction With Color Harmonization
TMS - Schedule of Presentations and Reports
Month Presentations Schedule - March/2015 - LCG/UFRJ
Color Palettes in R
Sigmoid Curve Erf
Hue Wheel Prototype
Cosine Curve
Triangle Mesh Plot
Triangle Plot
Capacity-Constrained Point Distributions :: Video Slides
Capacity-Constrained Point Distributions :: Density Function Catalog
Anúncio

Último (20)

PDF
manual-orientacao-asb_5a8d6d8d87160aa636f63a5d0.pdf
PDF
EXPRESSÕES IDIOMÁTICAS - LÍNGUA PORTUGUESA
PDF
cadernodoprofessor20142017vol2baixalceducfisicaef6s7a-170409213016.pdf manual...
PPTX
TREINAMENTO DE INSPETOR DE ANDAIMES.pptx
PDF
[Slides] A Literatura no ENEM 2017 (1).pdf
PPT
História e Evolução dos Computadores domésticos
PPT
HISTOLOGIA VEGETAL - tecidos vegetais.ppt
PDF
Fiqh da adoração (islamismo)
PPTX
administraoemenfermagem e introdução de medicamento
PDF
COMO OS CONTOS DE FADAS REFLETEM ARQUÉTIPOS_MEDOS E DESEJOS DO INCONSCIENTE H...
PPTX
16. MODERNISMO - PRIMEIRA GERAÇÃO - EDIÇÃO 2021 (1).pptx
PPTX
INTRODUÇÃO AO ESTUDO DA ANATOMIA HUMANA [Salvo automaticamente].pptx
PPTX
NR11 - Treinamento Direcao Defensiva - 2023.pptx
PDF
Um dia na casa do Mensageiro (que a paz e benção de Deus estejam com ele)
PPTX
EMBRIOLOGIA ANIMAL - fases do desenvolvimento.pptx
PPTX
Lição 8 EBD.pptxtudopossonaquelequemimfortalece
PPTX
1. A Cultura do Palco - muitos palcos, um espetáculo.pptx
PPSX
A epistemologia de Wilheim G Leibniz.ppsx
PDF
ESPELHOS DA ALMA A PSICOLOGIA POR TRÁS DOS CONTOS DE FADAS.pdf
PDF
A relação entre funções executivas e desempenho acadêmico em crianças com Tra...
manual-orientacao-asb_5a8d6d8d87160aa636f63a5d0.pdf
EXPRESSÕES IDIOMÁTICAS - LÍNGUA PORTUGUESA
cadernodoprofessor20142017vol2baixalceducfisicaef6s7a-170409213016.pdf manual...
TREINAMENTO DE INSPETOR DE ANDAIMES.pptx
[Slides] A Literatura no ENEM 2017 (1).pdf
História e Evolução dos Computadores domésticos
HISTOLOGIA VEGETAL - tecidos vegetais.ppt
Fiqh da adoração (islamismo)
administraoemenfermagem e introdução de medicamento
COMO OS CONTOS DE FADAS REFLETEM ARQUÉTIPOS_MEDOS E DESEJOS DO INCONSCIENTE H...
16. MODERNISMO - PRIMEIRA GERAÇÃO - EDIÇÃO 2021 (1).pptx
INTRODUÇÃO AO ESTUDO DA ANATOMIA HUMANA [Salvo automaticamente].pptx
NR11 - Treinamento Direcao Defensiva - 2023.pptx
Um dia na casa do Mensageiro (que a paz e benção de Deus estejam com ele)
EMBRIOLOGIA ANIMAL - fases do desenvolvimento.pptx
Lição 8 EBD.pptxtudopossonaquelequemimfortalece
1. A Cultura do Palco - muitos palcos, um espetáculo.pptx
A epistemologia de Wilheim G Leibniz.ppsx
ESPELHOS DA ALMA A PSICOLOGIA POR TRÁS DOS CONTOS DE FADAS.pdf
A relação entre funções executivas e desempenho acadêmico em crianças com Tra...

Graph Theory - Exercises - Chapter 4

  • 1. Lista de Exercícios - Teoria dos Grafos Michel Alves dos Santos ∗ Novembro de 2010 ∗ Bacharelando em Ciência da Computação, Universidade Federal do Estado de Alagoas(UFAL). E- mails: michel.mas@gmail.com, michelalavessantos@hotmail.com. Disciplina: Teoria dos Grafos. Docente Responsável: Leonardo Viana Pereira. 1
  • 2. Conteúdo Lista de Figuras 4 Lista de Tabelas 5 1 Exercícios do Capítulo 4 6 1.1 Determinine todas as árvores parciais do grafo G a seguir (Figura 1). . . . 6 1.2 Como podemos adaptar o algoritmo de Kruskal para obter o valor de uma árvore parcial de valor máximo? . . . . . . . . . . . . . . . . . . . . . . . . 6 1.3 Um grafo G é autocomplementar se e somente se: . . . . . . . . . . . . . . 7 1.4 Um problema muito conhecido é o de atravessar um rio com uma cabra, um lobo e um cesto de alfaces, com o auxílio de um barqueiro, em um barco que só comporta dois desses elementos (problema da travessia). Dadas as restrições óbvias sobre quem pode, ou não, esperar lado a lado em uma margem, monte um modelo de caminho que indique ao menos uma sequência viável de travessia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.5 Um modelo parecido é o “dos 8 litros”: você acha em um depósito de vinhos um garrafão com capacidade para 8 litros, cheio de um vinho que você deseja dividir meio a meio com um amigo. A dificuldade é que, no depósito, existem apenas 2 garrafas vazias, uma com capacidade para 5 e a outra para 3 litros. A divisão talvez seja possível passando-se vinho de uma dessas garrafas para outra, em uma sequência. Monte um modelo que indica a sequência a ser seguida, para que no final se tenham 4 litros na garrafa de 8 e os outros 4, naturalmente, na de 5 litros. . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2 Exercícios do Capítulo 8 10 2.1 Mostre que, se um grafo G não orientado for euleriano, seu conjunto de arestas poderá ser particionado em ciclos disjuntos. . . . . . . . . . . . . . 10 2.2 Explique por que, no PCC orientado, todas as extremidades de arco adici- onadas a um vértice dado serão sempre, ou saídas, ou chegadas. . . . . . . 10 2.3 Construa uma sequência de De Brujin B(2,3). . . . . . . . . . . . . . . . . 10 2.4 Mostre que sempre existe uma sequência de De Brujin (r,s), para quaisquer r,s inteiros positivos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.5 Construa um algoritmo para achar um ciclo euleriano em um grafo euleriano não orientado, a partir da construção progressiva de ciclos ao longo de um percurso inicial. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.6 Verifique se os grafos a seguir(figura 5) são hamiltonianos ou não-hamiltonianos, justificando a resposta(Dica: Um deles é hamiltoniano e o outro não). . . . 11 2
  • 3. 2.7 Considere dois vértices v e w em um grafo G com n vértices. Mostre que, se d(v) + d(w) >= n e G possui um percurso hamiltoniano entre v e w, então G é hamiltoniano. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.8 Mostre que os grafos correspondentes aos 5 sólidos platônicos são hamilto- nianos. Quais deles são eulerianos? . . . . . . . . . . . . . . . . . . . . . . 11 3
  • 4. Lista de Figuras 1 Determinação de árvores parciais. . . . . . . . . . . . . . . . . . . . . . . . 6 2 Algumas árvores parciais do grafo G. . . . . . . . . . . . . . . . . . . . . . 6 3 Modelo para o problema da travessia. . . . . . . . . . . . . . . . . . . . . . 8 4 Problema da divisão do vinho. . . . . . . . . . . . . . . . . . . . . . . . . . 9 5 Verificação de ciclos hamiltonianos. . . . . . . . . . . . . . . . . . . . . . . 11 4
  • 6. 1 Exercícios do Capítulo 4 1.1 Determinine todas as árvores parciais do grafo G a seguir (Figura 1). Figura 1: Determinação de árvores parciais. (a) Você pode garantir que realmente determinou todas? (b) O processo que você utilizou seria eficaz para o grafo H? Figura 2: Algumas árvores parciais do grafo G. (a) Não. (b) Seria necessário um tempo considerável de processamento uma vez que o processo usado foi a retirada aleatória de ciclos. Como o grafo H possui vários ciclos o processo não seria eficaz. 1.2 Como podemos adaptar o algoritmo de Kruskal para obter o valor de uma árvore parcial de valor máximo? É simples, basta ao invés de pegar a aresta com menor valor a cada iteração, pegar a arestas com maior valor em cada iteração, dessa forma o resultado será o valor de uma árvore parcial de valor máximo. 6
  • 7. 1.3 Um grafo G é autocomplementar se e somente se: 1. G = G. (a) Que ordem deve ter uma árvore autocomplementar? (b) Quais serão as árvores autocomplementares? 1.4 Um problema muito conhecido é o de atravessar um rio com uma cabra, um lobo e um cesto de alfaces, com o auxílio de um barqueiro, em um barco que só comporta dois desses ele- mentos (problema da travessia). Dadas as restrições óbvias sobre quem pode, ou não, esperar lado a lado em uma mar- gem, monte um modelo de caminho que indique ao menos uma sequência viável de travessia. Levando em consideração que todos estavam na margem 1 e o objetivo é que todos estejam na margem 2, teremos o seguinte algoritmo: 1. Barqueiro leva ovelha para margem 2. 2. Barqueiro volta só para margem 1. 3. Barqueiro leva o lobo ou cesto de alfaces para margem 2. 4. Barqueiro volta com o a ovelha. 5. Barqueiro leva o cesto de alfaces ou lobo. 6. Barqueiro volta só. 7. Barqueiro leva a ovelha. Para montar um modelo de caminho algumas abstrações devem serem feitas. Cada nó terá em seu rótulo um par ordenado (x,y) onde x pertence ao conjunto 1,2,3,4 representando, respectivamente, a ovelha, o lobo, o cesto de alface e o barqueiro e y pertence ao conjunto 1,2 onde representamos, respectivamente, a margem 1 e margem 2. Ou seja, no par terá quem está no barco e para onde está indo, lembrando que no caso onde x = 1 ou x = 2, ou x = 3, fica subentendido que o barqueiro também se encontra no barco. A ilustração a seguir reforça a sequência de travessia apresentada (Figura 3). Vale observar que um algoritmo de busca em profundidade resolveria esse modelo de caminho. 7
  • 8. Figura 3: Modelo para o problema da travessia. 1.5 Um modelo parecido é o “dos 8 litros”: você acha em um depósito de vinhos um garrafão com capacidade para 8 litros, cheio de um vinho que você deseja dividir meio a meio com um amigo. A dificuldade é que, no depósito, existem apenas 2 garrafas vazias, uma com capacidade para 5 e a outra para 3 litros. A divisão talvez seja possível passando-se vinho de uma dessas garrafas para outra, em uma sequência. Monte um modelo que indica a sequência a ser seguida, para que no final se tenham 4 litros na garrafa de 8 e os outros 4, naturalmente, na de 5 litros. Para a resolução desse problema propomos o seguinte algoritmo: 1. A garrafa 8L está cheia. 2. Colocamos 8L em 5L, sobrando 3 litros em 8L. 3. Colocamos 5L em 3L, sobrando 2 litros em 5L. 3 litros em 8L e 3 litros em 3L. 4. Colocamos 3L em 8L, dessa forma 8L ficará com 6 litros e 5L com 2 litros. 5. Colocamos 5L em 3L, dessa forma 3L estará com 2 litros, 5L vazia e 8L com 6 litros. 6. Colocamos o conteúdo de 8L em 5L, assim 5L ficará com 5 litros, 8L com 1 litro e 3L com 2 litros. 8
  • 9. 7. Colocamos o conteúdo de 5L em 3L até que 3L encha e com isso teremos 3 litros em 3L, 4 litros em 5L e 1 litro em 8L. 8. Colocamos o conteúdo de 3L em 8L e assim teremos 8L com 4 litros e 5L com 4 litros. Para montar o modelo de caminho algumas abstrações devem serem feitas. Cada nó terá em seu rótulo uma tupla de três ordenado (x,y,z) onde x e z pertencem ao conjunto 8,3,5 representando, respectivamente: garrafa de 8L, garrafa de 3L e garrafa de 5L e y pertence ao conjunto 1,2,3,4,5,6,7,8 representando a quantidade de litros a serem tiradas de x e colocadas em z. Vale observar que um algoritmo de busca em profundidade resolveria esse modelo de caminho. Figura 4: Problema da divisão do vinho. 9
  • 10. 2 Exercícios do Capítulo 8 2.1 Mostre que, se um grafo G não orientado for euleriano, seu conjunto de arestas poderá ser particionado em ciclos dis- juntos. Seja G um grafo euleriano. O caso em que G não possui arestas é trivial. Sendo G conexo e tendo pelo menos uma aresta, todo o seu vértice tem, pelo menos, grau 2. Portanto, pelo Teorema de Euler, possui um ciclo C1. Retirando de G as arestas de C1 obtemos um subgrafo gerador G1 cujos vértices têm ainda todos grau par. Se G1 não tem arestas, está terminada a demonstração desta implicação. Caso contrário, G1 tem um ciclo C2 e a repetição do argumento anterior conduz-nos a um grafo G2, subgrafo gerador de G1, cujos vértices têm grau par. Se G2 não tem arestas terminamos, caso contrário repete-se o argumento. E continuamos com este raciocínio sucessivamente até obtermos um grafo Gn totalmente desconexo (isto é, sem arestas). Aí teremos uma partição das arestas de G em n ciclos. 2.2 Explique por que, no PCC orientado, todas as extremidades de arco adicionadas a um vértice dado serão sempre, ou saídas, ou chegadas. 2.3 Construa uma sequência de De Brujin B(2,3). B(2, 3) : 11101000 2.4 Mostre que sempre existe uma sequência de De Brujin (r,s), para quaisquer r,s inteiros positivos. 2.5 Construa um algoritmo para achar um ciclo euleriano em um grafo euleriano não orientado, a partir da construção progressiva de ciclos ao longo de um percurso inicial. grau = 0; soma = 0; matrizAdjacencias[][]; N = NumeroDeLinhas(matrizAdjacencias[][]); i = 0; //i é a linha atual Enquanto ((soma <= 2) e ( i<= N)) { grau = 0; Para( j=0; j < N; j++) grau = grau + matrizAdjacencias[i][j]; 10
  • 11. Se (grau mod 2 == 1) soma ++; //caso seja ímpar i++; } Se (soma > 2) Escreve ‘CAMINHO NÃO EXISTENTE’ Senão Escreve ‘CAMINHO EXISTENTE’ 2.6 Verifique se os grafos a seguir(figura 5) são hamiltonia- nos ou não-hamiltonianos, justificando a resposta(Dica: Um deles é hamiltoniano e o outro não). Figura 5: Verificação de ciclos hamiltonianos. O primeiro grafo é hamiltoniano porque podemos passar uma única vez por cada vértice. Já o segundo grafo, não é hamiltoniano porque não podemos encontrar um caminho hamiltoniano. Sempre faz-se necessário passar mais de uma vez por um vértice. 2.7 Considere dois vértices v e w em um grafo G com n vértices. Mostre que, se d(v) + d(w) >= n e G possui um percurso hamiltoniano entre v e w, então G é hamiltoniano. 2.8 Mostre que os grafos correspondentes aos 5 sólidos platô- nicos são hamiltonianos. Quais deles são eulerianos? 11