<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article article-type="research-article" dtd-version="2.3" xml:lang="EN" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Phys.</journal-id>
<journal-title>Frontiers in Physics</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Phys.</abbrev-journal-title>
<issn pub-type="epub">2296-424X</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">870560</article-id>
<article-id pub-id-type="doi">10.3389/fphy.2022.870560</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Physics</subject>
<subj-group>
<subject>Original Research</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>Distributed Self-Healing for Resilient Network Design in Local Resource Allocation Control</article-title>
<alt-title alt-title-type="left-running-head">Kim and Hayashi</alt-title>
<alt-title alt-title-type="right-running-head">Distributed Self-healing for Resilient Network</alt-title>
</title-group>
<contrib-group>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Kim</surname>
<given-names>Jaeho</given-names>
</name>
<xref ref-type="corresp" rid="c001">&#x2a;</xref>
<uri xlink:href="https://loop.frontiersin.org/people/1655204/overview"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Hayashi</surname>
<given-names>Yukio</given-names>
</name>
<uri xlink:href="https://loop.frontiersin.org/people/1752737/overview"/>
</contrib>
</contrib-group>
<aff>
<institution>Graduate School of Advanced Institute of Science and Technology</institution>, <institution>Japan Advanced Institute of Science and Technology</institution>, <addr-line>Nomi</addr-line>, <country>Japan</country>
</aff>
<author-notes>
<fn fn-type="edited-by">
<p>
<bold>Edited by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/73494/overview">V&#xed;ctor M. Egu&#xed;luz</ext-link>, Institute of Interdisciplinary Physics and Complex Systems (CSIC), Spain</p>
</fn>
<fn fn-type="edited-by">
<p>
<bold>Reviewed by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/434467/overview">Yilun Shang</ext-link>, Northumbria University, United Kingdom</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/101109/overview">Chengyi Xia</ext-link>, Tianjin University of Technology, China</p>
</fn>
<corresp id="c001">&#x2a;Correspondence: Jaeho Kim, <email>s2160002@jaist.ac.jp</email>
</corresp>
<fn fn-type="other">
<p>This article was submitted to Interdisciplinary Physics, a section of the journal Frontiers in Physics</p>
</fn>
</author-notes>
<pub-date pub-type="epub">
<day>05</day>
<month>05</month>
<year>2022</year>
</pub-date>
<pub-date pub-type="collection">
<year>2022</year>
</pub-date>
<volume>10</volume>
<elocation-id>870560</elocation-id>
<history>
<date date-type="received">
<day>07</day>
<month>02</month>
<year>2022</year>
</date>
<date date-type="accepted">
<day>15</day>
<month>03</month>
<year>2022</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2022 Kim and Hayashi.</copyright-statement>
<copyright-year>2022</copyright-year>
<copyright-holder>Kim and Hayashi</copyright-holder>
<license xlink:href="http://creativecommons.org/licenses/by/4.0/">
<p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.</p>
</license>
</permissions>
<abstract>
<p>Many infrastructure networks are considered the backbone of our society; however, increasing disasters and terrors cause serious damage to energy, water, communication, and transportation systems. In this study, we proposed a distributed self-healing method for the damaged networks whose original structure is extremely vulnerable and scale-free. For reconstructing a sustainable network, the key ideas of our method are ring formation and enhancing loops by adding the resource of healing links between low-degree nodes inspired from the state-of-the-art edge rewiring methods. In emulating a healing algorithm asynchronously, we showed that the reconstructed network has both higher robustness and efficiency than the ones using the conventional self-healing methods. Our distributed self-healing method will be useful as a basic framework for sustainable network reconstruction.</p>
</abstract>
<kwd-group>
<kwd>self-healing</kwd>
<kwd>resilience-based design</kwd>
<kwd>distributed algorithm</kwd>
<kwd>robustness against attacks</kwd>
<kwd>efficiency of paths</kwd>
<kwd>resource allocation</kwd>
<kwd>sustainable network reconstruction</kwd>
</kwd-group>
<contract-num rid="cn001">JP.21H03425</contract-num>
<contract-sponsor id="cn001">Japan Society for the Promotion of Science<named-content content-type="fundref-id">10.13039/501100001691</named-content>
</contract-sponsor>
</article-meta>
</front>
<body>
<sec id="s1">
<title>1 Introduction</title>
<p>It has been well-known that many social, technological, and biological networks are commonly represented by a scale-free (SF) network whose degree distribution follows a power law [<xref ref-type="bibr" rid="B1">1</xref>]. However, a SF network is extremely vulnerable against targeted attacks to high-degree hub nodes [<xref ref-type="bibr" rid="B2">2</xref>, <xref ref-type="bibr" rid="B3">3</xref>]. In infrastructure networks such as airlines, the Internet, and power-grids, these weak structures are frequently exposed to natural and man-made disasters. For example, an accident of drones by unknown attackers at an airport in England disrupted a thousand flights in Europe [<xref ref-type="bibr" rid="B4">4</xref>], while lots of airport shutdowns resulted from bad weather conditions and natural phenomena [<xref ref-type="bibr" rid="B5">5</xref>]. Also, the backbone of communication system, the Internet, is consistently threatened by distributed denial-of-service (DDoS) attacks [<xref ref-type="bibr" rid="B6">6</xref>]. Major causes of blackouts in North America are due to natural disasters [<xref ref-type="bibr" rid="B7">7</xref>]. In addition, the global supply chain network was damaged by the earthquakes and tsunamis that occurred in Japan in 2011 [<xref ref-type="bibr" rid="B8">8</xref>]. Since such infrastructures are necessary for our sustainable society, structural weakness should be overcome in order to maintain connectivity. Thus, a resilience-based system design has attracted attention, especially from system engineering and environmental science fields. The concept of resilience includes not only recovering the original state from disturbances but also reconstructing systems with adaptive capacity [<xref ref-type="bibr" rid="B9">9</xref>, <xref ref-type="bibr" rid="B10">10</xref>]. We emphasized the reconstruction of damaged networks by healing for improving the robustness of connectivity because if a damaged network is recovered to the original structure, the extremely vulnerable SF structure still remains. For example, as a recovery method, several self-healing methods have been proposed recently [<xref ref-type="bibr" rid="B11">11</xref>, <xref ref-type="bibr" rid="B12">12</xref>]. Comparing the healing methods [<xref ref-type="bibr" rid="B11">11</xref>, <xref ref-type="bibr" rid="B12">12</xref>] with our method, these methods aim to recover the original structure, whereas our method aims to reconstruct a new structure. Therefore, the objectives are intrinsically different between recovery and reconstruction, although the aforementioned methods and our method are based on a similar strategy of healing by adding links and controlling the number of added links by a parameter. As shown in figures of <xref ref-type="sec" rid="s3">Section 3</xref>, the networks reconstructed using our method have both higher robustness and efficiency than the original SF network (denoted by a black dashed line), with much less incomplete recovery by these methods in controlling fewer added links.</p>
<p>In a state-of-the-art research study, it has been found that an onion-like structure has the optimal robustness against malicious attacks [<xref ref-type="bibr" rid="B13">13</xref>, <xref ref-type="bibr" rid="B14">14</xref>]. Within reserving a given degree distribution, this structure can be formed by whole rewiring for increasing degree&#x2013;degree correlations [<xref ref-type="bibr" rid="B13">13</xref>, <xref ref-type="bibr" rid="B15">15</xref>]. However, it is suggested that enhancing loops is more effective than increasing the correlations [<xref ref-type="bibr" rid="B16">16</xref>&#x2013;<xref ref-type="bibr" rid="B19">19</xref>]. This is supported from a fact that network dismantling and decycling problems are asymptotically equivalent in random networks with light-tail degree distributions [<xref ref-type="bibr" rid="B16">16</xref>]. When the network becomes a tree without loops, we can intuitively understand that it is easily fragmented by any node removal. Here, the dismantling problem is finding the minimum set of nodes whose removal makes a graph fragmented into at most a given size, while the decycling problem is finding the minimum set of nodes whose removal makes a graph acyclic. The decycling set is also called as the feedback vertex set (FVS) in computer science, although finding the FVS belongs to a class of NP-hard in combinatorial optimization problems. To generate an onion-like structure, enhancing loops by copying [<xref ref-type="bibr" rid="B17">17</xref>] and intermediation [<xref ref-type="bibr" rid="B18">18</xref>] are effective in incrementally growing networks. Moreover, rewirings by enhancing loops with/without preserving a degree distribution generate the onion-like structure or robust networks with negative degree&#x2013;degree correlations [<xref ref-type="bibr" rid="B19">19</xref>]. Thus, by enhancing loops, a network becomes more robust, as it is hard to be a tree. In other words, it corresponds to maximize the size of FVS approximately.</p>
<p>On the other hand, based on enhancing loops, a new self-healing method for network reconstruction has been proposed recently [<xref ref-type="bibr" rid="B20">20</xref>]. In order to get stronger connectivity, this method applies an extended connection range for new links as the key idea, which has been introduced for interdependent two-layered square lattices [<xref ref-type="bibr" rid="B21">21</xref>]. It has been shown [<xref ref-type="bibr" rid="B20">20</xref>] that the reconstructed network has higher robustness than the ones using conventional heuristic methods: simple local repair [<xref ref-type="bibr" rid="B22">22</xref>], in which healing links are added by priority of more damaged nodes, and bypass rewiring [<xref ref-type="bibr" rid="B23">23</xref>], in which a damaged node is randomly connected only one time with the other one. By Forgiving Tree algorithm [<xref ref-type="bibr" rid="B24">24</xref>] in computer science, although the connections between a removed node and its nearest neighbors are replaced as a tree to reduce the diameter of the reconstructed network, this algorithm does not consider the robustness of connectivity. Despite the advantages [<xref ref-type="bibr" rid="B20">20</xref>], it may be expected that the healing method based on enhancing loops is further improved by focusing on the network by the rewirings which has stronger robustness due to smaller gaps between the maximum and minimum degrees [<xref ref-type="bibr" rid="B19">19</xref>]. For reducing the gap in the healing after attacks, adding links for low-degree nodes is effective because high-degree nodes tend to be removed. This is the reason for connecting between low-degree nodes, as mentioned later.</p>
<p>In this study, several infrastructure networks imagined with adaptive wireless communication [<xref ref-type="bibr" rid="B25">25</xref>] or future microwave power transfer [<xref ref-type="bibr" rid="B26">26</xref>] are subjected to target systems for healing. Although the detail realizations are not discussed because of the dependence on the progress of device technologies, we described a distributed algorithm for controlling an autonomous network system, in which nodes work together for reconstructing from damaged systems after attacks or disasters. Since such infrastructures are large-scale and complex, a distributed control is more desirable than a central control because the distributed control network systems provide several advantages [<xref ref-type="bibr" rid="B27">27</xref>&#x2013;<xref ref-type="bibr" rid="B29">29</xref>] in contrast to the central control. Each node has a same algorithm which can be applied to a network independently of its size or topological structure in a scalable manner. Since some tasks are processed concurrently at different locations, the execution times are shorter than those processed sequentially by a central control. A distributed control has high reliability to protect the whole down cooperatively by the remaining parts after attacks or disasters, while the malfunctions of control centers are fatal. Moreover, local resource allocation of healing links is available in a distributed algorithm for rapid reconstruction of a network. We designed a distributed healing algorithm with the advantages of scalability, concurrency, reliability, and local resource allocation.</p>
<p>Our article is organized as follows: in <xref ref-type="sec" rid="s2">Section 2</xref>, we introduce the outline of our self-healing method in contrast to the previous method [<xref ref-type="bibr" rid="B20">20</xref>]. In <xref ref-type="sec" rid="s3">Section 3</xref>, the effects of our method are numerically evaluated by measuring connectivity, robustness of connectivity, and efficiency of paths for typical three real networks. In each of them, the structural change of a healed network from the original one before attacks is investigated by both the number of neighbor nodes and its degree distribution. In <xref ref-type="sec" rid="s4">Section 4</xref>, the autonomous distributed algorithm for our method is described in detail, although the simulation results are shown in <xref ref-type="sec" rid="s3">Section 3</xref> beforehand. In <xref ref-type="sec" rid="s5">Section 5</xref>, we summarize the obtained results from <xref ref-type="sec" rid="s3">Section 3</xref> and <xref ref-type="sec" rid="s4">Section 4</xref>.</p>
</sec>
<sec id="s2">
<title>2 Brief Description of Our Method</title>
<p>Usually, attacked nodes are not recovered immediately in natural or man-made disasters, and the malfunctions may continue for a long time, and their neighbors are damaged by losing healing links. Under such urgent situation, our healing method compensates the lost connectivity. Without losing generality, we assumed that some links emanated from <italic>qN</italic>-attacked nodes can be reused for healing, where <italic>q</italic> denotes the fraction of simultaneously attacked nodes, and <italic>N</italic> denotes the original network size before attacks. This assumption is feasible: some parts of disconnected cable lines or wireless beams are reusable in a communication network, while directions of stopped flight routes can be changed in an airline network. However, the amount of reusable links depends on the damages on a network. If reusable links are insufficient, we also assume the additional support of links as an investment. Thus, we define the total number of links <italic>M</italic>
<sub>
<italic>h</italic>
</sub> for healing as follows.<disp-formula id="e1">
<mml:math id="m1">
<mml:msub>
<mml:mrow>
<mml:mi>M</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mover>
<mml:mrow>
<mml:mo>&#x3d;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mtext>def</mml:mtext>
</mml:mrow>
</mml:mrow>
</mml:mover>
</mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>r</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#xd7;</mml:mo>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>q</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x223c;</mml:mo>
</mml:mrow>
</mml:munderover>
<mml:msub>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:math>
<label>(1)</label>
</disp-formula>Here, <italic>k</italic>
<sub>
<italic>i</italic>
</sub> denotes the degree of node <italic>i</italic>, <italic>D</italic>
<sub>
<italic>q</italic>
</sub> denotes a set of attacked nodes, <inline-formula id="inf1">
<mml:math id="m2">
<mml:mrow>
<mml:mover>
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x223c;</mml:mo>
</mml:mrow>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula> means the sum of attacked nodes&#x2019; degrees without duplicating counts, and <italic>r</italic>
<sub>
<italic>h</italic>
</sub> is a control parameter whose range is 0 &#x3c; <italic>r</italic>
<sub>
<italic>h</italic>
</sub> &#x2264; 1 according to the damaged situation. For <italic>M</italic>
<sub>
<italic>h</italic>
</sub>-healing links, it is repeated to add a healing link between two damaged nodes.</p>
<p>Based on ring formation and enhancing loops, our method is slightly different from the previous method [<xref ref-type="bibr" rid="B20">20</xref>]. After describing each step in our method, we explain the reason why our method differs.<list list-type="simple">
<list-item>
<p>&#x2022; Step 1 Initiation for healing</p>
</list-item>
<list-item>
<p>&#x2009;&#x2009;&#x2009;&#x2009;&#x2009;Nearest neighbors of attacked nodes detect the damages as disconnections and try to connect each other by healing links because those nodes lose some paths to other nodes by attacks. After the detection, damaged nodes stop the <italic>normal mode</italic> for transferring supplies or packets and start the <italic>healing mode.</italic> In the healing mode, damaged nodes send control signals to other nodes within three hops from each of them, although equipment such as wireless devices for control signals are different from normal tools used in optical fiber communication or transportations by flights. Initially, as default, it is assumed that each node has a data set called <italic>local map</italic> to store identifiers (IDs) of nodes within three hops from itself. Before healing, a set of candidate nodes for healing links is equal to its local map. These candidates are extended from the initial set to maintain larger connectivity by healing.</p>
</list-item>
<list-item>
<p>&#x2022; Step 2 Ring formation</p>
</list-item>
<list-item>
<p>&#x2009;&#x2009;&#x2009;&#x2009;&#x2009;After the initiation at each location, a ring is formed as the simplest loop by connecting the damaged nodes. When healing links are insufficient to form a ring completely, the connecting order of nodes is determined to get the maximum connectivity in a limited resource of <italic>M</italic>
<sub>
<italic>h</italic>
</sub> links. This order for our method is different from that for the previous method [<xref ref-type="bibr" rid="B20">20</xref>], as mentioned later.</p>
</list-item>
<list-item>
<p>&#x2022; Step 3 Enhancing loops</p>
</list-item>
<list-item>
<p>&#x2009;&#x2009;&#x2009;&#x2009;&#x2009;When there are residual healing links in total <italic>M</italic>
<sub>
<italic>h</italic>
</sub> after making rings, the rings are enhanced by adding links on them. For prohibiting multi-links or self-loops, two nodes on a ring are connected for enhancing loops. The selection of nodes is also different from that in the previous method [<xref ref-type="bibr" rid="B20">20</xref>].</p>
</list-item>
</list>
</p>
<p>Before initiation, damaged nodes as neighbors of attacked nodes already have a local map in the normal mode. Remember that the local map stores the node IDs within three hops. The reason within three hops is as follows. <xref ref-type="fig" rid="F1">Figure 1</xref> shows the possible healing links between damaged nodes (blue circles) after attacks (red circles). In <xref ref-type="fig" rid="F1">Figure 1B</xref>, node 1 finds only node 4 as the candidate for a healing link, when the range of local map is until two hops. Node 2 also finds only one node. Therefore, although nodes 1 and 2 create a healing link, the parts are still fragmented after healing. However, when the range is within three hops, as shown in <xref ref-type="fig" rid="F1">Figure 1C</xref>, each node finds more candidates. In this example, node 1 initially has a set of candidates denoted as <italic>CN</italic>
<sub>1</sub> &#x3d; (2, 4, 5) within three hops from node 1. Since node 2 belongs in <italic>CN</italic>
<sub>1</sub>, <italic>CN</italic>
<sub>2</sub> &#x3d; (1, 3, 4, 6) is merged as <italic>CN</italic>
<sub>1</sub> &#x2190; <italic>CN</italic>
<sub>1</sub> &#x222a; <italic>CN</italic>
<sub>2</sub>. Moreover, since node 3 belongs in <italic>CN</italic>
<sub>2</sub>, <italic>CN</italic>
<sub>3</sub> is also merged as <italic>CN</italic>
<sub>1</sub> &#x2190; <italic>CN</italic>
<sub>1</sub> &#x222a; <italic>CN</italic>
<sub>2</sub> &#x222a; <italic>CN</italic>
<sub>3</sub>. Consequently, <italic>CN</italic>
<sub>1</sub> for node 1 is extended as (1, 2, 3, 4, 5, 6, 7). For nodes 2, 3, 4, 5, 6, and 7, same candidates are obtained. Thus, gradually extending the candidates by communicating control signals is reasonable in distributed local healing.</p>
<fig id="F1" position="float">
<label>FIGURE 1</label>
<caption>
<p>Explanation of the necessary range. <bold>(A)</bold> Network just after the attacks. Examples of healing links between candidate nodes <bold>(B)</bold> when the range is until two hops or <bold>(C)</bold> when the range is within three hops. The red node represents an attacked node; the blue node represents the damaged node by losing a part of its links (red dashed lines); and the green arrow denotes a new link.</p>
</caption>
<graphic xlink:href="fphy-10-870560-g001.tif"/>
</fig>
<p>After extending the candidates, a ring between damaged nodes is formed by generating healing links (green lines in <xref ref-type="fig" rid="F2">Figure 2</xref>). In the ring formation, every node on the ring has the same extended candidates which are on different sets of nodes on other rings. At several locations, rings can be formed in a healed network. Instead of a random order for connections as a ring in the previous method [<xref ref-type="bibr" rid="B20">20</xref>], we chose the candidates by decreasing order of their connected component sizes in order to maintain larger connectivity. As a tie-breaker, if more than two nodes belong to connected components with the same size, one node is randomly chosen in the order of connections for the ring.</p>
<fig id="F2" position="float">
<label>FIGURE 2</label>
<caption>
<p>Illustration of ring formation and enhancing loops on an attacked network. Thered node represents an attacked node; the blue node represents the damaged node by losing a part of its links (red dashed lines); and green and yellow lines are healing links for ring formation and enhancing loops, respectively.</p>
</caption>
<graphic xlink:href="fphy-10-870560-g002.tif"/>
</fig>
<p>Moreover, two nodes with the lowest degrees are selected on each ring (yellow lines in <xref ref-type="fig" rid="F2">Figure 2</xref>) for enhancing loops. Our idea of connection between nodes with the lowest degrees is inspired from recent studies [<xref ref-type="bibr" rid="B30">30</xref>, <xref ref-type="bibr" rid="B31">31</xref>]. This connection is created up to the number of residual healing links after ring formation. On the other hand, the previous method [<xref ref-type="bibr" rid="B20">20</xref>] applied a belief propagation (BP) algorithm [<xref ref-type="bibr" rid="B32">32</xref>] which estimates the feedback vertex set (FVS) as the necessary minimum nodes to form loops. We have shown that our method is slightly better than the previous method [<xref ref-type="bibr" rid="B20">20</xref>] in the next section.</p>
<p>For a distributed process, in the next section, we considered <italic>local</italic> resource control instead of <italic>global</italic> resource control for a sequential process in usual computation. In the local control, healing links are gathered and used only in each extended neighbor, whereas they are used in the whole remaining network in the global control. The numbers are calculated by modifying <xref ref-type="disp-formula" rid="e1">Eq. 1</xref> with <inline-formula id="inf2">
<mml:math id="m3">
<mml:mi>i</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>: a set of attacked nodes in an extended neighbor instead of <italic>D</italic>
<sub>
<italic>q</italic>
</sub> attacked nodes in the whole network. For example, if the value of <italic>r</italic>
<sub>
<italic>h</italic>
</sub> is 0.8 in <xref ref-type="fig" rid="F2">Figure 2</xref>, the number of usable healing links is eight and four in the left and right, respectively, by the local control. However, four links are insufficient to form a ring completely in the right, while one link is residual in the left after ring formation. Thus, an incomplete ring is formed in the right.</p>
<p>On the other hand, by the global control, the number of usable healing links is 8 &#x2b; 4 &#x3d; 12. Note that seven and five links are necessary in the left and right, respectively. Since 12 links are usable in the whole network, a complete ring can be formed in both the left and right. In <xref ref-type="sec" rid="s3">Section 3</xref>, we have shown almost same results of robustness and efficiency obtained by local and global controls. In <xref ref-type="sec" rid="s4">Section 4</xref>, the distributed algorithm for local resource control is described.</p>
</sec>
<sec id="s3">
<title>3 Results</title>
<p>We numerically evaluated our method in comparison with the previous method [<xref ref-type="bibr" rid="B20">20</xref>]. After reconstruction by both methods after malicious attacks, the following three measures were investigated for the typical infrastructure networks [<xref ref-type="bibr" rid="B33">33</xref>&#x2013;<xref ref-type="bibr" rid="B35">35</xref>] related to the SF structure; it is numerically estimated that OpenFlight and AS Oregon have power-law degree distribution, while PowerGrid has an exponential degree distribution [<xref ref-type="bibr" rid="B36">36</xref>]. The basic properties of these networks are shown in <xref ref-type="table" rid="T1">Table 1</xref>. We chose the high degree adaptive attack (HDA) as malicious attacks so that the <italic>qN</italic> highest degree nodes with recalculation of degrees are removed from the networks.<list list-type="simple">
<list-item>
<p>&#x2022; Ratio <italic>S</italic>(<italic>q</italic>)/(1&#x2212;<italic>q</italic>)<italic>N</italic>, where <italic>S</italic>(<italic>q</italic>) denotes the number of nodes in the largest connected component (LCC) in the reconstructed network after attacks to <italic>qN</italic> nodes.</p>
</list-item>
<list-item>
<p>&#x2022; Robustness index [<xref ref-type="bibr" rid="B13">13</xref>] <inline-formula id="inf3">
<mml:math id="m4">
<mml:mi>R</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>q</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mover>
<mml:mrow>
<mml:mo>&#x3d;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mtext>def</mml:mtext>
</mml:mrow>
</mml:mrow>
</mml:mover>
</mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:msubsup>
<mml:mrow>
<mml:mo movablelimits="false" form="prefix">&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mfrac>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:math>
</inline-formula> for further removing <italic>q</italic>&#x2032;<italic>N</italic> nodes from the reconstructed network after attacks to <italic>qN</italic> nodes, where <italic>&#x2211;</italic> represents the sum for <inline-formula id="inf4">
<mml:math id="m5">
<mml:msup>
<mml:mrow>
<mml:mi>q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:math>
</inline-formula> in the meaning of how much connectivity is maintained in the LCC when a node is removed one by one.</p>
</list-item>
<list-item>
<p>&#x2022; Efficiency of paths <inline-formula id="inf5">
<mml:math id="m6">
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>q</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mover>
<mml:mrow>
<mml:mo>&#x3d;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mtext>def</mml:mtext>
</mml:mrow>
</mml:mrow>
</mml:mover>
</mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mfrac>
<mml:msub>
<mml:mrow>
<mml:mo movablelimits="false" form="prefix">&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:math>
</inline-formula> in the reconstructed network, where <italic>d</italic>
<sub>
<italic>ij</italic>
</sub> denotes the shortest path length counted by hops between two nodes <italic>i</italic> and <italic>j</italic>.</p>
</list-item>
</list>
</p>
<table-wrap id="T1" position="float">
<label>TABLE 1</label>
<caption>
<p>Basic properties of infrastructure networks before attacks. <italic>N</italic> and <italic>M</italic> are the number of nodes and links in the original network, respectively. <italic>k</italic>
<sub>
<italic>avg</italic>
</sub>, <italic>k</italic>
<sub>
<italic>max</italic>
</sub>, and <italic>k</italic>
<sub>
<italic>min</italic>
</sub> denote the average, maximum, and minimum degree of nodes, respectively. <italic>D</italic> denotes the diameter. <italic>r</italic> is the assortativity as the degree&#x2013;degree correlations.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Network</th>
<th align="center">
<italic>N</italic>
</th>
<th align="center">
<italic>M</italic>
</th>
<th align="center">
<italic>k</italic>
<sub>
<italic>avg</italic>
</sub>
</th>
<th align="center">
<italic>k</italic>
<sub>max</sub>
</th>
<th align="center">
<italic>k</italic>
<sub>min</sub>
</th>
<th align="center">
<italic>D</italic>
</th>
<th align="center">
<italic>r</italic>
</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">Internet AS Oregon</td>
<td align="char" char=".">6,474</td>
<td align="char" char=".">12,572</td>
<td align="char" char=".">3.9</td>
<td align="char" char=".">1,458</td>
<td align="center">1</td>
<td align="center">9</td>
<td align="char" char=".">&#x2212;0.181</td>
</tr>
<tr>
<td align="left">Airline OpenFlight</td>
<td align="char" char=".">2,905</td>
<td align="char" char=".">15,645</td>
<td align="char" char=".">10.8</td>
<td align="center">242</td>
<td align="center">1</td>
<td align="center">14</td>
<td align="char" char=".">0.048</td>
</tr>
<tr>
<td align="left">PowerGrid</td>
<td align="char" char=".">4,941</td>
<td align="char" char=".">6,594</td>
<td align="char" char=".">2.7</td>
<td align="center">19</td>
<td align="center">1</td>
<td align="center">46</td>
<td align="char" char=".">0.0034</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>The ranges of these measures are 0 &#x3c; <italic>S</italic>(<italic>q</italic>)/(1&#x2212;<italic>q</italic>) <italic>N</italic> &#x2264; 1, <inline-formula id="inf6">
<mml:math id="m7">
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x3c;</mml:mo>
<mml:mi>R</mml:mi>
<mml:mo>&#x2264;</mml:mo>
<mml:mn>0.5</mml:mn>
</mml:math>
</inline-formula>, and 0 &#x3c; <italic>E</italic> &#x2264; 1. <xref ref-type="table" rid="T1">Table 1</xref> shows the basic properties for the original networks extracted as connected graphs with undirected edges.</p>
<p>We investigated the three measures as averaged values of over 100 realizations for reconstructed networks by our and the previous method [<xref ref-type="bibr" rid="B20">20</xref>]. In our method, random selections are applied not only for tie-breaking in ring formation and enhancing loops but also for asynchronous processing, as mentioned in the next section.</p>
<p>Before explaining the results, we have summarized the most important point: since these measures for reconstructed networks by our method (marked by upper triangle in <xref ref-type="fig" rid="F3">Figure 3</xref>) are higher than those by the previous method (marked by lower triangle in <xref ref-type="fig" rid="F3">Figure 3</xref>), it is obvious that our method is effective to reconstruct a network efficiently. Each of the results is explained as follows.</p>
<fig id="F3" position="float">
<label>FIGURE 3</label>
<caption>
<p>Comparison of our method (marked by upper triangle) and the previous method (marked by lower triangle) for OpenFlight, AS Oregon, and PowerGrid. <bold>(A)</bold> Ratio <italic>S</italic>(<italic>q</italic>)/(1&#x2212;<italic>q</italic>) <italic>N</italic>, <bold>(B)</bold> robustness <italic>R</italic>(<italic>q</italic>), and <bold>(C)</bold> efficiency <italic>E</italic>(<italic>q</italic>) in healed networks for each <italic>r</italic>
<sub>
<italic>h</italic>
</sub> in the definition of <italic>M</italic>
<sub>
<italic>h</italic>
</sub>. Red, green, blue, yellow, and purple lines show the results for <italic>r</italic>
<sub>
<italic>h</italic>
</sub> &#x3d; 0.05, 0.1, 0.2, 0.5, and 1.0, respectiely. The black dashed line represents the corresponding values in the original network.</p>
</caption>
<graphic xlink:href="fphy-10-870560-g003.tif"/>
</fig>
<p>For reconstructing a sustainable network, a higher ratio <italic>S</italic>(<italic>q</italic>)/(1&#x2212;<italic>q</italic>) <italic>N</italic> is crucial to maintain larger connectivity. <xref ref-type="fig" rid="F3">Figure 3A</xref> shows relatively high ratios for OpenFlight and AS Oregon in both the methods (upper triangle and lower triangle marks for each color line). Especially, the ratio has the highest value for <italic>r</italic>
<sub>
<italic>h</italic>
</sub> &#x2265; 0.5 (overlapped purple and yellow lines for OpenFlight and AS Oregon). If it is lower than 1, there exist isolated nodes even after healing. Moreover, high robustness of connectivity and short path length between nodes are also important for both the tolerance of healed network against further attacks and effective communications or transportations. <xref ref-type="fig" rid="F3">Figures 3B,C</xref> show that our method has both higher values of <italic>R</italic>(<italic>q</italic>) and <italic>E</italic>(<italic>q</italic>) than those of the previous one for OpenFlight and AS Oregon (yellow and purple lines marked by upper triangle for <italic>r</italic>
<sub>
<italic>h</italic>
</sub> &#x2265; 0.5). In addition, the values of <italic>R</italic>(<italic>q</italic>) are higher than those for the original network (black dashed lines). As a result, <xref ref-type="fig" rid="F3">Figure 3A</xref> suggests that both methods have similar ratios regardless of the connecting order of nodes on a ring. However, as shown in <xref ref-type="fig" rid="F3">Figures 3B,C</xref>, the selection of the nodes with the minimum degrees for enhancing loops improves both values of <italic>R</italic>(<italic>q</italic>) and <italic>E</italic>(<italic>q</italic>) instead of applying BP in the previous method [<xref ref-type="bibr" rid="B20">20</xref>]. As an exception, slightly different results are partially obtained for PowerGrid with a large diameter in <xref ref-type="table" rid="T1">Table 1</xref>. For PowerGrid, in the right of <xref ref-type="fig" rid="F3">Figure 3A</xref>, the ratio <italic>S</italic>(<italic>q</italic>)/(1&#x2212;<italic>q</italic>) <italic>N</italic> rapidly decreases at <italic>q</italic> &#x3d; 0.5 in our method (yellow and purple lines marked by upper triangle). In addition, as shown in the right of <xref ref-type="fig" rid="F3">Figures 3B,C</xref>, the values of <italic>R</italic>(<italic>q</italic>) and <italic>E</italic>(<italic>q</italic>) by our method (marked by upper triangle) become lower than those by the previous method [<xref ref-type="bibr" rid="B20">20</xref>] (marked by lower triangle on yellow and purple lines for <italic>q</italic> &#x2265; 0.7).</p>
<p>We showed the size of neighbor nodes and the degree distribution as the structural changes of healed networks from the original ones in <xref ref-type="fig" rid="F4">Figures 4</xref>, <xref ref-type="fig" rid="F5">5</xref>, respectively. The size of neighbor nodes is measured as the maximum ratio (MR) of local map. Remember that local map at each node consists of node IDs within three hops from it. The MR of the local map is defined as the ratio of the number of node IDs included in the local map and the original network size <italic>N</italic>. If this value is close to 1, it means that a node has almost all node IDs with a large memory space. <xref ref-type="fig" rid="F4">Figure 4</xref> shows the MR of the local map in a healed network by our method. As shown in <xref ref-type="fig" rid="F4">Figure 4</xref> except for PowerGrid, the reconstructed network by our method has the smaller MR than 0.6 for OpenFlight and 0.2 for AS Oregon. For AS Oregon and OpenFlight, the maximum RS is close to 1 (black dashed lines) because of existing hubs with huge degrees in those original networks before attacks, while the MR becomes smaller because of no hubs in the healed network, as shown in <xref ref-type="table" rid="T2">Table 2</xref> in comparison with <italic>k</italic>
<sub>max</sub> in <xref ref-type="table" rid="T1">Table 1</xref>. However, in some cases (yellow and purple lines) for PowerGrid, the reconstructed network has a slightly higher MR than the original network (the right of <xref ref-type="fig" rid="F4">Figure 4</xref>). <xref ref-type="fig" rid="F5">Figure 5</xref> shows the degree distribution in reconstructed networks by our method. For OpenFlight and AS Oregon, the degrees of most nodes are within a small range. In other words, the gap between maximum and minimum degrees in reconstructed networks becomes smaller rather than the gaps in the original SF networks with power-law degree distributions. Note that even if links are added for healing, the reconstructed networks do not become a complete graph because the total number of healing links even at <italic>r</italic>
<sub>
<italic>h</italic>
</sub> &#x3d; 1.0 is not enough to form a complete graph, as shown in <xref ref-type="table" rid="T3">Table 3</xref>.</p>
<fig id="F4" position="float">
<label>FIGURE 4</label>
<caption>
<p>Maximum ratio of the local map in the original and healed networks. OpenFlight, AS Oregon, and PowerGrid are reconstructed by our method for each <italic>r</italic>
<sub>
<italic>h</italic>
</sub>. Red, green, blue, yellow, purple lines show the results for <italic>r</italic>
<sub>
<italic>h</italic>
</sub> &#x3d; 0.05, 0.1, 0.2, 0.5, and 1.0, respectively.</p>
</caption>
<graphic xlink:href="fphy-10-870560-g004.tif"/>
</fig>
<fig id="F5" position="float">
<label>FIGURE 5</label>
<caption>
<p>Degree distribution in the healed network by our method for the fraction <bold>(A)</bold> <italic>q</italic> &#x3d; 0.1, <bold>(B)</bold> <italic>q</italic> &#x3d; 0.5, and <bold>(C)</bold> <italic>q</italic> &#x3d; 0.9 of attacks, except the isolated nodes. Red and green bars represent the degree distributions for <italic>r</italic>
<sub>
<italic>h</italic>
</sub> &#x3d; 0.5 and 1.0, respectively. The black vertical line denotes the average degree of nodes in each of the original network before attacks (<xref ref-type="table" rid="T1">Table 1</xref>).</p>
</caption>
<graphic xlink:href="fphy-10-870560-g005.tif"/>
</fig>
<table-wrap id="T2" position="float">
<label>TABLE 2</label>
<caption>
<p>Highest degree of node in the healed network after healing by our method for the fraction q of attacks.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Network</th>
<th align="center">
<italic>r</italic>
<sub>
<italic>h</italic>
</sub>\<italic>q</italic>
</th>
<th align="center">0.1</th>
<th align="center">0.5</th>
<th align="center">0.9</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td rowspan="3" align="left">OpenFlight</td>
<td align="char" char=".">0.2</td>
<td align="char" char=".">13.0</td>
<td align="char" char=".">5.0</td>
<td align="char" char=".">22.4</td>
</tr>
<tr>
<td align="char" char=".">0.5</td>
<td align="char" char=".">13.0</td>
<td align="char" char=".">11.0</td>
<td align="char" char=".">56.5</td>
</tr>
<tr>
<td align="char" char=".">1.0</td>
<td align="char" char=".">15.0</td>
<td align="char" char=".">22.0</td>
<td align="char" char=".">112.9</td>
</tr>
<tr>
<td rowspan="3" align="left">AS Oregon</td>
<td align="char" char=".">0.2</td>
<td align="char" char=".">4.0</td>
<td align="char" char=".">2.0</td>
<td align="char" char=".">8.0</td>
</tr>
<tr>
<td align="char" char=".">0.5</td>
<td align="char" char=".">4.0</td>
<td align="char" char=".">4.0</td>
<td align="char" char=".">20.0</td>
</tr>
<tr>
<td align="char" char=".">1.0</td>
<td align="char" char=".">5.0</td>
<td align="char" char=".">8.0</td>
<td align="char" char=".">40.0</td>
</tr>
<tr>
<td rowspan="3" align="left">PowerGrid</td>
<td align="char" char=".">0.2</td>
<td align="char" char=".">7.0</td>
<td align="char" char=".">4.6</td>
<td align="char" char=".">8.0</td>
</tr>
<tr>
<td align="char" char=".">0.5</td>
<td align="char" char=".">7.7</td>
<td align="char" char=".">5.2</td>
<td align="char" char=".">33.7</td>
</tr>
<tr>
<td align="char" char=".">1.0</td>
<td align="char" char=".">8.0</td>
<td align="char" char=".">9.2</td>
<td align="char" char=".">32.4</td>
</tr>
</tbody>
</table>
</table-wrap>
<table-wrap id="T3" position="float">
<label>TABLE 3</label>
<caption>
<p>Number of links in the LCC. <italic>M</italic>
<sub>
<italic>Heal</italic>
</sub> denotes the number of links in the LCC of the healed network. <italic>M</italic>
<sub>
<italic>Comp</italic>
</sub> denotes the number of links if the LCC is a complete graph of the corresponding network.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Network</th>
<th align="center">
<italic>M</italic> \ <italic>q</italic>
</th>
<th align="center">0.1</th>
<th align="center">0.5</th>
<th align="center">0.9</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td rowspan="2" align="left">OpenFlight</td>
<td align="left">
<italic>M</italic>
<sub>
<italic>Heal</italic>
</sub>
</td>
<td align="char" char=".">15,645.0</td>
<td align="char" char=".">15,638.0</td>
<td align="char" char=".">15,403.0</td>
</tr>
<tr>
<td align="left">
<italic>M</italic>
<sub>
<italic>Comp</italic>
</sub>
</td>
<td align="char" char=".">3,415,191.0</td>
<td align="char" char=".">1,049,076.0</td>
<td align="char" char=".">39,135.5</td>
</tr>
<tr>
<td rowspan="2" align="left">AS Oregon</td>
<td align="left">
<italic>M</italic>
<sub>
<italic>Heal</italic>
</sub>
</td>
<td align="char" char=".">12,572.0</td>
<td align="char" char=".">12,562.0</td>
<td align="char" char=".">12,457.0</td>
</tr>
<tr>
<td align="left">
<italic>M</italic>
<sub>
<italic>Comp</italic>
</sub>
</td>
<td align="char" char=".">16,974,051.0</td>
<td align="char" char=".">5,221,296.0</td>
<td align="char" char=".">202,846.2</td>
</tr>
<tr>
<td rowspan="2" align="left">PowerGrid</td>
<td align="left">
<italic>M</italic>
<sub>
<italic>Heal</italic>
</sub>
</td>
<td align="char" char=".">6,594.0</td>
<td align="char" char=".">6,490.0</td>
<td align="char" char=".">296.3</td>
</tr>
<tr>
<td align="left">
<italic>M</italic>
<sub>
<italic>Comp</italic>
</sub>
</td>
<td align="char" char=".">9,885,681.0</td>
<td align="char" char=".">2,941,525.0</td>
<td align="char" char=".">552.7</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>In the previous method [<xref ref-type="bibr" rid="B20">20</xref>], it is assumed that a node <italic>i</italic> can reuse its ports as much as the degree <italic>k</italic>
<sub>
<italic>i</italic>
</sub> in the original network at most. If healing links are added over <italic>k</italic>
<sub>
<italic>i</italic>
</sub> at a node <italic>i</italic>, additional ports are necessary. Here, ports are corresponded to channels or plug sockets at a node. Note that ports work independently of links just like airport runways or plug sockets and airplane flights or cables. Under these assumptions, the self-healing methods with a limitation of additional ports have been considered to avoid the intensive healing links at some nodes [<xref ref-type="bibr" rid="B20">20</xref>]. However, such limitations are out of scope in our method. The reasons are as follows. The degree distributions of the reconstructed networks by the previous method [<xref ref-type="bibr" rid="B20">20</xref>] follow an exponential distribution, and the maximum numbers of additional ports are less than the maximum degrees in the original networks before attacks. In contrast, the degrees of nodes in the reconstructed networks by our method are bounded within a narrow range, as shown in <xref ref-type="fig" rid="F5">Figure 5</xref>. Moreover, the maximum degrees are decreased than ones in the original networks (<xref ref-type="table" rid="T1">Table 1</xref> and <xref ref-type="table" rid="T2">2</xref>). In particular, the maximum degrees by our method become 15, five, and seven for OpenFlight, AS Oregon, and PowerGrid at <italic>q</italic> &#x3d; 0.1, respectively, while those by the previous method are 65, 19, and four [<xref ref-type="bibr" rid="B20">20</xref>]. Ever if the degrees of such nodes are one in the original networks, the numbers of additional ports are very few for our method. Thus, since our method saves the number of ports without the limitation of additional ports, we do not strictly take into account such limitation but consider that the amount of additional ports should be equipped in advance for healing.</p>
<p>Finally, two resource controls are compared as follows. <xref ref-type="fig" rid="F6">Figure 6</xref> shows the values of three measures for reconstructed networks by our method with local and global resource controls marked by plus and cross, respectively. Note that plus mark on each line in <xref ref-type="fig" rid="F6">Figure 6</xref> does not represent an error bar. As shown in <xref ref-type="fig" rid="F6">Figure 6A</xref> for OpenFlight, local control has a slightly higher ratio than that of the global one in <italic>r</italic>
<sub>
<italic>h</italic>
</sub> &#x2264; 0.1 (red and green lines marked by plus sign), while the ratios for both controls almost coincide in <italic>r</italic>
<sub>
<italic>h</italic>
</sub> &#x2265; 0.2 (overlapped purple, blue, and yellow lines). In <xref ref-type="fig" rid="F6">Figures 6B,C</xref> for OpenFlight and AS Oregon, the values of <italic>R</italic> (<italic>q</italic>) and <italic>E</italic> (<italic>q</italic>) for both controls also coincide in comparison with the same color lines. As an exception for PowerGrid, there exists a slight difference between the ratios in <italic>r</italic>
<sub>
<italic>h</italic>
</sub> &#x2264; 0.2 (red, green, and blue lines in <xref ref-type="fig" rid="F6">Figure 6A</xref>). These results suggest that the reconstructed networks by local and global resource controls have almost the same properties for three measures, although local resource control is suitable for the distributed algorithm described in the next section.</p>
<fig id="F6" position="float">
<label>FIGURE 6</label>
<caption>
<p>Comparison of local (marked by plus) and global (marked by cross) resource controls for OpenFlight, AS Oregon, and PowerGrid. <bold>(A)</bold> Connectivity <italic>S</italic> (<italic>q</italic>)/(1&#x2212;<italic>q</italic>) <italic>N</italic>, <bold>(B)</bold> robustness <italic>R</italic> (<italic>q</italic>), and <bold>(C)</bold> efficiency <italic>E</italic> (<italic>q</italic>) in healed networks for each <italic>r</italic>
<sub>
<italic>h</italic>
</sub>. Red, green, blue, yellow, purple lines show the results for <italic>r</italic>
<sub>
<italic>h</italic>
</sub> &#x3d; 0.05, 0.1, 0.2, 0.5, and 1.0, respectively.</p>
</caption>
<graphic xlink:href="fphy-10-870560-g006.tif"/>
</fig>
</sec>
<sec id="s4">
<title>4 Distributed Healing Algorithm</title>
<p>This section explains the distributed version of our healing algorithm on the following assumptions in asynchronous processing [<xref ref-type="bibr" rid="B28">28</xref>, <xref ref-type="bibr" rid="B29">29</xref>].<list list-type="simple">
<list-item>
<p>1. Each node immediately responds to messages stored in a FIFO queue by arriving in order which is not affected to local clocks at sending nodes.</p>
</list-item>
<list-item>
<p>2. Since nodes communicate with each other by control signals with short messages, the time for the internal process can be ignored in comparing with the communications with short delay by encountering physical factors.</p>
</list-item>
<list-item>
<p>3. The internal process starts just after receiving a message.</p>
</list-item>
<list-item>
<p>4. Each node can directly detect a malfunction of only its nearest neighbor.</p>
</list-item>
<list-item>
<p>5. Each node mode performs a same algorithm for healing in a distributed manner.</p>
</list-item>
<list-item>
<p>6. While our healing algorithm is performed, there is no additional malfunctions in the network. If a new event is occurred, it requires the rollback of processes.</p>
</list-item>
</list>
</p>
<p>In order to emulate our distributed algorithm on a PC, we applied the AsyncIO module in Python <xref ref-type="fn" rid="fn1">
<sup>1</sup>
</xref> <xref ref-type="fn" rid="fn2">
<sup>2</sup>
</xref>. A task at a node consisted of sending and receiving messages between its extended candidates. Each of nodes generates a task concurrently by using AsyncIO. Although the AsyncIO module can emulate the concurrent execution of tasks generated at almost same time, the detail is internally ordered. To implement it with a corresponding short time delay encountered by a physical factor, we randomized the execution order of tasks in the total <italic>N</italic> nodes. Note that some nodes without generating tasks are excluded from the order. <xref ref-type="fig" rid="F7">Figure 7</xref> shows the schematic diagram of such task processing. Horizontal and vertical directions indicate <italic>N</italic> nodes in healing mode and global timeline of our healing process, respectively.</p>
<fig id="F7" position="float">
<label>FIGURE 7</label>
<caption>
<p>Schematic diagram of emulated concurrent processing in our algorithm.</p>
</caption>
<graphic xlink:href="fphy-10-870560-g007.tif"/>
</fig>
<sec id="s4-1">
<title>4.1 Description of Each Phase</title>
<p>On the asynchronous processing, our distributed algorithm consists of five phases. <xref ref-type="fig" rid="F8">Figure 8</xref> shows the flow chart of five phases in healing process. The proceeding phase at a node is distinguished by variables and messages used in each phase. We assumed that all variables and their initial values are already set in the normal mode.</p>
<fig id="F8" position="float">
<label>FIGURE 8</label>
<caption>
<p>Flow chart of the entire healing process consisting of five phases.</p>
</caption>
<graphic xlink:href="fphy-10-870560-g008.tif"/>
</fig>
<sec id="s4-1-1">
<title>4.1.1 Initiation</title>
<p>After attacks on nodes, the neighbors detect disconnected links as damages and change its mode from normal to healing. Remember that a damaged node in the healing mode directly exchanges messages with the nodes stored in its local map. Then each of damaged nodes simultaneously initiates and generates a task to perform the first phase of our algorithm.</p>
</sec>
<sec id="s4-1-2">
<title>4.1.2 First Phase: Extending Candidate Nodes for Healing Links</title>
<p>The first phase corresponds to Step 1 in <xref ref-type="sec" rid="s2">Section 2</xref>: Each of damaged nodes extends its candidate nodes for healing links. After initiation, a damaged node sends <italic>Gathering</italic> messages to the nodes stored in its local map. The IDs of candidate nodes exist in the <italic>Gathering</italic> message. Therefore, in order to extend the candidate nodes, the node <italic>i</italic> updates its own <italic>ExtendedCandidates</italic> (<xref ref-type="statement" rid="Algorithm_1">Algorithm 1</xref>: line 2) whenever it receives <italic>Gathering</italic> message. Note that <italic>ExtendedCandidates</italic> denotes a set of IDs of candidate nodes. Through exchanging the messages, damaged nodes extend candidate nodes from the initial set of the local map (<xref ref-type="statement" rid="Algorithm_1">Algorithm 1</xref>: line 3). In order to avoid unnecessary iterations of exchanging <italic>Gathering</italic> messages, we defined <italic>UpperLimitGathering</italic> as the limited number of tasks generated in the first phase. The value of the upper limit is equal to network diameter <italic>D</italic> because candidates cannot be extended beyond the entire network. After generating <italic>D</italic> tasks, the nodes start the second phase (<xref ref-type="statement" rid="Algorithm_1">Algorithm 1</xref>: line 7). However, they prepared the two variables of <italic>Parent</italic> and <italic>Leader</italic> for subsequent phases before starting the second phase (<xref ref-type="statement" rid="Algorithm_1">Algorithm 1</xref>: line 5&#x2013;6). Each of damaged nodes becomes a root, whose <italic>Parent</italic> is set as its own ID. In addition, the damaged node with the lowest ID in <italic>ExtendedCandidates</italic> is assigned as a leader node.</p>
<p>
<statement content-type="algorithm" id="Algorithm_1">
<label>Algorithm 1</label>
<p>Pseudo-code for first phase at node <italic>i</italic>.</p>
<p>
<inline-graphic xlink:href="fphy-10-870560-fx1.tif"/>
</p>
</statement>
</p>
</sec>
<sec id="s4-1-3">
<title>4.1.3 Second Phase: Message Delivery on a Tree</title>
<p>In our method, rings are formed between damaged nodes at different locations. Remember that the connecting order of nodes is defined according to the size of their connected components belonging to them. Therefore, in the second phase, we considered a delivery tree in order to avoid wasteful flooding. Based on the arrival order of messages, a parent-child relation is decided as follows.</p>
<p>
<xref ref-type="fig" rid="F9">Figure 9</xref> shows the outline of the second phase. The <italic>ModeChange</italic> message notifies a malfunction from a root node to leaf nodes. As shown in <xref ref-type="fig" rid="F9">Figures 9A,</xref> a root (node 1) sends <italic>ModeChange</italic> messages to connected nodes (nodes 2 and 3) first. Blue damaged nodes are denoted as root nodes. After receiving <italic>ModeChange</italic> messages at nodes 2 and 3, their mode are changed from normal to healing. In order to construct a tree, nodes 2 and 3 define node 1 as the parent node in a tree (<xref ref-type="statement" rid="Algorithm_2">Algorithm 2</xref>: line 3). Since node 1 becomes a parent, <italic>NumberOfUnclearParentChild</italic> of nodes 2 and 3 is decreased by 1 (<xref ref-type="statement" rid="Algorithm_2">Algorithm 2</xref>: line 6). The value of <italic>NumberOfUnclearParentChild</italic>
<sub>
<italic>i</italic>
</sub> represents the number of remaining nodes for determining the parent&#x2013;child relation. Whenever one of the nearest neighbors is defined as parent or child, <italic>NumberOfUnclearParentChild</italic> is decreased by 1. Then nodes 2 and 3 send <italic>ModeChange</italic> messages to their nearest neighbor except the parent (<xref ref-type="statement" rid="Algorithm_2">Algorithm 2</xref>: line 10&#x2013;12). As shown in <xref ref-type="fig" rid="F9">Figure 9A</xref>, node 6 receives <italic>ModeChange</italic> messages from nodes 2 and 3 at almost the same time. Note that nodes choose their parent according to the arrival order of messages in our study. In this case, node 6 chooses the node 3 as its parent. Node 6 sends <italic>Reject</italic> message backward to node 2 (<xref ref-type="statement" rid="Algorithm_2">Algorithm 2</xref>: line 16). Then node 2 determines that node 6 is not its child by receiving <italic>Reject</italic> message from node 6. Thus, node 2 decreases its <italic>NumberOfUnclearParentChild</italic> by 1 (<xref ref-type="statement" rid="Algorithm_2">Algorithm 2</xref>: line 19). Through this propagation, a tree is constructed.</p>
<fig id="F9" position="float">
<label>FIGURE 9</label>
<caption>
<p>Outline of the process in the second phase. The number in a circle represents the node-ID. (A) <italic>ModeChange</italic> messages are propagated from a root node (blue circle) to leaf nodes (green circles). The black arrow denotes the direction of <italic>ModeChange</italic> message; the red circle and line denote a removed node and a link by an attack, respectively; the black solid line represents a parent&#x2013;child relation of a tree; the black dashed line indicates that two connected nodes do not have a parent&#x2013;child relation. (B) <italic>Back</italic> messages are sent from leaf nodes. &#x201c;&#x2b;number&#x201d; denotes the incrementation for calculating <italic>TreeSize</italic> in <italic>Back</italic> message.</p>
</caption>
<graphic xlink:href="fphy-10-870560-g009.tif"/>
</fig>
<p>When each of leaves receives the <italic>ModeChange</italic> message from its parent, it send <italic>Back</italic> message of own size <inline-formula id="inf7">
<mml:math id="m8">
<mml:mi>T</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>S</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>z</mml:mi>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mover>
<mml:mrow>
<mml:mo>&#x3d;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mtext>def</mml:mtext>
</mml:mrow>
</mml:mrow>
</mml:mover>
</mml:mrow>
<mml:mn>1</mml:mn>
</mml:math>
</inline-formula> to its parent (<xref ref-type="statement" rid="Algorithm_2">Algorithm 2</xref>: line 8). In <xref ref-type="fig" rid="F9">Figure 9B</xref>, the <italic>ModeChange</italic> messages are arrived at leaf nodes (node 8, 9, 10, and 11) <italic>via</italic> nodes 4, 5, 6, and 7. Nodes 4, 5, 6, and 7 accumulate those sizes from their children and send <italic>Back</italic> message of the total size to their parent (<xref ref-type="statement" rid="Algorithm_2">Algorithm 2</xref>: line 27). After iterating these processes, a root acquires the size of connected component from it.</p>
<p>However, unlike <xref ref-type="fig" rid="F9">Figure 9</xref>, several damaged nodes may exist in a same component, as shown in <xref ref-type="fig" rid="F10">Figure 10</xref>. In <xref ref-type="fig" rid="F10">Figure 10A</xref>, nodes 4 and 5 receive <italic>ModeChange</italic> messages from a couple of root nodes. In order to calculate a component size, the size of trees should be accumulated. As preparing for accumulation of tree sizes in the third phase, damaged nodes acquire not only the size of tree but also the roots&#x2019; ID (<italic>AdjacentRoots</italic>). In <xref ref-type="fig" rid="F10">Figure 10A</xref>, node 4 receives <italic>ModeChange</italic> messages from nodes 1 and 2. Node 4 stores both roots&#x2019; ID to its own <italic>AdjacentRoots</italic> (<xref ref-type="statement" rid="Algorithm_2">Algorithm 2</xref>: line 4). Then after sending <italic>reject</italic> message to node 1 (<xref ref-type="statement" rid="Algorithm_2">Algorithm 2</xref>: line 16) and <italic>Back</italic> message to node 2 with its own <italic>AdjacentRoots</italic> from node 4, the <italic>AdjacentRoots</italic> of nodes 1 and 2 becomes as <italic>AdjacentRoots</italic>
<sub>1</sub> &#x3d; (1, 2) and <italic>AdjacentRoots</italic>
<sub>2</sub> &#x3d; (1, 2, 3) (<xref ref-type="statement" rid="Algorithm_2">Algorithm 2</xref>: line 20, 26). Since the IDs of node 1, 2, and 3 exist in <italic>AdjacentRoots</italic>
<sub>2</sub>, node 2 knows that its tree is directly connected to the other trees of node 1 and 3.</p>
<fig id="F10" position="float">
<label>FIGURE 10</label>
<caption>
<p>Example of the ongoing process in the second phase. <bold>(A)</bold> Three roots of nodes 1, 2, and 3 (blue circles) exist in a component. In this case, nodes 4 and 5 receive a couple of <italic>ModeChange</italic> messages denoted by black arrows. The black solid line denotes a direct connection of nodes. <bold>(B)</bold> Three trees (gray triangles) are constructed in a component as a result. The black dashed line represents that two nodes are directly connected but belong to different trees.</p>
</caption>
<graphic xlink:href="fphy-10-870560-g010.tif"/>
</fig>
<p>When a component is separated, it is possible that the corresponding roots terminate the second phase at different times depending on their tree sizes through increment by deliveries. We assumed that only leader node starts the third phase just after acquiring its tree size (<xref ref-type="statement" rid="Algorithm_2">Algorithm 2</xref>: line 39). Other nodes in leader&#x2019;s extended candidate nodes are waiting until receiving RequiringInfo message from its leader (<xref ref-type="statement" rid="Algorithm_2">Algorithm 2</xref>: line 35&#x2013;38, 41) for accumulating tree sizes. Remember that a damaged node define its leader node as the node with lowest ID in its <italic>ExtendedCandidates</italic> at the first phase.</p>
<p>
<statement content-type="algorithm" id="Algorithm_2">
<label>Algorithm 2</label>
<p>Pseudo-code for second phase at node <italic>i</italic>.</p>
<p>
<inline-graphic xlink:href="fphy-10-870560-fx2.tif"/>
</p>
</statement>
</p>
</sec>
<sec id="s4-1-4">
<title>4.1.4 Third Phase: Accumulating the Sizes of Separated Components</title>
<p>In order to accumulate separated component sizes, roots send <italic>SendingInfo</italic> messages after receiving <italic>RequiringInfo</italic> message from their leader node (<xref ref-type="statement" rid="Algorithm_3">Algorithm 3</xref>: line 1&#x2013;2). In the <italic>SendingInfo</italic> message, there are the following three variables: 1) <italic>TreeSize</italic>, 2) <italic>AdjacentRoots</italic>, 3) <italic>MalfuncNodes</italic>. <italic>TreeSize</italic> and <italic>AdjacentRoots</italic> are explained in the second phase. <italic>MalfuncNodes</italic>
<sub>
<italic>i</italic>
</sub> denotes the IDs of attacked nodes and their degrees detected by node <italic>i</italic>. For setting this variable, we assumed that damaged nodes already have the degree of their nearest neighbors in normal mode. When a leader receives <italic>SendingInfo</italic> messages, each of three variables in a <italic>SendingInfo</italic> message is stored as a set of leader&#x2019;s <italic>SetOfTreeSize</italic>, <italic>SetOfAdjacentRoots</italic>, and <italic>SetOfAttackedNodes</italic> (<xref ref-type="statement" rid="Algorithm_3">Algorithm 3</xref>: line 4&#x2013;6).</p>
<p>In <xref ref-type="fig" rid="F11">Figure 11</xref>, node 1, 2, 3, 4, and 5 have the same <italic>ExtendedCandidates</italic>, whose leader is node 1. By receiving <italic>SendingInfo</italic> messages, node 1 knows the sizes of trees for node 1, 2, 3, 4, and 5 (dark gray triangles in <xref ref-type="fig" rid="F11">Figure 11</xref>). However, it does not know whether those trees are connected in a same component or not. Thus, we used <italic>AdjacentRoots</italic> to distinguish connected components. For example, whenever node 1 receives <italic>SendingInfo</italic> messages from node 2, 3, 4, and 5, it updates its own three variables (<xref ref-type="statement" rid="Algorithm_3">Algorithm 3</xref>: line 4&#x2013;6). Consequently, <italic>SetOfAdjacentRoots</italic> of node 1 becomes [(1,2), (1,2,3), (2,3), (4,5), (4,5)] which is a collection set as containing in five subsets of IDs. Some subsets in <italic>SetOfAdjacentRoots</italic>
<sub>1</sub> are overlapped. In order to distinguish components in extended candidates, node 1 concatenates <italic>SetOfAdjacentRoots</italic>
<sub>1</sub> as a collection of non-overlapping subsets. Thus, <italic>SetOfAdjacentRoots</italic>
<sub>1</sub> becomes as [(1,2,3), (4,5)]. Each subset of <italic>SetOfAdjacentRoots</italic>
<sub>1</sub> represents that nodes 1, 2, and 3 exist in the same component, while nodes 4 and 5 exist in another component. By using concatenated <italic>SetOfAdjacentRoots</italic>
<sub>1</sub>, node 1 calculates the size of each component (<xref ref-type="statement" rid="Algorithm_3">Algorithm 3</xref>: line 8). Note that the size of separated components exist in <italic>SetOfTreeSize</italic> as tree sizes. Through this process, leader nodes acquire the sizes and the number of components after concatenating subsets in <italic>SetOfAdjacentRoots</italic>. Leader nodes also acquire the IDs of attacked nodes and their degrees detected by their extended candidate nodes.</p>
<fig id="F11" position="float">
<label>FIGURE 11</label>
<caption>
<p>Accumulating process in the third phase. In this network, node 1 knows that nodes 2, 3, 4, and 5 exist in its extended candidates because it is a leader node with the lowest ID. Since the trees of nodes 4 and 5 are in different component, the sizes of those trees should be accumulated apart from trees of nodes 1, 2, and 3. Thus, in the third phase, node 1 distinguishes two components: CC1 and CC2 in which nodes 2, 3, 4, and 5 belong. The red circle and line denote a removed node and link by attacks, respectively; the blue circle denotes a damaged node; the dark gray triangle represents a tree of each root; and the light gray polygon represents a connected component (CC).</p>
</caption>
<graphic xlink:href="fphy-10-870560-g011.tif"/>
</fig>
<p>
<statement content-type="algorithm" id="Algorithm_3">
<label>Algorithm 3</label>
<p>Pseudo-code for third phase at node <italic>i</italic>
</p>
<p>
<inline-graphic xlink:href="fphy-10-870560-fx3.tif"/>
</p>
</statement>
</p>
</sec>
<sec id="s4-1-5">
<title>4.1.5 Fourth Phase: Ring Formation at Each Location</title>
<p>The fourth phase corresponds to Step 2 in <xref ref-type="sec" rid="s2">Section 2</xref>: ring formation. Until the third phase, damaged nodes extend the candidate nodes for healing links and calculate their belonging component sizes. In this phase, rings are formed by exchanging messages between leader and their extended candidate nodes. Before forming a ring, a leader node calculates the number of healing links by a modification of <xref ref-type="disp-formula" rid="e1">Eq. 1</xref> for local resource control. Although the leader node acquires degrees of attacked nodes in the third phase, it is necessary to check the links between attacked nodes for avoiding duplicating counts. The checking process is as follows.</p>
<p>Each of leader nodes sends <italic>AllErrInfo</italic> messages to other nodes in its own <italic>ExtendedCandidates</italic>. The IDs of attacked nodes are set in the <italic>AllErrInfo</italic> message. By receiving <italic>AllErrInfo</italic> message, each of damaged nodes also acquires the IDs of attack nodes. Remember that damaged nodes detect only malfunction of nearest neighbor and have its local map which stores the ID of nodes until three hops. Each of damaged nodes can check whether IDs of attacked nodes are existing in its local map. The links between attacked nodes in local map are defined as <italic>DupCountLinks</italic> variable (<xref ref-type="statement" rid="Algorithm_4">Algorithm 4</xref>: line 1). This variable represents ID pairs of attacked nodes. Then, damaged nodes send those link IDs to its leader node by <italic>DupLinksInfo</italic> message. When each of leader nodes receives <italic>DupLinksInfo</italic> messages from all nodes in its own <italic>ExtendedCandidates</italic>, it calculates the number of healing links according to the modification of <xref ref-type="disp-formula" rid="e1">Eq. 1</xref> (<xref ref-type="statement" rid="Algorithm_4">Algorithm 4</xref>: line 6&#x2013;7). After calculating the healing links, each leader node sends back the <italic>CommandConnec</italic> messages to other nodes in its <italic>ExtendedCandidates</italic> (<xref ref-type="statement" rid="Algorithm_4">Algorithm 4</xref>: line 8&#x2013;10). For example, a leader node decides that the connecting order of nodes is (1, 4, 5, 6, 7, 3, 2, 1) in <xref ref-type="fig" rid="F12">Figure 12A</xref>. According to this order, node 5 receives <italic>CommandConnec</italic> message with the ID of node 6 and generates a healing link to node 6. By generating a healing link at each node independently (green arrows in <xref ref-type="fig" rid="F12">Figures 12A,B</xref> ring is formed among extended candidate nodes.</p>
<fig id="F12" position="float">
<label>FIGURE 12</label>
<caption>
<p>Schematic diagram of ring formation. <bold>(A)</bold> Leader node (node 1) sends the command messages (black arrows) to each node in extended candidates. <bold>(B)</bold> After receiving the message, each damaged node (blue circle) generates a new link (green arrows) independently. The red circle denotes an attacked node.</p>
</caption>
<graphic xlink:href="fphy-10-870560-g012.tif"/>
</fig>
<p>
<statement content-type="algorithm" id="Algorithm_4">
<label>Algorithm 4</label>
<p>Pseudo-code for fourth phase at a node <italic>i</italic>.</p>
<p>
<inline-graphic xlink:href="fphy-10-870560-fx4.tif"/>
</p>
</statement>
</p>
</sec>
<sec id="s4-1-6">
<title>4.1.6 Fifth Phase: Enhancing Loops on Each Ring</title>
<p>The fifth phase is corresponded to Step 3 in <xref ref-type="sec" rid="s2">Section 2</xref>: Each leader node selects two nodes with the minimum degrees on its ring for enhancing loops. The following process is repeated for adding residual links after ring formation. The leader node sends a pair of <italic>AddingLink</italic> messages to selected two nodes. By receiving the <italic>AddingLink</italic> message, the two nodes generate a healing link between themselves (<xref ref-type="statement" rid="Algorithm_5">Algorithm 5</xref>: line 2). Meanwhile, the leader node sends again the <italic>AddingLink</italic> messages to another two nodes just after recalculation of degrees. The leader node iterates such sending of <italic>AddingLink</italic> messages until it has no healing links. Finally, each leader node sends <italic>Ter</italic> messages to other nodes in its extended candidate nodes in order to terminate our healing process. The nodes after receiving the <italic>Ter</italic> message disseminate <italic>Ter</italic> messages through their trees constructed in the second phase. They also change their mode from healing to normal (<xref ref-type="statement" rid="Algorithm_5">Algorithm 5</xref>: line 4).</p>
<p>Before restarting a normal transferring of packets or supplies in the healed network, each node should check whether its nearest neighbors have also changed to the normal mode. Further preparation may be required depending on a target system, for example, a new routing table is necessary for a communication network.</p>
<p>
<statement content-type="algorithm" id="Algorithm_5">
<label>Algorithm 5</label>
<p>Pseudo-code for fifth phase at a node <italic>i</italic>.</p>
<p>
<inline-graphic xlink:href="fphy-10-870560-fx5.tif"/>
</p>
<p>We estimate the time complexity of each phase on the following assumptions. To simplify the discussion, the transfer time of messages between two nodes is constant in an extended neighbor. In addition, the internal processing time at a node is neglected. However, as the worst case, a pessimistic situation is considered: all nodes in attacked network belong to a single component. In this case, the largest delivery tree is created over the whole of remaining network after attacks, and requires the largest delivery time counted by the number of processes in the second phase. Thus, we can deal with the highest order of complexity through this situation.</p>
<p>In the first phase, we have already set the number of messages called <italic>UpperLimitGathering</italic>, whose value is the network diameter <italic>D</italic>. Since the diameter of the tree-like uncorrelated network is known to be <italic>O</italic> (<italic>lnN</italic>) [<xref ref-type="bibr" rid="B37">37</xref>], the time complexity of the first phase is estimated as <italic>O</italic> (<italic>lnN</italic>) at most. In the second phase, it is necessary to create a delivery tree on the whole of the remaining network after a fraction q of attacks. Therefore, the time complexity of the second phase is <italic>O</italic> (<italic>N</italic>) because the size of the remaining network is (1&#x2212;<italic>q</italic>)<italic>N</italic>. In the third and fourth phases, messages are transferred between a leader node and other nodes in an extended neighbor. The transfers of messages occur twice for accumulating the sizes of separated components in the third phase. Next, the transfers occur three times for finding duplicately counted links and for ring formation. Since we assume that the transfer time is equivalent regardless of the distance between nodes in the same extended neighbor, the time complexities of the third and fourth phases are constant. Finally, remaining healing links are added for enhancing loops in the fifth phase. When <italic>M</italic>
<sub>
<italic>r</italic>
</sub> links are necessary for ring formation on an extended neighbor, the remaining <italic>M</italic>
<sub>
<italic>h</italic>
</sub>&#x2212;<italic>M</italic>
<sub>
<italic>r</italic>
</sub> links can be used in the fifth phase. Therefore, <italic>AddingLink</italic> messages are sent as many as <italic>M</italic>
<sub>
<italic>h</italic>
</sub>&#x2212;<italic>M</italic>
<sub>
<italic>r</italic>
</sub> times. Since the value of <italic>M</italic>
<sub>
<italic>h</italic>
</sub>&#x2212;<italic>M</italic>
<sub>
<italic>r</italic>
</sub> is less than M, as shown in <xref ref-type="table" rid="T1">Table 1</xref>, the time complexity of the fifth phase is <italic>O</italic> (<italic>M</italic>).</p>
<p>In total, the time complexity of the entire healing process becomes <italic>O</italic>(<italic>lnN</italic>) &#x2b; <italic>O</italic>(<italic>N</italic>) &#x2b; <italic>O</italic>(<italic>M</italic>). If <italic>M</italic> is <italic>O</italic>(<italic>N</italic>), the time complexity is simplified as <italic>O</italic>(<italic>N</italic>). However, this value is overestimated because our algorithm can be concurrently executed at nodes in different locations. Thus, entire processing time is quite faster than the aforementioned time.</p>
</statement>
</p>
</sec>
</sec>
</sec>
<sec sec-type="conclusion" id="s5">
<title>Conclusion</title>
<p>We have proposed a network reconstruction method by self-healing to further improve the previous method [<xref ref-type="bibr" rid="B20">20</xref>]. In particular, for enhancing loops on a ring, we have considered healing links between low-degree nodes which reduce the gap between the maximum and minimum degrees. Through computer simulation, we have shown that our method is effective to obtain higher robustness and efficiency than the ones by the previous method [<xref ref-type="bibr" rid="B20">20</xref>]. As our key idea inspired from the results [<xref ref-type="bibr" rid="B19">19</xref>, <xref ref-type="bibr" rid="B30">30</xref>, <xref ref-type="bibr" rid="B31">31</xref>] that the smaller gap makes stronger robustness, the degree distributions of reconstructed networks by our method are changed as having a narrow range of degrees from a power-law with a fat-tail distribution in the original network. Moreover, we have successfully emulated our method as asynchronous processing by randomizing execution-order of tasks with time delays from encountering physical factors. By our distributed algorithm, healing links can be locally allocated for rapid reconstruction after attacks. Moreover, the local distributed process has almost the same results as the sequential process. These findings provide a basis for how to reconstruct a robust and efficient network by locally distributed healing.</p>
<p>We discussed the limitation of our method. In Sections 2 and 4, several assumptions are established for performing our method. For example, links of a network are reusable or investable for healing. The rollback of the healing process is performed if additional attacks occur in a network, especially the most important assumption is that rapid rewiring in a network is available such as changing directions of flights or wireless beam. Our method works well on these assumptions. However, such rewiring cannot be performed in some systems such as road networks. Moreover, if the assumption of rollback is broken by very quick sequential attacks in a network, the usability of our method is limited. Despite its limitations, we expect that our method is effective for the networks with varying degree-degree correlations because we have considered that enhancing loops is more important than increasing the correlations for improving robustness [<xref ref-type="bibr" rid="B16">16</xref>&#x2013;<xref ref-type="bibr" rid="B19">19</xref>]. In fact, even though AS Oregon has a negative correlation, as shown in <xref ref-type="table" rid="T1">Table 1</xref>, our method works effectively for that network. Moreover, the previous research study [<xref ref-type="bibr" rid="B19">19</xref>] shows that a robust network with negative correlations can be created by enhancing loops. However, the detail analysis for networks with degree&#x2013;degree correlations may remain as future research.</p>
<p>On the other hand, we also assumed that malicious attack is HDA, in which <italic>qN</italic> nodes are removed simultaneously from the network. Thus, not the order of deletion but the set of attacked nodes affects the results in our study. However, considering quick sequential attacks, the order of deletion of nodes may be meaningful. Although such attacks are beyond our current scope, some discussions may be required as another future research.</p>
<p>Further investigation could be conducted to determine the effectiveness of our method against the more destructive attacks to loops, for example, CoreHD [<xref ref-type="bibr" rid="B38">38</xref>], collective influence [<xref ref-type="bibr" rid="B39">39</xref>], and BP attacks [<xref ref-type="bibr" rid="B40">40</xref>]. Other spatial attacks by earthquakes or floods may be also important.</p>
</sec>
</body>
<back>
<sec id="s6">
<title>Data Availability Statement</title>
<p>The original contributions presented in the study are included in the article/Supplementary Material; further inquiries can be directed to the corresponding author.</p>
</sec>
<sec id="s7">
<title>Author Contributions</title>
<p>YH and JK designed the research. JK performed the research. JK and YH contributed in developing new methods, analyzed data, and wrote the manuscript. All authors read and approved the final manuscript.</p>
</sec>
<sec id="s8">
<title>Funding</title>
<p>This research is supported in part by JSPS KAKENHI under Grant Number JP.21H03425.</p>
</sec>
<sec sec-type="COI-statement" id="s9">
<title>Conflict of Interest</title>
<p>The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
</sec>
<sec sec-type="disclaimer" id="s10">
<title>Publisher&#x2019;s Note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors, and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
<fn-group>
<fn id="fn1">
<label>1</label>
<p>Python Library: asynsio. <ext-link ext-link-type="uri" xlink:href="https://docs.python.org/3/library/asyncio.html">https://docs.python.org/3/library/asyncio.html</ext-link> (Accessed on 06 February 2022)</p>
</fn>
<fn id="fn2">
<label>2</label>
<p>Introduction to Asyncio in Python. <ext-link ext-link-type="uri" xlink:href="https://www.polarsparc.com/xhtml/Python-Asyncio.html">https://www.polarsparc.com/xhtml/Python-Asyncio.html</ext-link> (Accessed on 06 February 2022)</p>
</fn>
</fn-group>
<ref-list>
<title>References</title>
<ref id="B1">
<label>1.</label>
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Amara</surname>
<given-names>LAN</given-names>
</name>
<name>
<surname>Scala</surname>
<given-names>A</given-names>
</name>
<name>
<surname>Barthelemy</surname>
<given-names>M</given-names>
</name>
<name>
<surname>Stanley</surname>
<given-names>HE</given-names>
</name>
</person-group>. <article-title>Classes of Small-World Networks</article-title>. In: <source>The Structure and Dynamics of Networks</source>. <publisher-loc>Princeton, NJ</publisher-loc>: <publisher-name>Princeton University Press</publisher-name> (<year>2011</year>). p. <fpage>207</fpage>&#x2013;<lpage>10</lpage>. <pub-id pub-id-type="doi">10.1073/pnas.200327197</pub-id> </citation>
</ref>
<ref id="B2">
<label>2.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Albert</surname>
<given-names>R</given-names>
</name>
<name>
<surname>Jeong</surname>
<given-names>H</given-names>
</name>
<name>
<surname>Barab&#xe1;si</surname>
<given-names>A-L</given-names>
</name>
</person-group>. <article-title>Error and Attack Tolerance of Complex Networks</article-title>. <source>nature</source> (<year>2000</year>) <volume>406</volume>:<fpage>378</fpage>&#x2013;<lpage>82</lpage>. <pub-id pub-id-type="doi">10.1038/35019019</pub-id> </citation>
</ref>
<ref id="B3">
<label>3.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Barab&#xe1;si</surname>
<given-names>AL</given-names>
</name>
<name>
<surname>Albert</surname>
<given-names>R</given-names>
</name>
</person-group>. <article-title>Emergence of Scaling in Random Networks</article-title>. <source>science</source> (<year>1999</year>) <volume>286</volume>:<fpage>509</fpage>&#x2013;<lpage>12</lpage>. <pub-id pub-id-type="doi">10.1126/science.286.5439.509</pub-id> </citation>
</ref>
<ref id="B4">
<label>4.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wendt</surname>
<given-names>P</given-names>
</name>
<name>
<surname>Voltes-Dorta</surname>
<given-names>A</given-names>
</name>
<name>
<surname>Suau-Sanchez</surname>
<given-names>P</given-names>
</name>
</person-group>. <article-title>Estimating the Costs for the Airport Operator and Airlines of a Drone-Related Shutdown: an Application to Frankfurt International Airport</article-title>. <source>J Transp Secur</source> (<year>2020</year>) <volume>13</volume>:<fpage>93</fpage>&#x2013;<lpage>116</lpage>. <pub-id pub-id-type="doi">10.1007/s12198-020-00212-4</pub-id> </citation>
</ref>
<ref id="B5">
<label>5.</label>
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>De Langhe</surname>
<given-names>K</given-names>
</name>
<name>
<surname>Struyf</surname>
<given-names>E</given-names>
</name>
<name>
<surname>Sys</surname>
<given-names>C</given-names>
</name>
<name>
<surname>Van de Voorde</surname>
<given-names>E</given-names>
</name>
<name>
<surname>Vanelslander</surname>
<given-names>T</given-names>
</name>
</person-group>. <source>Economic Effects and Costs of a Temporary Shutdown of an Airport</source>. <publisher-loc>Antwerp</publisher-loc>: <publisher-name>University of Antwerp</publisher-name> (<year>2012</year>). <comment>
<italic>Retrieved August</italic> 14 2019</comment>. </citation>
</ref>
<ref id="B6">
<label>6.</label>
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Wueest</surname>
<given-names>C</given-names>
</name>
</person-group>. <article-title>The Continued Rise of Ddos Attacks</article-title>. In: <source>White Paper: Security Response</source>. <publisher-loc>Mountain view, CA</publisher-loc>: <publisher-name>Symantec Corporation</publisher-name> (<year>2014</year>). </citation>
</ref>
<ref id="B7">
<label>7.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Hines</surname>
<given-names>P</given-names>
</name>
<name>
<surname>Apt</surname>
<given-names>J</given-names>
</name>
<name>
<surname>Talukdar</surname>
<given-names>S</given-names>
</name>
</person-group>. <article-title>Large Blackouts in north america: Historical Trends and Policy Implications</article-title>. <source>Energy Policy</source> (<year>2009</year>) <volume>37</volume>:<fpage>5249</fpage>&#x2013;<lpage>59</lpage>. <pub-id pub-id-type="doi">10.1016/j.enpol.2009.07.049</pub-id> </citation>
</ref>
<ref id="B8">
<label>8.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>MacKenzie</surname>
<given-names>CA</given-names>
</name>
<name>
<surname>Santos</surname>
<given-names>JR</given-names>
</name>
<name>
<surname>Barker</surname>
<given-names>K</given-names>
</name>
</person-group>. <article-title>Measuring Changes in International Production from a Disruption: Case Study of the Japanese Earthquake and Tsunami</article-title>. <source>Int J Prod Econ</source> (<year>2012</year>) <volume>138</volume>:<fpage>293</fpage>&#x2013;<lpage>302</lpage>. <pub-id pub-id-type="doi">10.1016/j.ijpe.2012.03.032</pub-id> </citation>
</ref>
<ref id="B9">
<label>9.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Folke</surname>
<given-names>C</given-names>
</name>
</person-group>. <article-title>Resilience: The Emergence of a Perspective for Social&#x2013;Ecological Systems Analyses</article-title>. <source>Glob Environ Change</source> (<year>2006</year>) <volume>16</volume>:<fpage>253</fpage>&#x2013;<lpage>67</lpage>. <pub-id pub-id-type="doi">10.1016/j.gloenvcha.2006.04.002</pub-id> </citation>
</ref>
<ref id="B10">
<label>10.</label>
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Zolli</surname>
<given-names>A</given-names>
</name>
<name>
<surname>Healy</surname>
<given-names>AM</given-names>
</name>
</person-group>. <source>Resilience: Why Things Bounce Back</source>. <publisher-loc>London</publisher-loc>: <publisher-name>Hachette UK</publisher-name> (<year>2012</year>). </citation>
</ref>
<ref id="B11">
<label>11.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Shang</surname>
<given-names>Y</given-names>
</name>
</person-group>. <article-title>Impact of Self-Healing Capability on Network Robustness</article-title>. <source>Phys Rev E Stat Nonlin Soft Matter Phys</source> (<year>2015</year>) <volume>91</volume>:<fpage>042804</fpage>. <pub-id pub-id-type="doi">10.1103/PhysRevE.91.042804</pub-id> </citation>
</ref>
<ref id="B12">
<label>12.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Shang</surname>
<given-names>Y</given-names>
</name>
</person-group>. <article-title>Effect of Link Oriented Self-Healing on Resilience of Networks</article-title>. <source>J Stat Mech</source> (<year>2016</year>) <volume>2016</volume>:<fpage>083403</fpage>. <pub-id pub-id-type="doi">10.1088/1742-5468/2016/08/083403</pub-id> </citation>
</ref>
<ref id="B13">
<label>13.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Schneider</surname>
<given-names>CM</given-names>
</name>
<name>
<surname>Moreira</surname>
<given-names>AA</given-names>
</name>
<name>
<surname>Andrade</surname>
<given-names>JS</given-names>
</name>
<name>
<surname>Havlin</surname>
<given-names>S</given-names>
</name>
<name>
<surname>Herrmann</surname>
<given-names>HJ</given-names>
</name>
</person-group>. <article-title>Mitigation of Malicious Attacks on Networks</article-title>. <source>Proc Natl Acad Sci U.S.A</source> (<year>2011</year>) <volume>108</volume>:<fpage>3838</fpage>&#x2013;<lpage>41</lpage>. <pub-id pub-id-type="doi">10.1073/pnas.1009440108</pub-id> </citation>
</ref>
<ref id="B14">
<label>14.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Tanizawa</surname>
<given-names>T</given-names>
</name>
<name>
<surname>Havlin</surname>
<given-names>S</given-names>
</name>
<name>
<surname>Stanley</surname>
<given-names>HE</given-names>
</name>
</person-group>. <article-title>Robustness of Onionlike Correlated Networks against Targeted Attacks</article-title>. <source>Phys Rev E</source> (<year>2012</year>) <volume>85</volume>:<fpage>046109</fpage>. <pub-id pub-id-type="doi">10.1103/PhysRevE.85.046109</pub-id> </citation>
</ref>
<ref id="B15">
<label>15.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wutscher</surname>
<given-names>T</given-names>
</name>
<name>
<surname>Giessibl</surname>
<given-names>FJ</given-names>
</name>
</person-group>. <article-title>Note: <italic>In Situ</italic> Cleavage of Crystallographic Oriented Tips for Scanning Probe Microscopy</article-title>. <source>Rev Scientific Instr</source> (<year>2011</year>) <volume>82</volume>:<fpage>026106</fpage>. <pub-id pub-id-type="doi">10.1103/PhysRevE.84.026106</pub-id> </citation>
</ref>
<ref id="B16">
<label>16.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Braunstein</surname>
<given-names>A</given-names>
</name>
<name>
<surname>Dall&#x2019;Asta</surname>
<given-names>L</given-names>
</name>
<name>
<surname>Semerjian</surname>
<given-names>G</given-names>
</name>
<name>
<surname>Zdeborov&#xe1;</surname>
<given-names>L</given-names>
</name>
</person-group>. <article-title>Network Dismantling</article-title>. <source>Proc Natl Acad Sci U.S.A</source> (<year>2016</year>) <volume>113</volume>:<fpage>12368</fpage>&#x2013;<lpage>73</lpage>. <pub-id pub-id-type="doi">10.1073/pnas.1605083113</pub-id> </citation>
</ref>
<ref id="B17">
<label>17.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Hayashi</surname>
<given-names>Y</given-names>
</name>
</person-group>. <article-title>A New Design Principle of Robust Onion-like Networks Self-Organized in Growth</article-title>. <source>Net Sci</source> (<year>2018</year>) <volume>6</volume>:<fpage>54</fpage>&#x2013;<lpage>70</lpage>. <pub-id pub-id-type="doi">10.1017/nws.2017.25</pub-id> </citation>
</ref>
<ref id="B18">
<label>18.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Hayashi</surname>
<given-names>Y</given-names>
</name>
<name>
<surname>Uchiyama</surname>
<given-names>N</given-names>
</name>
</person-group>. <article-title>Onion-like Networks Are Both Robust and Resilient</article-title>. <source>Sci Rep</source> (<year>2018</year>) <volume>8</volume>:<fpage>1</fpage>&#x2013;<lpage>13</lpage>. <pub-id pub-id-type="doi">10.1038/s41598-018-29626-w</pub-id> </citation>
</ref>
<ref id="B19">
<label>19.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Chujyo</surname>
<given-names>M</given-names>
</name>
<name>
<surname>Hayashi</surname>
<given-names>Y</given-names>
</name>
</person-group>. <article-title>A Loop Enhancement Strategy for Network Robustness</article-title>. <source>Appl Netw Sci</source> (<year>2021</year>) <volume>6</volume>:<fpage>1</fpage>&#x2013;<lpage>13</lpage>. <pub-id pub-id-type="doi">10.1007/s41109-020-00343-6</pub-id> </citation>
</ref>
<ref id="B20">
<label>20.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Hayashi</surname>
<given-names>Y</given-names>
</name>
<name>
<surname>Tanaka</surname>
<given-names>A</given-names>
</name>
<name>
<surname>Matsukubo</surname>
<given-names>J</given-names>
</name>
</person-group>. <article-title>More Tolerant Reconstructed Networks Using Self-Healing against Attacks in Saving Resource</article-title>. <source>Entropy</source> (<year>2021</year>) <volume>23</volume>:<fpage>102</fpage>. <pub-id pub-id-type="doi">10.3390/e23010102</pub-id> </citation>
</ref>
<ref id="B21">
<label>21.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Stippinger</surname>
<given-names>M</given-names>
</name>
<name>
<surname>Kert&#xe9;sz</surname>
<given-names>J</given-names>
</name>
</person-group>. <article-title>Enhancing Resilience of Interdependent Networks by Healing</article-title>. <source>Physica A: Stat Mech its Appl</source> (<year>2014</year>) <volume>416</volume>:<fpage>481</fpage>&#x2013;<lpage>7</lpage>. <pub-id pub-id-type="doi">10.1016/j.physa.2014.08.069</pub-id> </citation>
</ref>
<ref id="B22">
<label>22.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Gallos</surname>
<given-names>LK</given-names>
</name>
<name>
<surname>Fefferman</surname>
<given-names>NH</given-names>
</name>
</person-group>. <article-title>Simple and Efficient Self-Healing Strategy for Damaged Complex Networks</article-title>. <source>Phys Rev E</source> (<year>2015</year>) <volume>92</volume>:<fpage>052806</fpage>. <pub-id pub-id-type="doi">10.1103/PhysRevE.92.052806</pub-id> </citation>
</ref>
<ref id="B23">
<label>23.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Park</surname>
<given-names>J</given-names>
</name>
<name>
<surname>Hahn</surname>
<given-names>SG</given-names>
</name>
</person-group>. <article-title>Bypass Rewiring and Robustness of Complex Networks</article-title>. <source>Phys Rev E</source> (<year>2016</year>) <volume>94</volume>:<fpage>022310</fpage>. <pub-id pub-id-type="doi">10.1103/PhysRevE.94.022310</pub-id> </citation>
</ref>
<ref id="B24">
<label>24.</label>
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Hayes</surname>
<given-names>T</given-names>
</name>
<name>
<surname>Rustagi</surname>
<given-names>N</given-names>
</name>
<name>
<surname>Saia</surname>
<given-names>J</given-names>
</name>
<name>
<surname>Trehan</surname>
<given-names>A</given-names>
</name>
</person-group>. <article-title>The Forgiving Tree: a Self-Healing Distributed Data Structure</article-title>. In: <source>Proceedings of the Twenty-Seventh ACM Symposium on Principles of Distributed Computing</source> (<year>2008</year>). <publisher-loc>New York</publisher-loc>: <publisher-name>ACM</publisher-name>. p. <fpage>203</fpage>&#x2013;<lpage>12</lpage>. <pub-id pub-id-type="doi">10.1145/1400751.1400779</pub-id> </citation>
</ref>
<ref id="B25">
<label>25.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Bi</surname>
<given-names>S</given-names>
</name>
<name>
<surname>Ho</surname>
<given-names>CK</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>R</given-names>
</name>
</person-group>. <article-title>Wireless Powered Communication: Opportunities and Challenges</article-title>. <source>IEEE Commun Mag</source> (<year>2015</year>) <volume>53</volume>:<fpage>117</fpage>&#x2013;<lpage>25</lpage>. <pub-id pub-id-type="doi">10.1109/MCOM.2015.7081084</pub-id> </citation>
</ref>
<ref id="B26">
<label>26.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Huang</surname>
<given-names>K</given-names>
</name>
<name>
<surname>Zhou</surname>
<given-names>X</given-names>
</name>
</person-group>. <article-title>Cutting the Last Wires for mobile Communications by Microwave Power Transfer</article-title>. <source>IEEE Commun Mag</source> (<year>2015</year>) <volume>53</volume>:<fpage>86</fpage>&#x2013;<lpage>93</lpage>. <pub-id pub-id-type="doi">10.1109/MCOM.2015.7120022</pub-id> </citation>
</ref>
<ref id="B27">
<label>27.</label>
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Dressler</surname>
<given-names>F</given-names>
</name>
</person-group>. <source>Self-organization in Sensor and Actor Networks</source>. <publisher-loc>Hoboken, NJ</publisher-loc>: <publisher-name>John Wiley &#x26; Sons</publisher-name> (<year>2008</year>). </citation>
</ref>
<ref id="B28">
<label>28.</label>
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Raynal</surname>
<given-names>M</given-names>
</name>
</person-group>. <source>Distributed Algorithms for Message-Passing Systems</source>, <volume>500</volume>. <publisher-loc>Berlin/Heidelberg</publisher-loc>: <publisher-name>Springer</publisher-name> (<year>2013</year>). </citation>
</ref>
<ref id="B29">
<label>29.</label>
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Couloris</surname>
<given-names>G</given-names>
</name>
<name>
<surname>Dollimore</surname>
<given-names>J</given-names>
</name>
<name>
<surname>Kindberg</surname>
<given-names>T</given-names>
</name>
</person-group>. In: <source>Distributed Systems: Concepts and Design</source>. <edition>2nd ed.</edition>, <volume>1</volume>. <publisher-loc>Massachusetts, Boston:</publisher-loc> <publisher-name>Addison-Wesley</publisher-name> (<year>1994</year>). p. <fpage>4</fpage>. </citation>
</ref>
<ref id="B30">
<label>30.</label>
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Chujyo</surname>
<given-names>M</given-names>
</name>
<name>
<surname>Hayashi</surname>
<given-names>Y</given-names>
</name>
</person-group>. <article-title>Improvement of the Robustness against Attacks in Continuously Varying Degree Distributions</article-title>. In: <person-group person-group-type="editor">
<name>
<surname>Benito</surname>
<given-names>RM</given-names>
</name>
<name>
<surname>Cherifi</surname>
<given-names>C</given-names>
</name>
<name>
<surname>Cherifi</surname>
<given-names>H</given-names>
</name>
<name>
<surname>Moro</surname>
<given-names>E</given-names>
</name>
<name>
<surname>Rocha</surname>
<given-names>LM</given-names>
</name>
<name>
<surname>Sales-Pardo</surname>
<given-names>M</given-names>
</name>
</person-group>, editors. <source>Book of Abstracts: Complex Networks 2021</source>. <publisher-loc>Madrid, Spain</publisher-loc>: <publisher-name>Springer</publisher-name> (<year>2021</year>). p. <fpage>569</fpage>&#x2013;<lpage>71</lpage>. <comment>
<ext-link ext-link-type="uri" xlink:href="https://2021.complexnetworks.org/">https://2021.complexnetworks.org/</ext-link>
</comment> </citation>
</ref>
<ref id="B31">
<label>31.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Liao</surname>
<given-names>F</given-names>
</name>
<name>
<surname>Hayashi</surname>
<given-names>Y</given-names>
</name>
</person-group>. <article-title>Emergence of Robust and Efficient Networks in a Family of Attachment Models</article-title> (<year>2021</year>). <comment>
<italic>arXiv preprint arXiv:2110.03176</italic>
</comment>. </citation>
</ref>
<ref id="B32">
<label>32.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhou</surname>
<given-names>H-J</given-names>
</name>
</person-group>. <article-title>Spin Glass Approach to the Feedback Vertex Set Problem</article-title>. <source>Eur Phys J B</source> (<year>2013</year>) <volume>86</volume>:<fpage>1</fpage>&#x2013;<lpage>9</lpage>. <pub-id pub-id-type="doi">10.1140/epjb/e2013-40690-1</pub-id> </citation>
</ref>
<ref id="B33">
<label>33.</label>
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Rossi</surname>
<given-names>RA</given-names>
</name>
<name>
<surname>Ahmed</surname>
<given-names>NK</given-names>
</name>
</person-group>. <article-title>The Network Data Repository with Interactive Graph Analytics and Visualization</article-title>. In: <source>Proceedings of the Twenty-Ninth AAAI Conference on Artificial Intelligence</source> (<year>2015</year>). <publisher-loc>Palo Alto, CA</publisher-loc>: <publisher-name>The AAAI Press</publisher-name>. </citation>
</ref>
<ref id="B34">
<label>34.</label>
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Leskovec</surname>
<given-names>J</given-names>
</name>
<name>
<surname>Kleinberg</surname>
<given-names>J</given-names>
</name>
<name>
<surname>Faloutsos</surname>
<given-names>C</given-names>
</name>
</person-group>. <article-title>Graphs over Time</article-title>. In: <source>Proceedings of the Eleventh ACM SIGKDD International Conference on Knowledge Discovery in Data Mining</source> (<year>2005</year>). <publisher-loc>New York</publisher-loc>: <publisher-name>ACM</publisher-name>. p. <fpage>177</fpage>&#x2013;<lpage>87</lpage>. <pub-id pub-id-type="doi">10.1145/1081870.1081893</pub-id> </citation>
</ref>
<ref id="B35">
<label>35.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Watts</surname>
<given-names>DJ</given-names>
</name>
<name>
<surname>Strogatz</surname>
<given-names>SH</given-names>
</name>
</person-group>. <article-title>Collective Dynamics of &#x27;small-World&#x27; Networks</article-title>. <source>nature</source> (<year>1998</year>) <volume>393</volume>:<fpage>440</fpage>&#x2013;<lpage>2</lpage>. <pub-id pub-id-type="doi">10.1038/30918</pub-id> </citation>
</ref>
<ref id="B36">
<label>36.</label>
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Cloteaux</surname>
<given-names>B</given-names>
</name>
</person-group>. <article-title>Limits in Modeling Power Grid Topology</article-title>. In: <conf-name>2013 IEEE 2nd Network Science Workshop (NSW)</conf-name>, <conf-loc>West Point, NY</conf-loc>. <publisher-loc>New York</publisher-loc>: <publisher-name>IEEE</publisher-name> (<year>2013</year>). p. <fpage>16</fpage>&#x2013;<lpage>22</lpage>. <pub-id pub-id-type="doi">10.1109/nsw.2013.6609189</pub-id> </citation>
</ref>
<ref id="B37">
<label>37.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Newman</surname>
<given-names>ME</given-names>
</name>
<name>
<surname>Strogatz</surname>
<given-names>SH</given-names>
</name>
<name>
<surname>Watts</surname>
<given-names>DJ</given-names>
</name>
</person-group>. <article-title>Random Graphs with Arbitrary Degree Distributions and Their Applications</article-title>. <source>Phys Rev E Stat Nonlin Soft Matter Phys</source> (<year>2001</year>) <volume>64</volume>:<fpage>026118</fpage>. <pub-id pub-id-type="doi">10.1103/PhysRevE.64.026118</pub-id> </citation>
</ref>
<ref id="B38">
<label>38.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zdeborov&#xe1;</surname>
<given-names>L</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>P</given-names>
</name>
<name>
<surname>Zhou</surname>
<given-names>H-J</given-names>
</name>
</person-group>. <article-title>Fast and Simple Decycling and Dismantling of Networks</article-title>. <source>Sci Rep</source> (<year>2016</year>) <volume>6</volume>:<fpage>1</fpage>&#x2013;<lpage>6</lpage>. <pub-id pub-id-type="doi">10.1038/srep37954</pub-id> </citation>
</ref>
<ref id="B39">
<label>39.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Morone</surname>
<given-names>F</given-names>
</name>
<name>
<surname>Makse</surname>
<given-names>HA</given-names>
</name>
</person-group>. <article-title>Influence Maximization in Complex Networks through Optimal Percolation</article-title>. <source>Nature</source> (<year>2015</year>) <volume>524</volume>:<fpage>65</fpage>&#x2013;<lpage>8</lpage>. <pub-id pub-id-type="doi">10.1038/nature14604</pub-id> </citation>
</ref>
<ref id="B40">
<label>40.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Mugisha</surname>
<given-names>S</given-names>
</name>
<name>
<surname>Zhou</surname>
<given-names>H-J</given-names>
</name>
</person-group>. <article-title>Identifying Optimal Targets of Network Attack by Belief Propagation</article-title>. <source>Phys Rev E</source> (<year>2016</year>) <volume>94</volume>:<fpage>012305</fpage>. <pub-id pub-id-type="doi">10.1103/PhysRevE.94.012305</pub-id> </citation>
</ref>
</ref-list>
</back>
</article>