The Target Recovery Strategy for Preventing Avalanche Breakdown on Interdependent Community Networks

,

trigger the failure of the dependent communication towers in the identical city as well as some power stations from adjacent cities [14,16,17]. erefore, it is of practical significance to study how to enhance the robustness of ICNs against random failures.
In the past years, a few methods have been proposed to control cascading failures on networks [18][19][20][21][22][23][24], and recent works of control strategies on modular networks share common ideas [25][26][27]. For example, global immunization strategies are proposed to control epidemics in nonoverlapping community structures [28]; overlapping modular centrality is a two-dimensional measure that quantifies both local and global influences of the overlapping and the nonoverlapping nodes [29]. Also, self-healing [30] and spontaneous recovery [31] are two methods for reorganizing the remaining network when random failures occur. Spontaneous recovery indicates that partially failed nodes are capable of spontaneously becoming functional again after an inactive period of time and have recently attracted more attention [31,32]. However, spontaneous recovery is not practical for recovering massive damaged nodes on interdependent networks in a short time. To overcome the shortcoming, Muro et al. [32] proposed a self-awareness recovery model and a random recovery strategy implemented on interdependent networks. e self-awareness recovery model mimics the behavior of repairing complex systems in real world: when failures propagate within networks, a few damaged devices can be timely repaired. Also, the strategy randomly selects a few mutual boundary nodes (a failed node in one network and its counterpart in the other network such that each has the topological distance equaling one from their giant component) and then reconnects the nodes to the remaining networks at each round of the cascading process. On the one hand, the self-awareness recovery model is effective to resist against the cascading failures [33]. On the other hand, the random recovery strategy is not applicable to networks with community structures unless it enhances the ratio of recovery nodes in a short time to avoid catastrophic risks [34,35]. However, the solution is restricted by cost and realistic situations.
In this paper, we propose a new target recovery strategy in the self-awareness recovery model, called recovery strategy based on community structures (RCS). e RCS strategy considers both intercommunity links and intracommunity links of mutual boundary nodes in networks by adjusting a single parameter. Intracommunity links and intercommunity links represent links within a single community and links across multiple communities, respectively [36]. In contrast, the conventional strategies do not classify the two types of links; that is, they target either random nodes on interdependent networks [32] or highly connected nodes in a single network [37] or bridging nodes with high outer links in a single network with community structures [38] and thus fail to perform well in network recovery. We apply RCS to synthetic networks and find that RCS is more effective than the other strategies, including random recovery, recovery based on degree centrality, and recovery based on local centrality. Importantly, RCS is able to yield a larger size of giant component, a higher existence probability of giant component, a lower number of iterative cascade steps, and a higher average degree of remaining network for a given recovery ratio. Moreover, RCS is robust against a given noise. Further, the optimal parameter of RCS remains stable even if the recovery ratio varies and is inversely related to modularity of ICNs. In general, RCS significantly improves the robustness of interdependent community networks by enhancing the connectivity between communities via intercommunity links and improving the tightness within a community via intracommunity links. e rest of the paper is organized as follows: Section 2 describes the rule of construction of ICNs and random failures. Section 3 introduces the self-awareness recovery process. Section 4 proffers the RCS strategy. Section 5 shows the extensive experiments and corresponding analyses. Section 6 makes a summary and further discussions on some open questions.

Network Model and Random Failures
In this section, we first give a brief description of the interdependent community networks and then illuminate the process of random failures.

Interdependent Community Networks.
e interdependent community networks are constructed by coupling two networks with the same community structures and the same average degree based on the following assumptions [14]. In the case of ICNs composed of ER-ER coupled structures, we have the following: (1) Two ER networks have the same number m of communities, each node randomly belongs to one community (also known as nonoverlapping), and each community has approximately the same number of nodes. (2) Each network has the same value of the average degree K tot which is accumulated by the average intracommunity degree K intra , the average intercommunity degree K inter , and the same fixed ratio, α, of K intra over K inter . e values of K intra and K inter are computed by the following equations with K tot , m, and α: (3) e equations above are used to calculate the total number of intracommunity links and the total number of intercommunity links for networks. After that, we randomly assign the number of intracommunity links and the number of intercommunity links for every node, as long as the node degree approximately follows Poisson distribution and the total number of links remains consistent.
2 Complexity (4) e nodes in subnetworks are connected randomly to a few other nodes that either are within the same community by intracommunity links or are among different communities by intercommunity links, respectively. (5) Each dependency link is restricted such that it only randomly connects nodes within the same community between networks; that is, a node in the community m 1 of subnetwork A only depends on the corresponding node in the same community m 1 of subnetwork B. e schematic diagram of ICNs is illustrated in Figure 1.
For the sake of simplicity and without loss of generality, two networks have the same size N of nodes. More specifically, m is the number of communities. α is used to control the number of intercommunity links in the synthetic networks. A higher value of α indicates more intercommunity links. K tot is the mean degree. Let N � 10000, m � 20, α � 100, and K tot � 5 [14]; thus, the coefficient of modularity (Q) approaches 0.7 [39]. For a limited network size, both m and K tot have small effect on the intensity of community structures [40]. α has a significant effect on the modularity coefficient of community networks and affects the procedure of the recovery strategy.
As the literatures on power grids and communication networks show that the network structures of such systems fall between ER and scale-free graphs (SF) [12], two additional types of ICNs are evaluated. One is composed of ER-SF coupled structures, and the other is composed of SF-SF coupled structures. e construction methods for both types are identical to that of the ICNs composed of ER-ER structures. Also, all the three ICNs have the same network size and mean degree. e configuration model generates the scale-free networks with the degree exponent 2.25.

Random Failures.
Generally, random failures cause cascading failures by random removal of a small fraction of nodes in a network. e failures are extremely sensitive to interdependent system because of node's dependency [41]. In this study, the cascading failures are first initiated by randomly removing a fraction 1 − p of nodes in subnetwork A, where p is the fraction of surviving nodes in subnetwork A. Second, the failed nodes are supposed to trigger more failures of adjacent nodes within subnetwork A. ird, as long as the failed nodes cooperate with their dependent nodes outside subnetwork A, it is highly possible that the failure is unexpectedly transferred to other networks such as subnetwork B. Eventually, the cascading process propagates back and forth within a network and may cause further breakdown of the entire network.
is cascading process does not terminate until no more nodes fail. e giant component, GC, of interdependent system consists of multiple nodes, where each node and its dependent node are both connected to the GC of their respective subnetworks. After the cascading process, only nodes in the GC remain functional [42]. On one hand, the inner connections have an impact on failure propagation within a community. On the other hand, the sparse connections also have a significant impact on failure propagation between communities. However, the cascading failure process in the ICNs is still distinct in that the inner connections and the sparse connections are both easy to propagate failures from one subnetwork to the others, due to the dependency relation.

Self-Awareness Recovery Model
In the self-awareness recovery model [32], if a failed node in one network and its counterpart in the other network are both at a topological distance d � 1 from their GC, then two failed nodes belong to the mutual boundary (see Figure 2(a)), and the term is usually called mutual boundary nodes. e reasons behind the recovery of the mutual boundary are based on the following facts: (i) in many real infrastructure networks, it is reasonable and easier to repair adjacent failed nodes of functional networks; and, (ii) according to the percolation theory [42], repairing a node that does not belong to the boundary of its GC is a waste of effort and the failure would happen again in the next stage, simply because the node is not connected to the GC.
Initially, suppose that a fraction 1 − p of nodes fail in subnetwork A, and only the nodes within the GC are regarded as functional. After the failures occurring in subnetwork A, the failures spread from subnetwork A to subnetwork B, thus making the corresponding nodes fail in subnetwork B via dependent links (as the conventional process of cascading failures introduced in [1]). e selfawareness recovery process is intervened exactly at this stage. e recovery process such as random recovery selects and repairs a few pairs of failed nodes which belong to the mutual boundary before the failure propagates back to subnetwork A. Due to the dependency between nodes, the self-awareness recovery is able to intervene in each stage as further failures propagate back and forth between networks. A brief example is shown in Figure 2(b). We denote n � 0, 1, . . . as a stage of the cascading processes. e procedures in any stage n are given as follows: (1) Cascading in subnetwork A: nodes in subnetwork A begin to fail once if they lose their counterparts in subnetwork B at stage (n − 1) or if they do not belong to the GC of subnetwork A. (2) Cascading in subnetwork B: nodes in subnetwork B become failed if they lose their counterpart nodes due to the dependency or if they are not within the GC of subnetwork B. (3) Recovery process: a pair of failed nodes in mutual boundary of the GC of networks is selected and these nodes are restored. e recovery process is repeated until a proportion λ of nodes become recovered, where λ is the ratio of the repaired nodes over all the candidate nodes. Eventually, all the links of the repaired nodes within the GC are repaired as well.
Let λ � 0.1 in the following discussion.
is procedure is repeated until the system enters a steady state, and then we are left with the giant components.

Complexity 3
Note that a steady state is reached only when the network is still functional without any node failures or is fully collapsed.

Recovery Strategy Based on Community Structures
In the self-awareness recovery model on interdependent networks, random recovery strategy is able to resist the avalanche of failures, because considerable efforts are made to recover a few mutual boundary nodes of GC [32]. Practically, a device in a short physical distance is easy to be repaired, but a remote device is impractical and expensive to be repaired [43]. As such, it is feasible to repair a pair of nodes if they are close to their common GC in the interdependent system. However, random recovery strategy may lose its efficiency as it does not consider community structures. is is an issue because, first, community structures at mesoscale level are ubiquitous in many real networks [44]. Second, it was found that intercommunity links in networks with community structures are able to amplify the destructive effect of failures and even cause the avalanche collapse of the entire network [45,46]. For the reasons above, community structures are inclined to fail nodes on the ICNs due to the loss of dependency partners via dependency links or the failure propagation to multiple communities. erefore, considering community structures in the new target recovery strategy is much more necessary for effectively responding cascading failures caused by random failures. e simplest recovery method is random strategy, where a pair of boundary nodes of GC is repaired and is reactivated randomly. However, there is no guarantee that such a strategy leads to effective recovering, especially for community structures. In the structures of community, the intercommunity links are dominant in delivering failures from a single community to multiple communities [47][48][49][50][51]. On the other hand, Stage n in A Stage n in B Recovering  the intracommunity links cannot be ignored because the links can strengthen inner connectivity of a single community and thus improve the network resilience [34,35]. erefore, both intracommunity and intercommunity links are crucial in the recovery process. Our RCS strategy considers the structures of community, and therefore it is reasonable to recover the boundary nodes of GC. e RCS in each recovery stage is processed as follows (see Figure 3).
(1) In recovery stage n, F is the set of all boundary nodes (a i , b i ) of its GC. (2) Let k intra (v) denote the number of inactive intracommunity links of node v which would reconnect the GC if v is repaired, and let k inter (v) denote the number of inactive intercommunity links of node v which would reconnect the GC if v is repaired. en, we calculate the recovery priority index R for each where the parameter β indicates the importance of intercommunity links in recovery action, that is, a value between 0 and 1. e lower value of β means the intercommunity links play a more important role in recovery process, and the higher value of β means the intracommunity links play a more important role.
(3) We rank all pairs in F by the recovery priority index R in a descending order. If the values of R are equal for multiple pairs, we randomly rank them.
(4) We enumerate and recover the pairs in F until the required maximum number of repaired nodes is reached. e maximum number is calculated by N F * λ, where N F is the total number of nodes in F and λ is the recovery ratio.
Many centrality measures in complex networks have been used to evaluate the importance of nodes [52]. To evaluate the performance of RCS, we use random recovery (RR) and two typical centralities to rank the priority of pairs of boundary nodes in recovery process: recovery based on degree centrality (RDC) and recovery based on local centrality (RLC).
(1) In the RR strategy, a pair of nodes in the mutual boundary in the set F is chosen randomly. (2) In the RDC strategy, the recovery priority index R is calculated by computing the residual degree of a i and b i [53], and then all pairs in F are sorted in a descending order. (3) In the RLC strategy, the recovery priority index R is calculated by computing the local centrality of a i and b i , where the local centrality is defined as the total number of the nearest and the next-nearest neighbors of node v [54], and then all pairs in F by R are sorted in a descending order.
In this work, we further define a few evaluation criteria, β o , S, P 1 ∞ , NOI, p c , and <k GC >. β o is the optimal value of the tunable parameter in the RCS strategy (see later for details). S is the fraction of functional nodes in the GC when steady state is reached. P 1 ∞ is the existence probability that the entire network remains functional [55]: if the value of S is greater than 0.001 of the realizations at a fixed value of p, then P 1 ∞ is calculated by counting the number of occurrences of networks that are functional at the end of cascading failures. P 2 ∞ (if S > 0.01), P 3 ∞ (if S > 0.05), and P 4 ∞ (if S > 0.1) are computed in the same way. p c is the minimum fraction of failed nodes that are necessary to break the network. NOI is the number of iterative cascade steps that are required for the network to reach steady state. <k GC > is the average residual degree of the remaining network.

Results
We present experimental simulations to compare the efficiency of RR, RDC, and RLC for the ICNs against random failures. e simulation results in each strategy are obtained by averaging over 10 4 independent runs for each fraction of surviving nodes p.
e experiments are implemented to tackle the problems in two aspects. Subsection 5.1 shows how to select the optimal parameter of RCS and the optimal parameter as a function of the modularity coefficient of structures. Subsection 5.2 compares the effects of different recovery strategies in the size of the giant component, the existence probability of giant component, the number of iterative cascading steps, and the average degree of the remaining networks. In addition, the robustness of these strategies against random noise is investigated.

e Optimal Performance of RCS.
First and foremost, the impact of the key parameter β of RCS is analyzed by p c . In order to estimate p c , we calculate the location of the maximum fluctuation σ of the size of giant component S, which is usually expected to be the maximum value at critical point for both first-order and second-order transitions [56,57] (see Figure 4(a)). As long as p < p c , the failed nodes are able to trigger a global avalanche, which destroy the entire network. In other words, the lower value of p c for a recovery strategy means better effectiveness. Meanwhile, the value of p c of RCS is less than those of the other three strategies, which means RCS is more effective than the others for the same recovery ratio. Next, to estimate the optimal parameter β o of RCS, we calculate the point β of the minimum value of p c in Figure 4(b). In Figure 4(b), the optimal parameter β o has to be assigned to 0.3 because of the following reasons: (i) an effective recovery strategy should consider intercommunity links in recovery process, because failures could lead to more failed nodes in other communities via a few sparse intercommunity links; (ii) the recovery strategy should also consider intracommunity links which can immediately reinforce the resilience of inner community during the cascading process; (iii) suppose that each community is a closely connected structure, implying that massive links are used to connect the nodes within the same community, while few links are used for the nodes among Complexity 5 different communities. As a result, an intracommunity link is less important than an intercommunity link [58]. ere are three points to note: (i) for an extremely high value of parameter (e.g., β > 0.8), RCS considers merely the intracommunity links which are mostly restricted in a single community and thus exceptionally weakens the effect of intercommunity links between communities; (ii) for an extremely small value of parameter (e.g., β � 0), RCS only considers intercommunity links and ignores the influences of intracommunity links within the community, and in this case RCS has worse performance as shown in Figure S1; (iii) for a media value of parameter (β � 0.5), RCS does not differ from the role of two types of connectivity links. e same way is used for the ICNs with ER-SF structures (see Figure 4(c)) and the ICNs with SF-SF structures (see Figure 4(d)). Furthermore, take the case of the ICNs with ER-ER structures; we launched experiments to obtain the optimal parameter values β o by a function of recovery ratio λ. e results are shown in Figure S2, where β reaches a relatively stable tendency of variation where the value is between 0.2 and 0.3. It means the recovery ratio λ has a trivial impact on the optimal parameter of the strategy. Modularity coefficient is known to be one of the most relevant characteristics of complex systems [59]. A high value of modularity indicates strong community structures. It is obvious that a variation of modularity on ICNs is able to affect the optimal parameter of RCS. However, a significant question is, do these variations happen regularly? To address the question, we launch a series of experiments and show the results in Figure 5 in which the optimal parameter β o is a function of the modularity coefficient Q [39] (modularity coefficient Q can be adjusted by altering the parameter α of the ICNs, as shown in Figure S3). As a community exhibits a dense network structure where all nodes among the community are closely connected, the structure cannot be easily broken when random failures occur [60]. erefore, intracommunity links have less effect on recovering random failures. In contrast, intercommunity links are more important in connectivity between communities as their number is small [38], and any failure of an intercommunity link may cause two communities to lose their connectivity. In our experiment, a high value of modularity Q indicates that the network has a strong community feature, and thus the interconnected nodes become more important for the connectivity of entire network [58]. By comparing the optimal parameter β o and Q, we find that there is a negative correlation tendency between β o and Q, indicating that stronger community of structures implies closer connection between the links within the community and reduces the importance of intracommunity links. From the results, we find a rule that the optimal parameter β o as a key factor of RCS is inversely related to modularity of ICNs, which can be useful in real situations.

e Effects of Different Recovery
Strategies. e resilience of ICNs against random failures with different recovery strategies is shown in Figure 6. e higher value of S indicates better performance of the recovery strategy. In Figure 6, the colour-shaped curves correspond to the values of S with the relevant standard error bars for different recovery strategies. e black-square-shaped curve represents the action without recovery. It is obvious that the robustness , in subnetwork A and subnetwork B. e purple circles belong to the community m 1 , the green circles belong to m 2 , the orange circles belong to m 3 , and the black circles mean failed nodes that have no direct connection to the GC. In this example, the parameter β is assigned to 0.3. e value of R(a 1 , b 1 ) � 3.1 is computed by k intra , the number of inactive intracommunity links that are connected to the GC (black-dotted lines), and k inter , the number of inactive intercommunity links that are connected to the GC (yellow dotted lines) for the nodes a 1 and b 1 . e example assigns k intra (a 1 ) � 2, k inter (a 1 ) � 1, k intra (b 1 ) � 2, and k inter (b 1 ) � 0. e value of R(a 2 , b 2 ) � 1.7 is computed in the same way. e results of R(a 1 , b 1 ) and R(a 2 , b 2 ) show that the pair of nodes a 1 and b 1 needs to be recovered. Furthermore, the links (black-and yellow-dotted lines) of a 1 and b 1 within their GC are restored. 6 Complexity of network with recovery process is much better than that in the case without recovery when random failures occur. e curves show that RCS performs best in most variations of p. Also, RCS is more effective to prevent the global breakdown caused by random failures. Moreover, the size of the giant component for RCS is higher than that of the others in both heterogeneous networks and homogeneous networks. Take the case of the ICNs with ER-ER structures, the effectiveness of recovery strategies to resist breakdown is shown in Figure 7. e larger value of P 1 ∞ means the recovery is more effective. In Figure 7(a), the value of P 1 ∞ of RCS is obviously higher than those of RR, RDC, and RLC. Furthermore, we compare RCS with the other recovery strategies for P 2 ∞ , P 3 ∞ , and P 4 ∞ . For preventing network collapse, it is evident that RCS outperforms the other strategies in most cases. e same results are obtained for the ICNs with ER-SF structures and the ICNs with SF-SF structures.
e parameter NOI indicates the times of recovery process. A sharp peak of NOI at the threshold is a critical phenomenon of cascading failures [32] and epidemic spreading [61,62]. It is known that, in a conventional cascade failure, NOI displays a sharp peak at a critical point [32], which means the network needs a long period of time to reach the steady state. erefore, an effective recovery strategy is expected to have a lower peak of NOI for controlling the cascading progress. Take the ICNs with ER-ER structures as an example; the red-(green-, blue-, and violet-) shaped curve in Figure 8 corresponds to the value of NOI of RCS (RLC, RDC, and RR), and the black-shaped curve represents the value of NOI for the action without recovery. When p < p c , the recovery strategy cannot stop the propagation of cascading failure on networks because there are extremely large number of initial random failures. As p decreases, a faster cascading failure will result in the collapse of network, and thus the value of NOI goes down. When p > p c , the cascading failure cannot propagate in the entire network because a higher value of p cannot cause the networks to break, so the value of NOI is limited. As p decreases, the value of NOI goes down as well. Figure 8 shows that the value of NOI of RCS displays a lower peak, compared with the other three strategies. e same results are obtained for the ICNs with ER-SF structures and the ICNs with SF-SF structures. Figure 9, taking the ICNs with ER-ER structures as an example, shows <k GC > as a function of fraction p with different recovery strategies. A higher value of <k GC > means the associated recovery method is more efficient when the steady state of network is reached. It is found that RCS has better robustness as <k GC > decreases slowly, while RLC/ RDC/RR have lower values of <k GC > under the same condition. e results confirm that RCS can preserve the functionality of ICNs by enhancing the average degree of the remaining network. e achievement of functionality preservation is all based on the characteristic strategy of RCS. Particularly, RCS aims at recovering the mutual boundary nodes of the GC which not only are able to bridge nodes in different communities via intercommunity links but also connect other nodes in the same community through intracommunity links. Specifically, a node with a few intercommunity links can magnify the diffuseness in the entire network and causes cascade failures for the nodes with catastrophic consequences. On the other hand, when nodes are connected by more intracommunity links, the inner community has better connectivity to resist apart from the giant component and immediately makes robustness of ICNs better. For example, RDC only considers hub nodes and thus has a worse performance for recovery on the ICNs because of ignoring community of structures. Clearly, RCS performs much better at determining which pair of mutual boundary nodes should be recovery first. , respectively (where c is a constant). To apply the RCS strategy, the community structures consisting of intracommunity and intercommunity links have to be stored and maintained for each node, which could be a concern for some scenarios.
10 Complexity Given a real example of cities, each city not only is tightly connected by itself but also has interdependent infrastructures that are connected by a few or more dependency links between cities. We call those interdependent infrastructures the noise on ICNs. is phenomenon of connection raises a question: is the controlling of failure avalanche through RCS robust against the noise on ICNs? To address this question, we deliberately propose a proportion of dependency links nz within different communities in different networks; that is, a node in the community m i in subnetwork A depends on a node in community m j (i ≠ j) in subnetwork B. If the noisy input has no one-to-one interdependent pairs of nodes among any identical community in multiple subnetworks, the cascading failures would quickly occur in cross subnetworks via dependency links. We then investigate whether the artificial noise can severely affect the performance of recovery. Take the ICNs with ER-ER structures as an example; Figure 10 demonstrates that some noisy inputs (e.g., nz � 0.01) have certain influence upon the curves of all recovery strategies, among which RCS remains in the lead, which means the performance of RCS is robust against the noise (the same trend of curves also exists for the ICNs with ER-SF structures ( Figure S4) and the ICNs with SF-SF structures ( Figure S5)). Figure S6 and S7 in the Appendix give results when the noise is assigned to nz � 0.1 and nz � 0.2. However, as the noise becomes sufficiently strong (nz � 0.5, shown in Figure S8), the advantage of RCS disappears gradually, and there are no significant differences among these recovery strategies except for RR. In general, small-level noise or medium-level noise has little influence on the dominance of RCS.

Conclusions
To summarize, for improving the performance of recovery strategy against random failures on interdependent community networks, we propose a new target recovery strategy in the self-awareness recovery model, called recovery strategy based on community structures (RCS). e RCS strategy leverages both intercommunity links and intracommunity links via a novel parameter. rough the extensive experiments and comparisons on synthetic ICNs with other strategies based on random recovery, recovery based on degree centrality, and recovery based on local centrality, results show that RCS remarkably outperforms the others in the size of giant component, the existence probability of giant component, the number of iterative cascade steps, and the average degree of the remaining networks for a given recovery ratio. Moreover, the RCS strategy performs more effectively and is robust against a given level of noise. Besides, the optimal parameter of RCS remains stable even if the recovery ratio varies and is inversely related to modularity of ICNs. In general, RCS can significantly improve the robustness of the interdependent community networks by enhancing the connectivity between communities via intercommunity links which prevent the diffusion of failures from a single community to multiple communities and strengthen inner connectivity of a single community via intracommunity links.
Our strategy is particularly relevant to models of city infrastructure, where most of the interdependency presumably occurs within a single city even though there are connections to other cities and is also operational in reality as a node typically has the information of its community. Overall, our work is helpful in the development of intervention strategies against crisis on interdependent systems with community structures. However, some open questions still remain. For example, can certain optimization methods be developed to increase performance and to avoid the parameter input in the execution? Can our recovery strategy be applied to the case of interdependent community networks with different community structures, different degree sequence, or overlapping communities [63]? We hope our work will stimulate further efforts in exploiting strategy for controlling cascading failures on interdependent community networks.

Data Availability
e synthetic data used to support the findings of this study are included within the article. Specifically, the performance of RCS is evaluated on synthetic networks generated by the model of ICNs in Section 2.1. e synthetic networks have the assignment of parameters as N � 10000, m � 20, a � 100, and k tot � 5 (for more details, see Section 2.1).

Conflicts of Interest
e authors declare that there are no conflicts of interest regarding the publication of this paper.