Traffic networks are vulnerable to disinformation attacks

Disinformation continues to raise concerns due to its increasing threat to society. Nevertheless, a threat of a disinformation-based attack on critical infrastructure is often overlooked. Here, we consider urban traffic networks and focus on fake information that manipulates drivers’ decisions to create congestion at a city scale. Specifically, we consider two complementary scenarios, one where drivers are persuaded to move towards a given location, and another where they are persuaded to move away from it. We study the optimization problem faced by the adversary when choosing which streets to target to maximize disruption. We prove that finding an optimal solution is computationally intractable, implying that the adversary has no choice but to settle for suboptimal heuristics. We analyze one such heuristic, and compare the cases when targets are spread across the city of Chicago vs. concentrated in its business district. Surprisingly, the latter results in more far-reaching disruption, with its impact felt as far as 2 km from the closest target. Our findings demonstrate that vulnerabilities in critical infrastructure may arise not only from hardware and software, but also from behavioral manipulation.


S1.1.2 Demographic questions
The demographic questions that were asked to each participant are detailed below: 1. What is the sex listed on your birth certificate? (if "Other" selected, the participant is not eligible and is thanked and exits the survey) Accident on `X' Road. Please use alternative routes. Be safe! Figure S1: The traffic alert shown to the participants in our survey.

S1.1.3 Message with the fake notification
The following sentence was displayed to the participant: • "Suppose you receive the following message from SMSAlert" Below this text, the message shown in Fig. S1 was displayed to the participant.

S1.1.4 Questions to assess propensities to follow-through & forward notifications
1. What is the likelihood that you use an alternative route?

.5 Closing message and compensation
This is the end of the study. Thank you for your participation. Please make note of the following 7-digit code. You will input it through Mechanical Turk to indicate your completion of the study. Then click the button on the bottom of this page to submit your answers. You will not receive credit unless you click this button.

S1.2 Survey-2
We ran a second survey to understand how participants react to road signs and discount alerts. Here, we recruited 1,000 participants through Amazon Mechanical Turk, who were then directed to a survey on the Qualtrics platform. Each participant was a resident of one of the 35 cities that were considered in the previous survey from Section S1.1. The survey consisted of 8 steps, an overview of which is provided below. Detailed explanations of these steps are provided in Sections S1.2.1 through S1.2.7.
Step 1: A consent form is displayed, and is followed by a note to participants asking them to disregard any impact the COVID-19 pandemic may have on their responses to this survey (see Section S1.2.1). Subsequently, demographic questions are asked (see Section S1.2.2); Step 2: The following sentence is displayed: -"Suppose you are driving downtown, and you see this sign on the side of the road "; Step 3: The message containing the traffic sign is displayed (see Section S1.2.3); Step 4: The participant is asked questions regarding their follow-through propensity (see Section S1.2.4); Step 5: The following sentence is displayed: -"Suppose you receive the following message from SMSAlert"; Step 6: The message containing the fake discount alert is displayed (see Section S1.2.5); Step 7: The participant is asked questions regarding their follow-through and forwarding propensities (see Section S1.2.6); Step 8: The participant is awarded a financial compensation of $0.4, and thanked for their participation (Section S1.2.7).
In this survey, we randomized the order in which the two scenarios were presented to the participants. That is, some participants were first asked about the road sign (steps 2-4) and subsequently the discount alert (steps 5-7), while others were first asked about the discount alert (steps 5-7) followed by the road sign (steps 2-4).

S1.2.1 Consent form
The consent form consists of the following text: Welcome to this study investigating how humans react to notifications. You are eligible to participate in the study at this time if you are: The questionnaire asks about your background and your reaction upon receiving notifications. This survey is anonymous, i.e., it does not contain individually identifiable data from you. Your participation is voluntary, and you may close the survey at any point.
The questionnaire is expected to last on average 1.5 minutes. An amount of $0.4 will be paid upon successful completion of the survey. Please do not complete the survey more than once. Upon finishing the survey you will receive a completion code. The payment of $0.4 will be made once you've entered that code in the space provided. Please do not close the browser with your MTurk account. If you read this consent form, and would like to participate in this study, press the button below!
In the next page, the following note is displayed: IMPORTANT: You will be asked questions about driving and traffic. Please describe how you would react in normal circumstances, without paying attention to any restrictions imposed due to the Coronavirus . In other words, please completely disregard any potential lockdown or travel restrictions when providing your answers.

S1.2.2 Demographic questions
The demographic questions that were asked to each participant are detailed below: The following sentence was displayed to the participant: • "Suppose you are driving downtown, and you see this sign on the side of the road:" Below this text, the message shown in Fig. S2 was displayed to the participant. Figure S2: The traffic sign shown to the participants in our survey. S1.2.4 Questions to assess propensity to follow-through 1. What is the likelihood that you use an alternative route?
[Likert scale with values: 0, 1, . . . , 10, where "0" is labeled at "never" and "10" is labeled as "definitely"] S1.2.5 Message with the fake discount The following sentence was displayed to the participant: • "Suppose you receive the following message from SMSAlert:" Below this text, the message shown in Fig. S3 was displayed to the participant. Figure S3: The discount notification shown to the participants in our survey. S1.2.6 Questions to assess propensities to follow-through & forward notifications 1. What is the likelihood that you drive to Target to take advantage of this offer?
[Likert scale with values: 0, 1, . . . , 10, where "0" is labeled at "never" and "10" is labeled as "definitely"] S1.2.7 Closing message and compensation This is the end of the study. Thank you for your participation. Please make note of the following 7-digit code. You will input it through Mechanical Turk to indicate your completion of the study. Then click the button on the bottom of this page to submit your answers. You will not receive credit unless you click this button.

S2 Note 2: Road network and ride generation
This section details how the road network and vehicle rides in Chicago were generated.

S2.1 Road network generation
We obtained the road network data of Chicago from OpenStreetMap (OSM) [1]. However, we could not directly utilize this data for our simulations since: (i) some parts of the network were either disconnected or weakly connected due to the fact that OSM is crowdsourced and some streets were left unreported; (ii) the data did not contain information about the number of lanes in each edge of the network, which is required in our traffic model; and (iii) a section of a road may be represented by multiple edges in OSM instead of a single edge, making the corresponding graph needlessly large, thereby increasing the processing time in our simulations. Based on these observations, we developed an algorithm that takes the OSM data as input and generates a road network that addresses all of the aforementioned issues. The steps of the algorithm are as follows: 1. Create the set of nodes of the road network by extracting from OSM all nodes belonging to ways within a given area such that the value of the way's highway key is one of the following: motorway, trunk, primary, secondary, tertiary, unclassified, residential, or service. For each pair of nodes connected with a way in the OSM data, connect them in the road network with a single directed edge if the way's set of tags contains the key oneway with the value yes, true or 1 ; otherwise, connect them with directed edges in both directions. For each such created edge, record its length defined as the geographical distance between the coordinates of the two nodes, computed using the haversine method [2]. Moreover, set the number of lanes of the edge based on the value of the way's highway key as follows: • For motorway or trunk, set the number of lanes to 4; • For primary or secondary, set the number of lanes to 3; • For tertiary or unclassified, set the number of lanes to 2; • For residential or service, set the number of lanes to 1.
2. Merge nearby nodes-defined here as being within 20 meters of each other-into a single node. Let G = (V , E ) be the network before merging any nodes, where V is the set of nodes and E is the set of edges, and let G = (V, E) be the network after merging the nodes. For each node x ∈ V created by merging a group of nodes X ⊂ V , set its coordinates to the average of the coordinates of all the nodes in X. Now, suppose we merged a group of nodes X ⊂ V into a single node x ∈ V , and merged another group Y ⊂ V into a node y ∈ V . Then, we add an edge (x, y) ∈ E if and only if ∃v ∈ X, u ∈ Y : (v, u) ∈ E , in which case we set the length of the edge to the geographical distance between the coordinates of x and y, and set the number of lanes of the edge to the maximum out of all the edges in X × Y .
3. Ensure strong connectivity of the network by repeating the following process: (a) Select two strongly connected components G 1 = (V 1 , E 1 ) and G 2 = (V 2 , E 2 ) from the road network such that the geographical distance between the closest pair of nodes x ∈ V 1 and y ∈ V 2 is minimal; (b) Out of the edges (x, y) and (y, x), add the missing one(s) to E. Note that at least one of them is missing from E, because otherwise G 1 and G 2 would be a single strongly connected component.
(c) Set the length of both (x, y) and (y, x) to the geographical distance between x and y; (d) If one of the edges (x, y) or (y, x) existed before step (b), set the number of lanes of the other edge to the number of lanes of the existing edge; otherwise set the number of lanes of both (x, y) and (y, x) to 1.
This process is repeated until the road network becomes strongly connected. Note that this step is necessary since the OSM road network is often disconnected or weakly connected (due to the fact that OSM is crowdsourced and some roads may be left unreported), whereas the real road network of a city is strongly connected.
4. To make the computation more efficient, contract the edges of the road network, i.e., iteratively remove every node y that satisfies one of the following conditions: • Has exactly one predecessor x and exactly one successor z, such that x = z; • Has exactly two predecessors, which are also its only two successors. Figure S4: The road network of Chicago generated by our algorithm based on OSM data. Green edges represent two-way streets, while red edges represent one-way streets.
For example, if node y is connected only to nodes x and z, then replace the edges (x, y) and (y, z) with the edge (x, z). The length of the new edge is set to be the sum of lengths of (x, y) and (y, z), while the number of lanes of the edge is set to be the maximum of the numbers of lanes of (x, y) and (y, z).
Fig . S4 presents the road network of Chicago that was generated using the above algorithm while considering the OSM relation #122604 as the area boundaries.

S2.2 Ride generation
We now describe the algorithm that we developed to generate vehicle rides for our traffic simulations. The input to the algorithm is the following: • The directed road network G = (V, E) generated using the algorithm described in Section S2.1, where each edge has an assigned length and number of lanes; • Data about the city traffic in the form of a set of pairs D = {(c 1 , k 1 ), . . . , (c |D| , k |D| )}, where c i is a location (represented by its geographical coordinates), and k i is the daily average of the number of vehicles passing by the location c i ; • Distribution Θ of the intensity of the traffic throughout the day, measured by the number of rides that have started but have not yet reached their destination.
For the purpose of simulating the traffic in Chicago, G is generated taking the OSM relation #122604 as the area boundaries, D is generated using the data for October (the month with the greatest number of data points) provided by the city of Chicago [3], while Θ is based on the data provided by the Texas A&M Transportation Institute for Chicago [4] (we use the average taken over all weekdays). The output of the algorithm is the set of rides R, where each ride is characterized by: • Start node, w start ∈ V ; • End node, w end ∈ V ; • Time of day when the journey starts, θ.
Algorithm 1 presents the high-level pseudocode for generating the rides. The detailed steps are as follows: Algorithm 1 Ride generation.
Identify the set of nodes in G that are closest to at least one set of coordinates c j Initialize the set of shortest paths from which the rides will be sampled If π contains at least one sensor With probability p load add π to Π R ← ∅ Initialize the set of generated rides Repeat until the generated rides match the sensor data or we run out of paths Draw π * from Π according to the distribution N (µ, σ) for vi ∈ π * ∩ X do Add the generated ride (π * 1 , π * |π * | , θ) to the set of rides R return R 1. Initialize the number of vehicles passing through different nodes: Let D(v i ) ⊆ D be the set of pairs (c j , k j ) for which v i ∈ V is the geographically closest node to the coordinates c j . More formally, Moreover, let X ⊆ V be the set of nodes that are closest to at least one set of coordinates. More formally, Note that for any given node v i ∈ X, every pair (c j , k j ) ∈ D(v i ) indicates that the number of vehicles who passed by the location c j is equal to k j . Since this data was collected via a sensor, we will refer to the node v i as a sensor. For every such sensor v i ∈ X, let us denote by x i the variable used in our simulation to count the number of rides who are supposed to go through v i . This variable is initialized to the average value of k j taken over all (c j , k j ) ∈ D(v i ). More formally, Later on in our simulation, the value stored in any such variable x i will be reduced by 1 every time a ride passes by the node v i . Here, the goal is to reach a state at which the values x i in all sensors are equal to zero, indicating that the number of vehicles who passed by v i in our simulation matches the average number of vehicles who passed by the coordinates c j : (c j , k j ) ∈ D(v i ).
2. Select the subset of shortest paths Π: For every pair of nodes v, w ∈ V such that v = w, compute a shortest path π from v to w in G. If π contains at least one sensor, i.e., if π ∩ X = ∅, then with probability p load = 1 1000 add π to the set Π. Paths in Π will be the only paths used to generate the set of rides R. In other words, instead of sampling the rides out of all possible shortest paths in the graph, we sample them out of those in Π to reduce the computational overhead and speed up the simulations. By sampling the rides from a subset of shortest paths, we ensure that every ride minimizes the travel distance (see Discussion in the main manuscript).
3. Add a single path π * to R and update the data structures: Randomly select a shortest path π * = (π * 1 , . . . , π * |π * | ) ∈ Π. Here, every π ∈ Π is selected with probability proportional to its length, according to a normal distribution N with mean µ = 8 kilometers and standard deviation σ = 1 kilometer. For every sensor v i ∈ π * ∩ X decrease the value of x i by 1. If for any v i ∈ π * ∩ X we now have x i = 0, remove from Π every path π that goes through v i . Add the ride (π * 1 , π * |π * | , θ) to the set of rides R, where the starting time θ is selected according to the distribution Θ. 4. Check the end condition: Repeat step 3 until the generated rides match the sensor data or we run out of paths to be added, i.e., until (∀ vi∈V x i = 0) ∨ (Π = ∅).

S3 Note 3: Our model of traffic M*
Our model of traffic, M * , is a modified version of the Nagel-Schreckenberg model [5]. We had to modify this model since it was only designed to model traffic in a single street, whereas our requirements call for modeling the traffic flows in a directed network of streets. We note that ours is not the first work to extend the Nagel-Schreckenberg model to a generic network. A similar extension was proposed by Gora [6] whose study focused on the role of traffic lights in managing the traffic flows. However, their traffic model was presented in rather vague terms, and therefore could not be used in our study.
We now describe our model in detail. The input to our traffic model M * is the following: • The directed road network G = (V, E), where each edge e ∈ E has an assigned length d e and a number of lanes l e ; • The set of rides R = {r 1 , . . . , r |R| }, with each ride r i being of the form (w start i , w end i , θ i ), where w start i ∈ V is the start node, w end i ∈ V is the end node, and θ i is the time of day when the ride starts.
The model proceeds in discrete time steps. The time step corresponding to any given start time, θ i , is denoted by τ (θ i ). In other words, τ maps any given clock time to a particular time step in the model.  The process is continued until t ≥ t max and all vehicles finish their journeys. where G = (V, E) is a directed network, Q ⊆ E is the set of edges that the adversary can choose from, R is the set of rides, f is an objective function representing traffic quality, M is a model of traffic, and b ∈ N is the budget of the adversary. The goal is then to identify a set of targets that minimizes traffic quality, i.e., identify a set of edges Q * ⊆ Q in: arg min Definition S2 (f * ). Given a graph G, a set of rides R, and a traffic model M , the objective function f * is computed as: where T (r i , G, M ) is the time taken to complete the ride r i ∈ R in the graph G according to the model M .
Definition S3 (M ∅ ). Given a graph G, and a set of rides R where every ride r i ∈ R travels from a starting node w start i ∈ V to a destination node w end i ∈ V , the time of travel according to the simple traffic model M ∅ is: is the number of edges on a shortest path between the two nodes, unless there exists no path between them, in which case Definition S4 (The problem of Minimizing Targets). The problem is defined by a tuple, (G, Q, R, f, M, ξ), where G = (V, E) is a directed network, Q ⊆ E is the set of edges that the adversary can choose from, R is the set of rides, f is an objective function representing traffic quality, M is a model of traffic, and ξ ∈ R is the attack efficiency. The goal is then to identify the smallest set of targets that decreases traffic quality below the threshold ξ, i.e., identify a set of edges Q * ⊆ Q in:

S5 Note 5: Theoretical results
In this section, we start by discussing works that are related to our theoretical analysis, before presenting our complexity results.

S5.1 Related works
From a theoretical perspective, the problem considered in our study involves minimizing the effectiveness of a certain process via the removal of some edges from a given network. A number of similar problems have been considered in the literature, usually related to the max-flow min-cut theorem [7]. These involve identifying the maximum amount of flow passing through the network, which can be interpreted as the amount of liquid traveling from the source in one node to the sink in another. In this context, the problem of minimizing the flow by removing edges from the network has been extensively studied [8], usually under the name of either network inhibition [9,10] or network interdiction [11,12]. Here, the network itself could be a representation of a logistic [13,14], computer [15], or communication [16] system. This class of problems considers a process that is intrinsically continuous, whereas the cellular-automata model of traffic considered in our study is essentially discrete. For instance, a unit of liquid travelling from the source to the sink can be distributed across multiple network pipes, whereas a given vehicle in our traffic model cannot be broken into pieces that travel through different routes. Discrete variations of a similar problem were also considered, e.g., in the form of maximizing the distance between a given source-sink pair [17,18], assuring that there does not exist a path between any two terminal nodes from a given set [19,20] or disconnecting pairs of nodes [21,22]. However, the problems considered thus far in the literature are typically defined in purely graph-theoretic terms and cannot readily be used in our context of traffic modeling, since they do not model essential aspects of traffic such as the externalities between different car rides and the temporal distribution of rides. Proof. The decision version of the problem is as follows: given a directed road network G = (V, E), the set of edges that the adversary can choose from Q ⊆ E, the set of rides R, the objective function f * , the model of traffic M * , the adversary's budget b ∈ N, and the attack efficiency ξ ∈ R, does there exist Q * ⊆ Q such that |Q * | ≤ b, and

S5.2 Complexity analysis
The problem is trivially in NP, since computing the value of f * after the removal of a given set of edges Q * can be done in a polynomial time.
We will now prove that the problem is NP-hard. To this end, we will show a reduction from the NP-hard Minimum Multiway Cut problem. This problem is defined by a network (V, E) and a set of terminal nodes S ⊆ V . The goal is then to determine whether there exist c edges from E such that after removing these edges from G, there exists no path between any two terminal nodes. This problem was proven to be NP-hard for directed unweighted graphs, given the number of terminal nodes k ≥ 2 [19].
The main idea of our proof of NP-hardness is as follows. We will first construct an instance of the problem of Maximizing Disruption corresponding to the given instance of the Minimum Multiway Cut problem. We will then show that a solution to the constructed instance of the problem of Maximizing Disruption is also a solution to the given instance of the Minimum Multiway Cut problem. Hence, the existence of a polynomial time algorithm solving the problem of Maximizing Disruption would imply the existence of a polynomial time algorithm solving the NP-hard Minimum Multiway Cut problem, which is impossible unless P=NP.
Given an instance ((V, E), S, c) of the Minimum Multiway Cut problem, let us construct the following instance of the problem of Maximizing Disruption: • G = (V, E); • Q = E, i.e., all edges can be chosen by the adversary; • R = s,s ∈S:s =s {(s, s , 0), (s , s, 0)}, i.e., for every pair of different terminal nodes s, s ∈ S, we create a ride with the starting node α i = s and the destination node β i = s , and another ride with the starting node α i = s and the destination node β i = s, where all rides start at midnight, i.e., ∀ i θ i = 0; • f = f * ; • M = M * ; • b = c; • ξ = 0.
Moreover, let the parameters of our model of traffic M * be the following: • The length of every street is exactly the length of the vehicle, which results in every lane of every street having exactly one cell, i.e., ∀ e∈E c e = 1; • Every street has a number of lanes equal to the total number of rides, i.e., ∀ e∈E l e = |R|; • The maximum speed of each vehicle is 1, i.e., v max = 1; • The probability of slowing down is 0, i.e., p slow = 0.
Let us now analyze the time it takes to complete each ride. Since the number of lanes of every street is equal to the total number of rides, no ride has to wait to enter the street, as there is always at least one empty lane (even if other lanes are occupied by all the remaining rides in R). The maximum speed of the vehicle is v max = 1, and since the probability of randomly slowing down is p slow = 0, every ride reaches its maximum speed in the first time step of the model (notice that for every ride the time of start is θ i = 0) and never changes its speed later on. Further, since every street has the length of just one cell, it always takes just one time step to traverse each street on the shortest path from the start to the destination. Therefore, for a given ride r i , the time it takes to reach the destination is simply the distance from the starting node to the destination node expressed as the number of edges, i.e., T (r i , G, M * ) = d G (α i , β i ). Under these conditions, the objective function is: Now, we show that if there exists a solution Q * to the given instance of the Minimum Multiway Cut problem, i.e., a set of c edges such that after the removal of Q * there exists no path between any two terminal nodes, then it is also a solution to the constructed instance of the problem of Maximizing Disruption. Since all the starting and destination nodes in the problem of Maximizing Disruption are terminal nodes from the Minimum Multiway Cut problem, after the removal of Q * there are no paths between them, and the distance between them is ∞. Therefore, after the removal of Q * , we have Hence, Q * is a solution to the constructed instance of the problem of Maximizing Disruption.
To complete the proof of the theorem, we now show that if there exists a solution Q * to the constructed instance of the problem of Maximizing Disruption, then it is also a solution to the given instance of the Minimum Multiway Cut problem. Since Q * is a solution, after the removal of Q * , the value of f * is zero. If for at least one pair of starting and destination nodes there would exist a path between them, the distance between them would be smaller than ∞, and the 1 d G (αi,βi) component for this pair would cause the value of f * to be positive. Therefore, since Q * is a solution to the constructed instance of the problem of Maximizing Disruption, there can be no pair of starting and destination nodes with a path between them in (V, E \ Q * ). However, because of the way we constructed this instance, the pairs of starting and destination nodes are exactly all pairs of terminal nodes from the given instance of the Minimum Multiway Cut problem. Hence, there are no paths between the terminal nodes in (V, E \ Q * ), and Q * is a solution to the given instance of the Minimum Multiway Cut problem. This concludes the proof. Proof. The decision version of the problem is as follows: given a directed road network G = (V, E), the set of edges that the adversary can choose from Q ⊆ E, the set of rides R, the objective function f * , the model of traffic M ∅ , the adversary's budget b ∈ N, and the attack efficiency ξ ∈ R, does there exist Q * ⊆ Q such that |Q * | ≤ b and The problem is trivially in NP, since computing the value of f * after the removal of a given set of edges Q * can be done in polynomial time.
We will now prove that the problem is NP-hard. To this end, we will show a reduction from the NP-hard Minimum Multiway Cut problem. This problem is defined by a network (V, E) and a set of terminal nodes S ⊆ V . The goal is then to determine whether there exist c edges from E such that after removing these edges from G, there exists no path between any two terminal nodes. This problem was proven to be NP-hard for directed unweighted graphs, given the number of terminal nodes k ≥ 2 [19]. The main idea of the proof is the same as for the proof of Theorem 1.
Given an instance ((V, E), S, c) of the Minimum Multiway Cut problem, let us construct the following instance of the problem of Maximizing Disruption: • G = (V, E); • Q = E, i.e., all edges can be chosen by the adversary; • R = s,s ∈S:s =s {(s, s ), (s , s)}, i.e., for every pair of different terminal nodes s, s ∈ S we create a ride with starting node α i = s and destination node β i = s , and another ride with starting node α i = s and destination node β i = s; • f = f * ; • M = M ∅ ; • b = c; • ξ = 0.
The objective function is then: Notice that this is the same form as the objective function in the proof of Theorem 1. Hence the reasoning follows the same as in the proof of Theorem 1. We repeat it here for the convenience of the reader.
First, we show that if there exists a solution Q * to the given instance of the Minimum Multiway Cut problem, i.e., a set of c edges such that after the removal of Q * there exists no path between any two terminal nodes, then it is also a solution to the constructed instance of the problem of Maximizing Disruption. Since all the starting and destination nodes in the problem of Maximizing Disruption are terminal nodes from the Minimum Multiway Cut problem, after the removal of Q * , there are no paths between them, and the distance between them is ∞. Therefore, after the removal of Q * , we have Hence, Q * is a solution to the constructed instance of the problem of Maximizing Disruption.
To complete the proof of the theorem, we now show that if there exists a solution Q * to the constructed instance of the problem of Maximizing Disruption, then it is also a solution to the given instance of the Minimum Multiway Cut problem. Since Q * is a solution, after the removal of Q * , the value of f * is zero. If for at least one pair of starting and destination nodes there would exist a path between them, the distance between them would be smaller than ∞, and the 1 d G (αi,βi) component for this pair would cause the value of f * to be positive. Therefore, since Q * is a solution to the constructed instance of the problem of Maximizing Disruption, there can be no pair of starting and destination node with a path between them in (V, E \ Q * ). However, because of the way we constructed this instance, the pairs of starting and destination nodes are exactly all pairs of terminal nodes from the given instance of the Minimum Multiway Cut problem. Hence, there are no paths between the terminal nodes in (V, E \ Q * ), and Q * is a solution to the given instance of the Minimum Multiway Cut problem. This concludes the proof.