efficient shortest-path-tree computation in network routing based on pulse-coupled neural networks

16
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination. IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART B: CYBERNETICS 1 Efficient Shortest-Path-Tree Computation in Network Routing Based on Pulse-Coupled Neural Networks Hong Qu, Member, IEEE, Zhang Yi, Senior Member, IEEE, and Simon X. Yang, Senior Member, IEEE Abstract—Shortest path tree (SPT) computation is a critical issue for routers using link-state routing protocols, such as the most commonly used open shortest path first and intermediate system to intermediate system. Each router needs to recompute a new SPT rooted from itself whenever a change happens in the link state. Most commercial routers do this computation by deleting the current SPT and building a new one using static algorithms such as the Dijkstra algorithm at the beginning. Such recomputation of an entire SPT is inefficient, which may consume a considerable amount of CPU time and result in a time delay in the network. Some dynamic updating methods using the information in the up- dated SPT have been proposed in recent years. However, there are still many limitations in those dynamic algorithms. In this paper, a new modified model of pulse-coupled neural networks (M-PCNNs) is proposed for the SPT computation. It is rigorously proved that the proposed model is capable of solving some optimization problems, such as the SPT. A static algorithm is proposed based on the M-PCNNs to compute the SPT efficiently for large-scale problems. In addition, a dynamic algorithm that makes use of the structure of the previously computed SPT is proposed, which significantly improves the efficiency of the algorithm. Simulation results demonstrate the effective and efficient performance of the proposed approach. Index Terms—Autowave, open shortest path first (OSPF), pulse-coupled neural networks (PCNNs), routing, shortest path tree (SPT). I. I NTRODUCTION T HERE is an increasing demand for high-speed informa- tion exchange in today’s networks. In order to satisfy this requirement in a large routing area, high-speed routing is highly desirable. Routing generally consists of a routing protocol and a routing algorithm. The routing protocol captures the states and available resources of the network and disseminates this information throughout the network. The routing algorithm Manuscript received November 15, 2011; revised May 7, 2012 and August 31, 2012; accepted September 17, 2012. This work was supported in part by the National Basic Research Program of China (973 Program) under Grant 2011CB302201 and in part by the National Science Foundation of China under Grants 60970013, 60905037, and 61273308. This paper was recommended by Editor E. Santos Jr. H. Qu is with the School of Computer Science and Engineering, University of Electronic Science and Technology of China, Chengdu 610054, China (e-mail: [email protected]). Z. Yi is with the Machine Intelligence Laboratory, College of Computer Science, Sichuan University, Chengdu 610065, China (e-mail: Zhangyi@ scu.edu.cn). S. X. Yang is with the Advanced Robotics and Intelligent Systems Labo- ratory, School of Engineering, University of Guelph, Guelph, ON N1G 2W1, Canada (e-mail: [email protected]). Color versions of one or more of the figures in this paper are available online at http://ieeexplore.ieee.org. Digital Object Identifier 10.1109/TSMCB.2012.2221695 computes the shortest paths using this information. For the widely used link-state-based routing protocols, such as the open shortest path first (OSPF) [1] and intermediate system to intermediate system [2], each link is associated with a cost, and routers exchange the link-state information so that each router in a routing area could have a complete information of the network’s topology. Using the link cost, each router computes the shortest path tree (SPT) with itself as the root. Then, the corresponding SPT is used to construct a routing table, which points out a route with the least cost from the current router to each other in the routing area. Therefore, an efficient algorithm to rebuild SPT when the topology changes in the network will directly benefit the routing speed in the routing area. The routing in networks has been studied for many years [3]–[7]. The SPT can be computed by using the well-known static algorithms, such as the Dijkstra algorithm [8], in a static graph. However, it becomes highly inefficient when the link states in the routing area change over time (e.g., a link fails, recovers, or changes its routing cost). Each router needs to apply the Dijkstra algorithm respectively to recompute the new SPT whenever there is a single link-state change, and this requires that the routing table be completely scanned and updated. By these methods, the routing instability is increased due to redundant updates of routing table entries [9]. In most cases, the new SPT in the router is a little bit or not at all different from the old one when some link-state changes occur in a network. The SPT recomputation using static algorithms incurs a lot of unnecessary computation and routing table entry replacements. Thus, it is crucial that algorithms with dynamic updating of the SPT are introduced to handle the link-state changes efficiently in a network [10]. Dynamic algorithms for updating the SPT can perform much better since they make use of available information from the existing one. King presented a fully dynamic algorithm for maintaining all pairs of shortest paths in directed graphs, while each link weight must be limited to a positive integer value [11]. To improve King’s method, Demetrescu and Italiano proposed a dynamic algorithm on directed graphs with arbitrary real weight [12]; however, their work just focused on single-edge weight changes. Frigioni et al. presented a method to reduce com- putation times by separating the weight-increase and weight- decrease operations [13], but this work just focused on the weight increase and weight decrease. Chaudhuri and Zaroliagis [14] presented an efficient solution for graphs with bounded tree width when the weight of edges changes, but without con- sidering insertions and deletions of edges. Narvaez et al. [15] proposed a general dynamic algorithm framework for a single- edge weight change. Their idea is to recompute the affected part 1083-4419/$31.00 © 2012 IEEE

Upload: s-x

Post on 02-Dec-2016

213 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Efficient Shortest-Path-Tree Computation in Network Routing Based on Pulse-Coupled Neural Networks

This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.

IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART B: CYBERNETICS 1

Efficient Shortest-Path-Tree Computation in NetworkRouting Based on Pulse-Coupled Neural Networks

Hong Qu, Member, IEEE, Zhang Yi, Senior Member, IEEE, and Simon X. Yang, Senior Member, IEEE

Abstract—Shortest path tree (SPT) computation is a criticalissue for routers using link-state routing protocols, such as themost commonly used open shortest path first and intermediatesystem to intermediate system. Each router needs to recompute anew SPT rooted from itself whenever a change happens in the linkstate. Most commercial routers do this computation by deleting thecurrent SPT and building a new one using static algorithms suchas the Dijkstra algorithm at the beginning. Such recomputationof an entire SPT is inefficient, which may consume a considerableamount of CPU time and result in a time delay in the network.Some dynamic updating methods using the information in the up-dated SPT have been proposed in recent years. However, there arestill many limitations in those dynamic algorithms. In this paper, anew modified model of pulse-coupled neural networks (M-PCNNs)is proposed for the SPT computation. It is rigorously provedthat the proposed model is capable of solving some optimizationproblems, such as the SPT. A static algorithm is proposed basedon the M-PCNNs to compute the SPT efficiently for large-scaleproblems. In addition, a dynamic algorithm that makes use ofthe structure of the previously computed SPT is proposed, whichsignificantly improves the efficiency of the algorithm. Simulationresults demonstrate the effective and efficient performance of theproposed approach.

Index Terms—Autowave, open shortest path first (OSPF),pulse-coupled neural networks (PCNNs), routing, shortest pathtree (SPT).

I. INTRODUCTION

THERE is an increasing demand for high-speed informa-tion exchange in today’s networks. In order to satisfy this

requirement in a large routing area, high-speed routing is highlydesirable. Routing generally consists of a routing protocol anda routing algorithm. The routing protocol captures the statesand available resources of the network and disseminates thisinformation throughout the network. The routing algorithm

Manuscript received November 15, 2011; revised May 7, 2012 andAugust 31, 2012; accepted September 17, 2012. This work was supportedin part by the National Basic Research Program of China (973 Program)under Grant 2011CB302201 and in part by the National Science Foundationof China under Grants 60970013, 60905037, and 61273308. This paper wasrecommended by Editor E. Santos Jr.

H. Qu is with the School of Computer Science and Engineering, Universityof Electronic Science and Technology of China, Chengdu 610054, China(e-mail: [email protected]).

Z. Yi is with the Machine Intelligence Laboratory, College of ComputerScience, Sichuan University, Chengdu 610065, China (e-mail: [email protected]).

S. X. Yang is with the Advanced Robotics and Intelligent Systems Labo-ratory, School of Engineering, University of Guelph, Guelph, ON N1G 2W1,Canada (e-mail: [email protected]).

Color versions of one or more of the figures in this paper are available onlineat http://ieeexplore.ieee.org.

Digital Object Identifier 10.1109/TSMCB.2012.2221695

computes the shortest paths using this information. For thewidely used link-state-based routing protocols, such as theopen shortest path first (OSPF) [1] and intermediate system tointermediate system [2], each link is associated with a cost, androuters exchange the link-state information so that each routerin a routing area could have a complete information of thenetwork’s topology. Using the link cost, each router computesthe shortest path tree (SPT) with itself as the root. Then, thecorresponding SPT is used to construct a routing table, whichpoints out a route with the least cost from the current router toeach other in the routing area. Therefore, an efficient algorithmto rebuild SPT when the topology changes in the network willdirectly benefit the routing speed in the routing area.

The routing in networks has been studied for many years[3]–[7]. The SPT can be computed by using the well-knownstatic algorithms, such as the Dijkstra algorithm [8], in a staticgraph. However, it becomes highly inefficient when the linkstates in the routing area change over time (e.g., a link fails,recovers, or changes its routing cost). Each router needs toapply the Dijkstra algorithm respectively to recompute thenew SPT whenever there is a single link-state change, andthis requires that the routing table be completely scanned andupdated. By these methods, the routing instability is increaseddue to redundant updates of routing table entries [9]. In mostcases, the new SPT in the router is a little bit or not at alldifferent from the old one when some link-state changes occurin a network. The SPT recomputation using static algorithmsincurs a lot of unnecessary computation and routing table entryreplacements. Thus, it is crucial that algorithms with dynamicupdating of the SPT are introduced to handle the link-statechanges efficiently in a network [10].

Dynamic algorithms for updating the SPT can perform muchbetter since they make use of available information from theexisting one. King presented a fully dynamic algorithm formaintaining all pairs of shortest paths in directed graphs, whileeach link weight must be limited to a positive integer value [11].To improve King’s method, Demetrescu and Italiano proposed adynamic algorithm on directed graphs with arbitrary real weight[12]; however, their work just focused on single-edge weightchanges. Frigioni et al. presented a method to reduce com-putation times by separating the weight-increase and weight-decrease operations [13], but this work just focused on theweight increase and weight decrease. Chaudhuri and Zaroliagis[14] presented an efficient solution for graphs with boundedtree width when the weight of edges changes, but without con-sidering insertions and deletions of edges. Narvaez et al. [15]proposed a general dynamic algorithm framework for a single-edge weight change. Their idea is to recompute the affected part

1083-4419/$31.00 © 2012 IEEE

Page 2: Efficient Shortest-Path-Tree Computation in Network Routing Based on Pulse-Coupled Neural Networks

This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.

2 IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART B: CYBERNETICS

of the old SPT. However, their approaches involve excessivecomputation. Inspired by the dynamics of the ball-and-stringmodel, an algorithm that propagates the dynamic changes wasproposed by the same authors in [16]. Unfortunately, this al-gorithm for edge weight increases is incorrect. It should alsobe mentioned that the incremental shortest path first (SPF)algorithm [17] has been implemented in some commercialrouters in recent years, such as in CISCO routers, to partiallycompute the SPT in OSPF [18], while their implementationfollows the original work of McQuillan, Richer, and Rosen in1978 [19] and 1980 [20]. The final improvement is limited sincethis method involves too much excessive computation to findthe shortest path for the affected node.

Neural networks have been recognized as an availablemethod to solve combinatorial optimization problems, such astraveling salesman problems [21]. Since the original work ofHopfield and Tank [22] in 1985, theoretic analysis of recurrentneural networks has attracted great attention [23]–[25], andmany successful applications have been developed to solvecombinatorial optimization problems [26]–[30]. Some otherneural network models have also been proposed to solve op-timization problems [31]–[34]. Pulse-coupled neural networks(PCNNs) are biologically plausible computational algorithms,which are similar to the locally excitatory globally inhibitoryoscillator network model proposed by Wang and Terman in[35] and [36]. The PCNNs are capable of emulating the be-haviors of cortical neurons as observed in the visual corticesof cats [37]. Since Johnson’s work [38], [39], there has beenincreasing interest in using PCNNs for various applications,such as object detection [40]–[42], image processing [43]–[47], motion matching [48], pattern recognition [49]–[51], brainextraction [52], optimization [53]–[58], and the very-large-scale integration (VLSI) implementation of PCNNs [59].

In 1999, Caulfield and Kinser [54] presented the idea ofutilizing the autowave in PCNNs to find the solution to themaze problems. Their model can find the shortest path quicklyand with minimum effort, where the solution is related tothe length of the shortest path and independent of the pathgraph complexity. However, many neurons are needed to findthe shortest path in large mazes or graphs since one pulseof the coupled neuron corresponds to a unit length of path[60]. An output-threshold coupled neural network (OTCNN) isproposed to find the shortest path for the asymmetric weightedgraph in [55]. Zhang et al. proposed a simplified delay PCNN(SDPCNN) to solve the all-pairs shortest path problem [57],[58]. However, the aforementioned methods are not suitable forsolving the routing problems when the link state is updatingdynamically in the network. Our previous work [56] on thistopic presented a simple continuous model of PCNN to findthe shortest path with less computational cost in a static graph,but this model is still very hard to work for network routingin a dynamic environment since each neuron is modeled as acontinuous leaky integrator. In this paper, we apply modifiedPCNNs to the network routing and study the discrete algorithmsfor efficient SPT computation in dynamic environments.

This paper proposes a new modified model of PCNNs(M-PCNNs) and applies it to efficient SPT computation in net-work routing. Mathematical analysis is conducted to show the

conditions for the exploration of autowaves in the M-PCNNs,which can guarantee that the waves explore from the single“start” node to the multiple “end” nodes simultaneously. Astatic algorithm is proposed based on the M-PCNNs to computethe SPT. In addition, a dynamic algorithm is proposed to updatethe SPT when some link states change. Simulation experimentsare conducted to demonstrate the effectiveness and efficiencyof the proposed method.

The proposed modified model of PCNNs is described inSection II. The static algorithm and dynamic algorithm fornetwork routing are presented in Section III and Section IV,respectively. The computational complexity of the proposedalgorithm is discussed in Section V. Simulation results aregiven in Section VI. Conclusions are drawn in Section VII.

II. MODIFIED MODEL OF PCNNs

A. Neuron’s Model of PCNNs

A typical neuron of PCNNs consists of three parts: the recep-tive fields, the modulation fields, and the pulse generator. Theneuron receives input signals from other neurons and externalsources within its receptive fields. The receptive fields can bedivided into two channels: One is the feeding inputs, and theother is the linking inputs. The modulation fields generatethe internal activity of the neuron. The pulse generator receivesthe result of total internal activity Uij and determines the firingevents.

LetN be the total number of iterations and n(n=0 . . . N−1)be the current iteration. Then, the PCNNs can be described by

Fij(n) = e−αF Fij(n− 1)

+ VF

∑kl

Mij,klYkl(n− 1) + Iij (1)

Lij(n) = e−αLLij(n− 1)

+ VL

∑kl

Wij,klYkl(n− 1) + Jij (2)

Uij(n) =Fij(n) (1 + βLij(n)) (3)Yij(n) = Step (Uij(n)− θij(n− 1))

=

{1, if Uij(n) > θij(n− 1)0, otherwise

(4)

θij(n) = e−αθθij(n− 1) + VθYij(n− 1) (5)

where ij stands for the neural indexes, F and L are the feedinginput and linking input, and U is the internal activity generatedby the modulation fields. The pulse generator contains Y andθij : Y is the pulse output, and θij(n) is the dynamic thresholdof the neuron ij. The meanings of the other symbols used in(1)–(5) are listed in Table I.

In the pulse generator, if Uij is greater than the threshold,the output of neuron (i, j) turns into 1, neuron (i, j) fires, thenYij feedbacks to make θij rise over Uij immediately, and theoutput of neuron (i, j) turns into 0. Therefore, a pulse outputis produced. It is clear that the pulse generator is responsiblefor the modeling of the refractory period. Here, the refractoryperiod is defined as the time interval between two pulses [64].

In PCNNs, each neuron of the networks produces severalpulse outputs by the pulse generator. In general, if the outputof a neuron changes from 0 to 1, it is called the firing of this

Page 3: Efficient Shortest-Path-Tree Computation in Network Routing Based on Pulse-Coupled Neural Networks

This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.

QU et al.: EFFICIENT SPT COMPUTATION IN NETWORK ROUTING BASED ON PCNNs 3

TABLE IMAIN SYMBOLS USED IN THE MODEL OF PCNNs

Fig. 1. Proposed modified model of PCNNs.

neuron. However, those no-fired neurons would be prepared tofire under the stimulation of the firing event from its neighbors.This is one prominent characteristic of typical PCNNs. Corre-spondingly, several neurons of the networks firing one by oneis called the autowaves of PCNNs.

B. Proposed M-PCNNs

The main difference of the M-PCNNs from PCNNs isthat a linear attenuated threshold function is used in the M-PCNNs, while an exponentially attenuated function is used inthe PCNNs, since the linear attenuated threshold function canguarantee that the autowaves propagate uniformly. In addition,the internal activity of each neuron in PCNNs is the coupledresult of the receptive fields, while in he M-PCNNs, it is alwaysset to 0.

The proposed M-PCNNs for SPT computation is shown inFig. 1. Each neuron i has one output Yi, which can be calculatedby

Yi(k) = Step (U − θi(k)) =

{1, if θi(k) ≤ U,0, otherwise,

(6)

where θi(k) is the threshold function, k is the iteration number,and N is the total number of neurons.

The internal activity U of each neuron determines the firingevent. In the proposed modified model, the value of U canbe set to a constant for all neurons. For simplicity, we set itto be 0.

This form of U removes the coupled nature of the PCNNs,while it provides an effective way to apply the proposed modelto solve SPT problems since it can be easy to implement andwould drop the time waste aroused by the complicated couplingcomputations in the traditional PCNNs.

The threshold function of each neuron i (i = 1, 2, . . . , N) inour modified model is designed as a discrete transform of thatin the original PCNNs and can be expressed as

θi(k) =

⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

Vθ,(if Yi(k − 1) = 1)

Min {Wji −Δθ, (θi(k − 1)−Δθ)} ,(if Yj(k − 1) = 1 and Wji > 0 andYi(m) = 0, for all m = 1, 2 . . . , k − 1.)

θi(k − 1)−Δθ,(else)

(7)

for all k = 1, 2, 3 . . ., where Vθ is a constant and set to be a largevalue in the proposed model, Δθ is the step value of attenuation,and Wji is the connecting weight from neuron j to i. The initialvalues of the threshold functions θi(k)(i = 1, 2, 3, . . . , N) atk = 0 in the proposed model determine the first firing neuronand should be set to some restricted constants. Theorem 1 inthe following section will make an intensive study of the designcriterion for θi(0).

The connecting weight Wji is defined as

Wji =

⎧⎪⎪⎪⎨⎪⎪⎪⎩

connecting weight from neuron j to i,(if j and i are connected.)

< 0,(otherwise.)

(8)

In (7), the current threshold of neuron i depends on not onlythe last output of it but also the output of other neurons directlyconnected to it. If no neuron fires in the last iteration, the currentthreshold of each neuron is attenuated by Δθ. If neuron i firesin the last iteration, the current threshold of i is set as Vθ; thebig value of Vθ ensures that this neuron never fires in the future.If neuron i has not fired and if there is a connected neuron j thathad fired in the last iteration, then the kth threshold of neuron iis attenuated with Δθ based on the minimal one of the (k − 1)ththreshold and the connection weight from j.

The delay of the threshold value Δθ determines the speed ofthe M-PCNNs, and an optimized value of it would significantlyimprove the performance. In most cases, Δθ is often to be setas a unit number, such as 1. As for the routing in OSPF, theconnection weight wij is often expressed by a hop number (aninteger) between two routers.

C. Performance Analysis of the Traveling of Autowavesin M-PCNNs

To study the performance of the traveling of autowaves inthe M-PCNNs, three sets of calculations of crucial data areinvolved: 1) T 1

i —neuron i’s firing period; 2) T 1ij—the period

from the time when neuron i fires to the time when neuronj (j = 1, 2, . . . , N, j �= i) fires; and 3) T 1—the period fromthe time when the first neuron fires to the time when the lastneuron fires.

1) Calculation of T 1i : Assuming that, after k times of itera-

tions, neuron i fires at time t1i , the output of neuron i at time t1i is

Yi(k) = 1

Page 4: Efficient Shortest-Path-Tree Computation in Network Routing Based on Pulse-Coupled Neural Networks

This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.

4 IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART B: CYBERNETICS

and then

Vθ > 0 >= θi(k).

In the next iteration, t = t1i +ΔT , the threshold and outputof neuron i are shown in (9) and (10), respectively, according to(6) and (7)

θi(k + 1) =Vθ (9)Yi(k + 1) =Step (0− θi(k + 1))

=Step(0− Vθ) = 0. (10)

In the following iterations, the threshold will be attenuated withstep value Δθ, the output will remain at 0, until θi < 0 at timet2i , and then

T 1i = t2i − t1i =

ΔθΔT. (11)

2) Calculation of T 1ij: Assume that neuron i fires at time

t1i , neuron j fires at time t1j , and there are m(m < N) neuronsthat fire between times t1i and t1j . Assuming that P (ij) is the

path length from i to j(P (ij) =∑j

k=i Wk,k+1) and Pmin(ij)represents the shortest one in it, i.e.,

Pmin(ij) = min {P (ij), 0 < i, j < N}

then

T 1ij = t1j − t1i =

Pmin(ij)

ΔθΔT

<(m− 1)Wmax

ΔθΔT, (m ∈ {1, 2, . . . , N − 1}) (12)

where Wmax is the maximum value of all the linking strengths,i.e.,

Wmax = max{Wij , 0 < i, j < N}

and N is the total number of neurons.3) Calculation of T 1: Assuming that neuron 1 is the first

neuron to fire and neuron n is the last one, neuron 1 fires attime t11, and neuron n fires at time t1n. The length of the shortestpath from neuron 1 to n is denoted as Pmin(1n), and then

T 1 = t1n − t11 =Pmin(1n)

ΔθΔT

<(N − 1)Wmax

ΔθΔT. (13)

With T 1i , T 1

ij , and T 1, the following theorem can be deduced.Theorem 1: Denote StartN as the first neuron to fire, N

as the total number of neurons, and Wmax as the maximalone of the linking strengths in the M-PCNNs. If the followingconditions hold:

(I)

{0 >= θStartN (0)0 < θj(0) = Vθ, j = 1, 2, . . . N, j �= StartN

(II) Vθ > (N − 1)Wmax

then the autowaves travel from neuron StartN , visiting eachneuron only once, before reaching the last neuron.

Fig. 2. (a) Information of each neuron i in an SPT. (b) and (c) Data structure tosave the threshold of each neuron with time increasing, where θi is the thresholdof neuron i, Mi is the fired state of neuron i (if neuron i has fired, then Mi is setas 1; otherwise, it is set as 0), and ti, i = 1, 2, . . ., is the fire time of neurons.

Proof: If (I) holds, the outputs of the neurons at time t =0 are shown in (14) according to (6)

Yi(0) = step (U − θi(0)) = step (0− θi(0))

=

{1, if i = StartN0, otherwise.

(14)

Only neuron StartN fires at time t = 0, so the autowave travelsbeginning with neuron StartN .

If (II) holds, then

T 1i > T 1 > T 1

ij (i, j = 1, 2, . . . , N) (15)

can be satisfied according to (11)–(13). This is a sufficientcondition to ensure the proper traveling of the autowaves in theM-PCNNs. �

This completes the proof of Theorem 1. In the next section,an arithmetic algorithm to compute the SPT using the proposedM-PCNNs will be discussed in detail.

III. STATIC ALGORITHM FOR COMPUTING SPT

The network topology can be denoted as a directed graphG = (V,E), V is a set of routers, and E is a collection of links,where links are identified by ordered pairs of distinct routers. Inthe proposed M-PCNNs, each neuron corresponds to a router,and each directed connection corresponds to a directed link. IfStartN is the first neuron to fire, then the proposed algorithmcan guarantee that the autowave travels from neuron StartN ,visiting each neuron only once, and forms an SPT rooted fromStartN .

A tree data structure, denoted by T̃ , is maintained by thealgorithm to keep the track of the existing potential SPT. Foreach node i, an array data structure, denoted by AN(i), ismaintained by the algorithm to keep the correlated informationof the corresponding router. In particular, each node in the graphG, along with its parent attribute and the firing time attribute,is present in T̃ . The tree data structure T̃ changes progressivelyduring the computation, and when the execution of the algo-rithm is complete, it will represent an SPT. In addition, a listdata structure, denoted as LT , is maintained by the algorithmto store the historical thresholds and the fired states of eachneuron. The structure of AN(i) and LT are shown in Fig. 2.

Define StartN as the first neuron to fire, N as the total num-ber of neurons, k as the current iteration, and l as the numberof neurons that have fired. The static algorithm, denoted by

Page 5: Efficient Shortest-Path-Tree Computation in Network Routing Based on Pulse-Coupled Neural Networks

This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.

QU et al.: EFFICIENT SPT COMPUTATION IN NETWORK ROUTING BASED ON PCNNs 5

Fig. 3. Flowchart of BSPT algorithm.

BSPT (basic algorithm for SPT computation), can be describedas follows.

Algorithm 1 BSPT algorithm1) Initialize the network. Set U = 0, θStartN (0) < 0,

θi(0) = Vθ � 0 for all i = 1, . . . , N, i �= StartN , andVθ > (N − 1) ∗Wmax.

2) Fire StartN , and initialize the parameters. Set{YStartN (0) = 1Yi(0) = 0

(i = 1, . . . , N, i �= StartN)

and record StartN in T̃ . At the same time, initialize thevalue of k as 1 and the value of l as 1.

3) For each neuron ja) Calculate θj(k) according to (7).b) Calculate Yj(k) according to (6).c) If Yj(t) == 1, then record the neuron j and its firing

time t(j) in SPT; set l = l + 1.d) Record the current thresholds and the fired states of

neuron j.e) Set k = k + 1.

4) Repeat Step 3 until l = N .

It is clear that an SPT rooted from StartN will be achievedby running the BSPT once. The resulted SPT is kept in T̃ .

The flowchart of the BSPT algorithm is given in Fig. 3. In theinitialization step, the internal activity U of each neuron is setas 0, and the threshold value of each neuron is set as Vθ, exceptthe StartN neuron. The initial threshold of neuron StartN is setas a small value near 0. The kth threshold and the kth output ofeach neuron are calculated using (7) and (6), respectively. Theresulted SPT is recorded in the record step.

IV. DYNAMIC ALGORITHM

When the network topology changes in a routing area, eachrouter deletes the current SPT and recomputes a new one usingthe static algorithm. This is inefficient since the topology of thenew SPT does not always differ significantly from the previousone when some changes happen in the link states. Dynamicalgorithms for updating the SPT have the potential to rendera much more efficient performance because, usually, there areonly a few link-state changes at a time. This is achieved by

taking advantage of the available information in the originalSPT. By reducing the complexity of the SPT computation andhence eliminating this performance bottleneck, a larger routingarea for high-throughput networks is allowed. Previous work[15] on dynamic SPT update reduces the computation time incomparison to the static methods. However, this algorithm stillhas some redundant computations. In [16], an algorithm basedon a ball-and-string model where an edge weight change corre-sponds to the length change of the string is presented. However,there exists some redundant computation because of the updateprocess with unnecessary edge information stored in a queue.

The existed algorithms for dynamic SPT update reduce thecomputation time in comparison to the static methods, whiletheir computation complexities greatly depend on the numberof links. Larger number of links in the network would signifi-cantly decrease the performance. In addition, those algorithmscannot run in parallel. In this section, a new framework ofalgorithm is presented to update the SPT dynamically usingthe available information of the outdated SPT. The proposeddynamic algorithm does not depend on the link number and haspotential for parallel computation.

A. Preliminaries for the Dynamic Algorithm

An example for the case that one edge weight is increasedis shown in Fig. 4(a). The whole graph represents a networktopology. The node means a router, and the weight of the linkdenotes the cost between routers. The existing SPT for thegraph with the root on A is made up with all directed boldedges. The time attribute for each node is the firing time of thecorresponding neuron when computing SPT using the proposedstatic algorithm. The number inside the red square in the rightof each node represents the time attribute. When the weight ofthe edge from node E to L increases from 3 to 6, the SPT mustbe rebuilt. The traditional static algorithms recompute the newSPT from root A, while the shortest paths for some nodes arealways the same in both the old and the new SPT. As shown inFig. 4(b), those nodes that are outside of the area P1 encircledwith dotted lines in the new SPT have the same shortest pathswith that in the old one.

In order to avoid the redundant computation, some dynamicalgorithms have been proposed to recompute the SPT moreeffectively, for example, in [15] and [16]. These algorithmsinclude finding and updating the minimal part [in our example,this part is area P1 encircled with dotted lines in Fig. 4(b)] ofthe old SPT that has been affected by the change. In the findingprocess, this minimal part of the SPT is found and defined as asubgraph. Subsequently, all the edges entered into this subgraphwill be considered individually in the updating process. Thecomplexity of those methods is determined by the number ofedges, which start from the unaffected nodes and end with theaffected one in the graph. If the number of those edges is larger,the algorithm will run into a great trouble to process too manyiterations and comparisons. This is the main issue for thesealgorithms.

In the proposed method in this paper, the SPT is computedusing the proposed M-PCNNs. The main idea of the proposedstatic algorithm is to utilize the traveling of the autowave

Page 6: Efficient Shortest-Path-Tree Computation in Network Routing Based on Pulse-Coupled Neural Networks

This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.

6 IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART B: CYBERNETICS

Fig. 4. (a) Weight of edge from node E to L increases from 3 to 6. (b) New SPT.

Fig. 5. Initialized network after the edge from node E to L increases from3 to 6.

in the M-PCNNs. Each neuron fires at the time when theautowave travels to it. In fact, the routers in the routing area arecorresponding to the nodes in the graph, and the nodes in thegraph are represented by neurons in the proposed algorithm.In the computation of SPT using the static algorithm, a nodewould be added to the resultant SPT when the correspondingneuron fired. Therefore, each node in the resulted SPT isattached with a time attribute, and different nodes have differenttime attributes. When the link states change, there must be asubsistent existent node from which the topology of the SPTwill be changed. Then, this node is selected as the starting pointto recompute the new SPT. The network will be resumed to thesame state as that in this fixed time. Those nodes with a smallertime attribute than this selected node will not be recomputed forthe new SPT.

As shown in Fig. 5, when the weight of the edge from nodeE to L increases from 3 to 6 in Fig. 4(a), the node E isselected as the starting point to recompute the shortest path ofthe remaining nodes. The time attribute attached to node E is

10, the network will be resumed to the state at time 10 (savedin LT ), and all the nodes whose time attribute is smaller thanthat of node E (the nodes outside of the area P2 encircled withdashed lines) will be neglected. Run the network once with Eas the starting neuron, and the new SPT will be obtained.

B. Description of the Dynamic Algorithm

Algorithm 2 DSPT algorithm

1) INIT(˜Tnew);2) Calculate tStart,

tStart = GetStartT ime();

3) Resume the network to the state at time tStart:a) For any node i in T̃old, if ti ≤ tStart, then

ADD(˜Tnew, AN (P (i)) , AN(i)

);

b) FOR i = 1 TO N DOBEGIN

θ(i) =LT (tStart).θ(i);Mi =LT (tStart).Mi;

END;4) Compute the topology of ˜Tnew for the remaining nodes

using the BSPT(those nodes that fired after the time tStart

in the old SPT);5) T̃old ⇐= ˜Tnew.

Define T̃old as the old SPT, ˜Tnew as the new SPT when linkstates change, and tStart as the time attribute of the startingnode (the node from which the topology of the SPT willbe rebuilt) when link states change. The proposed dynamicalgorithm comprises two parts: One is computing tStart foreach link-state change, and the other is updating the SPT. Thecomputation of tStart for different link-state changes is crucial

Page 7: Efficient Shortest-Path-Tree Computation in Network Routing Based on Pulse-Coupled Neural Networks

This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.

QU et al.: EFFICIENT SPT COMPUTATION IN NETWORK ROUTING BASED ON PCNNs 7

TABLE IIMAIN SYMBOLS AND DEFINITIONS IN ALGORITHM 2

Fig. 6. Old SPT.

for the algorithm. The main symbols and definitions are listedin Table II.

In this section, in order to describe the algorithm intelli-gibly, a function GetStartT ime() is used to get the valueof tStart. Subsequently, the definition of GetStartT ime()

will be discussed in the next section. A function ADD(˜Tnew,AN(P (i)), AN(i)) is also defined to add the information of

edge P (i) → i to the ˜Tnew. Algorithm 2 formally describes thedynamic algorithm for SPT computation, denoted by DSPT.

In Step 1, ˜Tnew is initialized to φ. tStart is calculatedby GetStartT ime() in Step 2, and a detailed discussion ofGetStartT ime() is introduced in Section IV-C. Step 3.a addsthose notes with no change to the new SPT, and then, thethreshold and output of each neuron are resumed from LT inStep 3.b. The changing portion in T̃old is computed in Step 4,and the results are held in T̃new.

A series of figures are used to illustrate how the proposed dy-namic algorithms work on a simple network shown in Fig. 4(a).For simplicity, it is assumed that the link distance is the sameas in Fig. 4(a). In these figures, the number inside the redsolid square in the right of each node represents the timeattribute. The value in the green dashed square below the noderepresents the current threshold of the corresponding neuron. Inthe computation, Vθ is set as 1000, and Δθ is set as 1.

Fig. 6 shows the states of each neuron when the old SPT iscomputed. In this state, the threshold values of each neuron forall iterations are saved in LT .

Fig. 7. State of ˜Tnew after Step 3.a.

Fig. 8. State of ˜Tnew after Step 3.b.

If the edge from E to L increases from 3 to 6, the proposedalgorithm is used to recompute the SPT. After Step 1, the newSPT is initialized to φ; tStart is calculated in Step 2. In thisgraph, the value of tStart is 10. The shortest path of the nodeswhose time attribute is smaller than 10 will be added to ˜Tnew

in Step 3.a, as shown in Fig. 7.In Step 3.b, the state of each neuron is reset as the same value

as in LT (10), as shown in Fig. 8. In this state, the thresholds ofneurons M , S, and O are 1, 17, and 3, respectively. Then, theshortest path of the remaining nodes is computed in Step 4. Inthis step, the network starts working with the initialized valuesin Fig. 8. The autowave begins to travel through the remainingnodes. The composition of the new SPT will be accomplishedwhen the autowave reaches each neuron. The structure of thenew SPT is shown in Fig. 4(b).

C. Determination of tStart

Now, consider how to determine tStart. Define dynChangeas the basic type of link-state change. We consider six differentvalues of it, and each value represents a basic change of the linkstate. The values of it are shown in Table III.

Page 8: Efficient Shortest-Path-Tree Computation in Network Routing Based on Pulse-Coupled Neural Networks

This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.

8 IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART B: CYBERNETICS

TABLE IIIBASIC CHANGE OF LINK STATE

TABLE IVMAIN SYMBOLS AND DEFINITIONS IN ALGORITHM 3

In graph G = {V,E}, suppose that e is vi → vj , we is theoriginal cost weight associated with e, w′

e is the new cost weightof e after link change, and SPTold = {VSPT ;ESPT } is the oldSPT, where VSPT ⊂ V and ESPT ⊂ E. S(G) is the root ofSPTold. For each node j, denote L(j) as the length of the pathfrom S(G) to j in SPTold; ti and tlast are the time attributesof neuron i and neuron last, respectively, where neuron last isthe last fired neuron in SPTold.

Define a function GetStartT ime() to determine tStart

when the link states change. The main ideas of this functioncan be listed as follows.

1) Check the type when a link-state change occurs.2) Find the first neuron whose location would be affected by

this link change.3) Get the fire time of this neuron, and specify it as the value

of tStart.

For different link changes, the following psuedocode is usedto confirm the value of tStart. Before the discussion, somemain symbols and definitions used in this algorithm are listedin Table IV first.

Algorithm 3 Function GetStartT ime()Function GetStartT ime()

BegintStart = 0;CASE dynChange DoBegin

IncE:If e ∈ ESPT Then

tStart = ti

Else

tStart = tlast

Endif

DecE:If e �∈ ESPT Then

If L(j) > L(i) + w′e Then

tStart = ti

Else

tStart = tlast

EndifElse

tStart = tj

EndifAddE:

If L(i) + we < L(j) Then

tStart = ti

Else

tStart = tlast

EndifDelE:

If e ∈ ESPT Then

tStart = ti

Else

tStart = tlast

EndifAddN :

min = 1;For i = 1 To k;

If tNmin+ wemin

> tNi+ wei Then

min = i

EndifEndfor

tStart = tNmin

DelN :

tStart = tN ′

EndCaseRETURN tStart;

End

For clear understanding, the aforementioned psuedocode isexplained step by step in the following sections.

In the case of IncE, w′e > we, shown as in Fig. 5. This

weight change will not affect the SPT if the increased edge wasnot included in the old SPT.

In the case of DecE, w′e < we. As shown in Fig. 9(a), when

the weight of E → L is decreased, tStart is set to the timeattribute value of node L. While for edge F → E, F → E �∈

Page 9: Efficient Shortest-Path-Tree Computation in Network Routing Based on Pulse-Coupled Neural Networks

This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.

QU et al.: EFFICIENT SPT COMPUTATION IN NETWORK ROUTING BASED ON PCNNs 9

Fig. 9. Illustration on how the value of tStart is determined. (a) Weight decrease. (b) Edge added. (c) Edge deleted. (d) Node added. (e) Node deleted.

SPTold, when its weight is decreased from 4 to 2, L(F ) = 5,L(E) = 9, and L(E) > L(F ) + 2, so set tStart to the time at-tribute value of node F . For edge D → E, F → E �∈ SPTold,when its weight is decreased from 10 to 8, L(D) = 2, L(E) =9, and L(E) < L(D) + 8. This will not affect the structure ofSPT, and tStart is set as the value of tlast.

In the case of AddE, e is added to G. For an exampleas shown in Fig. 9(b), L(F )=5, L(L)=12, and L(K)=11.When edge F →L is added, L(F )+4<L(L), and then, tStart

is set as 6 (the time attribute of node F ). When edge K → L isadded, L(K)+3>L(L), and then, this edge will not affect thestructure of SPT, so tStart=21 (the value of tlast).

In the case of DelE, e is deleted from G. For example, asin Fig. 9(c), E → L ∈ ESPT . When this edge is deleted fromthe graph, the shortest path of nodes L, P , Q, S, and R will bechanged, so tStart is set as 10 (the time attribute of node E),while if D → E is deleted from the graph, the structure of SPTwill not be affected since D → E �∈ ESPT , so tStart = 21.

In the description of case AddN , N earmarks the node tobe added to G, k is defined as the number of nodes linkedto N , Ni is defined as the ith node which has a directed linkto N, ei is the edge from node Ni to node N , and wei is theweight attracted with edge ei. In this situation, tStart is set tobe the firing time of that node which is directly connected to Nand would bring the shortest path from the starting node to N .If there are more than one node which directly connected tothe node N and if all those connected nodes would bring theshortest path to N , then tStart is set to be the firing time of thatone with a longest path from the starting node. For an exampleas shown in Fig. 9(d), node T is added to the graph, nodes

E, P , and O have directed links to T , and the weights of thecorresponding edges are wE→T = 8, wP→T = 2, wO→T = 7.tE + wE→T = 18, tP + wP→T = 19, and tO + wO→T = 21,so set tStart as the value of tE = 10. In particular, if wP→T =1 in this figure, then tE + wE→T = tP + wP→T = 18. SincetE < tP , then tStart is set to be the value of tP = 17.

In the description of case DelN , supposing that N is thenode deleted from G, we define N ′ as the node whose timeattribute is just smaller than that of node N in SPTold. Asshown in Fig. 9(d), if Q is deleted, tQ = 16, and the timeattribute of node O is just smaller than 16, so tStart is set asthe value of tO = 14.

The above algorithm describes the flow of determining tStart

when a single link changes. It can also be extended easilyto deal with the multiple link changes. When multiple linkchanges occur, supposing that C1, C2, . . . , Cn are the n linkchanges occurring at the same time in the network, tStart1 ,tStart2 , . . . , tStartn are the values of tStart acquired from func-tion GetStartT ime() for the change. tStart in the multipleupdating case can be determined by the following method.

Algorithm 4 Determine tStart in multiple link updating.

1) Calculate

tStart1 , tStart2 , . . . , tStartn .

2) Set the value of tStart

tStart = min {tStart1 , tStart2 , . . . , tStartn} .

Page 10: Efficient Shortest-Path-Tree Computation in Network Routing Based on Pulse-Coupled Neural Networks

This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.

10 IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART B: CYBERNETICS

Fig. 10. Structures of resulted SPT. (a) In the best case. (b) In the worst case.

In most cases, whenever a link change occurs in a routingarea, the routing protocol will disseminate this informationthroughout the network. The router updates the SPT when thechanging information is listened. When multiple link weightchanges occur, the routing protocol disseminates that changinginformation, respectively, and the router runs the algorithmrepetitively for the multiple link changes.

V. COMPLEXITY ANALYSIS

The complexity of the BSPT is determined by the followingtwo items:

1) the total number of the nodes in G, denoted as |V |;2) the total iteration number to update the threshold of each

neuron, denoted as K.

Best Case

In a graph, if node O is directly connected with others andO → I is the shortest path from node O to node I , then BSPTcan achieve the best running time to compute the SPT rootedwith O. If all the weights from O to others are 1 and Δθ is setto be 1, then only one iteration is needed to compute the SPTfrom O in this graph. Fig. 10(a) gives a simple graph (right one)and the SPT from O (left one) in the case.

Worst Case

Denote T as an SPT from O in graph G, and suppose thatP is that node locating at the lowest layer of T . If all the othernodes in T are on the path between O to P , the computationof T needs the worst running time. In this case, the iterationnumber K is determined by the length of the path from O to P .For an example as shown in Fig. 10(b), the right one is a givengraph, and the left one is the corresponding SPT from O. A, B,and C are all in the path between O and D. If Δθ is set to be 1,then

K =woa + wab + wbc + wcd

1= 4.

Average Case

In the average case, the total iteration number is determinedby the structure of the resultant SPT and the value of Δθ in(7). Supposing that LMax is the maximum of L(v), for allv ∈ V , where L(v) is the length of the path from S(G) to v,then

K =

⌈LMax

Δθ

⌉.

If the weight of each edge is an integer and Δθ is set as 1, thenK = LMax.

The computational complexity of the DSPT is determinedby tStart as mentioned in Section IV. If tStart correspondsto the time when the first neuron fires in the old SPT, thenO(DSPT ) = O(BSPT ). If tStart corresponds to the timewhen the last neuron fires, then O(DSPT ) = |V |.

In general, the computational complexity of the BSPT can beexpressed as O(|V | ·K), and the computational complexity ofthe DSPT can be expressed as O(lg|V | ·K).

The proposed BSPT is an algorithm designed to computeSPT. It can also be used to compute the shortest path froma given node to another. To compare the efficiency of itwith the well-known static algorithms, the complexity [61]for each algorithm is listed in Table V. Here, we only listthe complexity of the algorithms for solving the shortest pathproblems. For SPT computation, BSPT is more effective thanothers since the other algorithms need more time to computethe SPT than to compute a single shortest path. while for ourproposed BSPT algorithm, it needs the same time to computeboth.

From Table V, it shows that the complexity of BSPT isassociated with the node number V and iteration number K.When K < |V |, BSPT is more efficient than the linear Dijkstraalgorithm; when K < lg|V |+ |E/V |, BSPT is more efficientthan the Fibonacci–Dijkstra algorithm. In the average case, thevalue of K(K = �LMax/Δθ�) is determined by the maximumlength of the shortest path from the root. In the graph, BSPTneeds more less time than other algorithms if the average lengthwas more smaller. This will be tested in Section VI-A by somecomputer simulations.

In general, Table V shows that the run time of the proposedalgorithms is not dependent on the number of edges. BSPT ismore efficient than others when the costs of edges are smalland the number of edges is large. In other words, BSPT is morecompetitive when the graph has so many edges and the weightsof the edges are all small, while the memory needed in theDSPT is larger than that of other algorithms.

In the OSPF routing protocols, wij is determined by thebandwidth of the corresponding link. The value of wij issmaller if the bandwidth is greater. In today’s IP networks, weblinks are becoming increasingly complex, and the bandwidth ofnetworks continues increasing, resulting in the number of edgesbecoming larger and larger, while the weight values wij of eachedge are becoming smaller and smaller. Thus, the proposedalgorithm is more suitable than others to compute the SPTin OSPF.

Page 11: Efficient Shortest-Path-Tree Computation in Network Routing Based on Pulse-Coupled Neural Networks

This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.

QU et al.: EFFICIENT SPT COMPUTATION IN NETWORK ROUTING BASED ON PCNNs 11

TABLE VCOMPARISON ON COMPUTATIONAL COMPLEXITY OF SOME WELL-KNOWN STATIC ALGORITHMS

TABLE VIEFFICIENCY COMPARISON BETWEEN THE BSPT AND DIJKSTRA ALGORITHM

VI. EXPERIMENTAL RESULTS AND DISCUSSION

In this section, to verify the theoretical results and theeffectiveness of the proposed algorithm, some experimentshave been carried out. These programs coded in MATLAB7.5 run in a compatible IBM PC with Pentium 4 2.66 GHz,512-MB RAM, and 1-MB L2 cache. In the simulations, all therandom numbers are generated using function RAND(), and allthe CPU’s time is measured using function ETIME() which isin seconds.

In the simulations, a series of randomly generated networksis considered. The network is generated in the following man-ner: N nodes are generated within a 200 × 200 square uni-formly. For each node i, an arc is directed from it to any othernode j if the Euclidean distance from i to j is no more than100. Supposing that dij is the Euclidean distance from i to j,then the cost of the arc from i to j (Wij) is set as the integerpart of 0.5 ∗ dij : wij = 0.5 ∗ dij�. In each run, the value of Vθ

in the M-PCNNs is set as 20 000; Ui is set as 0, which satisfiesthe conditions in Theorem 1; and Δθ is set as the value of 1.

A. Comparing With the Dijkstra Algorithm

The first simulation is conducted to compare the efficiencybetween the proposed BSPT and the Dijkstra algorithm. Sev-eral networks generated using the aforementioned method aretested. For each network, the SPT starting from an arbitrarilyselected node is calculated by using BSPT and the Dijkstraalgorithm, respectively. The proposed BSPT is implementedby using the method shown in Algorithm 1. Two algorithmsrun 500 times respectively for each generated network. TheCPU time (acquired by using function ETIME() in MATLAB) isrecorded and compared in Table VI. Fig. 11 shows the compari-son of CPU times for the BSPT and Dijkstra algorithm when Nincreases. The measured data in Fig. 11 come from Table VI.

From Table VI and Fig. 11, it shows that, for our randomlygenerated graphs, the BSPT is more effective than the Dijkstraalgorithm when N ≥ 150. The improvement of the CPU time is0.26% for the network with 150 nodes, is 10.36% for 200, and

Fig. 11. Change in CPU time for the BSPT and Dijkstra algorithm withincreasing N .

enlarges to 43.70% for 1000. This shows that the improvementrate of the BSPT is more notable than that of the Dijkstraalgorithm when the network size is increasing. Thus, the BSPTis more effective than the Dijkstra algorithm when the numberof edges is increasing and the cost of the edge is reducing.

Several full connected graphs are generated to compare theBSPT and the Dijkstra algorithm. Those graphs are generatedas follows: N nodes are generated within a 200 × 200 squareuniformly, and each node is directly connected with others. Thecost of the each edge is generated randomly among 1 to 50.Obviously, the triangle inequality does not hold in those graphs.From Fig. 12(a), it shows that, for the full connected graphs, theBSPT is also more effective than the Dijkstra algorithm whenthe number of nodes is large.

In the Complexity Analysis section, it is pointed out thatBSPT is more effective when the weights are small. Here, thisfeature is tested using a full connected graph with 500 nodes.The weight of each edge is also generated randomly between [1,10], [10, 20], [20, 30], [30, 40], [40, 50], [50, 60], and [60, 70],

Page 12: Efficient Shortest-Path-Tree Computation in Network Routing Based on Pulse-Coupled Neural Networks

This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.

12 IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART B: CYBERNETICS

Fig. 12. (a) Change in CPU time for full connected graphs with increasing N .(b) Time comparison of CPU times for different average edge weights.

TABLE VIICOMPARISON WITH DIFFERENT EDGE WEIGHTS

respectively. The results are shown in Table VII and Fig. 12(b).It shows that BSPT is more effective when the weights of theedges are generated in [1, 10], [10, 20], [20, 30], and [30, 40],while the Dijkstra algorithm is more effective when the weightof each edge is larger than 40.

It should be noted that BSPT can only deal with graphswith integral edge weights. However, in many real networkssuch as the Internet, the weight between two connected nodesrepresents the number of hops which is often an integer.

B. Comparison of DSPT and BSPT

The second simulation is carried out to illustrate the im-provement of the DSPT in comparison to the BSPT. In thissimulation, 200 weight changes of the edges (only edge weightincrements and decrements are considered) are tested based ona series of graphs generated using the aforementioned method(beginning in Section VI). Each weight change is generatedusing the following method.

1) Select an edge from the networks randomly.2) Generate a number C between 0 and 1 using the RAND()

function; generate another number A randomly between1 and 10.

3) If the C ≥ 0.5, add A to the link weight of this edge.4) Otherwise, minus A from the like weight of this edge, and

set it to be 1 if the new weight was smaller than 0.Then, the static algorithm and the dynamic algorithm are run

200 times respectively to deal with the prepared change one

Fig. 13. Topology of a generated network with 100 nodes.

Fig. 14. (a) Original SPT of Fig. 13. (b) SPT after 100 weight changes.The red nodes are changes of SPT.

by one for the generated network. The resulted data from theprogrammer are gathered and compared.

Fig. 13 shows the topology of a graph of 100 nodes withina 200 × 200 square; the nodes and the edges are randomlypicked as described at the beginning of Section IV. An originalSPT from an arbitrary node in Fig. 13 searched by the BSPTand the corresponding SPT searched by the DSPT after 100weight changes are shown in Fig. 14(a) and (b), respectively.Table VIII compares the results of these two algorithms fordifferent graphs, respectively.

From the results, it shows that the DSPT algorithm is moreeffective than the BSPT algorithm when a link change occursin the network. Note that the improvement in CPU time is notrelevant to the size of networks, for example, as it is less with200 nodes compared to 100 nodes but more with 300 nodes.Those results are in conformity with the intrinsic essentialityof those two algorithms, since the partial nodes in the old SPTare recomputed using BSPT in the DSPT, and all the weightchanges are generated randomly for each tested network.

Page 13: Efficient Shortest-Path-Tree Computation in Network Routing Based on Pulse-Coupled Neural Networks

This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.

QU et al.: EFFICIENT SPT COMPUTATION IN NETWORK ROUTING BASED ON PCNNs 13

TABLE VIIIPERFORMANCE IMPROVEMENT OF THE DSPT IN COMPARISON WITH THE BSPT

TABLE IXEFFICIENCY COMPARISON AMONG THE DSPT, DIJKSTRA, AND FIRST INCREMENTAL LINEAR ALGORITHM

C. Comparing With Other Dynamic Algorithms

Another simulation is conducted to compare the efficienciesof the DSPT, the Dijkstra algorithm, and the first incrementallinear algorithm proposed by Narvaez et al. [15] when somechanges occur.

Ten networks with nodes 50, 80, 100, 200, 300, 400, 700,1000, 3000, and 8000 are also generated and tested. The methodto generate networks is the same as that described at the begin-ning of Section VI. For each network, 200 weight incrementsare generated in the following steps.

1) Select 200 edges from the networks randomly.2) For each selected edge, a number A is generated ran-

domly between 1 and 10, and then, A is added to the linkweight of this edge.

For each generated network, the weight change is updatedsuccessively. After each update, the DSPT, Dijkstra algorithm,and first incremental linear algorithm are performed, respec-tively. The computational time is estimated [using functionETIME()] and compared.

The comparison of the CPU time needed for each algorithmis presented in Table IX. Fig. 15 shows the histograms of CPUtime for the DSPT, Dijkstra algorithm, and first incrementallinear algorithm. From Table IX and Fig. 15, it shows thatthe first incremental linear Dijkstra algorithm costs less CPUtime than the Dijkstra algorithm. DSPT needs less CPU timethan both the Dijkstra algorithm and the first incremental linearalgorithm when node n ≥ 80 and n ≥ 100, respectively. Thus,the DSPT is more efficient when the size is larger. Moreover, theimprovement of computational time is more notable when thesize is expanding.

Fig. 15. (1) Dijkstra algorithm. (2) First incremental linear Dijkstra algorithm.(3) DSPT.

D. Comparing With the Operation of the Real-Life Routers

In this simulation, the DSPT is compared with the incremen-tal SPF algorithm that is reported as the real operation in theCISCO router nowadays [63].

Seven networks with nodes 50, 100, 200, 300, 400, 700, and1000 the same as that in Section VI-B are tested and compared.For each network, 200 weight increments or decrements aregenerated the same as that in Section VI-B.

Exploring the same method in Section VI-C, we updatethe weight change successively for each network. Followingeach update, the proposed DSPT algorithm and the incremental

Page 14: Efficient Shortest-Path-Tree Computation in Network Routing Based on Pulse-Coupled Neural Networks

This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.

14 IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART B: CYBERNETICS

TABLE XPERFORMANCE IMPROVEMENT OF THE DSPT IN COMPARISON WITH INCREMENTAL SPF ALGORITHM

TABLE XICPU TIMES OF THE ALGORITHM FOR NETWORKS WITH DIFFERENT EDGES

SPF algorithm are performed, respectively. The computationaltime is estimated and compared, and the results are shown inTable X.

From the results, it shows that our proposed DSPT algorithmneeds more CPU time for the network with a tiny size, e.g.,the network with 50 nodes, and less CPU time for largernetworks, e.g., the networks with 100, 200, 300, 400, 700, or1000 nodes. It shows that the proposed DSPT is more efficientthan the incremental SPF algorithm in the larger size networks.Moreover, the improvement of computational time is morenotable when the size is increasing. The improvement is 3.21%for the network with 100 nodes, while it becomes 61.33% whenthe numbers of the node increase into 1000.

E. Comparing With Related Method-Based PCNNs

An OTCNN [55] and an SDPCNN [58] were proposed tosolve the shortest path problem.

This paper presents a BSPT to find the SPT. It is necessaryto explain the key differences and similarities between theOTCNN, SDPCNN, and BSPT in this section.

The OTCNN presents a novel idea to find the shortest pathusing PCNNs [55]. However, it is a time-dependent modelsince the threshold function of each neuron was closely relatedwith the running time. It is almost impossible to come true byusing current software technology. Hence, it is very hard toimplement and apply the OTCNN to real-world problems. Incomparison, the threshold value Δθ of each neuron in the BSPTis independent with time. In most cases, Δθ is set to a smallinteger, such as 1. Thus, BSPT is very easy to implement butless appropriate to solve graphs with decimal edge weight. Thispaper emphasizes on the dynamic updating method of the BSPTin the network routing. In the routing protocol, the connectioncost is often expressed by a hop number (an integer). Thus, theproposed algorithms are suitable to solve such problems.

The SDPCNN is a simplified delay PCNN [57]. The authorsclaimed that it does not need the iterative calculation and can

Fig. 16. CPU time changes with different edges.

reduce the computation time. However, it is too simple andlacks biological connection. It is not a PCNN model indeedsince the feeding input, linking input, and dynamic thresholdare all annulled. It is a modified description of the Dijkstraalgorithms since the delay is directly proportional to the edgelength.

F. Verification for the Theoretical Results

In the section of complexity analysis, it is pointed out thatthe proposed algorithms do not depend on the number of edges.In the following, this property is verified in detail. Severalnetworks with 200 nodes are considered, and each network hasa different number of edges. The BSPT and Dijkstra algorithmare used to find the SPT from the rooted node. The comparisonsof the CPU times for different networks are shown in Table XIand Fig. 16. We can see that the CPU’s time changes a little forBSPT with the increase of the edges since the complexity ofBSPT does not depend on the number of edges.

Page 15: Efficient Shortest-Path-Tree Computation in Network Routing Based on Pulse-Coupled Neural Networks

This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.

QU et al.: EFFICIENT SPT COMPUTATION IN NETWORK ROUTING BASED ON PCNNs 15

VII. CONCLUSION

In this paper, a new algorithm is proposed based on anM-PCNNs to compute the SPT in network routing. The shortestpaths from a single “start” node to all multidestination nodesare generated simultaneously and in parallel by running thenetwork only once. A static algorithm is proposed based on theM-PCNNs to compute the SPT efficiently for large-scale prob-lems. In addition, a dynamic algorithm is proposed to improvethe computational efficiency when link states change. The com-putational complexity of the proposed algorithms is analyzedmathematically to show their merit. Simulation results showthe effectiveness and efficiency of the proposed methods. Theproposed algorithms have great merit when the network scaleis very large and are suitable to solve the SPT problems in therouting of very large area. The complexity analysis shows thatthe proposed algorithms do not depend on the number of edgesof the networks. It is easy to extend the proposed M-PCNNs toother cases when the topology experiences slight change.

The parallel computation of the network will result in a rapidcomputation of the SPT if the network is realized with VLSI.The VLSI implementation of PCNNs or pulse code neuralnetworks have been studied by many researchers; some of thosetechnologies can be found in [62] and [65].

In the simulations, the connection costs are all selected asintegral values. The delay of the threshold value Δθ decides thespeed of the M-PCNNs; a befitting value of the threshold wouldachieve significant improvement for the performance. In mostcases, Δθ is often to be set as a unit number, such as 1. Concern-ing the routing in OSPF, the connection cost is often expressedby a hop number (an integer). Thus, the proposed algorithms aresuitable to solve such problems. In the future work, the modelof PCNNs for continuous connection cost will be studied.

REFERENCES

[1] J. Moy, “OSPF Version 2,” Cascade Commun. Corp., Cascade, IA, RFC2178, Jul. 1997.

[2] O. Sharon, “Dissemination of routing information in broadcast networks:OSPF versus IS-IS,” IEEE Netw., vol. 15, no. 1, pp. 56–65, Jan./Feb. 2001.

[3] C. Baransel, W. Dobosiewicz, and P. Gburzynski, “Routing in multihoppacket switching networks: Gb/s challenge,” IEEE Netw., vol. 9, no. 3,pp. 38–61, May/Jun. 1995.

[4] T. Yamasaki and T. Ushio, “An application of a computational ecologymodel to a routing method in computer networks,” IEEE Trans. Syst.,Man, Cybern. B, Cybern., vol. 32, no. 1, pp. 99–106, Feb. 2002.

[5] B. Rajagopalan and M. Faiman, “A responsive distributed shortest-pathrouting algorithm within autonomous system,” Internetw.: Res. Exp.,vol. 2, no. 1, pp. 51–69, Mar. 1991.

[6] Y. Mei, K. Tang, and X. Yao, “A global repair operator for capacitated arcrouting problem,” IEEE Trans. Syst., Man, Cybern. B, Cybern., vol. 39,no. 3, pp. 723–734, Jun. 2009.

[7] S. Misra and B. J. Oommen, “Dynamic algorithms for the shortest pathrouting problem: Learning automata-based solutions,” IEEE Trans. Syst.,Man, Cybern. B, Cybern., vol. 35, no. 6, pp. 1179–1192, Dec. 2005.

[8] E. Dijkstra, “A note on two problems in connection with graphs,” in Proc.Numer. Math., 1959, vol. 1, pp. 269–271.

[9] V. Paxson, “End-to-end routing behavior in the Internet,” IEEE/ACMTrans. Netw., vol. 5, no. 5, pp. 601–615, Oct. 1997.

[10] B. Xiao, J. Cao, Z. Shao, and E. H.-M. Sha, “An efficient algorithm fordynamic shortest path tree update in network routing,” J. Commun. Netw.,vol. 9, no. 4, pp. 499–510, Dec. 2007.

[11] V. King, “Fully dynamic algorithms for maintaining all-pairs shortestpaths and transitive closure in digraphs,” in Proc. IEEE Symp. Found.Comput. Sci., 1999, pp. 81–91.

[12] C. Demetrescu and G. F. Italiano, “Fully dynamic all pairs shortest pathswith real edge weights,” J. Comput. Syst. Sci., vol. 72, no. 5, pp. 813–837,Aug. 2006.

[13] D. Frigioni, A. Marchetti-Spaccamela, and U. Nanni, “Fully dynamicoutput bounded single source shortest path problem,” in Proc. 7th Annu.ACM-SIAM Symp. Discrete Algorithms, 1998, pp. 212–221.

[14] S. Chaudhuri and C. D. Zaroliagis, “Shortest path queries in digraphsof small treewidth,” in Proc. Lect. Notes Comput. Sci., 1995, vol. 944,pp. 244–255.

[15] P. Narvaez, K.-Y. Siu, and H.-Y. Tzeng, “New dynamic algorithms forshortest path tree computation,” IEEE/ACM Trans. Netw., vol. 8, no. 6,pp. 734–746, Dec. 2000.

[16] P. Narvaez, K.-Y. Siu, and H.-Y. Tzeng, “New dynamic algorithm SPTbased on a ball-and-string model,” IEEE/ACM Trans. Netw., vol. 9, no. 6,pp. 706–718, Dec. 2001.

[17] J. Moy, “OSPF Version 2,” Internet Eng. Task Force, Netw. Work. Grp,Fremont, CA, RFC 2328, Apr. 1998.

[18] Cisco System Inc., San Jose, CA. [Online]. Available: http://www.cisco.com

[19] J. McQuillan, I. Richer, and E. Rosen, “ARPANET Routing AlgorithmImprovements,” Bolt Beranek Newman Inc., Cambridge, MA, BBN Tech.Rep. 3803, Apr. 1978.

[20] J. McQuillan, I. Richer, and E. Rosen, “The new routing algorithm forthe ARPANET,” IEEE Trans. Commun., vol. 28, no. 5, pp. 711–719,May 1980.

[21] H.-K. Tsai, J.-M. Yang, Y.-F. Tsai, and C.-Y. Kao, “An evolution-ary algorithm for large traveling salesman problems,” IEEE Trans.Syst., Man, Cybern. B, Cybern., vol. 34, no. 4, pp. 1718–1729,Aug. 2004.

[22] J. J. Hopfield and D. W. Tank, “Neural computation of decisions inoptimization problems,” Biol. Cybern., vol. 52, no. 3, pp. 141–152,Jul. 1985.

[23] Z. Yi and K. K. Tan, “Global convergence of Lotka–Volterra recurrentneural networks with delays,” IEEE Trans. Circuits Syst. I, Reg. Papers,vol. 52, no. 11, pp. 2482–2489, Nov. 2005.

[24] Z. Yi, J. C. Lv, and L. Zhang, “Output convergence analysis for aclass of delayed recurrent neural networks with time varying inputs,”IEEE Trans. Syst., Man, Cybern. B, Cybern., vol. 36, no. 1, pp. 87–95,Feb. 2006.

[25] L. Zhang, Z. Yi, and J. Yu, “Multiperiodicity and attractivity of de-layed recurrent neural networks with unsaturating piecewise linear trans-fer functions,” IEEE Trans. Neural Netw., vol. 19, no. 1, pp. 158–167,Jan. 2008.

[26] D. W. Tank and J. J. Hofield, “Simple neural optimization networks:An A/D converter, signal decision circuit, and a linear programmingcircuit,” IEEE Trans. Circuits Syst., vol. CAS-33, no. 5, pp. 533–541,May 1986.

[27] H. J. Tang, K. C. Tan, and Z. Yi, “A columnar competitive model forsolving combinatorial optimization problems,” IEEE Trans. Neural Netw.,vol. 15, no. 6, pp. 1568–1574, Nov. 2004.

[28] G. G. Lendaris, K. Mathia, and R. Saeks, “Linear Hopfield networks andconstrained optimization,” IEEE Trans. Syst., Man, Cybern. B, Cybern.,vol. 29, no. 1, pp. 114–118, Feb. 1999.

[29] J. Wang, Y. Zhou, J. Yin, and Y. Zhang, “Competitive Hopfield net-work combined with estimation of distribution for maximum diversityproblems,” IEEE Trans. Syst., Man, Cybern. B, Cybern., vol. 39, no. 4,pp. 1048–1066, Aug. 2009.

[30] H. Qu, Z. Yi, and H. J. Tang, “Improving local minima of columnarcompetitive model for TSPs,” IEEE Trans. Circuits Syst. I, Reg. Papers,vol. 53, no. 6, pp. 1353–1362, Jun. 2006.

[31] A. Zhu and S. X. Yang, “A neural network approach to dynamic taskassignment of multirobots,” IEEE Trans. Neural Netw., vol. 17, no. 5,pp. 1278–1287, Sep. 2006.

[32] S. X. Yang and M. Meng, “Neural network approaches to dynamiccollision-free robot trajectory generation,” IEEE Trans. Syst., Man,Cybern. B, Cybern., vol. 31, no. 3, pp. 302–318, Jun. 2001.

[33] S. X. Yang and M. Meng, “An efficient neural network approach to dy-namic robot motion planning,” Neural Netw., vol. 13, no. 2, pp. 143–148,Mar. 2000.

[34] S. X. Yang and C. Luo, “A neural network approach to complete coveragepath planning,” IEEE Trans. Syst., Man, Cybern. B, Cybern., vol. 34, no. 1,pp. 718–725, Feb. 2004.

[35] D. L. Wang and D. Terman, “Locally excitatory globally inhibitory os-cillator networks,” IEEE Trans. Neural Netw., vol. 6, no. 1, pp. 283–286,Jan. 1995.

[36] D. L. Wang and D. Terman, “Image segmentation based on oscillatorycorrelation,” Neural Comput., vol. 9, no. 4, pp. 805–836, May 1997.

Page 16: Efficient Shortest-Path-Tree Computation in Network Routing Based on Pulse-Coupled Neural Networks

This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.

16 IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART B: CYBERNETICS

[37] R. Eckhorn, H. J. Reitboeck, M. Arndt, and P. W. Dicke, “Feature linkingvia synchronization among distributed assemblies: Simulations of resultsfrom cat visual cortex,” Neural Comput., vol. 2, no. 3, pp. 293–307,Sep. 1990.

[38] J. L. Johnson and D. Ritter, “Observation of periodic waves in a pulse-coupled neural network,” Opt. Lett., vol. 18, no. 15, pp. 1253–1255,Aug. 1993.

[39] J. L. Johnson, “Pulse-coupled neural nets: Translation, rotation, scale,distortion, and intensity signal invariance for images,” Appl. Opt., vol. 33,no. 26, pp. 6239–6253, Sep. 1994.

[40] H. S. Ranganath and G. Kuntimad, “Object detection using pulse coupledneural networks,” IEEE Trans. Neural Netw., vol. 10, no. 3, pp. 615–620,May 1999.

[41] F. Pacifici and F. D. Frate, “Automatic change detection in very highresolution images with pulse-coupled neural networks,” IEEE Geosci.Remote Sens. Lett., vol. 7, no. 1, pp. 58–62, Jan. 2010.

[42] H. Zhuang, K.-S. Low, and W.-Y. Yau, “Multichannel pulse-coupled-neural-network-based color image segmentation for object detection,”IEEE Trans. Ind. Electron., vol. 59, no. 8, pp. 3299–3308, Aug. 2012.

[43] X. Gu, D. Yu, and L. Zhang, “Image thinning using pulse coupled neu-ral networks,” Pattern Recognit. Lett., vol. 25, no. 9, pp. 1075–1084,Jul. 2004.

[44] L. Ji, Z. Yi, L. Shang, and X. Pu, “Binary fingerprint image thinning usingtemplate-based PCNNs,” IEEE Trans. Syst., Man, Cybern. B, Cybern.,vol. 37, no. 5, pp. 1407–1413, Oct. 2007.

[45] D. Agrawal and J. Singhai, “Multifocus image fusion using modified pulsecoupled neural network for improved image quality,” IET Image Process.,vol. 4, no. 6, pp. 443–451, Dec. 2011.

[46] S. Wei, H. Qu, and M. Hou, “Automatic image segmentation based onPCNN with adaptive threshold time constant,” Neurocomputing, vol. 74,no. 9, pp. 1485–1491, Apr. 2011.

[47] Y. Chen, S. K. Park, Y. Ma, and R. Ala, “A new automatic parametersetting method of a simplified PCNN for image segmentation,” IEEETrans. Neural Netw., vol. 22, no. 6, pp. 880–892, Jun. 2011.

[48] X. Zhang and A. Minai, “Temporally sequenced intelligent block-matching and motion-segmentation using locally coupled networks,”IEEE Trans. Neural Netw., vol. 15, no. 5, pp. 1202–1214, Sep. 2004.

[49] R. C. Muresan, “Pattern recognition using pulse-coupled neural networksand discrete Fourier transforms,” Neurocomputing, vol. 51, pp. 487–493,Apr. 2003.

[50] A. P. Timoszczuk and E. F. Cabral, “Speaker recognition using pulsecoupled neural networks,” in Proc. IJCNN, 2007, pp. 1965–1969.

[51] Q. Liu, Y. Wang, and Y. Ma, “Image feature extraction and recognitionbased on adaptive unit-linking pulse coupled neural networks,” in Proc.IEEE 10th Int. Conf. Comput.-Aided Ind. Design Concept. Design, 2009,pp. 2065–2068.

[52] N. Chou, J. Wu, J. B. Bingren, A. Qiu, and K. H. Chuang, “Robust au-tomatic rodent brain extraction using 3-D pulse-coupled neural networks(PCNN),” IEEE Trans. Image Process., vol. 20, no. 9, pp. 2554–2564,Sep. 2011.

[53] H. Qu, S. X. Yang, A. R. Willms, and Z. Yi, “Real-time robot pathplanning based on a modified pulse coupled neural network model,” IEEETrans. Neural Netw., vol. 20, no. 11, pp. 1724–1739, Nov. 2009.

[54] H. J. Caulfield and M. Kinser, “Finding the shortest path in the shortesttime using PCNNs,” IEEE Trans. Neural Netw., vol. 10, no. 3, pp. 604–606, May 1999.

[55] J. Zhang, D. Wang, M. Shi, and J. Y. Wang, “Output-threshold coupledneural network for solving the shortest path problems,” Sci. China Ser. F,Inf. Sci., vol. 47, no. 1, pp. 20–33, Feb. 2004.

[56] X. Wang, H. Qu, and Z. Yi, “A modified pulse coupled neural network forshortest-path problem,” Neurocomputing, vol. 72, no. 13–15, pp. 3028–3033, Aug. 2009.

[57] Y. Zhang, L. Wu, G. Wei, and S. Wang, “A novel algorithm for all pairsshortest path problem based on matrix multiplication and pulse coupledneural network,” Digital Signal Process., vol. 21, no. 4, pp. 517–521,Jul. 2011.

[58] Y. Zhang and L. Wu, “A novel algorithm for APSP problem via a sim-plified delay pulse coupled neural network,” J. Comput. Inf. Syst., vol. 7,no. 3, pp. 737–744, 2011.

[59] J. Chen and T. Shibata, “A neuron-MOS-based VLSI implementation ofpulse-coupled neural networks for image feature generation,” IEEE Trans.Circuits Syst. I, Reg. Papers, vol. 57, no. 6, pp. 1143–1153, Jun. 2010.

[60] X. Gu, L. Zhang, and D. Yu, “Delay PCNN and its application foroptimization,” in Proc. Lect. Notes Comput. Sci., 2004, vol. 3173,pp. 413–418.

[61] T. Cormen, C. Leiserson, and R. Rivest, Introduction to Algorithms.Cambridge, MA: MIT Press, 1990.

[62] Y. Ota and B. M. Wilamowski, “Analog implementation of pulse-coupledneural networks,” IEEE Trans. Neural Netw., vol. 10, no. 3, pp. 539–544,May 1999.

[63] [Online]. Available: http://www.cisco.com/en/US/docs/ios/12_0s/feature/guide/ospfispf.html

[64] J. L. Johnson and M. L. Padgett, “PCNN models and applications,” IEEETrans. Neural Netw., vol. 10, no. 3, pp. 480–498, May 1999.

[65] Y. Ota, “VLSI structure for static image processing with pulse-coupledneural network,” in Proc. IEEE 28th Annu. Conf. Ind. Electron. Soc.,2002, vol. 4, pp. 3221–3226.

Hong Qu (M’09) received the B.S. degree and theM.S. and Ph.D. degrees in computer science and en-gineering from the University of Electronic Scienceand Technology of China, Chengdu, China, in 2000,2003, and 2006, respectively.

From March 2007 to February 2008, he was aPostdoctoral Fellow at the Advanced Robotics andIntelligent Systems Laboratory, School of Engineer-ing, University of Guelph, Guelph, ON, Canada. Heis currently a Professor with the School of ComputerScience and Engineering, University of Electronic

Science and Technology of China. His current research interests include neuralnetworks, robot, neurodynamics, intelligent computation, and optimization.

Zhang Yi (M’08–SM’09) received the Ph.D. degreein mathematics from the Institute of Mathematics,Chinese Academy of Science, Beijing, China, in1994.

He is currently a Professor at Sichuan University,Chengdu, China, and acts as the Dean of the Collegeof Computer Science. He is the Founder of the Ma-chine Intelligence Laboratory, College of ComputerScience, Sichuan University. He has published morethan 100 refereed articles. He is the coauthor of thebooks Convergence Analysis of Recurrent Neural

Networks (Norwell, MA: Kluwer, 2004) and Neural Networks: ComputationalModels and Applications (Heidelberg, Germany: Springer-Verlag, 2007). Heis the holder of two patents in China for his data mining system and sealrecognition system based on neural network methods. His research interestsinclude machine intelligence, neural networks, data mining, and machinelearning. Currently, he is especially interested in neocortex computing towardintelligent machines.

Simon X. Yang (S’97–M’99–SM’08) received theB.Sc. degree in engineering physics from BeijingUniversity, Beijing, China, in 1987, the first oftwo M.Sc. degrees in biophysics from the ChineseAcademy of Sciences, Beijing, in 1990, the secondM.Sc. degree in electrical engineering from the Uni-versity of Houston, Houston, TX, in 1996, and thePh.D. degree in electrical and computer engineer-ing from the University of Alberta, Edmonton, AB,Canada, in 1999.

He joined the School of Engineering at the Uni-versity of Guelph, Guelph, ON, Canada, in 1999. He is currently a Professorand the Head of the Advanced Robotics and Intelligent Systems Laboratory atthe University of Guelph. His research interests include intelligent systems,robotics, sensors and multisensor fusion, wireless sensor networks, controlsystems, soft computing, systems modeling and analysis, and computationalneuroscience.

Prof. Yang serves as the Editor-in-Chief of the Journal of Robotics andArtificial Intelligence and an Associate Editor of the IEEE TRANSACTIONS

ON SYSTEMS, MAN, AND CYBERNETICS, PART B, the International Journalof Robotics and Automation, and several other journals. He has been involvedin the organization of many conferences. He is the General Chair of the 2006International Conference on Sensing, Computing, and Automation and theGeneral Chair of the 2011 IEEE International Conference on Logistics andAutomation.