[ieee 2012 ieee 12th international conference on computer and information technology (cit) -...

7
Centrality Indices Computation in Dynamic Networks Tatiana Tabirca and Sabin Tabirca Department of Computer Science University College Cork Cork, Ireland {tabirca1, tabirca}@cs.ucc.ie Laurence T. Yang Department of Computer Science St. Francis Xavier University Antigonish, NS, B2G 2W5, Canada [email protected] Abstract - The article introduces the notion of dynamic indices as centrality measures to analyse how the importance of nodes changes in future time in dynamic networks. In particular, the dynamic closeness, dynamic graph, dynamic stress and dynamic betweenness measures are investigated. We develop some algorithms for computing these indices in the dynamic case when the costs are supposed to be integers. Finally, we present some experimental results exploring the algorithms' efficiency and illustrating the variation of the dynamic betweenness index for some sample dynamic networks. Keywords-dynamic networks, centrality indices. I. INTRODUCTION “Centrality indices” are relatively old graph notions introduced in early 1950 to give an indication of how important graph nodes are for shortest paths [17], [18]. Since then, numerous contributions have been published to propose theoretical results on centrality indices or to develop efficient solutions to compute them or more importantly to outline important practical application to real life problems. An important moment of this research work was represented by the introduction of betweenness centrality by Freeman [10] and its applications to the analysis of social networks. The betweenness centrality of a node describes how well the node is connected with all the other nodes in the network or the probability that a node is on the shortest path. This was naturally extended to the concept of arc betweenness centrality and used to generate communities within a network [Newton et.al, 2004]. Another important milestone was the introduction of the Brandes algorithm [4] for the betweenness centrality. The Brandes algorithm represented an efficient way to compute node betweenness centrality, which could be extended easily to some other type of betweenness centrality indices. The common denominator of these indices is that they describe how a node or an arc is involved in all the shortest paths within a static network. It is clear that the more numerous shortest paths go through a node or an arc, the bigger the centrality values are. However, most types of networks are dynamic with changes taking place at the node or arc levels in a dynamic way. There can be numerous examples of real life networks that change dynamically. For example, road traffic networks in big cities are perhaps the most visible example. These networks can be modelled by using a static graph in which the nodes are intersections and arcs are roads between adjacent intersections. In addition, each arc should have a cost representing the time taken by a car to travel along the arc. In the absence of road congestion a road traffic network can be analysed by using the static centrality indices to find the most important nodes in traffic. However, this is not the case with traffic networks as traffic congestion is present in most if not all of them. Usually, some roads of the network are affected by traffic congestion at some times of the day. In this case the traversal cost increases to a peak and it then decreases to the normal value. It is clear that the shortest traffic routes using congestion arcs may no longer be optimal. Hence, the most important nodes in the network can change when the traffic congestions occur. In a similar way we can discuss about the electrical distribution networks, about the internet traffic networks and about many other dynamic networks that influence our day by day life. Therefore, there is a need to investigate the notions of centrality indices in dynamic networks in which elements change over time. This work only covers the centrality indices, which are all related with shortest paths in dynamic networks. Of course some other types of centrality indices based on other graph elements e.g. flow, are not the concern of this work. Therefore, our investigation considers the following centrality indices graph, closeness, stress and betweenness. Our work introduces a computational method to deal with all the centrality indices for the dynamic case. There are numerous situations in real life applications when the time variable t is an important component of the dynamicity of networks and it must be considered in computation. Hence, our solution preserves explicitly the time variable in the computation so that the centrality values at the time t are calculated by using the dynamic elements from the times t, t+1, t+2 … etc. This approach uses a dynamic shortest path algorithm that is based on some temporal dynamic equations proposed by Chabini [6]. We show how these equations can be adapted to compute all centrality indices. Based on them we propose a unitary method to compute in a very efficient way all the centrality indices. II. LITERATURE REVIEW Consider that we work with an undirected graph ) , ( A V G for which there is a cost function ) , 0 [ : A c with all the costs positive. For any two nodes V v u , we can consider the following elements: ) , ( v u d = the cost of the shortest path between u and v. (1.a) ) , ( v u = the number of shortest paths between u and v. (1.b) ) ; , ( w v u = the number of shortest paths between u and v that pass through w. (1.c) By convention we can consider 0 ) , ( u u d and 1 ) , ( u u . 2012 IEEE 12th International Conference on Computer and Information Technology 978-0-7695-4858-6/12 $26.00 © 2012 IEEE DOI 10.1109/CIT.2012.60 202 2012 IEEE 12th International Conference on Computer and Information Technology 978-0-7695-4858-6/12 $26.00 © 2012 IEEE DOI 10.1109/CIT.2012.60 202 2012 IEEE 12th International Conference on Computer and Information Technology 978-0-7695-4858-6/12 $26.00 © 2012 IEEE DOI 10.1109/CIT.2012.60 202 2012 IEEE 12th International Conference on Computer and Information Technology 978-0-7695-4858-6/12 $26.00 © 2012 IEEE DOI 10.1109/CIT.2012.60 202

Upload: laurence-t

Post on 16-Dec-2016

218 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: [IEEE 2012 IEEE 12th International Conference on Computer and Information Technology (CIT) - Chengdu, Sichuan, China (2012.10.27-2012.10.29)] 2012 IEEE 12th International Conference

Centrality Indices Computation in Dynamic Networks

Tatiana Tabirca and Sabin Tabirca Department of Computer Science

University College Cork Cork, Ireland

{tabirca1, tabirca}@cs.ucc.ie

Laurence T. Yang

Department of Computer Science St. Francis Xavier University

Antigonish, NS, B2G 2W5, Canada [email protected]

Abstract - The article introduces the notion of dynamic indices as centrality measures to analyse how the importance of nodes changes in future time in dynamic networks. In particular, the dynamic closeness, dynamic graph, dynamic stress and dynamic betweenness measures are investigated. We develop some algorithms for computing these indices in the dynamic case when the costs are supposed to be integers. Finally, we present some experimental results exploring the algorithms' efficiency and illustrating the variation of the dynamic betweenness index for some sample dynamic networks. Keywords-dynamic networks, centrality indices.

I. INTRODUCTION “Centrality indices” are relatively old graph notions introduced in early 1950 to give an indication of how important graph nodes are for shortest paths [17], [18]. Since then, numerous contributions have been published to propose theoretical results on centrality indices or to develop efficient solutions to compute them or more importantly to outline important practical application to real life problems. An important moment of this research work was represented by the introduction of betweenness centrality by Freeman [10] and its applications to the analysis of social networks. The betweenness centrality of a node describes how well the node is connected with all the other nodes in the network or the probability that a node is on the shortest path. This was naturally extended to the concept of arc betweenness centrality and used to generate communities within a network [Newton et.al, 2004]. Another important milestone was the introduction of the Brandes algorithm [4] for the betweenness centrality. The Brandes algorithm represented an efficient way to compute node betweenness centrality, which could be extended easily to some other type of betweenness centrality indices. The common denominator of these indices is that they describe how a node or an arc is involved in all the shortest paths within a static network. It is clear that the more numerous shortest paths go through a node or an arc, the bigger the centrality values are. However, most types of networks are dynamic with changes taking place at the node or arc levels in a dynamic way. There can be numerous examples of real life networks that change dynamically. For example, road traffic networks in big cities are perhaps the most visible example. These networks can be modelled by using a static graph in which the nodes are intersections and arcs are roads between adjacent intersections. In addition, each arc should have a cost representing the time taken by a car to travel along the arc. In the absence of road congestion a road traffic network can be

analysed by using the static centrality indices to find the most important nodes in traffic. However, this is not the case with traffic networks as traffic congestion is present in most if not all of them. Usually, some roads of the network are affected by traffic congestion at some times of the day. In this case the traversal cost increases to a peak and it then decreases to the normal value. It is clear that the shortest traffic routes using congestion arcs may no longer be optimal. Hence, the most important nodes in the network can change when the traffic congestions occur. In a similar way we can discuss about the electrical distribution networks, about the internet traffic networks and about many other dynamic networks that influence our day by day life. Therefore, there is a need to investigate the notions of centrality indices in dynamic networks in which elements change over time. This work only covers the centrality indices, which are all related with shortest paths in dynamic networks. Of course some other types of centrality indices based on other graph elements e.g. flow, are not the concern of this work. Therefore, our investigation considers the following centrality indices graph, closeness, stress and betweenness. Our work introduces a computational method to deal with all the centrality indices for the dynamic case. There are numerous situations in real life applications when the time variable t is an important component of the dynamicity of networks and it must be considered in computation. Hence, our solution preserves explicitly the time variable in the computation so that the centrality values at the time t are calculated by using the dynamic elements from the times t, t+1, t+2 … etc. This approach uses a dynamic shortest path algorithm that is based on some temporal dynamic equations proposed by Chabini [6]. We show how these equations can be adapted to compute all centrality indices. Based on them we propose a unitary method to compute in a very efficient way all the centrality indices.

II. LITERATURE REVIEW Consider that we work with an undirected graph

),( AVG � for which there is a cost function ),0[: ��Ac with all the costs positive. For any two nodes Vvu �, we can consider the following elements:

),( vud = the cost of the shortest path between u and v. (1.a) ),( vu� = the number of shortest paths between u and v. (1.b)

);,( wvu� = the number of shortest paths between u and v that pass through w. (1.c) By convention we can consider 0),( �uud and 1),( �uu� .

2012 IEEE 12th International Conference on Computer and Information Technology

978-0-7695-4858-6/12 $26.00 © 2012 IEEE

DOI 10.1109/CIT.2012.60

202

2012 IEEE 12th International Conference on Computer and Information Technology

978-0-7695-4858-6/12 $26.00 © 2012 IEEE

DOI 10.1109/CIT.2012.60

202

2012 IEEE 12th International Conference on Computer and Information Technology

978-0-7695-4858-6/12 $26.00 © 2012 IEEE

DOI 10.1109/CIT.2012.60

202

2012 IEEE 12th International Conference on Computer and Information Technology

978-0-7695-4858-6/12 $26.00 © 2012 IEEE

DOI 10.1109/CIT.2012.60

202

Page 2: [IEEE 2012 IEEE 12th International Conference on Computer and Information Technology (CIT) - Chengdu, Sichuan, China (2012.10.27-2012.10.29)] 2012 IEEE 12th International Conference

A. Static Centrality Indices The main centrality indices are defined in the next definition. Definition 1. The following static centrality indices can be defined for the graph G:

��

vs

C vsdvC

),(1)( closeness centrality [17] (2.a)

),(max1)(

vsdvC

vs

G

� graph centrality [12] (2.b)

���

�tvs

S vtsvC );,()( � stress centrality [18] (2.c)

���

�tvs

B tsvtsvC),();,()(

�� betweenness centrality [10] (2.d)

Note that the denominator of Equations (2.a, 2.b) is never 0. When the denominator ),( ts� from Equation (2.d) is 0 then

);,( vts� is 0 too and by convention we consider

0),();,(�

tsvts

�� .

The closeness and graph centrality indices were initially used in various results involving the graph topology or in graph combinatorics [12], [17]. Later on the betweenness centrality was used to study the social networks [10]. The computation of these values is closely related to the computation of shortest paths in the All-to-All case. It is clear that any All-to-All algorithm for shortest paths can be applied to generate the values ),( vud , however the Dijkstra algorithm offers the most efficient solution with the complexity

nnmnO log2 ��� . Jacob et.al. [15] reviewed the main methods to calculate the centrality indices and concluded that the most popular is a generic computation with three steps. The first step is to calculate the values Vvuvud �,),,( based on an All-to-All shortest path algorithm within the complexity

nnmnO log2 ��� . Then the second step computes the values ),( vu� and );,( wvu� based on simple graph traversal

computation. For example, for each pair of distinct nodes Vvu �, we can consider all the neighbours of u

Awu �),( ; when ),(),(),( vwdwucvud �� we have a shortest path between u and v that goes through w so that the value ),( vu� is increased with ),( vw� . This second step has

therefore the complexity given by 2nmnO �� . Now, the third step is to compute directly the centrality indices from Equations (2.a-2.d) by iterating through one or two nodes which would increase the complexity to 3nO . Therefore, this generic computation in three steps generates the centrality indices from Equations (2.a-d) in 3nO . However, Brandes [3] provided an efficient way to compute the betweenness based on the notion of pair

dependency .),();,();,(

tsvtsvts

�� � Brandes proved that

���

�tvs

vtsvs );,();( , the sum of all pair dependencies from

s, satisfies

��

���)(:

);(1),(),();(

wPvw s

wswsvsvs

�� (3)

where � �),(),(),(,),(:)( vucusdvsdAvuVuvPs ����� . Based on Equation (3), Brandes [3] developed an efficient computation in nnmnO log2 ��� to generate the beweenness centrality index. Moreover, Brandes [4] extended this approach to various other types of betweenness centrality to include situations like arc betweenness, group betweenness, proxy betweenness etc. Unfortunately, Brandes’ approach cannot be applied to some other types of centrality indices.

B. Dynamic Shortest Paths and Dynamic Indices All these indices are defined for static graph in which the dynamic elements are not present or do not influence the system too much. However, concrete problems are modelled with complex systems which are in most cases dynamic. Therefore, the concept of dynamic centrality indices is needed to investigate these problems. Usually, a dynamic graph or network is given by a sequence of graphs over time

TtAVG ttt ,...,1,0),,( �� or by one graph ),( AVG � whose

arcs’ costs TtRAc t ,...,1,0,:)( �� are variable in time. As for the static case the problem of dynamic centrality indices is based on the problem of dynamic shortest paths. This is a classical problem in combinatorial optimisation being investigated since late 60-s e.g Cooke et.al [8]. They lately became very popular with the emergency of Intelligent or Dynamic Transportation Systems e.g. Chabani [6, 7], Ahuja [1, 2] or Demetrescu [9] or large scale technological networks e.g. Johansson [13]. There are two well established approaches to solve this problem, which are quite different in essence. The first approach considers dynamic equations for the numbers

),()( vud t to reflect the evolution in time of the shortest paths costs. The particularity of these equations is that the time variable t is essential in their dynamicity. These equations are then processed using dynamic programming techniques mainly in a retrospective way e.g. the values

),...,(),,( )2()1( vudvud tt �� are used to generate the value

),()( vud t [6]. This approach is useful when we want to consider all the cost changes that take place at time t; in this way we keep the time variable t in a central place in the computation. This approach is very effective when the time interval to investigate the dynamic network is relatively small in comparison with the network size. The second approach, which has been intensely investigated lately, is to preserve the shortest paths when changes take place in the graphs e.g. removing a node or an arc or changing an arc’s cost. This approach was introduced by Ramalingam [14] and then

203203203203

Page 3: [IEEE 2012 IEEE 12th International Conference on Computer and Information Technology (CIT) - Chengdu, Sichuan, China (2012.10.27-2012.10.29)] 2012 IEEE 12th International Conference

refined successively by various contributors see Demetrescu [9] for a complete review. The emphasis of this approach is to update efficiently the shortest path spanning tree when a change takes place. This method does not consider the time variable in the dynamicity of the changes and it is very effective when the number of changes is small. The literature does not show much work done of the dynamic centrality indices although consistent efforts have been done on dynamic shortest path problem. Our research revealed that not much have been done on the dynamic graph, closeness, stress centrality indices. However, Habiba et al. [11] extended the concept of betweenness centrality to dynamic graphs. They consider the dynamic graph as a series of graphs TtAVG ttt ,...,1,0),,( �� that change nodes and arcs over time; the costs of the arcs are all 1. A temporal path in this dynamic graph is a sequence of nodes

),...,,( 10 puuuP � so that each arc ),( 1 ii uu � is available in the network before the arc ),( 1�ii uu . This definition allows the situation when delays are possible in nodes; for example in the node iu we can wait for the arc ),( 1�ii uu to be available. Based on this definition the authors derived equations for the dynamic betweenness centrality index similar to Equation (3). Several points can be made about Habiba et al. contribution. Firstly, the article did not describe a clearly-stated algorithm or scheme to compute the dynamic equations. There are several steps of the computation scheme which are either not described or poorly covered which make impossible the implementation. Secondly, the authors transform the dynamic graph into a static extended digraph with ||' VTn �� nodes and ||||2' VTETm ����� . This static graph is then traversed

for each node v to generate the set of nodes vD used in the dynamic equation. This traversal introduces a complexity of

||||||''' 2222 EVTVTOmnnO ������� which is quadratic in T. However, the authors did not offer any evaluation of the scheme complexity nor about the execution times obtained in the presented examples. Finally, the work covers only the situation when the dynamic arcs have no costs therefore it is quite impossible to apply this approach to other types of dynamic networks.

III. DYNAMIC CENTRALITY INDICES This section is to introduce the centrality indices for a dynamic network. The dynamic graph is considered

)()( ),,( tt cAVG � where G=(V, A) is the underlying graph

and NAc t �:)( is a dynamic cost function. The dynamic graph is investigated over the discrete time Nt � or over the finite time max},...,1,0{ tt � . Since the costs are all positive integer numbers, we also have that ),()( vuct t� is positive integer. The value ),()( vuc t represents the cost of the arc

),( vu at time t; this value is interpreted as the time taken to traverse the arc at the time t. We use ��),()( vuc t when the arc is no longer available in the dynamic network.

Based on the dynamic graph )()( ),,( tt cAVG � we can consider the dynamic shortest paths between two nodes. The cost of the path ),...,,( 10 puuuP � starting from 0u to pu at time t is

),(...),(),()( 1)(

21)(

10)()( 11

pptttt uucuucuucPCost p

����� (4)

where ),(.),....,,( 12)(

2110)(

12

��������� pp

tpp

t uucttuuctt p . The dynamic shortest path between 0u and pu at time t is the path that minimizes the cost (4), hence we can speak about the dynamic shortest path cost given by

� �pt

pt uubetweenpathisPPCostuud ,:)(min),( 0

)(0

)( � . (5)

We can also define ),()( vut� as the number of shortest paths

between u, v at the time t and );,()( svut� as the number of shortest paths that leave u the time t to go to v through the node s. With these elements we can now define the following dynamic centrality indices. Definition 4. The following dynamic centrality indices can be defined for the dynamic graph )()( ),,( tt cAVG �

��

vu

tt

C vudvC

),(1)( )(

)( dynamic closeness centrality (6.a)

),(max1)( )(

)(

vudvC t

vu

tG

� dynamic graph centrality (6.b)

���

�wvu

ttS vwuvC );,()( )()( � dynamic stress centrality (6.c)

���

�wvu

t

tt

B wu

vwuvC

),(

);,()( )(

)()(

� dynamic betweenness centrality

(6.d) These centrality indices have the same meaning as the static ones but they are dynamic on t. This means all these indices at the time t depend on the dynamic shortest paths from the future at the times t, t+1, …, tmax etc. Therefore, these dynamic indices forecast at the time t how the node v is used in shortest paths in the future times. The computation of the dynamic centrality indices is based on computing the dynamic values ),()( vud t and ),()( vut� . For our future considerations the time variable t is extremely important hence we adopt the first approach to generate the dynamic shortest paths. For simplicity we work with a solution introduced by Chabani [6] for the FIFO case. By definition we say that the dynamic costs ),()( vuc t satisfy the

FIFO rule when ),(),(' )'()( vucvuctt tt ��� . Chabani [6] proposed the following equation

� ���

���

�����

euvuAuuvuduucvud

uucttt

t

,0,)',(:),'()',(min),(

))',(()()(

)(

(7) for the dynamic shortest paths in the FIFO case. This equation can be solved by using a retrospective process. Initially, the values ),(max)( vud t are computed with a static algorithm for a

204204204204

Page 4: [IEEE 2012 IEEE 12th International Conference on Computer and Information Technology (CIT) - Chengdu, Sichuan, China (2012.10.27-2012.10.29)] 2012 IEEE 12th International Conference

time tmax. Then Equation (7) is applied for t=tmax-1,…,1,0 in a retrospective way to generate the values

),(),,(),...,,( )0()1()1max( vudvudvud t � . This computation is adapted to calculate the values

),()( vut� as presented in Figure 1. Firstly, the matrices )(tmax� and )(tmaxd are calculated with the static algorithm as

presented in Section 3.1. Then step by step, the matrices )0()0()1()1( ,...;;, dd tmaxtmax �� �� are calculated retrospectively

based on some simple remarks. When the situation ),'()',(),( ))',(()()( )(

vuduucvud uucttt t��� occurs then the dynamic shortest path cost should be update to

),'()',(),( ))',(()()( )(

vuduucvud uucttt t��� . DynamicShortestPaths(n,c,d,�) // the initialisation step for t=0 to tmax do for each u in V do for each v in V do

���� :0?)(),()( vuvud t ;

;0),()( �vut� // find the shortest path at time T using a static solution StaticShortestPaths(n, max)(tc , max)(td , max)(t� ); // iterate backward // one extra for loop on t’ in the non-FIFO case here for t = tmax-1 downto 0 do for each node v in V do for each node u in V do for each node u’ adjacent to u do if ),'()',(),( ))',(()()( )(

vuduucvud uucttt t��� then

),'()',(),( ))',(()()( )(

vuduucvud uucttt t��� ;

);,'(),( ))',(()( )(

vuvu uuctt t����

else if ),'()',(),( ))',(()()( )(

vuduucvud uucttt t���� then

),'()',(),( ))',(()()( )(

vuduucvud uucttt t��� ;

);,'(),(),( ))',(()()( )(

vuvuvu uucttt t��� ���

Figure 1. Algorithm to Calculate ),()( vud t and ),()( vut� .

It means that the new dynamic shortest path leaves u at time t and then u’ at time )',()( uuct t� . Therefore, the number of shortest paths between u and v at time t is in fact the number of shortest paths from u’ to v at time )',()( uuct t� , which is

).,'(),( ))',(()( )(

vuvu uuctt t�� �� For the situation

),'()',(),( ))',(()()( )(

vuduucvud uucttt t���� we find some new shortest paths from u to v that go though u’ so that the value

),()( vut� should be increased with ),'())',(( )(

vuuuct t�� . The

case ),'()',(),( ))',(()()( )(

vuduucvud uucttt t��� is not relevant for the shortest path. The computation of the dynamic values

),()( vud t and ),()( vut� for t=0,1,…, tmax is illustrated in Figure 1.

Chabani [6] did not present how the numbers ),()( vud t are calculated when the FIFO condition does not hold. He outlined instead various other non-FIFO equations for various other problems. Based on his arguments, we can derive the following recursive equation for ),()( vud t in the non-FIFO case.

� �� ���

���

����

vu

vuAuuvuduucvud

uuctt

ttt

t

,0

,)',(:),'()',(minmin),(

))',('()'(

')(

)'(

(8) Equation (8) calculates ),()( vud t by considering all the paths that start from u at all the times tt �' . A such path moves from u to u’ with the cost )',()'( uuc t and then from u’ to v

with the cost ),'())',('( )'(

vud uuct t� so that the total cost amounts

to ),'()',( ))',('()'( )'(

vuduuc uuctt t�� . Hence, the algorithm has an extra for loop on t’ to consider for the minimum of Equation (8) which is illustrated in Figure 1 within comments. Lemma 1. If ),()( vud t and ),()( vut� are known then the

values );,()( vwut� satisfy ),(),();,();,( ),( wvvuvwuvwu vudtttt t���� ���� where

��

���

��

���

),(),(),(0

),(),(),(1);,(

),(

),(

wvdvudwudif

wvdvudwudifvwu

vudttt

vudtttt

t

t

� .

Proof. Note that all the dynamic shortest paths leave u at the time t and they all arrive to v at the time ),(' )( vudtt t�� . Two situations are considered in the following. The first case is when the node v does not belong to any dynamic shortest path between u and w which happens when

),(),(),( ),( wvdvudwud vudttt t��� . In this case we have 0);,( �vwut� and 0);,( �vwut� . The second case reflects

the situation when the node v satisfies ),(),(),( ),( wvdvudwud vudttt t��� e.g. it belongs to some

dynamic shortest paths between u and w. Consider a dynamic shortest path ),..,,,...,,( wbvauP � from node u to node w at time t that passes through v. This generates a dynamic shortest path ),...,,(1 vauP � between u and v at time t and also a dynamic shortest path the path ),..,,(2 wbvP � between v and

w at time ),(' )( vudtt t�� so that

),(),();,( )'()()( wvvuvwu ttt ��� �� . Theorem 2. The dynamic stress and betweenness indices satisfy

���

����

wuvut

vudtttt

B wuwvvuvwuvC

t

),(),(),();,()( )(

)),(()()()(

)(

���� (9.a)

���

����wuvu

vudttttS wvvuvwuvC

t

),(),();,()( )),(()()()( )(

��� . (9.b)

205205205205

Page 5: [IEEE 2012 IEEE 12th International Conference on Computer and Information Technology (CIT) - Chengdu, Sichuan, China (2012.10.27-2012.10.29)] 2012 IEEE 12th International Conference

Equations (9.a,b) provide a simple computation for the dynamic stress and betweenness indices. Firstly, the DynamicShortestPaths algorithm is applied to find the values

),( vud t and ),( vut� and then the values )(),( )()( vCvC tS

tB

are calculated based on (9.a,b). In these equations, the time ),(' )( vsdtt t�� is casted to tmax when max),()( tvsdt t �� .

Figure 2 presents the computation details of the dynamic indices. On the other hand the dynamic graph and centrality indices are computed directly from Equations (6.a-b).

DynamicIndex(n, c, CC, CG, CB, CS) { // apply DynamicShortestPaths to calculate d, � DynamicShortestPaths(n, c, d, �) // Calculate the values C[v] for t=0 to tmax do for each node v in V do ;0)()( )()( �� vCvC t

St

B Sum=0; Max=-�; for each node u!=v in V do

),()( vudSum t�� ;

),(,max )( vudMaxMax t� ; for each node w!=v in V do if( max),()( tvudt t �� ) tmaxt �' ; else ),(' )( vudtt t�� if( ),(),(),( )()'()( wudwvdvud ttt ��� )

),(

),(),()( )(

)'()()(

wuwvvuvC t

ttt

B ��� �

�� ;

),(),()( )'()()( wvvuvC ttt

S �� ��� ;

;1)(;1)( )()(

MaxvC

SumvC t

Gt

C ��

} Figure 2. Algorithm for Dynamic Centrality Indices

A. The Complexity of the Dynamic Indices Computation This section presents the computation of the computation for the dynamic indices scheme presented in Figure 2. Firstly, the complexity of the StaticShortestPaths algorithm is identical to the complexity of the Dijkstra which is

nnmnO log2 ��� when a Fibonacci heap is used. The next arguments for complexity are made for the FIFO case. The algorithm DynamicShortestPaths calls StaticShortestPaths and iterates retrospectively the computation of ),()( vud t and

),()( vut� for t=tmax, ...,1, 0. Figure 1 shows that each

retrospective step t requires mnnO ��2 operations. Therefore, the complexity of DynamicShortestPaths is

)(log 22 mnntmaxnnmnO ������� . Finally, the complexity of DynamicIndex requires

)(log 22 mnntmaxnnmnO ������ to compute the

dynamic shortest paths values and 3ntmaxO � to calculate all the dynamic centrality values. Therefore, we can conclude that the overall complexity is 3ntmaxO � to calculate all the dynamic indices in the FIFO case. The non-FIFO case introduces an extra loop computation on time therefore the non-FIFO algorithm for DynamicShortestPaths is quadratic in tmax, which generates a complexity of 32 ntmaxO � .

IV. EVALUATIONS This section describes some experiments that can be conducted to test the performances of the algorithms to compute the dynamic indices. The experiments consider a grid graph of size nr with 2nrn � nodes and )1(2 ���� nrnrm arcs in which each node is connected with the left, right, top and bottom neighbors. The costs of the arcs were randomly generated between 1 and 100. The experiments used have been carried out on a Pentium D CPU 2 x 2.80 GHz, with 1 GB of RAM. Each experiment was run three times and the average of the execution times is reported. Experiment 1 – Running Times for Dynamic Indices. In this experiment acquires some information about the running times of the dynamic indices programs in both non-FIFO and FIFO cases. The dynamic network is based on the same grid structure, which is run for small values of nr etc. Initially, a static value r(u,v) is randomly generated for each arc (u,v) as base to calculate the dynamic costs for both non-FIFO and FIFO cases. Case 1 - non-FIFO Case. The non-FIFO case considers

the dynamic costs ���

�� �

���12

sin2

),(),(),()( tvurvurvuc t ! .

These dynamic costs are generated for tmax=24*12, which is a 24 hour interval with 12 readings per hours. 1812 21 ��� tt

give 2

),(18),(),(12),( )(2

)(1

21vurvuctvurvuct tt �������

when 12),( �vur . The dynamic costs are non-FIFO when some of the static values r(u,v) are bigger than 12, therefore the non-FIFO computation for DynamicShortestPaths is used. Firstly, all the dynamic indices were calculated for nr=5,6,…,15 generating graphs with 25, 36, …, 225 nodes. The running times are presented in Figure 3 for the maximum time tmax=288 and tmax=144. From these two series of times we can observe that the running times grow sharply when the number of nodes increases. For example the running time is 285 seconds for n=225 nodes. On the other hand, the execution times are reduced by close to a third when tmax was halved. Case 2 – FIFO Case. As seen before, the FIFO case gives a complexity which is linear in tmax therefore the execution times should be smaller than in the previous case. For the FIFO case we consider that the dynamic cost function for each arc is increasing over time. The equation is given by

����� 1),(),( )()1( vucvuc tt , ),(),()0( vurvuc � , where � is

206206206206

Page 6: [IEEE 2012 IEEE 12th International Conference on Computer and Information Technology (CIT) - Chengdu, Sichuan, China (2012.10.27-2012.10.29)] 2012 IEEE 12th International Conference

a randomly generated integer between 1 and 5. The nature of this definition gives that the dynamic costs are increasing over time so that ),(),( )(

2)(

121 vuctvuct tt ��� when 21 tt � . The

dynamic indices were calculated for nr=5,6,…,15 for grid graphs with 25, 36, …, 225 nodes for tmax=288 and tmax=144. The running times are presented in Figure 4 for the dynamic indices.

Running Times for Dynamic Indices

0

50

100

150

200

250

300

25 36 49 64 81 100 121 144 169 196 225

N

Tim

e (

se

cs

)

Dynamic(Tmax=288)

Dynamic(Tmax=144)

Figure 3. Running Times for non-FIFO Case for tmax=288, 144.

Running Times for Dynamic Indices

020406080

100120140160

25 36 49 64 81 100 121 144 169 196 225

(nodes)

(se

co

nd

s)

Dynamic(Tmax=288)

Dynamic(Tmax=144)

Figure 4. Running Times for FIFO Case for tmax=288, 144.

From these times, we can observe that the running times do not grow as sharply as in the non-FIFO case when the number of nodes increases. For n=225 the execution time was around 135 seconds. One can also observe the linearity in tmax of the execution times; the execution times were reduced to nearly half when tmax was halved. Experiment 4 – Variation of Dynamic Indices. This experiment illustrates the variation of only the dynamic betweenness index over the time t=0,1,…,288 for three types of dynamic functions. Similar simulation results can be found for the other indices. The dynamic network is based on a grid of size 11 in which consider considered these different types of dynamic costs ),()( vuc t . The dynamic costs are generated as in the previous experiment from static costs. Then, we generate only the values of the dynamic betweenness to present their variation. Case 1 – Traffic Function Variation. Secondly, the grid is considered to be a transportation network in which the central nodes are congested during the morning and the afternoon traffic hours. This means that the arcs closer to the centre change dynamically their costs based a traffic distribution with two peaks. The distribution keeps a static

cost r constant when outside to two time intervals; when it is inside of these two time intervals then the cost r increases to a maximum value and then decreases back to r. The time unit is 5 minutes so that the time t varies from 0, 1, …, 288. We considered the first time interval between 8 am and 10 am which gives t=96, 97,…, 120 and the second time interval between 4 pm and 8 pm which is translated in t=192,193,…,240. These traffic variations must follow the FIFO rule as overtaking is not permitted in traffic congestions. The maximum value for the betweenness index was provided by the node (6,3) at time t=0. The variation of the betweenness index is illustrated in Figure 5. The first remark we can draw is that after the second peak the dynamic network is stable so that the betweenness index is constant. However, the index has some variation over time because of the peak changes. It is useful to illustrate for this experiment the change of the betweenness index for the nodes (6,3) and (5,6). For t=0 we found that the node (5,6) has the second largest betweenness value.

Variation of Betweenness for (5,6) and (6,3)

650

700

750

800

850

900

0 1 2 3 5 6 7 8 10 11 12 13 15 16 17 18 20 21 22 23

(Hours)

C_B(5,6)

C_B(6,3)

Figure 5. Variation of Dynamic Betweenness for the nodes (5,6) and (6,3) for

Traffic Costs. Furthermore, the two nodes provide the largest betweenness values over the whole interval t=0,1,…, 288. These nodes’ variation over 24 hours is given in Figure 10. It can be seen that during the first peak interval, the dynamic betweenness of the node (6,3) exceeds the value of the node (5,6). Case 2 – Variation of Dynamic Indices for Hazard Costs. This experiment considers that the grid network is under some fire hazard. We can assume that we know the navigation costs through the arcs as estimated times that a person can walk the arc. Suppose that the hazard starts at some nodes, then it spreads along the arcs to the other nodes with some speed. When a node is caught by the hazard then we presume that the adjacent arcs are still usable for few seconds then they all become unusable. In this way the navigation costs of the arcs should increase for few seconds to factorize the hazard and then they become infinity. This model is introduced by Barnes et.al [4] and then further generalized by Tabirca et.al. [19]. It is clear that the navigation costs are dynamic reflecting the spread of the fire hazard within the network. Since these costs are increasing, we can say that they follow the FIFO rule. During the hazard some nodes are caught in the fire so that they are unusable for shortest paths hence their dynamic betweenness index becomes 0. Because of that the betweenness values can

207207207207

Page 7: [IEEE 2012 IEEE 12th International Conference on Computer and Information Technology (CIT) - Chengdu, Sichuan, China (2012.10.27-2012.10.29)] 2012 IEEE 12th International Conference

change over time to reach eventually the value of 0. Our experiment still uses the grid network of size 11 in which we consider some random navigation costs and some random speeds for the hazard spread. The fire is then supposed to start at two random locations and then to spread within the grid. The node (4,5) came with the largest betweenness value which stays constant for 120 time units and then decreases sharply to 0. On the other hand, the node (3,5) has a big value for the betweenness, which maintains constant for the first 300 seconds. However, this becomes 0 eventually after 600 time units. Figure 6 illustrates the variation of the betweenness indices for these two nodes.

Variation of C_B(3,5) and C_B(4,5)

0

100

200

300

400

500

1 18 35 52 69 86 103 120 137 154 171 188 205 222 239 256 273 290

(time)

C_B(3,5)

C_B(4,5)

Figure 6. Variation of Dynamic Betweenness for the nodes (4,5) and (3,5) for Hazard Costs.

V. FINAL CONCLUSIONS This work presented some considerations about the computation of the dynamic centrality indices in dynamic networks. Firstly, an algorithm was introduced to calculate the dynamic indices based on an adapted computation for dynamic shortest paths. This algorithm proved to be very effective for quite large dynamic networks. Secondly, some experiments were carried out to evaluate the performances of the algorithms and to illustrate the variation in time for some types of dynamic costs.

REFERENCES: [1] Ravindra K. Ahuja, Thomas L. Magnanti, and James Orlin; Network

Flows: Theory, Algorithms, and Applications, Prentice Hall, 1993 [2] Ahuja, Ravindra K., Orlin, James B., Pallottino, Stefano and Scutella,

Maria G.,Dynamic Shortest Paths Minimizing Travel Times and Costs (2002). MIT Sloan Working Paper No. 4390-02.

[3] M. Barnes, H. Leather and D.K. Arvind, “Emergency Evacuation using Wireless Sensor Networks”, Proceedings of the 32nd IEEE Conference on Local Computer Networks (LCN 2007), pp 851-857, 2007.

[4] U. Brandes, “A faster algorithm for betweenness centrality”, Journal of Mathematical Sociology, Vol. 25, 2001, pp. 163–177.

[5] U. Brandes, “On variants of shortest-path betweenness centrality and their generic computation”, Social Networks, Vol. 30, Issue 2, May 2008, pp. 136-145.

[6] I. Chabini, “A new shortest path algorithm for discrete dynamic networks”, Proceedings of the 8th IFAC Symposium on Transport Systems, Chania, Greece, June 1997, pp.551-556.

[7] I. Chabini, “Discrete dynamic shortest path problems in transportation applications: Complexity and algorithms with optimal run time”, Transportation Research Record, Vol. 1645, 1998, pp. 170-175.

[8] K.L.Cooke, and E. Halsey, “The Shortest Route Through a Network with Time-Dependent Internodal Transit Times”, J. Math. Anal. Appl., Vol. 14, 1966, pp.493-498.

[9] C. Demetrescu, G.F. Italiano, “Fully dynamic all pairs shortest paths with real edge weights”, J. Comput. Syst. Sci., Vol. 72 (5), 2006, pp. 813-837.

[10] L. C. Freeman, “A set of measures of centrality based on betweenness”, Sociometry, Vol. 40, 1977, pp. 35-41.

[11] Habiba, C. Tantipathananandh, T.Y. Berger-Wolf, “Betweenness Centrality Measure in Dynamic Networks”, DIMACS Technical Report 2007-19.

[12] P. Hage, F. Harary, “Eccentricity and centrality in networks”, Social Networks, Vol. 17, 1995, pp. 57-63.

[13] J. Johansson, “Risk and Vulnerability Analysis of Large-Scale Technical Infrastructures”, PhD Report, Lund University, 2007.

[14] G. Ramalingam and T. Reps, “An incremental algorithm for a generalization of the shortest-path problem”, Journal of Algorithms, Vol. 21(2), 1996, pp. 267–305.

[15] R. Jacob, D. Koschützki, K.A.Lehmann, L. Peeters and D. Tfelde-Podehl, 2Algorithms for Centrality Indices”, Book Chapter in Network Analysis, Methodological Foundations, LNCS 3418/2005, pp 62-82

[16] M.E.J. Newman, M. Girvan, “Finding and evaluating community structure in networks”, Phys.Rev.E., Vol. 69, 2004, 026113.

[17] G. Sabidussi, “The centrality index of a graph”, Psychometrika, Vol. 31, 1966, pp. 581-603.

[18] A. Shimbel, “Structural parameters of communication networks”, Bulletin of Mathematical Biophysics, Vol. 15, 1953, pp. 501-507.

[19] T.Tabirca, K.N. Brown and C.J.Sreenan, “A Dynamic Model for Fire Emergency Evacuation Based on Wireless Sensor Networks”, Proceedings of the 2009 ISPDC Conference, August 2009, pp. 29-36.

Acknowledgments: The fist author wants to acknowledge the financial support provided by the Cork Computational Constraints Centre and the Mobile and Internet System Laboratory of University College Cork for this research. The first author also thanks to Prof Cormac Sreenan and Dr Keneth Brown of UCC for their feedback and suggestions that contributed to the improvement of this work.

208208208208