Identify the influential top-k nodes on a complex network and then the communities that can be associated with these nodes.
First task is implement TOPSIS using Python to identify Top-K influencing nodes. K is a value chosen by the user. For example, if he wants the top 10 influential nodes he gives k = 10.
TOPSIS is a multi-criteria analysis method. In this project you use four criteria: Degree Centrality (DC), Betweenness Centrality (BC), Closeness Centrality (CC) and Eigen-vecor Centrality (EC).
The initial matrix (decision matrix) on which you will run TOPSIS consists of the calculated values of these criteria (DC, BC, CC and EC) for each node of the network (There are predefined functions in Python to calculate these centralities, you do not have need to program them).
The weights you are going to use in TOPSIS are: 0.20 for DC and EC, 0.30 for BC and CC.
Second task : Using the same network we want to apply the k-means algorithm to find clusters whose centroids are the influential Top-K found in the first task.