4 A General Approach for Modules Identification in Evolving Networks 93
4.4.1 Algorithm
The algorithm for Modules Identification in Evolving Networks (MIEN) is presented
in Algorithm 2. The presented algorithm is a general approach such that it allows the
use of any existing algorithm A on modules identification. The only requirement
for A is to work with weighted networks. This requirement is reasonable as most
existing modules identification algorithms have their weighted versions.
Assume that at time t, changes of the network are given by (V
t
,E
t
). Each
link (u, v) in E
t
will affect the weights of links crossing some modules C
i
,C
j
or
link that both ends lie in a same module C
i
in the compact representation. Updating
the weight of corresponding links in the compact representation is easy as lines 8 to
15 in Algorithm 2.
However, the compact representation of a network may not reflect evolutionary
phenomena in its original network. We note that merging of two modules C
i
and C
j
in the network G corresponds to the joining of C
i
and C
j
in the compact represen-
tation of G. However, if a module is split or some of its member are leaving to join
in other modules,running module identification algorithm A only on the compact
representation will not be able to detect those changes. Hence, when the network
evolves, we will modify the compact representation based on the changes in such a
way that the new compact representation allows the module identification algorithm
to recognize the changing in memberships.
Note that the most sensitive nodes to changing membership are newly removed
or added nodes or the ones that are incident to recently added or removed links.
For each of those nodes, say node u, we ‘exclude’ it from its compact module C
i
where i =mb(u) and assign it to a new singleton module, say C
k
. It is equivalent
to replacing the module C
i
in the compact representation by two compact modules
C
i
and C
k
. Figure 4.4 shows an example of excluding a node from its module.
At the beginning, the module contains 5 nodes and 10 links of unit weight. The
corresponding module in the compact representation has two nodes connecting by
a link of weight 10. After the network evolves, the node marked with star has some
new incident links and is excluded from its module. The module at the beginning
now contains only 4 nodes and the link weights in the compact representation are
redistributed as shown in the figure.
The sketch of the algorithm is as follows. At the very beginning, we obtain the
modular structure of the network G(V , E) using algorithm A , lines 3 to 4. The com-
pact representation G
(V
,E
) of G is then constructed using Algorithm 1.From
now on, all operations will be performed on G
to reduce the computational cost
and time complexity.
For each time point t, we update the compact representation according to the
given change (V
t
,E
t
) as in lines 8 to 26. We handle with four separate type
of changes: set of old nodes removed (V
t−1
∩ V
t
), set of new nodes coming
(V
t
\V
t−1
), set of old links removed (E
t−1
∩ E
t
) and set of new links com-
ing (E
t
\E
t−1
).
The set of nodes that are removed at time t is given by V
t−1
∩V
t
. In lines 8
to 13, we remove those nodes from their modules. Whenever their modules contain