  Complex networks tend to display communities which are groups of nodes
cohesively connected among themselves in one group and sparsely connected to
the remainder of the network. Detecting such communities is an important
computational problem, since it provides an insight into the functionality of
networks. Further, investigating community structure in a dynamic network,
where the network is subject to change, is even more challenging. This paper
presents a game-theoretical technique for detecting community structures in
dynamic as well as static complex networks. In our method, each node takes the
role of a player that attempts to gain a higher payoff by joining one or more
communities or switching between them. The goal of the game is to reveal
community structure formed by these players by finding a Nash-equilibrium point
among them. To the best of our knowledge, this is the first game-theoretic
algorithm which is able to extract overlapping communities from either static
or dynamic networks. We present the experimental results illustrating the
effectiveness of the proposed method on both synthetic and real-world networks.
