# Detecting top nodes on a Social Network – The VoteRank Algorithm

Detecting important nodes in a Social Network is an interesting problem. It can be used to find the most influential nodes on the network y using various metrics such as their location in the network, their topological characteristics, like their degree and edge weights. One of the most famous algorithms for this is the Google’s PageRank.

This algorithm characterizes pages, as nodes by counting the number and quality of links to a page to determine a rough estimate of how important the website is. The underlying assumption is that more important websites are likely to receive more links from other websites. This is one of the most popular algorithms for finding influential/top pages/images/nodes and anything that Google indexes. Therefore, sorting and its applications are prevalent and the major work in this field is based on the key used for sorting. In the online world, we haven’t determined one unique silver arrow as a key for this purpose. The reason is that not all situations are same and not all metrics can be safely determined without compromising the privacy of individuals.

The suggestion of Zhang et al (2016) was to create an algorithm based on the opinion of neighbors using a ballot based system. The traditional algorithms like K-shells and Degree Centrality, and other heuristic methods like Hill Climbing suffer from a possibility that some spreaders are so close together that they overlap sphere of influence. It is based on the fact that all nodes vote in a spreader in each turn, and the voting ability of neighbors of elected spreader will be decreased in subsequent turn. Also the voters that voted in the favor of the current leader have a decreased voting capability.

To understand what is going on, let us go over the basic concepts.

## Social Network as a Graph

It is evident that a social network can be depicted as a graph. People can act as nodes and their connections can act as edges. These edges may be weighted or unweighted where the weight can represent the connection strength and can be directed or undirected depending on whether the connection is one way or two way.

## How can we evaluate the ranking?

That is indeed a great question! Since, we can’t put the algorithm directly on the platform and test, let’s use physical simulations. Now, through extensive research in the field the researchers have stated that it is indeed possible to simulate it. We need to borrow some ideas from biology! Susceptible Infected and Recovered (SIR) is an epidemic spreading model and the writers have used that as the basis for a simulation on various real world networks.

## Sounds good, how can I get started?

You need to learn about graphs, graph searching, representation, shortest paths, and have an interest in solving mathematical differential equations. To learn Graphs concepts in depth, we recommend going through GeeksForGeeks Graphs and for the code part, you can refer Networkx in Python3.