Date | November 2021 | Marks available | 2 | Reference code | 21N.3.AHL.TZ0.1 |
Level | Additional Higher Level | Paper | Paper 3 | Time zone | Time zone 0 |
Command term | Hence and Find | Question number | 1 | Adapted from | N/A |
Question
This question explores how graph algorithms can be applied to a graph with an unknown edge weight.
Graph is shown in the following diagram. The vertices of represent tourist attractions in a city. The weight of each edge represents the travel time, to the nearest minute, between two attractions. The route between and is currently being resurfaced and this has led to a variable travel time. For this reason, has an unknown travel time minutes, where .
Daniel plans to visit all the attractions, starting and finishing at . He wants to minimize his travel time.
To find a lower bound for Daniel’s travel time, vertex and its adjacent edges are first deleted.
Daniel makes a table to show the minimum travel time between each pair of attractions.
Write down the value of
To find an upper bound for Daniel’s travel time, the nearest neighbour algorithm is used, starting at vertex .
Consider the case where .
Consider the case where .
Write down a Hamiltonian cycle in .
Use Prim’s algorithm, starting at vertex , to find the weight of the minimum spanning tree of the remaining graph. You should indicate clearly the order in which the algorithm selects each edge.
Hence, for the case where , find a lower bound for Daniel’s travel time, in terms of .
.
.
.
Use the nearest neighbour algorithm to find two possible cycles.
Find the best upper bound for Daniel’s travel time.
Find the least value of for which the edge will definitely not be used by Daniel.
Hence state the value of the upper bound for Daniel’s travel time for the value of found in part (e)(i).
The tourist office in the city has received complaints about the lack of cleanliness of some routes between the attractions. Corinne, the office manager, decides to inspect all the routes between all the attractions, starting and finishing at . The sum of the weights of all the edges in graph is .
Corinne inspects all the routes as quickly as possible and takes hours.
Find the value of during Corinne’s inspection.
Markscheme
e.g. A1
Note: Accept any other correct answers starting at any vertex.
[1 mark]
vertices, so edges required for MST (M1)
Note: To award (M1), their edges should not form a cycle.
M1A1A1
Note: Award M1 for the first three edges in correct order, A1 for in correct order and A1 for all of the edges correct.
weight of MST A1
Note: The final A1 can be awarded independently of previous marks.
[5 marks]
lower bound (M1)
A1
[2 marks]
A1
[1 mark]
A1
[1 mark]
A1
[1 mark]
attempt to use nearest neighbour algorithm (M1)
any two correct cycles from
A1A1
Note: Bracketed vertices may be omitted in candidate’s answer.
Award M1A0A1 for candidates who list two correct sequences of vertices, but omit the final vertex .
[3 marks]
use OR their shortest cycle from (d)(i) (M1)
upper bound A1
[2 marks]
cycle starts:
return to has two options, or (M1)
hence least value of A1
[2 marks]
upper bound A2
[2 marks]
recognition that edges will be repeated / there are odd vertices (M1)
OR A1
recognizing and is lowest weight and is repeated (M1)
solution to CPP A1
A1
Note: Award M1A0M0A1A1 if only pairing and is considered, leading to a correct answer.
[5 marks]
Examiners report
Mostly well done, although some candidates wrote down a path instead of a cycle and some candidates wrote a cycle that did not include all the vertices.
Many candidates could apply the algorithm correctly to find the weight of the minimum spanning tree. A common misconception was selecting the shortest edge adjacent to the previous vertex, instead of selecting the shortest edge adjacent to the existing tree. This approach will not necessarily find the minimum spanning tree. A small number of candidates found the correct minimum spanning tree, but did not show evidence of using Prim’s algorithm, which only received partial credit; where a method/algorithm is explicit in the question, working must be seen to demonstrate that approach. Part (b)(ii) was also answered reasonably well, however several candidates did not read the instruction to give their answer in terms of , instead choosing a specific value.
Many candidates could apply the algorithm correctly to find the weight of the minimum spanning tree. A common misconception was selecting the shortest edge adjacent to the previous vertex, instead of selecting the shortest edge adjacent to the existing tree. This approach will not necessarily find the minimum spanning tree. A small number of candidates found the correct minimum spanning tree, but did not show evidence of using Prim’s algorithm, which only received partial credit; where a method/algorithm is explicit in the question, working must be seen to demonstrate that approach. Part (b)(ii) was also answered reasonably well, however several candidates did not read the instruction to give their answer in terms of , instead choosing a specific value.
Mostly well-answered.
Mostly well-answered.
Mostly well-answered.
Many candidates could successfully apply the nearest neighbour algorithm to find a correct cycle, but some made errors finding a second one. Part (ii) was done reasonably well, with many candidates either giving the correct answer or gaining follow-through marks for selecting their shortest cycle from part (d)(i). A small number of candidates incorrectly chose their longest cycle.
Many candidates could successfully apply the nearest neighbour algorithm to find a correct cycle, but some made errors finding a second one. Part (ii) was done reasonably well, with many candidates either giving the correct answer or gaining follow-through marks for selecting their shortest cycle from part (d)(i). A small number of candidates incorrectly chose their longest cycle.
This question had a mixed response. Some candidates used the table or the graph to realize that the two choices to get from to are either or . Some incorrectly stated . These candidates often achieved success in part (e)(ii), making the connection to their previous answer in part (d).
This question had a mixed response. Some candidates used the table or the graph to realize that the two choices to get from to are either or . Some incorrectly stated . These candidates often achieved success in part (e)(ii), making the connection to their previous answer in part (d).
A surprising number of candidates did not seem to realize this was an application of the Chinese Postman Problem and simply equated the given total weight to minutes. Not only does this show a lack of understanding of the problem, but it also showed a lack of appreciation of the amount of work required to answer a 5 mark question. Out of the many candidates who recognized the need to repeat edges connecting the odd vertices, some did not show complete working to explain why they chose to connect and , only gaining partial credit.