MTH6105: Algorithmic Graph Theory 2020
Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit
MTH6105: Algorithmic Graph Theory
2020
Question 1 [27 marks].
(a) Explain what it means for a graph G to be a tree. (b) State the tree induction lemma. (c) Using the tree induction lemma or otherwise, prove that |E(T)| = |V (T)| − 1 for every tree T. |
[2] [3] [5] |
(d) Explain what it means for a tree T to be a spanning tree of a graph G, and what it means for a tree T to be a minimum spanning tree of a network (G. w). [3]
Now consider the network (G. w) such that V (G) = {u1 . u2 . u3 . u4 . u5 . u6 . u7 }, E(G) = {u1u2 . u1u3 . u2u3 . u2u4 . u2u5 . u3u5 . u3u6 . u4u5 . u5u6 } and
w(u1u2 ) = 1.
w(u2u4 ) = 2.
w(u3u6 ) = 1.
w(u1u3 ) = 4.
w(u2u5 ) = 3.
w(u4u5 ) = 1.
w(u2u3 ) = 4
w(u3u5 ) = 4
w(u5u6 ) = 3-
(e) Use Kruskal’s algorithm to determine a minimum spanning tree of this network.
Explain clearly what the algorithm is doing and draw the minimum spanning tree. [10]
(f) Show that the spanning tree found in the previous part of the question is the
unique minimum spanning tree of the network (G. w). You may use any result
from the lecture notes without proof. [4]
Question 2 [23 marks].
(a) Define the concept of an t −o-path in a graph G. [3] (b) Explain what it means for a path to be a shortest t −o-path in a network (G. w). [2]
Recall that Dijkstra’s algorithm, when applied to a network (G. w) starting from
t ∈ V (G), constructs a spanning tree T of the connected component of G containing t. Consider the network (G. w) given by the following drawing, where each edge e ∈ E(G) is labeled by its weight w(e).
4
u1 6 u2 1 u3
7
1
1
4
4
7
(c) Apply Dijkstra’s algorithm to the network starting from vertex u1 . Give V (T) and
E(T) after each iteration of the algorithm.
[10]
(d) Give a shortest u1 −u7-path in (G. w). What is the length of this path? (e) Give an asymptotic upper bound on the running time of Dijkstra’s algorithm when it is applied to an arbitrary network (G. w). Justify your answer and state whether the algorithm is an efficient algorithm. |
[4]
[4] |
Question 3 [27 marks].
Assume that seven roundabouts s1 to s7 are connected by
ten one-way streets as shown in the following illustration.
2
5
1
3
The following table lists for each street the maximum number of cars that can travel along the street per second.
street s1s2 s1s3 s2s4 s2s5 s3s4 s3s6 s4s5 s4s6 s5s7 s6s7
maximum number of cars per second
6 5 3 2 4 3 3 3 4 7
(a) Let (D. c) be the directed network in which each arc e ∈ A(D) represents a street
and the capacity c(e) is equal to the maximum number of cars that can travel
along the street. Draw this network. [2]
Assume now that the average number of cars per second currently traveling along each street is being measured as follows.
street s1s2 s1s3 s2s4 s2s5 s3s4 s3s6 s4s5 s4s6 s5s7 s6s7
current number of cars per second
4 5 3 1 3 2 3 3 4 5
(b) Let r : A(D) → 政 be the function that maps each arc of the network to the
number of cars that currently travel along the street represented by the arc. Show
that r is a s1 −s7-flow for the network (D. c) and give its size.
(c) Draw the residual network for network (D. c) and flow r .
(d) Using the residual network or otherwise, find a maximum s1 −s7-flow for (D. c). Explain your reasoning.
[5] [6]
[4]
(e) Argue that the flow you have found is indeed a maximum s1 −s7-flow. In doing so,
you may use any result from the lecture notes without proof. [4]
(f) Assume that due to an accident, the number of cars that can travel along the
street from s2 to s4 is temporarily reduced from 3 to 1. What does this mean for the maximum amount of traffic that can flow from s1 to s7 ? Explain your
reasoning. [3]
(g) Assume instead that road improvement works could increase the capacity of the
street from s2 to s4 . Would this increase the maximum amount of traffic that can flow from s1 to s7 ? Explain your reasoning. [3]
Question 4 [23 marks].
(a) Explain what it means for a graph G to be bipartite.
(b) Prove that every tree is a bipartite graph. You may use any result from the
lecture notes without proof.
(c) For each of the following graphs, state whether the graph is bipartite or not. Justify your answer. In your justification, you may use any result from the lecture notes without proof.
2
|
|
5
(ii)
3
4
6
8
[2]
(e) State Hall’s theorem concerning the existence of matching that saturates one side
[4]
(f) You are scheduling a set of job interviews, each lasting one hour. There are six candidates – Alice, Bob, Cynthia, Dmitiri, Erica, and Faiz – and six time slots starting at 1pm, 2pm, 3pm, 4pm, 5pm, and 6pm. Not all candidates are available in every time slot, and the time slots where each candidate is available are marked with X in the following table.
1pm 2pm 3pm 4pm 5pm 6pm
Alice Bob Cynthia Dmitiri
Erica Faiz
X
X
X
X
X
X
X
X
X
X
X
X
X
X X
Your objective is to assign each candidate an interview time such that (i) candidates are only interviewed at times when they are available and (ii) no two candidates are interviewed at the same time. Find such an assignment, or explain why no such assignment exists.
2022-05-12