PUC-Rio
Departamento de Informática
Profs. Marcus Vinicius S. Poggi de Aragão
Período: 2004.2
Horário: 3as-feiras e 5as-feiras de 15-17
14 de outubro de 2004
ESTRUTURAS DISCRETAS (INF 1361)
2a Lista de Exercícios
Data da Entrega: 21 de outubro 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 .
- Considere o problema de encontrar o caminho mais curto entre todos
os pares de vértices de um grafo.
-
Explique os algoritmos que podem ser obtidos
pela prova por indução matemática dos seguintes teoremas.
Teorema 4 (K):
Sabe-se obter a distância mínima entre todos os pares de vértices em V
onde os caminhos podem ter no máximo K arcos.
Teorema 5 (K):
Sabe-se obter a distância mínima entre todos os pares de vértices em V
onde os caminhos podem ter como vértices intermediários os vértices que estão no conjunto I={1, 2, ..., K}.
O algoritmo resultande da prova deste segundo é frequentemente denominado Flyd-Warshall.
- Aplique os algoritmos acima no grafo G=(V,A) abaixo onde os arcos abaixo ocorrem com
as duas orientações possíveis.
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 o Fecho Transitivo de um grafo G=(V,E). Apresente algoritmos para obter
o Fecho Transitivo dos grafos apresentados nesta lista.
- 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 dos teoremas abaixo
por indução matemática ? Apresente o algoritmo e explique.
Teorema 6 (K):
Sabe-se encontrar uma sub-árvore da árvore geradora máxima 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 7 (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 .
- Emparelhamentos(matching) e Fluxo em Redes
-
Defina um grafo bi-partido.
- O que é um emparelhamento. O que seria um emparelhamento máximo em um grafo G=(V,E) não orientado.
- Dado um grafo orientado G=(V,E) com capacidade ue associadas aos arcos e Î E, e vértices de origem
s e destino t, defina um fluxo viável de s a t na rede definida por G.
- O que seria um fluxo máximo ?
- Que algoritmo pode ser usado para obter o emparelhamento máximo de um grafo bi-partido ?
- Que algoritmo pode ser usado para obter o fluxo máximo de s a t em um grafo orientado G=(V,E) com capacidade ue associadas aos arcos ?
This document was translated from LATEX by HEVEA.