 # An Adaptive Amoeba Algorithm for Shortest Path Tree Computation in Dynamic Graphs

This paper presents an adaptive amoeba algorithm to address the shortest path tree (SPT) problem in dynamic graphs. In dynamic graphs, the edge weight updates consists of three categories: edge weight increases, edge weight decreases, the mixture of them. Existing work on this problem solve this issue through analyzing the nodes influenced by the edge weight updates and recompute these affected vertices. However, when the network becomes big, the process will become complex. The proposed method can overcome the disadvantages of the existing approaches. The most important feature of this algorithm is its adaptivity. When the edge weight changes, the proposed algorithm can recognize the affected vertices and reconstruct them spontaneously. To evaluate the proposed adaptive amoeba algorithm, we compare it with the Label Setting algorithm and Bellman-Ford algorithm. The comparison results demonstrate the effectiveness of the proposed method.

## Authors

##### This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

The shortest path tree problem (SPT) is one of the basic network optimization problems and it is a variance of the shortest path problem (SPP), which has been widely used in many fields, such as multicast routing

, Route Information Protocol (RIP) , wireless network , network design [4, 5], IS-IS , and complex networks [7, 8, 9]. Its objective is to find the set of edges which connect all the nodes in the network so that the sum of the edge lengths from the source to the other nodes is minimized. As the SPT problem is frequently as subproblem when solving many combinatorial and network optimization problems, many researchers payed their attention to this problem [10, 11].

In practical environment, the network is changing with time. It lead to the occurence of the variance of SPTs named Dynamic Shortest Path (DSP) problem. Assume be a simple network and the edge weights in this network are nonnegative numbers. Let be another network obtained from in which some edge weights change. Suppose and are the SPTs rooted at in and . The DSP problem is to compute from . Many methods have been proposed to deal with this problem. For example, the classical Dijkstra algorithm  and Bellman algorithm solve this problem through recalculating the SPTs whenever there is a change to edge weights. Due to the high computational time, it cannot meet the requirement of the emergent accidents. After the idea of using an SPTs update program which only reconstruct on the affected vertices proposed by Frigioni  appeared, many dynamic SPTs approaches have implemented this concept into real-world applications [10, 11] to reduce the computational time. They have divided the edge weight updates into three categories: edge weight increase, edge weight decreases, the mixture of them. For the edge updates belonging to different categories, various operations are processed. The main feature of these approaches is recognize the affected vertices, such as the intelligent semidynamic DSP algorithm named BallString in , the fully dynamic algorithm called DynamicSWSF-FP proposed in .

However, the above algorithms have obvious disadvantages. When the scale of the network becomes very big or the weights of multiple edges decrease while that of other multiple edges increase, the procedure analyzing the affected vertices will become very complex. Secondly, from the practical viewpoint, this will cost lots of time. Especially in recent years, the networks with big scale become more and more. This may still cause long latency and unnecessary overheads. As a consequence, it is meaningful to explore new methods to handle the SPTs problem. Recently, a large amoeboid organism, the plasmodium of Physarum polycephalum, has been shown to be capable of solving many graph theoretical problems [18, 17, 19, 16], including finding the shortest path [20, 21, 22, 23], network design [26, 24, 25], population migration  and others [31, 28, 30, 29, 32]. Moreover, this organism has been shown to be able to form networks with features comparable to or better than the Tokyo rail network . In addition, Baumgarten has proved the mass of mold will eventually convergence to the shortest path of the network that the mold lies on . Inspired by this intelligent organism, a path finding mathematical model has been established . To the best of knowledge, the amoeba model is not used to deal with SPTs by now.

In what follows, based on the amoeba model, an adaptive amoeba appraoch to SPTs in dynamic graphs is presented. The main characteristic of the propose method is its adaptivity. More specially, the algorithm can recognize the affected vertices and reconstruct them spontaneously. Those unaffected nodes will not be computed again. We will introduce how to implement amoeba model to deal with SPTs in the following sections.

## Results

System Environment and Data Sets. In order to evaluate the performance of the proposed method, we introduce the experimental environment and the problem instance generator is presented. Besides, the performance of our algorithm is compared with the Label Setting algorithm  and Bellman-Ford algorithm .

The proposed adaptive amoeba algorithm for shortest path tree in dynamic graphs is tested on networks with random and varying topologies through computer simulations using Matlab on an Intel Pentium Dual-Core E5700 processor (3.00 GHz) with 2 GB of RAM under Windows Seven. The random directed graphs can be generated using the erdos.renyi.game function of the igraph package in R language (for details, please refer to http://igraph.sourceforge.net/doc/R/erdos.renyi.game.html). The weight for an edge is randomly generated ranging from 1 to 1000. The data for random graph is shown in Table 1.

Performance Indicators. In each testing graph, the first node in the random generated graph is denoted as the source node. Then, a set of edges is randomly selected to decrease or increase their edge weights. If both the increased case and the decreased case associated with the edge weights appear in the network, we denote as mixed. In this paper, we pay attention to the CPU runtime for each algorithm. In order to examine the efficiency of the presented method, the following parameters are taken into consideration.

• Graph size (graphsize). It denotes the size of the network. We will focus on how the CPU runtime changes with the change of network size.

• Ratio of updated edges (rue). This parameter represents the percentage of updated edges occupied in the whole network. For instance, in a network with 1000 edges, when 100 edges get their weight updated, then we will say rue is 0.1.

• Ratio of changed weight (rcw). This variable reflects the degree of the changed weight which is decreased or increased from its original value. As for this parameter, in the increased case, the rcw for the edge weight ranges from 1 to a large number 10. For example, assume the original weight value associated with the edge is 100. If the parameter rcw is 1, the updated weight for this edge will be 200. In the decreased case, the rcw for the edge weight ranges from 0 to 0.9.

In order to evaluate the performance of the proposed method, we compare it with modified Dijkstra algorithm. We will show how the parameter rue affects the investigated algorithms. For the following computational results, the program is run for 10 times for each instance.

Edge Weight Increases. For the increase case, Fig. 1 shows the influence of rue on the networks with different sizes when the parameter rue changes from 0.1 to 0.6 (here, the parameter rcw is set a constant value ). As can be seen in Fig. 1, in the increase cases, regardless of the change of the parameter rue, the CPU time of all the three algorithms remain constant. On the other hand, considering CPU runtime, the Bellman-Ford algorithm has less computational time than the Label Setting algorithm in the four networks. The proposed adaptive amoeba algorithm outperforms when compared with the Label Setting algorithm and Bellman-Ford algorithm. The reason for this phenomenon is due to the change of the edge weights. When the weights associated with the edge change, the proposed adaptive amoeba algorithm can recognize the affected vertices and reconstruct them spontaneously. However, for the Label Setting Algorithm and Bellman-Ford Algorithm, it must reconstruct the whole network, which consumes more time. As a result, there is a big gap between the CPU runtime of the proposed method and that of Label Setting algorithm and Bellman-Ford algorithm. Figure 1: Comparison in edge weight increases when the parameter rue changes from 0.1 to 0.6 (here, the parameter rcw is set a constant value 0.1)

In what follows, we focus on how the change of the parameter rcw affects the CPU runtime of the different algorithms in the increase case. As shown in Fig. 2, it shows the influence of the parameter rcw on the three algorithms’ computational time when the parameter rcw changes from 0.1 to 0.6 (here, the parameter rue is set a constant value ). As we can see, the parameter rcw has different influences on the three algorithms. For the Label Setting algorithm and Bellman-Ford algorithm, the computational time remains relatively constant, which is shown as straight lines in Fig. 2. On the contrary, for the proposed adaptive amoeba algorithm, it is influenced strongly by the parameter rcw, especially when the graph size is greater than 1500. From Fig. 2, it can be seen that the CPU runtime of the presented method becomes more and more with the increase of parameter rcw. The reason lies that when the parameter rcw becomes bigger and bigger, the edge length is increased a lot from its original value. As a result, most of the paths in the SPT need to be recomputed. Although the CPU time of the proposed adaptive amoeba algorithm increases a lot, it is still less than that of the Label Setting algorithm and Bellman-Ford algorithm. Figure 2: Comparison in edge weight increases when the parameter rcw changes from 0.1 to 0.6 (here, the parameter rue is set a constant value 0.2)

In summary, in the increase case, the change of the parameter rue has little influence on these algorithms. The adaptive amoeba algorithm proposed in this paper has the least CPU runtime when dealing with the networks with different sizes. On the contrary, the change of the parameter rcw has great influence on the CPU runtime of the proposed method. The CPU runtime of the presented method becomes bigger with the increase of parameter rcw.

Edge Weight Decreases. Similarly, in the decrease case, we have observed the influence of the two parameters on the CPU runtime of the above three algorithms. Figs. 3 and 4 show the experimental results, when the parameters rue, rcw change respectively. Figure 3: Comparison in edge weight decreases when the parameter rue changes from 0.1 to 0.6 (here, the parameter rcw is set a constant value 0.1) Figure 4: Comparison in edge weight increases when the parameter rcw changes from 0.1 to 0.6 (here, the parameter rue is set a constant value 0.2)

As can be seen in Fig. 3, the parameters are set the same as that of the edge weight increases. From Fig. 3, it can be concluded that, in the decrease case, when the parameter rue changes from 0.1 to 0.6, the CPU runtime of the three algorithms fluctuates slightly in the networks with different sizes. In other words, the parameter rcw has very little effect on the computational efficiency of these algorithms. The proposed method has obvious advantage over the Label Setting algorithm and Bellman-Ford algorithm when dealing with the SPT in dynamic graphs.

As shown in Fig. 4, when the parameter rcw changes from 0.1 to 0.6, the CPU runtime of the proposed method fluctuates strongly. When rcw increases from 0.1 to 0.6, the CPU runtime for the adaptive amoeba algorithm deteriorates rapidly. In the network with graph size equal to 500, 1500, 2000, when rcw reaches 0.6, it can be observed that the performance of the Label Setting algorithm and Bellman-Ford algorithm outperform compared to the proposed method. It can be observed that when rcw is less than a certain threshold value, the proposed method has better performance. The threshold value varies with the size of a graph. When rcw is bigger than 0.4, it is more appropriate to adopt the Label Setting algorithm and Bellman-Ford algorithm. The reason why the performance of the proposed algorithm gets worse when rcw is bigger than the threshold value is that more edges are influenced, and more time is spent to reconstruct the SPT and reallocate the flux associated with each edge in the amoeba algorithm.

In summary, in the decreased case, the situation is similar to that of the increased case. The parameter rcw has different effect with that of parameter rue. Besides, the performance of the adaptive amoeba algorithm gets worse when rcw is more than a threshold value. As a consequence, it is appropriate to carry out different algorithms according to the specific value of this parameter.

Mixed Edge Weight Changes. In the mixed case, both the increased case and the decreased case share the same percentage in the total ratio of updated edges. Simply speaking, suppose there are 200 edges in the network whose weights change, then 100 of them increase their edge weights while the left 100 edges’ weights decrease. As for the parameter rcw, it is implemented for both the increased case and the decreased case. It is to say suppose rcw is , then half of the randomly selected edges will increase their weights by 10 percentages while the left edges will decrease their weights by 10 percentages. Figure 5: Comparison in mixed change of the edge weight when the parameter rue changes from 0.1 to 0.6 (here, the parameter rcw is set a constant value 0.1)

Fig. 5 shows the CPU runtime of the three algorithms when the parameter rue changes from 0.1 to 0.6. Similarly, it has slight influence like in the increased and decreased cases. Obviously, the adaptive amoeba algorithm outperforms when compared with the other algorithms. Figure 6: Comparison in mixed change of the edge weight when the parameter rcw changes from 0.1 to 0.6 (here, the parameter rue is set a constant value 0.2)

As for the change of parameter rcw, Fig. 6 displays the computational results of the three algorithms. It can be concluded that the Label Setting algorithm and Bellman-Ford algorithm remain constant, regardless of the changed weights. For the adaptive amoeba algorithm, it fluctuates greatly when rcw changes. As can be seen in Fig. 6, when the rcw is less than 0.5, the proposed method outperforms certainly than the other two algorithms. When rcw reaches 0.6 and the graph size reaches 2000, the CPU runtime of the presented algorithm has spent more time than the other two algorithms. In the four sub figures, the results are not consistent. It is due to the difference of the network topology. Every time, the affected edges are randomly selected, which may lead to different influences on the network. In one word, similar to the increased and decreased case, the parameter rue affect the CPU runtime a little while rcw playing an important role regarding the CPU runtime.

## Discussion

In this paper, we investigated the previous algorithms used to deal with SPT problem in dynamic graphs. These algorithms solving SPT problem with edge updates by identifying the affected nodes and reconstruct the shortest path among these nodes. However, when these algorithms are faced with the network with big scale, on the one hand, this procedure becomes very complicated. On the other hand, it cost much time. In order to address the above problems, we proposed a fully adaptive amoeba algorithm for solving SPT in dynamic graphs. The efficiency of the presented algorithm is demonstrated by implementing it in all the edge updates including the increase, decrease, mixed change of the edge weight. In order to evaluate the performance of the proposed method, we conducted experiments on randomly generated graphs, in terms of the CPU execution time. Moreover, we compared our algorithm with the existing algorithms, such as the Label Setting algorithm, Bellman-Ford algorithm. The purpose of the experiment is to obverse how these algorithms behave for different graph sizes and various mixes of changed edges. We randomly generate four graphs with different sizes: .

We evaluate the performance of the three algorithms according to three factors: graphsize, ratio of updated edges (rue), ratio of changed weight (rcw). For the increased case, the change of the parameter rue has little influence on these algorithms while the change of the parameter rcw has great influence on the CPU runtime of the proposed method. For the decreased case, the influence of parameter rue is similar to that of the increased case. On the other hand, the performance of the adaptive amoeba algorithm gets worse when rcw is more than a threshold value. As for the other left algorithms, they are slightly influenced by parameter rcw. For the mixed change of the edge weights, the influences of parameters rue and rcw on the computational time are consistent with that of the increased and decreased cases. We conclude the following for the above three algorithms. For the increased case, decreased case, and mixed change case, in spite of the ratio of updated edges, the proposed method has the best overall performance. On the contrary, when the parameter rcw changes, it is appropriate to carry out different algorithms according to the specific value of rcw.

## Methods

Physarum Polycephalum Inspired Shortest Path Finding Model. Physarum Polycephalum is a large, single-celled amoeboid organism forming a dynamic tubular network connecting the discovered food sources during foraging. The mechanism of tube formation can be described as: tubes thicken in a given direction when shuttle streaming of the protoplasm persists in that direction for a certain time. It implies positive feedback between flux and tube thickness, as the conductance of the sol is greater in a thicker channel. With this mechanism, a mathematical model illustrating the shortest path finding has been constructed .

Suppose the shape of the network formed by the Physarum is represented by a graph, in which a plasmodial tube refers to an edge of the graph and a junction between tubes refers to a node. Two special nodes labeled as , act as the starting node and ending node respectively. The other nodes are labeled as etc. The edge between node and is expressed as . The parameter denotes the flux through tube from node to . Regard the flow along the tube as an approximately poiseuille flow, the flux can be expressed as:

 Qij=DijLij(pi−pj) (1)

where is the pressure at the node , is the conductivity of the tube , is its length.

By considering that the inflow and outflow must be balanced, we have:

 ∑Qij=0(j≠1,2) (2)

For the source node and the sink node the following two equations hold

 ∑iQi1+I0=0 (3)
 ∑iQi2−I0=0 (4)

where is the flux flowing from the source node and is a constant value here.

In order to describe such an adaptation of tubular thickness we assume that the conductivity changes over time according to the flux . The following equation for the evolution of can be used

 ddtDij=f(|Qij|)−rDij (5)

where is a decay rate of the tube. It can be obtained that the equation implies that the conductivity ends to vanish if there is no flux along the edge, while it is enhanced by the flux. The is monotonically increasing continuous function satisfying .

Then the network poisson equation for the pressure can be obtained from the Eq. (8-4) as follows:

 (6)

By setting =0 as a basic pressure level, all can be determined by solving Eq. (6) and can also be obtained.

In this paper, is used. With the flux calculated, the conductivity can be derived, where Eq. (7) is used instead of Eq. (5), adopting the functional form .

 Dn+1ij−Dnijδt=|Q|−Dn+1ij (7)

The amoeba model is modified to solve SPTs in dynamic graphs. The algorithm is composed of three parts. First of all, the amoeba model is extended to solve the shortest path in the directed networks. Then a modified model is presented to handle SPTs in static directed networks. Finally, we analyze the changing trend of the amoeba algorithm is applied to deal with SPTs in dynamic graphs.

Shortest Path Problem in Directed Network. It is observed that the original amoeba model can only handle the shortest path problem (SPP) in the undirected network according to [16, 20, 33]. As a result, we need to extend its application field to directed networks by modifying the original model.

Let be a directed network, where denotes a set of nodes, denotes an edge set with directed edges, and denotes a weight set for . Given a source node and a sink node , the directed shortest path problem can be defined as how to find a path from to , which only consists of directed edges of , with the minimum sum of weights on the edges.

The original amoeba model is designed to solve the shortest path problem in the undirected graphs. For the directed graphs, the following equations are constructed according to the Kirchhoff’s laws:

 ∑j∈N(DijLij+DjiLji)(pi−pj)=⎧⎪⎨⎪⎩+1fori=s−1fori=t0otherwise (8)

where denotes the starting node, denotes the ending node, is the length of the edge , is the conductivity of the edge . In the directed graphs, is different from that of the undirected networks. Here, denotes the tube starting from node to node . As a result, the way that is initialized in the directed graphs is different from that in the undirected networks. If , then . Otherwise, .

In what follows, the flux of every edge can be obtained. The direction of the edge is related with the pressure of each node. Naturally, the flux starts at the node with high pressure and ends at the node with low pressure. In the directed graphs, in order to keep the direction of each edge, the following check procedure is inevitable. Assume there is an edge starting from node and ending at node . If the pressure is larger than , it means the flux is flowing from node to node , which is opposite with the direction of the edge in the directed graph. Once the phenomenon is found, then the flux needs to be cut off. As a consequence, we change the flux of this edge to be 0. Next, the following Eq. (9) for the evolution of can be summarized. As can be seen, the changing process of is continuous. In the process of the algorithm, a discrete procedure is applied as shown in Eq. (10). The general flow of the proposed method is detailed in Table 2.

 (9)

where is the time interval, .

There are several possible solutions to decide when to stop execution of Algorithm 1, such as the maximum number of iterations is arrived, conductivity of each tube converges to 0 or 1, flux through each tube remains unchanged, etc. In this paper, when the conductivity matrix changes between the current iteration and the previous iteration very little (in other words, , where is a threshold), then the program will stop.

Proofs of Physarum Polycephalum Model in Directed Networks. In undirected graphs, the model is able to converge to an equilibrium state and Baumgarten  has proved its stability . In directed graphs, a lot of our experiments have shown that, it will also convergence to an equilibrium state in directed networks and the process of the convergence is similar to that of the undirected graphs. In this section, we prove that all the flux flowing from to consists of the shortest path in the directed networks when the network reaches the equilibrium state.

First of all, the following parameters are defined:

: is one set of edges whose is non-negative number at time . Let .

: is another set of edges whose is is negative number at time . Let .

: is the pressure difference between node and node at time . . Let .

lemma 3.1. For any directed edge , .

Proof When goes to a infinite number, the network reaches stable. As a result, for any , . According to Eq. (9), it can be seen that:

When , .

Lemma 3.1 is established.

lemma 3.2. For any , if , then and .

Proof According to lemma 3.1, if , then .

Based on Eq. (8), it can be seen that and .

Lemma 3.2 is established.

lemma 3.3. If , then .

Proof According to lemma 3.2, when , lemma 3.3 is established.

When and , then , . Thus, . According to Eq. (9), we can obtain .

According to Eq. (8), it can be seen .

In summary, . Therefore, lemma 3.3 is established.

lemma 3.4. When the model reaches the equilibrium state:

1. All the flow converges to some paths from to .

2. These directed paths have the same path length and their length is equal to .

3. These directed paths have the shortest path length.

Proof

1. According to lemma 3.1 and lemma 3.2, in the equilibrium state, the directions of all the edges are in accordance with the flow directions. Consequently, the flow converges to the paths existing in the directed graph .

2. Assume is one directed path which the flow converges to, is the length of . According to lemma 3.2, there are .

3. Assume is one path from to , it is known to us that . For any edge , if , then . According to lemma 3.3, . If , it is obviously seen that . Consequently, . It means that all the other paths’ length is not less than . Incorporating with (ii), these paths are the shortest ones.

Based on the above proofs, lemma 3.4 is established.

Shortest Path Tree Problem in Directed Networks. The above algorithm can only compute the shortest path between two nodes at a time. Assume there are nodes in the network, if we want to construct the shortest path tree, the algorithm must be run for times. However, this will consume lots of time. In this section, after we modify the above model further, the shortest path tree can be constructed by running the algorithm one time. In what follows, the modified model used to find the shortest path tree is introduced.

In the original amoeba model, there are only one starting node and one ending node in it. If there are one starting node and all the other nodes are the ending nodes, the Kirchhoff s laws can be transformed as below:

 ∑i(DijLij+DjiLji)(pi−pj)={+1forj=s−1N−1forj≠s (11)

The general flow of the modified model used to construct SPTs rooted at node are shown in Table 3. By this way, SPT can be constructed through running the program once.

###### Example 0.1

In order to illustrate the algorithm shown in Table 3, an example is shown in Fig. 7(a). There are 16 nodes in this network. In this example, the amoeba model is applied to construct SPT rooted at node . According to Algorithm 2, first of all, initialize the parameters, such as the length matrix , the initial conductivity matrix , the initial pressure matrix etc. Then, according to Eq. (11), the pressure of each node can be obtained during the first iteration. In turn, the flux of each node can be computed according to Eq. (8). Next, the conductivity matrix during the following iteration can be constructed based on Eq. (7). This procedure will continue until the flux of each arc do not change any more. Fig. 8 shows the flux variation of each edge during different iterations in the graph shown in Fig. 7(a) using the adaptive amoeba model. As we can see, the flux of some edges converges to during the iterations. Those edges whose flux are not equal to zero constitutes the following graph shown in Fig. 7(b). Figure 8: Flux variation during different iterations in the graph shown in Fig. 7(a) using the adaptive amoeba model.

Fig. 7(b) shows the SPTs rooted at vertex . The trees represented by the edges in blue color are consistent with the result in . The edges with red color appear in the adaptive amoeba algorithm, but not in . The reason lies that there are more than one shortest paths between the rooted node and nodes , . For example, the length of the path is equal to that of the path . Similarly, the length of path is equal to that of . This is the first advantage of our presented method.

The edge weight change can be divided into three categories: increase only, decrease only, the mixture of them. In this section, the adaptive amoeba algorithm for SPTs in dynamic graphs will be analyzed from the three perspectives.

Edge Weight Increase. As shown in Fig. 9(a), the weights of edges and are increased. For traditional approaches to SPT in dynamic graphs, such as DynDijkInc, MBallString  etc, firstly, these methods locates all locally affected vertices and reconstruct the shortest path between these affected nodes. In this example, the vertices are affected, which are shown in blue circles in Fig. 9(a). For the above methods, when the scale of the network become very big, on the one hand, the process to locate the affected nodes become very complex. On the other hand, it costs much time. For the adaptive amoeba algorithm proposed in this paper, the following Fig. 10 displays the changing trend of the flux existing in each edge. Figure 9: The SPT with edge weight increase Figure 10: The changing trend of the flux when the length of edge (c,g) is increased by 2 and the length of edge (g,j) is increased by 3

As can be seen in Fig. 10, the red doted line divides the whole process into two parts. The first part is the changing trend of the flux associated with each edge before the edge weights change. The second part illustrates how the flux associated with every edge change after the increase of edge weights. During the iteration process, the flux of the edge decreases to 0 while that of the edge become one of the edges constructing SPT. This example shows the adaptivity of the presented algorithm. It can recognize the affected vertices and reconstruct them spontaneously after the increase of the edge weights. Fig. 9(b) displays the SPT after the increase of the edge weights and the result is consistent with that of .

Edge Weight Decrease. Given a graph shown in Fig. 11(a), there are a source vertex , an SPT rooted at node . The weights of edge and edge are decreased by , respectively. Different from the increase case, the locally affected nodes can be predicted. In the decrease case, the traditional algorithms such as DynDijkstra, MBallString recognize the all affected heads and then recompute the shortest path among the affected heads. When the network becomes very big, the traditional algorithms are faced with the same problems mentioned in the increase case. For the adaptive amoeba algorithm, the following Fig. 12 illustrates the changing trend of the flux of each edge when the edge weights decrease. Figure 11: The SPT with edge weight decrease Figure 12: The changing trend of the flux when the length of edge (c,g) is decreased by 3 and the length of edge (g,j) is decreased by 1

As can be seen in Fig. 12, the whole process can be separated into two procedures by the red dotted line: the part before edge weight decrease, the part after edge weight decrease. It can be seen that the flux associated with every edge changes when the edge weights decrease. All the edges can be divided into 2 categories: the edges which is not influenced by the edge weights decrease, such as edges and shown in Fig. 12 belongs to the first category; the second category includes the edges that are influence by the edge weights decrease, such as edges , , etc. From Fig. 12, it can be concluded that the adaptive amoeba algorithm have the advantage of recognizing all the affected vertices spontaneously over traditional algorithms such as DynDijkstra, MBallString. Fig. 11(b) displays SPT after the edge weights decrease and the result is the same as that of .

Mixed Edge Weight Changes. In Fig. 13(a), the weights of the following edges updates: edge is decreased by , the weight of edge is increased by , and the weight of edge is decreased by 8. Based on this example, we will pay attention to the changing trend of the flux associated with each edge in the adaptive amoeba algorithm when both the decrease and increase of the edges appear in the graph. Figure 13: The SPT with mixed edge weight changes Figure 14: The changing trend of the flux associated with each edge when the length of edge (c,g) is decreased by 1, the length of edge (g,j) is increased by 3, and the weight of edge (f,i) is decreased by 8 

As can be seen in Fig. 14, the changing trend of the flux associated with every edge is shown. Several edges such as edge disappear from the SPT while edges and become the elements constructing SPT after the update of edge weight. The other edges such as edges and are not affected by the update of the edge weight. Fig. 13(b) gives the final SPT after the update of the edge weights. From Fig. 13(b), it can be concluded that the amoeba algorithm can distinguish all the nodes adaptively.

In summary, all the edge updates including the increase, decrease, mixed change of the edge weight can be handled efficiently by the adaptive amoeba algorithm.

## Acknowledgment

All the authors of the cited papers for providing their network data. The work is partially supported by Chongqing Natural Science Foundation, Grant No. CSCT, 2010BA2003, National Natural Science Foundation of China, Grant No. 61174022, 61364030, National High Technology Research and Development Program of China (863 Program) (No.2013AA013801), the Fundamental Research Funds for the Central Universities, Grant No. XDJK2012D009.

## References

•  Bauer, F., Varma, A. Distributed algorithms for multicast path setup in data networks. IEEE/ACM Trans. Networking 4, 181–191 (1996).
•  Rescigno, A. Optimally balanced spanning tree of the star network. IEEE Trans. Comput. 50, 88–91 (2001).
•  Zhao, M., Yang, Y. Bounded relay hop mobile data gathering in wireless sensor networks. IEEE Trans. Comput. 61, 265–277 (2012).
•  Wang, P., Hunter, T., Bayen A.M., Schechtner, K., González M.C. Understanding road usage patterns in urban areas. Sci. Rep. 2 (2012).
•  Barthelemy, M., Bordin, P., Berestycki, H., Gribaudi, M. Self-organization versus top-down planning in the evolution of a city. Sci. Rep. 3 (2013).
•  Perlman, R. A comparison between two routing protocols: OSPF and IS-IS. IEEE Network 5, 18–24 (1991).
•  Estrada, E., Vargas-Estrada, E. How peer pressure shapes consensus, leadership, and innovations in social groups. Sci. Rep. 3 (2013).
•  Wei, D.J. et al. Box-covering algorithm for fractal dimension of weighted networks. Sci. Rep. 3 (2013).
•  Szell, M., Sinatra, R., Petri, G., Thurner, S., Latora, V. Understanding mobility in a social petri dish. Sci. Rep. 2 (2012).
•  Chan, E., Yang, Y. Shortest path tree computation in dynamic graphs. IEEE Trans. Comput. 58, 541–557 (2009)
•  Chen, H., Tseng, P. A low complexity shortest path tree restoration scheme for IP networks. IEEE Commun. Lett. 14, 566–568 (2010).
•  Dijkstra, E. A note on two problems in connection with graphs. Numerische Mathematik 1, 269 C271 (1959).
•  Frigioni, D., Marchetti-Spaccamela, A., Nanni, U. Incremental algorithms for the single-source shortest path problem. Foundation of Software Technology and Theoretical Computer Science 14, 113–124 (1994).
•  Narváez, P., Siu, K., Tzeng, H. New dynamic spt algorithm based on a ball-and-string model. IEEE/ACM Trans. Networking 9, 706–718 (2001).
•  Nguyen, S., Pallottino, S., Scutella, M.G. A new dual algorithm for shortest path reoptimization. Trans- portation and Network Analysis: Current Trends: Miscellanea in honor of Michael Florian 63, 221–221 (2002).
•  Tero, A., Kobayashi, R., Nakagaki, T. Physarum solver: A biologically inspired method of road-network navigation. Physica A 363, 115–119 (2006).
•  Baumgarten, W., Ueda, T., Hauser, M. Plasmodial vein networks of the slime mold physarum polycephalum form regular graphs. Phys. Rev. E 82, 046113 (2010).
•  Tero, A. et al. Rules for biologically inspired adaptive network design. Science Signalling 327, 439 (2010).
•  Watanabe, S., Tero, A., Takamatsu, A., Nakagaki, T. Traffic optimization in railroad networks using an algorithm mimicking an amoeba-like organism, physarum plasmodium. BioSystems 105, 225–232 (2011).
•  Nakagaki, T. et al. Minimum-risk path finding by an adaptive amoebal network. Phys. Rev. Lett. 99, 068104 (2007).
•  Adamatzky, A., Prokopenko, M. Slime mould evaluation of australian motorways. Int. J. Parallel Emergent Distrib. Syst. 27, 275–295 (2012).
•  Zhang, X. et al. Solving 0-1 knapsack problems based on amoeboid organism algorithm. Appl. Math. Comput. 219, 9959–9970 (2013)
•  Zhang, X., Zhang, Z., Zhang, Y., Wei, D., Deng, Y. Route selection for emergency logistics management: A bio-inspired algorithm. Saf. Sci. 54, 87–91.
•  Gunji, Y.P., Shirakawa, T., Niizato, T., Haruna, T. Minimal model of a cell connecting amoebic motion and adaptive transport networks. J. Theor. Biol. 253, 659–667 (2008).
•  Adamatzky, A., Martínez, G.J., Chapa-Vergara, S.V., Asomoza-Palacio, R., Stephens, C.R. Approximating mexican highways with slime mould. Natural Computing 10, 1195–1214 (2011).
•  Adamatzky, A., de Oliveira, P.P. Brazilian highways from slime mold s point of view. Kybernetes 40, 1373–1394 (2011).
•  Adamatzky, A. The world s colonization and trade routes formation as imitated by slime mould. Int. J. Bifurcation Chaos 22 (2012).
•  Adamatzky, A. Growing spanning trees in plasmodium machines. Kybernetes 37, 258–264 (2008).
•  Aono, M., Hara, M., Aihara, K., Munakata, T. Amoeba-based emergent computing: combinatorial opti- mization and autonomous meta-problem solving. International Journal of Unconventional Computing 6, 89–108 (2010).
•  Jones, J. Characteristics of pattern formation and evolution in approximations of physarum transport networks. Artificial Life 16, 127–153 (2010).
•  Aono, M., Zhu, L., Hara, M. Amoeba-based neurocomputing for 8-city traveling salesman problem. International Journal of Unconventional Computing 7, 463–480 (2011).
•  Shirakawa, T., Yokoyama, K., Yamachiyo, M., Gunji, Y.P., Miyake, Y. Multi-scaled adaptability in motility and pattern formation of the physarum plasmodium. International Journal of Bio-Inspired Computation 4, 131–138 (2012).
•  Tero, A., Kobayashi, R., Nakagaki, T. A mathematical model for adaptive transport network in path finding by true slime mold. J. Theor. Biol. 244, 553–564 (2007).
•  Meyer, U. Average-case complexity of single-source shortest-paths algorithms: lower and upper bounds. Journal of Algorithms 48, 91–134 (2003).
•  Nguyen, U.T., Xu, J. Multicast routing in wireless mesh networks: Minimum cost trees or shortest path trees? IEEE Commun. Mag. 45, 72–77 (2007).

## Author contributions

X. Z., Q. L., Z. Z. designed and performed research. X. Z. wrote the paper. Y. H. performed the computation. S. M., F. T.S. C. and Y. D. analyzed the data. All authors discussed the results and commented on the manuscript.