PUC-Rio
Departamento de Informática
Profs. Marcus Vinicius S. Poggi de Aragão
Período: 2004.1
Horário: 2as-feiras e 4as-feiras de 19-21 / 21-23 horas
28 de abril de 2004
ESTRUTURAS DISCRETAS (INF 1308)
2a Lista de Exercícios
Data da Entrega: 17 de maio de 2004
Procure ser conciso e preciso nas suas argumentações.
GRAFOS
-
O que é um grafo ? Defina um grafo orientado.
Defina um grafo não-orientado.
- Representação de grafos.
-
Explique porque a lista de arestas de um grafo não define
completamente o grafo.
- Defina a Matriz de Ajacência de um grafo. Desenhe um
grafo não-orientado de 5 vértices e apresente a matriz de adjacência
correspondente. Faça o mesmo para um grafo orientado.
- Defina Lista de Adjacência de um vértice.
usando os grafos desenhados no item anterior.
- O que é o grau de um vértice em um grafo. Exemplifique
nos grafos do item b).
- Desenhe todos os grafos não-orientados de 5 vértices onde
todos os vértices tem grau menor ou igual a 2 (ou seja, têm duas
ou menos arestas incidentes).
- O que é um caminho em um grafo orientado ? Defina.
E em um grafo não-orientado. Defina ciclos (ou circuitos) nos
dois tipos de grafos.
- Considere o problema de se
encontrar todos os vértices que cuja distância do vértice 1 é
exatamente K (arestas). Ou seja a distância do caminho mais curto,
em número de arestas, do vértice até um tal vértice é K.
Teorema 1 (K):
Sabe-se encontrar todos os vértices de G=(V,E) que cuja distância
do vértice 1 é exatamente K.
-
Prove este teorema por indução matemática.
- Descreva o algoritmo resultante dessa prova. Como este
algoritmo é conhecido na literatura ?
- Mostre como este algoritmo obtém todos os vértices que estão
a distância 2 (K=2) no grafo:
V={1,2,3,4,5,6}, E={ (1,2), (1,3), (3,5),
(3,6), (3,4), (2,4), (4,5), (4,6) }
- Considere o grafo do item c) da questão 5.
-
Defina um ciclo Euleriano.
- Este grafo possui ciclo Euleriano ? Por que ?
- No caso afirmativo, apresente um ciclo Euleriano.
- O algoritmo conhecido como Busca em Profundidade tem
que objetivo quando aplicado a um grafo ? Qual outro algoritmo
também cumpre esse objetivo. Aplique o algoritmo de
Busca em Profundidade, utilizando a ordem lexicográfica para
desempates, no grafo do item c) da questão 5 começando pelo
vértice 1.
- Defina caminho-mais-curto entre um par de vértices em
um grafo orientado.
- Seja um grafo orientado G=(V,A) e o problema de encontrar o
caminho mais curto entre um vértice
-
Escreva o algoritmo de Ford-Bellman para encontrar o
caminho-mais-curto de s a todos os demais em V. Explique
por este algoritmo pode ser obtido através da prova por
indução matemática do teorema abaixo.
Teorema 2 (K):
Sabe-se obter a distância mínima de s a todos os vértices de V
onde os caminhos podem ter no máximo K arcos.
- Escreva o algoritmo de Dijkstra para encontrar o
caminho-mais-curto de s a todos os demais em V. Explique
por este algoritmo pode ser obtido através da prova por
indução matemática do teorema abaixo.
Teorema 3 (K):
Sabe-se determinar o K-ésimo vértice mais próximo a s
e sua respectiva distância mínima de s.
- Aplique os algoritmos acima no grafo G=(V,A) abaixo fazendo
s=1.
V={1,2,3,4,5,6}, A={ (1,2), (1,3), (3,5),
(3,6), (3,4), (2,4), (4,5), (4,6) }, com distâncias
d1,2= 1, d1,3=2, d3,5=4, d3,6=2, d3,4=2,
d2,4=2, d4,5=2, d4,6=3 .
- Defina uma árvore em um grafo. O que é uma floresta ?
O que é uma árvore geradora de um grafo ?
Que algoritmo pode ser utilizado para encontrar uma árvore
geradora qualquer em um grafo. Aplique este algoritmo no
grafo do item c) da questão 5. O que seria uma árvore geradora
de peso mínimo ?
- Seja um grafo conexo G=(V,E), não-orientado, e
we, para e Î E os pesos, onde V={1, 2, ..., n }
associados às arestas de G. Seja o problema de encontrar
a árvore geradora de peso máximo de G.
-
Que algoritmo pode ser obtido através da prova do teorema abaixo
por indução matemática ? Apresente o algoritmo e explique.
Teorema 4 (K):
Sabe-se encontrar uma árvore de G=(V,E), que contém o
vértice 1 (1 Î V), que possui K vértice e possui peso máximo.
- Que algoritmo pode ser obtido através da prova do teorema abaixo
por indução matemática ? Apresente o algoritmo e explique.
Teorema 5 (K):
Sabe-se encontrar a floresta F=(V,EK) de peso máximo
de G=(V,E) que possui K arestas, isto é |EK|=K.
- Aplique os algoritmos acima no grafo G=(V,E).
V={1,2,3,4,5,6}, E={ (1,2), (1,3), (3,5),
(3,6), (3,4), (2,4), (4,5), (4,6) }, com pesos
w1,2= 1, w1,3=2, w3,5=4, w3,6=2, w3,4=2,
w2,4=2, w4,5=2, w4,6=3 .
This document was translated from LATEX by HEVEA.