A simple implementation of the PageRank algorithm

This is an algorithm used to rank web pages, for example when you perform a search on Google.

What can you do ?

You can create nodes (websites) and add links between them (representing a website pointing to another one).

What is the goal ?

The arrangement of nodes and links represents a web structure. You can press "Generate" to obtain the three highest-ranked websites in the current web structure.

How does it work ?

The algorithm ultimately consists of finding the eigenvector r associated with the eigenvalue 1 of the matrix A.

The matrix A is constructed using the matrices P, Q, and C. The matrix C describes the links between websites. The matrix P is built so that each of its columns sums to 1.

Then, the matrix A is obtained by interpolating between the matrix P and a matrix where all components are equal to 1 divided by the number of nodes, using the parameter α. This parameter represents the probability of following the natural links between websites. We choose α = 0.85.

The tolerance parameter determines how precise the solution needs to be for the vector r (the eigenvector associated with the eigenvalue 1 of matrix A). The vector r contains the score assigned to each website: the first component corresponds to the score of the first website, and so on.

InfoIn game

Download

Download
PageRankWindows.zip 28 MB
Download
PageRankLinux.zip 22 MB

Leave a comment

Log in with itch.io to leave a comment.