NetRank: a simplified version of PageRank

Here we present our own NetRank algorithm as a simplified version of PageRank™. NetRank and PageRank™ accept exactly the same input: a directed graph. They also provide the same kind of output -- influence scores for all the nodes of the graph -- although they compute slightly different values for these scores.

NetRank has two outstanding properties relative to PageRank™:

  • NetRank captures the most important feature of PageRank™ that improves on indegree: Votes from high-ranked pages are worth more than votes from low-ranked pages.
  • NetRank is much easier to compute than PageRank™ -- mostly because NetRank ignores all the other ways that PageRank™ improves on indegree as a measure of influence.

Example: We demonstrate the NetRank calculation using the following directed graph G=(V,E):

3 nodes

We write NR to denote NetRank. The calculation of NR proceeds iteratively. During iteration i, the calculation of NRi improves upon the prior calculation of NR(i-1). We write NRi(x) to denote the NetRank value of node x during the ith iteration of the calculation.

Iteration 0: To get the NetRank calculation started, we begin with NR0(x) = 1 for every node x. Below we redraw G and write each NR0 value inside the corresponding node.

NR0

Iteration 1: For each node x, NR1(x) is the sum of the NR0 scores of all the nodes that vote for x:

  • NR1(1) = NR0(2) + NR0(3) = 1 + 1
  • NR1(2) = NR0(1) = 1
  • NR1(3) = NR0(2) = 1

Below is G with each NR1 value drawn inside the corresponding node. Note that for each node x, NR1(x) equals the indegree of x. NR1 counts votes and gives every vote equal weight.

NR0

Iteration 2: For each node x, NR2(x) is the sum of the NR1 scores of all the nodes that vote for x:

  • NR2(1) = NR1(2) + NR1(3) = 1 + 1
  • NR2(2) = NR1(1) = 2
  • NR2(3) = NR1(2) = 1

NR2 counts votes, which are then weighted according to the rank of who cast each vote. NR1 is used as the basis for weighting. Here is G with each NR2 value drawn inside the corresponding node.

NR2

Iteration 3: For each node x, NR3(x) is the sum of the NR2 scores of all the nodes that vote for x:

  • NR3(1) = NR2(2) + NR2(3) = 2 + 1
  • NR3(2) = NR2(1) = 2
  • NR3(3) = NR2(2) = 2

NR3 also counts weighted votes; however, the weighting of the votes is improved because NR2 is used instead of NR1. Here is G with each NR3 value drawn inside the corresponding node.

NR3

Summary of Iterations 0-3: Each of the iterations above is a column in the following table:

Node x
NR0(x)
NR1(x)
NR2(x)
NR3(x)
1
1
2 2 3
2
1
1 2 2
3
1
1 1 2

Subsequent iterations: As we continue iterating, the pattern of computing NRi by adding NR(i-1) values remains the same. This pattern is determined by the original input to the algorithm: the nodes and edges of directed graph G. In our current example, the pattern can be drawn over the table of values. We also extend the table out to iteration 7:

nr tabls

The arrows show how values from one column move (or are added) to determine the values in the next column.

 
Joomla Templates by Joomlashack