frogsim: distributed graph coloring in wireless ad hoc networks

13
Telecommun Syst (2014) 55:211–223 DOI 10.1007/s11235-013-9776-0 FrogSim: distributed graph coloring in wireless ad hoc networks An algorithm inspired by the calling behavior of Japanese tree frogs Hugo Hernández · Christian Blum Published online: 17 August 2013 © Springer Science+Business Media New York 2013 Abstract Graph coloring, which is at the heart of several problems arising in wireless ad hoc networks, concerns the problem of assigning colors to the nodes of a graph such that adjacent nodes do not share the same color. This pa- per deals with the problem of generating valid colorings in a distributed way, while minimizing the number of colors used. Examples of related problems in wireless ad hoc net- works are TDMA slot assignment, wakeup scheduling, and data collection. The presented algorithm is inspired by the desynchronization observed in the context of the calling be- haviour of male Japanese tree frogs. Experimental results in- dicate that the proposed algorithm is very competitive with current state-of-the-art approaches. Keywords Distributed graph coloring · Swarm Intelligence · Wireless ad hoc networks This work was supported by grant TIN2012-37930 of the Spanish Government. In addition, support is acknowledged from IKERBASQUE (Basque Foundation for Science). H. Hernández Faculty of Technology and Environment, Prince of Songkla University, Phuket Campus, Thailand e-mail: [email protected] C. Blum (B ) Department of Computer Science and Artificial Intelligence, University of the Basque Country, San Sebastian, Spain e-mail: [email protected] C. Blum IKERBASQUE, Basque Foundation for Science, Bilbao, Spain 1 Introduction The graph coloring problem (GCP) is a generic problem which is at the heart of many optimization problems aris- ing in practice. The optimization version of the GCP can be formally defined as follows. A valid k -coloring (k> 0) of an undirected graph G = (V,E) is a function c : V {1, 2,...,k} such that c(u) = c(v) for all (u,v) E. The optimization goal of the GCP problem consists in finding a valid k -coloring of G, where k is as small as possible. Note that k is known as the chromatic number χ(G) of a graph G. This problem is NP -hard [11]. The GCP also arises in the context of wireless ad hoc networks. Example applications are TDMA slot assign- ment [20, 22], wake-up scheduling [12, 13, 21], and data collection [19]. Due to the distributed nature of wireless ad hoc networks, algorithms are required to work in a decen- tralized way [17]. An important advantage of distributed al- gorithms is the fact that they can easily be applied within large networks. This is because they make only use of lo- cal information obtained from neighboring nodes. On the downside, due to the lack of a global view of the prob- lem, distributed algorithms for graph coloring are often not able to capture (and exploit) the structure of network topolo- gies. Therefore, the performance of distributed graph col- oring algorithms is not comparable to the performance of well-working centralized approaches. Encouraged by the beneficial use of other bio-inspired techniques in the context of wireless ad hoc networks (see, for example, [1, 9]), the main idea of this paper concerns the use of the calling behaviour of male Japanese tree frogs for the design of a light-weight, general-purpose algorithm for distributed graph coloring. The principal feature of the frogs’ behaviour is the desynchronization of their calls in a self-organized way. Therefore, the algorithm proposed in

Upload: christian

Post on 24-Jan-2017

216 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: FrogSim: distributed graph coloring in wireless ad hoc networks

Telecommun Syst (2014) 55:211–223DOI 10.1007/s11235-013-9776-0

FrogSim: distributed graph coloring in wireless ad hoc networks

An algorithm inspired by the calling behavior of Japanese tree frogs

Hugo Hernández · Christian Blum

Published online: 17 August 2013© Springer Science+Business Media New York 2013

Abstract Graph coloring, which is at the heart of severalproblems arising in wireless ad hoc networks, concerns theproblem of assigning colors to the nodes of a graph suchthat adjacent nodes do not share the same color. This pa-per deals with the problem of generating valid colorings ina distributed way, while minimizing the number of colorsused. Examples of related problems in wireless ad hoc net-works are TDMA slot assignment, wakeup scheduling, anddata collection. The presented algorithm is inspired by thedesynchronization observed in the context of the calling be-haviour of male Japanese tree frogs. Experimental results in-dicate that the proposed algorithm is very competitive withcurrent state-of-the-art approaches.

Keywords Distributed graph coloring · SwarmIntelligence · Wireless ad hoc networks

This work was supported by grant TIN2012-37930 of the SpanishGovernment. In addition, support is acknowledgedfrom IKERBASQUE (Basque Foundation for Science).

H. HernándezFaculty of Technology and Environment, Prince of SongklaUniversity, Phuket Campus, Thailande-mail: [email protected]

C. Blum (B)Department of Computer Science and Artificial Intelligence,University of the Basque Country, San Sebastian, Spaine-mail: [email protected]

C. BlumIKERBASQUE, Basque Foundation for Science, Bilbao, Spain

1 Introduction

The graph coloring problem (GCP) is a generic problemwhich is at the heart of many optimization problems aris-ing in practice. The optimization version of the GCP canbe formally defined as follows. A valid k-coloring (k > 0)of an undirected graph G = (V ,E) is a function c : V →{1,2, . . . , k} such that c(u) �= c(v) for all (u, v) ∈ E. Theoptimization goal of the GCP problem consists in findinga valid k∗-coloring of G, where k∗ is as small as possible.Note that k∗ is known as the chromatic number χ(G) of agraph G. This problem is NP -hard [11].

The GCP also arises in the context of wireless ad hocnetworks. Example applications are TDMA slot assign-ment [20, 22], wake-up scheduling [12, 13, 21], and datacollection [19]. Due to the distributed nature of wireless adhoc networks, algorithms are required to work in a decen-tralized way [17]. An important advantage of distributed al-gorithms is the fact that they can easily be applied withinlarge networks. This is because they make only use of lo-cal information obtained from neighboring nodes. On thedownside, due to the lack of a global view of the prob-lem, distributed algorithms for graph coloring are often notable to capture (and exploit) the structure of network topolo-gies. Therefore, the performance of distributed graph col-oring algorithms is not comparable to the performance ofwell-working centralized approaches.

Encouraged by the beneficial use of other bio-inspiredtechniques in the context of wireless ad hoc networks (see,for example, [1, 9]), the main idea of this paper concernsthe use of the calling behaviour of male Japanese tree frogsfor the design of a light-weight, general-purpose algorithmfor distributed graph coloring. The principal feature of thefrogs’ behaviour is the desynchronization of their calls ina self-organized way. Therefore, the algorithm proposed in

Page 2: FrogSim: distributed graph coloring in wireless ad hoc networks

212 H. Hernández, C. Blum

Fig. 1 Evolution of a system of two oscillators. The circle representsthe calling period (2π ). Each node on the circle represents the phasevalue (θ ) of an oscillator. (a) Initial situation with the phase values oftwo oscillators mapped to a circle. Note that both oscillators fire close

in time. (b) The phase values after some iterations. The system hasmanaged to increase the distance between the phase values of the os-cillators. (c) Final situation. The two oscillators have phase values inperfect anti-phase, that is, opposite of each other on the circle

this work may be attributed to the field of swarm intelli-gence (SI) [4, 5], which is an artificial intelligence disciplinewhose goal is the design of intelligent multi-agent systemsby taking inspiration from the collective behaviour of ani-mal societies such as ant colonies, flocks of birds, or fishschools. Due to the intrinsicly distributed nature of SI tech-niques, they are often used for distributed problem solving.

In the remainder of this introduction we will first intro-duce the calling behaviour of Japanese tree frogs, and sec-ond we will give a review on prior work related to distributedgraph coloring.

1.1 Japanese tree frogs’ calling behaviour

Biological research has shown that male Japanese tree frogsare able to decouple their calls in a self-organized way [23].This behaviour is useful because it helps females to correctlylocalize the males. Aihara et al. [2, 3] proposed a theoreticalmodel for simulating this behavior. Their model consists ofa system of oscillators, each of which representing a frog.Oscillators are characterized by a variable phase θ ∈ [0,2π]and a natural frequency ω (where 2π is the time interval be-tween two calls of the same frog). The phase value θ of anoscillator represents the time offset between the beginningof a time period and the firing of the corresponding oscil-lator. In the proposed system, oscillators iteratively try tomaximize the distance between their respective phase val-ues.

In the case of only two oscillators, the proposed systemworks perfectly; that is, irrespectively of their initial phasevalues, two oscillators always end up in perfect anti-phase.Unfortunately, problems appear as soon as the number of os-cillators increases. The basic working of a system with twooscillators is graphically illustrated in Fig. 1. It is importantto realize that the system does not reach perfect anti-phasein a single step, but may take an indefinite number of iter-ations to do so. Also note that for systems with more thanthree oscillators stable solutions are not guaranteed, evenfor simulations over extended periods of time. Moreover,

the difficulty of reaching an optimal configuration tends toincrease with an increasing number of oscillators as well aswith an increasing degree of interactions between them (notethat a couple of frogs that are not within hearing distance ofeach other are modelled by two oscillators that do not influ-ence each other). In fact, Lee and Lister [16] experimentallyshowed that the number of interactions is the most impor-tant factor when considering the hardness of achieving thedesynchronization of a particular topology of oscillators.

The initial model by Aihara et al. [3] was extended inlater works. Noteworthy is the one by Mutazono et al. [18],where the model for anti-phase synchronization is extendedfor the purpose of collision-free transmission schedulingin sensor networks. They showed that the introduction ofweights for the strength of the interaction between pairsof oscillators clearly improves the models performance forlarger systems of interacting oscillators. Also notable isthe model extension introduced by Lee and Lister in [16].Among other extensions they proposed a so-called frustra-tion parameter for the reduction of the coupling betweenpairs of oscillators.

1.2 Relation to prior work

In the context of distributed algorithms for graph coloringit is very difficult to reduce the state of the art to a smallset of techniques. The reason is that algorithms may be de-veloped with various different goals in mind, including, forexample, the performance for particular topologies, the min-imization of communication rounds, the generation of thebest colorings possible, and the performance for dynami-cally changing topologies. Another major problem is relatedto the sets of benchmark instances, which—in most cases—are not publicly available. Moreover, results are generallynot shown per instance, making it difficult to compare to theproposed algorithms.

One of the best general-purpose algorithms for dis-tributed graph coloring was presented by Finocchi et al.in [8]. The authors study three different variations of their

Page 3: FrogSim: distributed graph coloring in wireless ad hoc networks

FrogSim: distributed graph coloring in wireless ad hoc networks 213

algorithm and study their behavior under various condi-tions. Apart from exploring the ability of the algorithm tofind O(Δ + 1)-colorings in as few communication roundsas possible, the authors of [8] also considered the goal ofgenerating valid colorings while minimizing the number ofused colors. This latter goal is the one we adopted for ourresearch. The authors provide extensive experimentation forboth cases. Apart from studying random topologies, the au-thors also provide the performance results of the algorithmsfor a well-known set of graph instances available from theDIMACS challenge [7].

The related literature also offers distributed algorithmsrelying on swarm intelligence principles as, for example,a method inspired by the synchronous flashing of fireflies(see [14]). The algorithm proposed in [14] runs extremelyfast. In fact, it only requires a single communication roundregardless of the size and the structure of the consideredgraph. Unfortunately, regarding the quality of the solutions,this work obtains very poor results in terms of the numberof colors required. Also the calling behaviour of frogs hasalready been used for graph coloring. The first intent was in-troduced in [16]. The proposed algorithm makes use of themodel of Aihara et al. [3]. After simulating the model it as-signs a color to each different phase value. Therefore, nodeswith the same phase value share the same color. The maindrawback of this approach is that nodes with similar phasevalues receive different colors, a situation which occurs fre-quently. Assuming that the number of distinct phase values(respectively, colors) is known a priori, the same authorsshowed in [15] that their algorithm is able to find optimal so-lutions to hand-made topologies of not more than 12 nodes.Note that in contrast to these works, the algorithm that wepropose in this paper aims for the minimization of the usednumber of colors without any prior knowledge about the op-timal solution.

The main difference to other distributed graph coloringalgorithms inspired by frogs’ calling behaviour is as fol-lows. In FrogSim, the phase values are used for determiningthe order in which the nodes are allowed to choose colors,whereas in previous algorithms (such as [16]) there was adirect relation between these values and specific colors (asoutlined above). One of the consequences is that our algo-rithm provides a valid coloring already at the end of the firstcommunication round.

Finally, we would like to mention that the work presentedin this paper is an extension of [10]. The extension concernsan experimental evaluation in order to show the usefulnessof the proposed model extension. Moreover, the proposedalgorithm is evaluated under different stopping conditions.

1.3 Organization of the paper

The rest of this paper is organized as follows. In Sect. 2 wepresent an implementation of the original model (see [3])

for the calling behaviour of Japanese tree frogs in wirelessad hoc networks. Moreover, we present an improvement ofthis model. The proposed algorithm for graph coloring isintroduced in Sect. 3, whereas in Sect. 4 the experimentalevaluation of the proposed algorithm is presented. Finally,Sect. 5 is dedicated to conclusions and the outline of futurework.

2 Implementation of the Aihara-model in wireless adhoc networks

As a first step we provide an implementation of the origi-nal model by Aihara et al. [3] in wireless ad hoc networks.Moreover, we study a possible improvement of this model.

2.1 Preparations

The working of our implementation requires an a priori or-ganization of the ad hoc network in form of a rooted tree.The root node of this tree (henceforth also called masternode) will have some additional functionalities in compar-ison to the rest of the nodes. Once the tree is available, themaster node runs a protocol to calculate the height of thetree, that is, the distance in hops (communication rounds)from the master node to the farthest node in the network.In order to produce a tree with a low height, the distributedmethod for generating spanning trees with minimum diam-eter as presented in [6] may be used. Next, the master nodetriggers the start of the main algorithm by means of a broad-cast message. In this message, the height of the tree is com-municated to the rest of the nodes as well. Below it will bedescribed how this overlay tree structure is be used to calcu-late the state of convergence which will be used to stop thealgorithm.

2.2 Main algorithm

Given is a set V of n static nodes that are equipped withradio antennas. The algorithm works iteratively, in the fol-lowing way. Each iteration consists of one communicationround. Note that the concept of a communication round cor-responds to the calling period (of length 2π ) of the modelby Aihara et al. [3]. However, with the aim of simplifica-tion we assign the unit length 1 to a communication round.At each communication round, each node executes a sin-gle desynchronization event. The precise moment at whicha node i ∈ V executes its desynchronization event dependson the value of its variable θi ∈ [0,1).1 Moreover, a desyn-

1Note that θi corresponds to the phase value of an oscillator from themodel by Aihara et al. [3]. Moreover, recall that these phase valueschange over time and that the evolution of the phase value over time isdifferent for each node.

Page 4: FrogSim: distributed graph coloring in wireless ad hoc networks

214 H. Hernández, C. Blum

Algorithm 1 Desynchronization event of node i

1: θi := recalculateTheta()2: sendMessage()3: clearMessageQueue()

chronization event includes the sending of exactly one mes-sage. Therefore, each node i maintains a message queue Mi

for desynchronization event messages received from othernodes since the last execution of its own event. The pseudo-code of a desynchronization event is shown in Algorithm 1.In the following we provide a technical description of thefunctions of Algorithm 1.

As mentioned above, in each communication round, anode i executes its desynchronization event at time θi . First,node i will examine its message queue Mi . If Mi containsmore than one message from the same sender node, all thesemessages apart from the last one are deleted. In general, adesynchronization event message m ∈ Mi contains only onereal number:

m = 〈thetam〉, (1)

where thetam ∈ [0.1) is the θ -value of the emitter. The sub-index m simply indicates that thetam is a data field of mes-sage m.

Based on the messages in Mi , function recalculateTheta()then calculates a new value for θi :

θi := θi − αi

m∈Mi

sin(2π · (thetam − θi))

2π, (2)

where αi ∈ [0,1] is a parameter used to control the conver-gence of the system. In general, the lower the value of αi thesmaller the change applied to θi . Note that the multiplica-tion of (thetam − θi) with 2π and the division of the resultof the sinus function by 2π is necessary for the transforma-tion of the length of a calling period from [0,2π] to [0,1].Finally, node i sends the following message m (see functionsendMessage()):

m = 〈thetam := θi〉 (3)

To conclude a desynchronization event, node i deletes allmessages from its queue Mi (see function clearMessage-Queue()), that is, Mi = ∅.

2.3 Detecting convergence

The remaining issue which has to be described is the algo-rithms’ stopping mechanism. In this context recall the rootedtree which is generated before the execution of the mainalgorithm starts. The key characteristic of this tree is itsheight, henceforth referred to by h. It determines the max-imum number of communication rounds necessary for the

master node to broadcast a message to all other nodes. Inturn, it also determines the maximum number of commu-nication rounds necessary to pass information from all thenodes to the master node. The main goal of the tree is toefficiently alert the nodes about when and how to stop ex-ecuting the desynchronization events. In the following weassume that the master node knows the size of the network.At each communication round, each node i must communi-cate the following information to its parent node in the tree:(1) a real number corresponding to the sum of the distancesbetween the old theta values and the new ones concerningall nodes included in the subtree rooted at node i, (2) aninteger indicating the corresponding communication roundnumber. In fact, these values can easily be added to the bodyof the desynchronization event messages. In other words, noadditional messages are required.

Note that, for example, in the first communication roundonly the leaves of the tree will report the differences betweentheir old and new theta values to their parents. This is be-cause the leaves are the only nodes without children. In thesecond communication round, the parents of the leaves willbe able to add these values to their own distances betweenthe old and new theta values from the first communicationround and report the aggregated data to their respective par-ents. Given the height h of the tree, it takes h communicationrounds until all the information regarding a specific commu-nication round has reached the master node. This means thatthe sensor nodes must store the differences between theirold and new theta values during h communication rounds.Once all the necessary information reaches the master node,it divides the value by the size of the network and obtains inthis way the average change of the theta values in the corre-sponding communication round. In case this average changeis below a certain threshold value (in our case we alwaysused 0.001), the master node broadcasts a stopping messageto all nodes, which terminates the algorithm.

2.4 An alternative phase shift function

The goal of this section is to propose a new phase shiftfunction—that is, a replacement for the sinus function usedin Eq. (2)—in order to simplify the algorithm. This newfunction is as follows. Based on the messages in Mi , func-tion recalculateTheta() recalculates a new value for θi in thefollowing way:

θi := θi + αi

m∈Mi

inc[thetam − θi], (4)

where αi ∈ [0,1] is, again, a parameter used to control theconvergence of the system. Moreover, inc[·] is the new func-tion that replaces the phase shift function of Eq. (2). More

Page 5: FrogSim: distributed graph coloring in wireless ad hoc networks

FrogSim: distributed graph coloring in wireless ad hoc networks 215

Fig. 2 Ad hoc network topologies used for the experimentation

specifically, inc[·] is defined as follows:

inc[x] ={

x − 0.5 if x ≥ 0

x + 0.5 if x < 0(5)

Note that, for the application of this function, the value ofall θ -values must be kept within [0,1). Therefore, if—afterexecuting Eq. (4)—the value of θi is negative, 1 is iterativelyadded to θi until θi ∈ [0,1).

In general, the hope is to achieve a similar, or even better,convergence behavior with this much simpler function.

2.5 Desynchronization experiments

We applied two versions of the presented algorithm to 12small ad hoc network topologies. These algorithm versionsare defined as follows: (1) The original model, and (2) themodel using the new theta-value update from Eq. (4). Eachof the two algorithm versions was applied 100 times to eachof the following 12 ad hoc network topologies:

• line-2.gph: two connected nodes• line-3.gph: three connected nodes in a line• line-10.gph: 10 connected nodes in a line• cycle-3.gph: three fully connected nodes• cycle-4.gph: four cyclicly connected nodes• cycle-10.gph: 10 cyclicly connected nodes• houseoftriangles-3.gph: see Fig. 2(a)• petersen.gph: see Fig. 2(b)• rectriangle-9.gph: see Fig. 2(c)• spare.gph: see Fig. 2(d)

• wheel-8.gph: see Fig. 2(e)• star-8.gph: see Fig. 2(f)

The last six of these topologies are graphically presented inFig. 2. Note that all topologies should be interpreted as fol-lows. In case two nodes are connected by a link it is assumedthat they receive each others transmissions. The optimaldistribution of the theta-values (in terms of desynchroniza-tion) can be easily derived in each of the above describedtopologies. In this context, the theta-values are consideredto be optimally distributed if they are maximally separatedfrom each other. For example, in the case of line-2.gph themaximal separation value is 0.5. Another example concernsspare.gph where this value is 0.3.

Results are shown in Tables 1(a) and 1(b). For each of thetwo algorithm versions we indicate for each of the 12 ad hocnetwork topologies the number of times (out of 100 appli-cations) in which an optimal distribution of the theta-valueswas obtained. Hereby, Table 1(a) provides these numbersconcerning an error margin of 5%, whereas the numbersgiven in Table 1(b) are calculated on the basis of an errormargin of 15%. For each algorithm version there are fourcolumns of numbers. Each of these columns corresponds toa different value of αi .

On the basis of these results, the following observationscan be made. The results of the model with the new phaseshift function are—apart from only few exceptions—betterthan the results obtained with the original model. This ap-plies in particular to more difficult cases such as spare.gph,wheel-8.gph, and houseof-triangles-3.gph. Moreover, the re-sults indicate that a rather high setting of αi , that is αi ∈

Page 6: FrogSim: distributed graph coloring in wireless ad hoc networks

216 H. Hernández, C. Blum

Table 1 Results concerning the new phase shift function

Instance Model using the new phase shift function Original model by Aihara et al.

0.25 0.5 0.75 1.0 0.25 0.5 0.75 1.0

(a) Success rates (in terms of the number of successful applications out of 100) calculated on the basis of an error margin of 5 %

cycle-10.gph 7 65 70 66 4 79 72 77

cycle-3.gph 100 100 100 100 100 100 100 100

cycle-4.gph 89 94 98 100 100 100 100 100

houseoftriangles-3.gph 18 13 9 10 0 0 0 0

line-10.gph 8 52 100 100 14 45 100 100

line-2.gph 100 100 100 100 100 100 100 100

line-3.gph 99 100 100 100 100 99 100 98

petersen.gph 8 2 1 0 0 0 0 0

rectriangle-9.gph 100 100 100 100 100 100 100 100

spare.gph 0 0 0 0 0 0 0 0

star-8.gph 99 100 99 100 98 97 99 100

wheel-8.gph 60 70 66 67 16 12 11 7

averages 57.333 66.333 70.250 70.250 52.667 61.000 65.167 65.167

(b) Success rates (in terms of the number of successful applications out of 100) calculated on the basis of an error margin of 15 %

cycle-10.gph 55 65 70 66 67 79 72 77

cycle-3.gph 100 100 100 100 100 100 100 100

cycle-4.gph 89 94 98 100 100 100 100 100

houseoftriangles-3.gph 50 37 31 24 0 0 0 0

line-10.gph 75 100 100 100 76 100 100 100

line-2.gph 100 100 100 100 100 100 100 100

line-3.gph 99 100 100 100 100 100 100 98

petersen.gph 10 2 1 0 0 0 0 0

rectriangle-9.gph 100 100 100 100 100 100 100 100

spare.gph 80 88 90 93 0 0 0 0

star-8.gph 99 100 100 100 98 98 99 100

wheel-8.gph 95 98 98 100 93 99 100 100

averages 79.333 82.000 82.333 81.917 69.500 73.000 72.583 72.917

(c) Average distance to the optimal distribution of the theta-values

cycle-10.gph 0.055 0.039 0.032 0.035 0.045 0.026 0.030 0.024

cycle-3.gph 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000

cycle-4.gph 0.032 0.016 0.005 0.000 0.005 0.001 0.000 0.000

houseoftriangles-3.gph 0.028 0.032 0.036 0.042 0.064 0.070 0.070 0.071

line-10.gph 0.028 0.012 0.006 0.004 0.028 0.013 0.007 0.004

line-2.gph 0.002 0.000 0.000 0.000 0.002 0.000 0.000 0.000

line-3.gph 0.006 0.001 0.000 0.000 0.004 0.002 0.000 0.005

petersen.gph 0.039 0.044 0.045 0.046 0.047 0.050 0.050 0.050

rectriangle-9.gph 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000

spare.gph 0.020 0.019 0.018 0.018 0.036 0.042 0.045 0.048

star-8.gph 0.004 0.001 0.001 0.000 0.006 0.003 0.001 0.000

wheel-8.gph 0.010 0.009 0.009 0.009 0.019 0.020 0.020 0.020

averages 0.019 0.014 0.013 0.013 0.021 0.019 0.019 0.019

Page 7: FrogSim: distributed graph coloring in wireless ad hoc networks

FrogSim: distributed graph coloring in wireless ad hoc networks 217

Table 1 (Continued)

Instance Model using the new phase shift function Original model by Aihara et al.

0.25 0.5 0.75 1.0 0.25 0.5 0.75 1.0

(d) Average number of communication rounds executed before reaching the stopping condition

cycle-10.gph 37.230 24.170 15.910 11.470 45.580 28.260 19.950 15.050

cycle-3.gph 10.740 6.300 4.680 4.850 23.020 14.170 10.040 8.670

cycle-4.gph 13.740 8.060 5.350 2.260 21.030 11.770 7.740 5.650

houseoftriangles-3.gph 22.500 13.830 10.290 7.880 55.210 36.520 23.370 19.060

line-10.gph 49.460 38.040 30.750 24.330 51.000 44.050 33.190 27.700

line-2.gph 8.750 5.350 3.740 2.000 10.200 6.030 4.400 3.330

line-3.gph 12.840 7.600 5.130 2.490 16.320 9.600 6.920 4.740

petersen.gph 18.430 10.910 7.860 6.690 33.290 24.430 19.820 19.480

rectriangle-9.gph 30.180 18.440 14.280 9.910 41.210 37.310 27.560 25.270

spare.gph 12.150 7.540 5.480 5.090 26.780 19.120 16.910 14.640

star-8.gph 16.240 9.060 5.920 3.090 22.360 12.990 9.170 7.110

wheel-8.gph 18.040 10.730 8.110 6.920 51.910 37.710 29.130 20.250

averages 20.858 13.336 9.792 7.248 33.159 23.497 17.350 14.246

{0.75,1.0} seems to be best for both model versions. Theresults of Table 1(b), however, indicate that consistent re-sults are rather achieved with smaller values for αi , that is,αi ∈ {0.5,0.75}. For the sake of completeness, Table 1(c)provides the average distances from the optimal distributionof the theta values.

Finally, it is also interesting to study the average numberof communication rounds needed by the different algorithmversions before reaching the stopping condition. This infor-mation is given in Table 1(d). Note that the model using thenew phase shift function needs significantly less communi-cation rounds than the system using the original phase shiftfunction. The faster convergence caused by the new phaseshift function can also be observed graphically in Fig. 3.More specifically, Figs. 3(a) and 3(b) show the evolutionof the average distance between the theta-values of nodesconnected by a link for graph spare.gph. Hereby, subfig-ure (a) presents the behavior of the original model, whereassubfigure (b) concerns the behavior of the model using thenew phase shift function. Finally, Figs. 3(c) and 3(d) showthe evolution of the four theta-values for a representativerun. While Fig. 3(c) presents this evolution for the originalmodel, Fig. 3(d) concerns the evolution of the theta valuesas obtained from the model using the new phase shift func-tion. Observe that the separation between the theta values isclearly better in Fig. 3(d).

On the basis of the results obtained in this section, wenext devise a distributed algorithm for graph coloring whichis outlined in the following section.

Algorithm 2 Coloring event of node i

1: θi := recalculateTheta()2: ci := minimumColorNotUsed()3: sendColoringMessage()4: clearMessageQueue()

3 The FROGSIM algorithm

In this section we describe the way in which we extendedthe algorithm presented in the previous section in order togenerate valid graph colorings using as few colors as pos-sible. This extended algorithm will henceforth be referredto by FROGSIM. The basic way of working is the same asdescribed in Sect. 2. However, in addition to θi , each nodei also maintains a color, denoted by ci ∈ N. Note that, forsimplicity and without loss of generality, natural numbersgreater than zero are used to uniquely identify colors. More-over, instead of executing at each communication round adesychronization event at time θi , a node i executes a so-called coloring event as summarized in Algorithm 2. In thefollowing paragraphs we give a detailed description of eachparticular step.

When executing its coloring event, a node i first adaptsthe value of θi in function recalculateTheta(). This is done onthe basis of the messages from the message queue Mi . Onlyone message from each possible sender node is considered.In the case that Mi contains two or more messages from thesame sender node, the newest one prevails and the others arediscarded. A message m ∈ Mi has the following format:

m = 〈thetam, colorm〉, (6)

Page 8: FrogSim: distributed graph coloring in wireless ad hoc networks

218 H. Hernández, C. Blum

Fig. 3 Experimental results concerning topology spare.gph. (a) and(b) show the evolution of the average distance between the theta valuesof connected nodes. While (a) refers to the original model, (b) concernsthe model using the new phase shift function. (c) and (d) show—for a

representative run of the system—the evolution of the four theta val-ues. The graphic in (c) represents the behavior of the original model,while (d) shows the behavior of the model using the new phase shiftfunction

where thetam ∈ [0.1) contains the θ -value of the emitter andcolorm is the color currently used by the emitter. Next, func-tion recalculateTheta() calculates a new value for θi as previ-ously described in Eq. (4). Then, node i decides for a (pos-sibly) new color in function minimumColorNotUsed(). For-mally, this function computes the following value:

ci := min{c ∈N | �m ∈ Mi with colorm = c} (7)

In words, node i chooses the color with the lowest identi-fier while discarding those colors that appear in messagesm ∈ Mi . Before finalizing its coloring event, node i mustcommunicate its new color to its neighbors. This is doneby means of function sendColoringMessage(). This functionsends the following message m:

m = 〈thetam := θi, colorm := ci〉 (8)

To conclude its coloring event, node i clears message queueMi by removing all messages (see function clearMessage-Queue()).

3.1 Determining and storing the best coloring

Recall that each node chooses—at each communicationround—a color such that no conflicts between neighboring

nodes arise. This means that FROGSIM produces a valid col-oring already in the first communication round. Even thoughthe algorithm tends to improve this coloring over time, dueto the self-organized desynchronization of the θ -values, thecurrent coloring frequently becomes worse from one com-munication round to the next one. In other words, the colorassignment of the last communication round might not cor-respond to the best color assignment found during the courseof the algorithm. The graphic of Fig. 4 shows the evolu-tion of the quality of the current solutions over 80 commu-nication rounds (concerning instances DSJC1000.9.col andflat300_26_0.col from the DIMACS challenge [7]). Eventhough the quality of the coloring, as expected, improvesover time, it also frequently worsens.

Therefore, we found it convenient to provide the systemwith a mechanism that allows to remember the best color-ing that was found. Such a system was proposed by Zivanin [24]. Before describing the working of the mechanism,recall the rooted tree that is generated before the executionof the main algorithm (see Sect. 2.1). The key characteristicof this tree is its height, referred to by h. The mechanism forstoring the best coloring proposed by Zivan requires eachnode to store the color it uses in the best-found coloring inan additional variable. The main goal of the system is to ef-ficiently alert the nodes about when and how to update this

Page 9: FrogSim: distributed graph coloring in wireless ad hoc networks

FrogSim: distributed graph coloring in wireless ad hoc networks 219

Fig. 4 Evolution of the quality of the solutions generatedby FROGSIM over 80 communication rounds. (a) InstanceDSJC1000.9.col, (b) Instance flat300_26_0.col

variable. The algorithm also requires each node to store thehistory of colors from the last 2h communication rounds. Ateach communication round, each node must communicatethe maximum color used in a certain communication roundby itself and its children (with respect to the tree) to its par-ent in the tree. Messages for this type of information passingonly contain two integers: one for the maximum color usedand another one to identify the corresponding communica-tion round. In fact, these values can easily be added to thebody of the coloring event messages used by FROGSIM. Inother words, no additional messages are required.

Given the height h of the tree, it takes h communicationrounds until all the information regarding a specific com-munication round has reached the root node. Moreover, thenumber of colors used in a particular communication roundis the maximum color identifier that reaches the root nodevia one of its children. In case this maximum color is lowerthan the number of colors used in the currently best-foundcoloring, the root node broadcasts a message with the corre-sponding communication round identifier in which this col-oring was obtained. In order for this information to reach allthe nodes of the network, another h communication roundsare necessary. This is why all nodes must store their colorsfrom the last 2h communication rounds.

4 Experimental evaluation

The FROGSIM algorithm was implemented in C++ withoutusing any external libraries and experiments were performedby means of discrete event simulation. In order to facili-tate the comparison to our approach we chose the publicly

available graphs from the DIMACS challenge [7] as bench-mark instances. These graph instances can be seen as ad hocnetwork topologies, by interpreting two nodes that are con-nected by an edge as two nodes that are within communi-cation range of each other. For the comparison we chosethe best one of the algorithms introduced by Finocchi et al.in [8]. This algorithm, henceforth referred to by FINOCCHI,is currently one of the best general-purpose algorithms fordistributed graph coloring. As FINOCCHI was only appliedto some of the DIMACS graphs, we decided to re-implementthis algorithm. Unfortunately, the description of the algo-rithm in [8] suffers from several ambiguities. As a conse-quence, we were forced to take certain design decisions forour re-implementation. Fortunately, our re-implementationof FINOCCHI obtains generally better results than those re-ported in [8]. The interested reader may easily verify this bycomparing the results reported in [8] with the results that wereport below.

Just like FINOCCHI, FROGSIM is a probabilistic algo-rithm due to a random initial setting of the θ -values. There-fore, both algorithms were applied 100 times to each prob-lem instance. The results reported below include the bestcoloring found within 100 runs, as well as the average qual-ity of the best colorings found in these 100 runs. Concerningthe number of used communication rounds, it is importantto note that algorithms such as FINOCCHI and FROGSIM—when used in ad hoc networks—are generally executed by alower-level layer of the network in a continuous way. Thislimits the relevance of the number of communication roundsnecessary to reach the best solution. Nevertheless, averag-ing over all problem instances, FROGSIM and FINOCCHI

required a comparable number of communication roundsfor generating their best solutions. Interestingly, we foundthat—in the case of FROGSIM—the number of commu-nication rounds does not depend so much on the numberof nodes of the network topology. Instead, the number ofrequired communication rounds increases with increasingdensity, that is, when the number of edges grows.

In the context of FROGSIM, which may be stopped afterany number of communication rounds, we decided to testseveral different communication round limits. More specif-ically, we repeated the experiments with FROGSIM withthe following three communication round limits: 10, 50,100. Note that 10 communication rounds are generally notenough for FROGSIM to converge to a certain theta-valuesetting. On the other side, 100 communication rounds aregenerally enough for the algorithm to converge. As a last re-mark, note that the size of the messages used in FROGSIM

is logarithmic in the number of nodes (O(logn)). However,the only logarithmic message field is the field of the coloridentifier which could be easily bounded by a constant formost network topologies. Therefore, for both experimenta-tion and general discussion we consider that the size of the

Page 10: FrogSim: distributed graph coloring in wireless ad hoc networks

220 H. Hernández, C. Blum

Table 2 Comparison between FINOCCHI and FROGSIM, which is applied with three different communication round limits (10, 50, and 100). Foreach algorithm is given the value of the best coloring found, as well as the average solution quality over 100 applications

Instance (|V |,Δ,χ) FINOCCHI FROGSIM-10 FROGSIM-50 FROGSIM-100

colors average colors average colors average colors average

DSJC1000.1.col (1000,127,≥5) 30 31.790 30 30.920 29 29.790 29 29.760

DSJC1000.5.col (1000,551,≥13) 125 128.550 123 125.920 118 121.230 118 120.310

DSJC1000.9.col (1000,924,≥51) 314 322.590 311 317.210 304 309.050 300 307.050

DSJC125.1.col (125,23,5) 7 8.120 7 7.800 7 7.700 7 7.640

DSJC125.5.col (125,75,17) 24 25.600 23 24.500 22 23.910 22 23.950

DSJC125.9.col (125,120,44) 53 56.110 52 54.660 50 53.850 51 53.860

DSJC250.1.col (250,38,≥6) 12 12.990 12 12.350 11 12.050 11 12.270

DSJC250.5.col (250,147,≥20) 41 42.850 40 41.450 39 40.240 38 40.200

DSJC250.9.col (250,234,≥71) 93 98.060 91 95.680 88 93.600 90 93.420

DSJC500.1.col (500,68,≥5) 18 19.860 18 19.010 18 18.510 18 18.590

DSJC500.5.col (500,286,≥16) 70 73.520 70 72.040 66 69.310 66 68.950

DSJC500.9.col (500,471,≥123) 173 178.280 171 174.790 165 170.360 164 169.550

DSJR500.1.col (500,25,12) 13 14.550 13 14.190 13 14.160 13 14.100

DSJR500.1c.col (500,497,85) 106 114.050 101 106.930 99 103.830 97 103.780

DSJR500.5.col (500,388,122) 145 149.420 141 146.520 141 146.300 142 146.500

flat1000-50-0.col (1000,520,50) 123 125.870 121 123.740 116 119.090 115 118.070

flat1000-60-0.col (1000,524,60) 123 126.130 121 123.890 117 119.470 116 118.440

flat1000-76-0.col (1000,532,76) 123 126.860 120 124.500 116 119.830 116 118.850

flat300-20-0.col (300,160,20) 45 46.700 43 45.230 42 43.900 42 43.720

flat300-26-0.col (300,158,26) 45 47.480 44 46.220 43 44.570 42 44.500

flat300-28-0.col (300,162,28) 45 47.260 44 46.130 42 44.650 42 44.410

fpsol2.i.1.col (496,252,65) 65 65.720 65 65.000 65 65.000 65 65.000

fpsol2.i.2.col (451,346,30) 35 38.300 30 30.400 30 30.250 30 30.210

fpsol2.i.3.col (425,346,30) 34 38.180 30 30.430 30 30.250 30 30.330

inithx.i.1.col (864,502,54) 54 60.000 54 54.000 54 54.000 54 54.000

inithx.i.2.col (645,541,31) 38 50.240 31 31.070 31 31.000 31 31.000

inithx.i.3.col (621,542,31) 39 50.250 31 31.080 31 31.000 31 31.000

le450-15a.col (450,99,15) 20 21.980 20 21.400 20 21.290 20 21.220

le450-15b.col (450,94,15) 21 21.910 20 21.210 20 21.280 20 21.110

le450-15c.col (450,139,15) 29 31.520 28 30.210 28 29.680 28 29.770

le450-15d.col (450,138,15) 30 31.520 29 30.340 28 29.880 28 29.850

le450-25a.col (450,128,25) 27 28.570 27 28.070 27 28.030 27 27.910

le450-25b.col (450,111,25) 26 28.040 26 27.580 26 27.500 26 27.470

le450-25c.col (450,179,25) 35 37.070 34 35.800 34 35.620 34 35.530

le450-25d.col (450,157,25) 35 37.110 34 35.900 34 35.580 34 35.530

le450-5a.col (450,42,5) 12 13.260 12 12.700 11 12.530 12 12.380

le450-5b.col (450,42,5) 12 13.290 12 12.700 12 12.540 11 12.410

le450-5c.col (450,66,5) 15 16.880 13 15.030 9 13.040 8 12.560

le450-5d.col (450,68,5) 15 16.820 13 14.950 10 12.910 10 12.650

anna.col (138,71,11) 11 11.470 11 11.050 11 11.090 11 11.050

david.col (87,82,11) 11 12.250 11 11.560 11 11.570 11 11.470

games120.col (120,13,9) 9 9.030 9 9.010 9 9.010 9 9.000

homer.col (561,99,13) 13 14.510 13 13.660 13 13.630 13 13.680

huck.col (74,53,11) 11 11.000 11 11.000 11 11.000 11 11.000

jean.col (80,36,10) 10 10.450 10 10.130 10 10.080 10 10.080

Page 11: FrogSim: distributed graph coloring in wireless ad hoc networks

FrogSim: distributed graph coloring in wireless ad hoc networks 221

Table 2 (Continued)

Instance (|V |,Δ,χ) FINOCCHI FROGSIM-10 FROGSIM-50 FROGSIM-100

colors average colors average colors average colors average

miles1000.col (128,86,42) 43 45.060 43 44.550 43 44.370 42 44.410

miles1500.col (128,106,73) 73 74.760 73 74.090 73 73.820 73 73.800

miles250.col (128,16,8) 8 9.440 8 9.030 8 9.030 8 8.990

miles500.col (128,38,20) 21 22.330 20 21.730 20 21.670 20 21.580

miles750.col (128,64,31) 32 34.050 32 33.380 32 33.590 32 33.450

mulsol.i.1.col (197,121,49) 49 49.480 49 49.000 49 49.000 49 49.000

mulsol.i.2.col (188,156,31) 31 32.450 31 31.020 31 31.000 31 31.000

mulsol.i.3.col (184,157,31) 31 32.520 31 31.050 31 31.000 31 31.000

mulsol.i.4.col (185,158,31) 31 32.610 31 31.070 31 31.000 31 31.000

mulsol.i.5.col (186,159,31) 31 32.380 31 31.000 31 31.000 31 31.000

myciel2.col (5,2,3) 3 3.000 3 3.000 3 3.000 3 3.000

myciel3.col (11,5,4) 4 4.030 4 4.000 4 4.000 4 4.000

myciel4.col (23,11,5) 5 5.090 5 5.010 5 5.000 5 5.000

myciel5.col (47,23,6) 6 6.280 6 6.000 6 6.010 6 6.000

myciel6.col (95,47,7) 7 8.010 7 7.030 7 7.000 7 7.020

myciel7.col (191,95,8) 10 11.600 8 8.120 8 8.050 8 8.040

queen10-10.col (100,35,11) 14 15.360 14 14.760 14 14.700 14 14.660

queen11-11.col (121,40,11) 15 16.730 15 16.170 15 16.000 15 16.040

queen12-12.col (144,43,12) 17 18.090 16 17.470 16 17.410 16 17.290

queen13-13.col (169,48,13) 18 19.430 18 18.820 17 18.760 17 18.560

queen14-14.col (196,51,14) 20 20.830 19 20.170 19 19.960 19 19.960

queen15-15.col (225,56,15) 21 21.960 20 21.470 20 21.260 20 21.190

queen16-16.col (256,59,16) 22 23.330 21 22.830 21 22.370 21 22.490

queen5-5.col (25,16,5) 6 7.690 5 6.720 5 6.790 5 6.840

queen6-6.col (36,19,7) 8 9.490 8 8.980 8 8.900 8 9.010

queen7-7.col (49,24,7) 10 11.100 9 10.520 10 10.360 9 10.370

queen8-12.col (96,32,12) 13 15.120 14 14.730 14 14.660 14 14.740

queen8-8.col (64,27,9) 11 12.490 11 11.990 11 11.860 11 11.890

queen9-9.col (81,32,10) 13 13.880 12 13.290 12 13.300 12 13.230

school1.col (385,282,14) 41 45.200 35 40.130 34 39.350 35 38.930

school1-nsh.col (352,232,14) 37 40.190 34 37.260 33 36.280 32 36.290

zeroin.i.1.col (211,111,49) 49 49.980 49 49.010 49 49.010 49 49.010

zeroin.i.2.col (211,140,30) 30 31.620 30 30.110 30 30.060 30 30.100

zeroin.i.3.col (206,140,30) 30 31.560 30 30.140 30 30.050 30 30.090

messages is constant (O(1)). In other words, the messagesize does not depend on the network size. This is surely adesirable property of a distributed algorithm for graph col-oring.

4.1 Results for DIMACS graphs

The set of instances proposed in the context of the secondDIMACS challenge [7] are nowadays quite popular as a ref-erence benchmark set for graph coloring. One of the goals ofthis challenge was to establish the state-of-the-art techniques

for centralized graph coloring. The benchmark set is com-posed of instances from a variety of different contexts. Forexample, it includes instances representing industrial prob-lems and other ones which were hand-crafted in order to testthe hardness of coloring particular structures or the ineffec-tiveness of certain algorithms. The list of articles using theseinstances for benchmarking is long. In the context of dis-tributed graph coloring some of these instances were used,for example, in [8, 14].

The results are presented per instance in Table 2, whichis organized as follows. The first column shows the instance

Page 12: FrogSim: distributed graph coloring in wireless ad hoc networks

222 H. Hernández, C. Blum

Table 3 Averages over all instances considered in Table 2

FINOCCHI FROGSIM-10 FROGSIM-50 FROGSIM-100

best average best average best average best average

39.177 41.432 38.127 39.514 37.354 38.769 37.228 38.647

name and the triple in the second column shows the num-ber of nodes, the maximum degree of the graph and itschromatic number. In those cases in which the chromaticnumber of a graph is unknown, we provide the best knownlower bound (in the form ≥X). The next two columnsprovide information about the best coloring and the aver-age quality of the colorings found by FINOCCHI. In thesame way, the results of FROGSIM are presented in thelast six table columns for the three different communica-tion round limits. For each instance, the best performingalgorithm is marked in bold. Before analyzing the results,we would like to mention that it is very difficult for dis-tributed approaches to capture the global structure of cer-tain graphs. Therefore, the difference between the obtainedresults and the chromatic numbers is not as important asthe comparison between the results of the distributed algo-rithms.

First it should be emphasized that FROGSIM-100—thatis, FROGSIM using a communication round limit of 100—isable to beat FINOCCHI in 76 out of the 79 cases. Hereby,we first compare the best coloring found. In case of ties, theaverage solution quality is considered. In further 2 cases, thetwo algorithms obtain exactly the same results. Only in onecase (instance queen8-12.col) FINOCCHI is able to find abetter coloring than FROGSIM-100. For what concerns theuse of different communication round limits for FROGSIM

we can observe that even with a communication round limitof 10, FROGSIM is able to beat FINOCCHI in 76 out of 79cases. This means that FROGSIM is, in general, very fastin finding high quality solutions. Averages over all probleminstances are found in Table 3.

For some instances FROGSIM improves remarkably overFINOCCHI. This is the case for instance DSJC1000.9.col, forexample, where the best coloring found by FINOCCHI re-quires 314 colors while FROGSIM is able to color this graphwith only 300 colors. Remarkable results of FROGSIM canalso be found for the six flat∗ instances. Additionally, notethat for all graphs the colorings proposed by FROGSIM re-quire less than Δ + 1 colors. As we previously said, dueto its distributed nature, FROGSIM does not obtain optimalcolorings in most of the cases. However, for many instancesof type mulsol.X, myciel.X and zeroin.X our algorithm gen-erates optimal colorings in each of the 100 applications perinstance.

5 Conclusions and future work

In this paper we dealt with the problem of coloring graphsin a distributed way, that is, by using exclusively local in-formation. The presented algorithm is inspired by the be-havior of male Japanese tree frogs. The results achieved bythe proposed algorithm compare very favorably with a cur-rent state-of-the-art algorithm. Moreover, the proposed algo-rithm comes with some benefits concerning its application inwireless ad hoc networks. Apart from offering the possibil-ity to adjust the algorithms’ speed of convergence, the algo-rithm provides a valid coloring from the very first communi-cation round. Finally, the algorithm only requires messagesof constant size, which is very desirable for a light-weightalgorithm for ad hoc networks.

With regard to future work, we primarily intend to per-form a more complete experimental evaluation, consider-ing specific families of network topologies such as gridsand random geometric graphs. In addition, we also considerthe use of the proposed algorithm for specific applicationsin wireless ad hoc networks as, for example, time divisionmultiplexing, a mechanism for collision-free communicationwhich is strongly related to graph coloring.

Acknowledgements Thanks to the organizers of WMNC 2012 forinviting us to contribute to this special issue.

References

1. Abraham, A., Liu, H., & Hassanien, A. E. (2011). Multi swarmsfor neighbor selection in peer-to-peer overlay networks. Telecom-munications Systems, 46(3), 195–208.

2. Aihara, I. (2009). Modeling synchronized calling behavior ofJapanese tree frogs. Physical Review E, 80(1), 11–18.

3. Aihara, I., Kitahata, H., Yoshikawa, K., & Aihara, K. (2008).Mathematical modeling of frogs’ calling behavior and its possi-ble application to artificial life and robotics. Artificial Life andRobotics, 12(1), 29–32.

4. Blum, C. & Merkle, D. (Eds.) (2008). Swarm intelligence: intro-duction and applications. Natural computing. Berlin: Springer.

5. Bonabeau, E., Dorigo, M., & Theraulaz, G. (1999). Swarm intelli-gence: from natural to artificial systems. New York: Oxford Uni-versity Press.

6. Bui, M., Butelle, F., & Lavault, C. (2004). A distributed algorithmfor constructing a minimum diameter spanning tree. Journal ofParallel and Distributed Computing, 64(5), 571–577.

7. DIMACS: DIMACS implementation challenges (2006). http://dimacs.rutgers.edu/Challenges/.

Page 13: FrogSim: distributed graph coloring in wireless ad hoc networks

FrogSim: distributed graph coloring in wireless ad hoc networks 223

8. Finocchi, I., Panconesi, A., & Silvestri, R. (2005). An experimen-tal analysis of simple, distributed vertex coloring algorithms. Al-gorithmica, 41(1), 1–23.

9. Gómez Mármol, F., & Martínez Pérez, G. (2011). Providingtrust in wireless sensor networks using a bio-inspired technique.Telecommunications Systems, 46(2), 163–180.

10. Hernández, H., & Blum, C. (2011). Distributed graph coloringin wireless ad hoc networks: a light-weight algorithm based onJapanese tree frogs’ calling behaviour. In Proceedings of WMNC2011—the 4th joint IFIP wireless and mobile networking confer-ence (pp. 1–7). Piscataway: IEEE Press. This article won the bestpaper award.

11. Karp, R. (1972). Reducibility among combinatorial problems. InProceedings of the symposium on complexity of computer compu-tations (p. 85).

12. Keshavarzian, A., Lee, H., & Venkatraman, L. (2006). Wakeupscheduling in wireless sensor networks. In MobiHoc 06—proceedings of the 7th ACM international symposium on mo-bile ad-hoc networking and computing (pp. 322–333). New York:ACM.

13. Lee, J., Bahk, S., & Choi, J. G. (2010). Energy efficient trans-mission scheduling for infrastructure sensor nodes in location sys-tems. Computer Networks, 54, 3295–3308.

14. Lee, S. (2008). Firefly inspired distributed graph coloring al-gorithms. In H. R. Arabnia & Y. Mun (Eds.), Proceedingsof PDPTA 2008—international conference on parallel and dis-tributed processing techniques and applications (pp. 211–217).Athens: CSREA Press.

15. Lee, S. (2010). k-Phase oscillator synchronization for graph col-oring. Mathematics in Computer Science, 3(1), 61–72.

16. Lee, S., & Lister, R. (2008). Experiments in the dynamics of phasecoupled oscillators when applied to graph coloring. In Proceed-ings of ACSC 2008—proceedings of the thirty-first Australasianconference on computer science (pp. 83–89). Sydney: AustralianComputer Society.

17. Lynch, N. A. (2009). Distributed algorithms. Amsterdam: Else-vier.

18. Mutazono, A., Sugano, M., & Murata, M. (2009). Frog call-inspired self-organizing anti-phase synchronization for wirelesssensor networks. In INDS 09—proceedings of the 2nd interna-tional workshop on nonlinear dynamics and synchronization (pp.81–88). New York: IEEE Press.

19. Paradis, L., & Han, Q. (2009). A data collection protocol forreal-time sensor applications. Pervasive and Mobile Computing,5, 369–384.

20. Rhee, I., Warrier, A., Min, J., & Xu, L. (2009). DRAND: dis-tributed randomized TDMA scheduling for wireless ad-hoc net-works. IEEE Transactions on Mobile Computing, 8(10), 1384–1396.

21. Royo, R., Olivares, T., & Orozco-Barbosa, L. (2009). A syn-chronous engine for wireless sensor networks. Telecommunica-tions Systems, 40(3–4), 151–159.

22. Vergados, D. J., Sgora, A., Vergados, D. D., Vouyioukas, D., &Anagnostopoulos, I. (2012). Fair TDMA scheduling in wirelessmultihop networks. Telecommunication Systems, 50(3), 181–198.

23. Wells, K. (1977). The social behaviour of anuran amphibians. An-imal Behaviour, 25, 666–693.

24. Zivan, R. (2008). Anytime local search for distributed constraintoptimization. In Proceedings of AAMAS 08—the 7th internationaljoint conference on autonomous agents and multiagent systems(Vol. 3, pp. 1449–1452). Richland: International Foundation forAutonomous Agents and Multiagent Systems.

Hugo Hernández received the Ph.D.degree in 2012 from the Univer-sitat Politècnica de Catalunya inBarcelona (Spain). He currentlyholds an associate professor posi-tion at the Prince of Songkla Uni-versity in Phuket (Tailand). Cur-rent subject of his research are dis-tributed as well as centralized algo-rithms based on swarm intelligencetechniques for the management oflarge-scale mobile ad-hoc and sen-sor networks. He has (co-)authored16 research papers. Moreover, hehas served as a member of the pro-

gram committee of GECCO and as referee for several internationaljournals. The FET Proactive Initiative on Pervasive Adaptation (Per-Ada) has named him “Researcher of the Week” at the beginning of2011.

Christian Blum received the doc-toral degree in 2004 from the FreeUniversity of Brussels (Belgium).He currently holds the position ofan Ikerbasque Research Professor atthe University of the Basque Coun-try (Spain). Current subject of hisresearch is the use of swarm intel-ligence techniques for the manage-ment of large-scale mobile ad-hocand sensor networks, as well as thehybridization of metaheuristics withmore classical artificial intelligenceand operations research methods.He has (co-)authored more than 100

research papers. Moreover, he is a member of the editorial boards of in-ternational journals such as Computers & Operations Research, SwarmIntelligence and Neural Computing & Applications. As a co-founder,he initiated the series of international workshops on Hybrid Meta-heuristics (HM). He presented invited tutorials at conferences suchas PPSN, GECCO, and HIS, and keynote talks at international confer-ences such as ANTS 2008, BIOMA 2010 and OPTMAS 2012.