Background
The PageRank project was developed as part of a study on Artificial Intelligence and Graph Theory. It implements Google's PageRank algorithm, which evaluates the importance of web pages based on their link structures. The PageRank formula is given by: PR(p) = (1 - d) / N + d * sum (PR(i) / NumLinks(i)), where PR(p) is the PageRank of page p, d is the damping factor, N is the total number of pages in the network, PR(i) is the PageRank of page i that links to p, and NumLinks(i) is the number of links on page i.
Using a Markov Chain model, the algorithm simulates the user's navigation on the internet to iteratively distribute rank values, converging to a stable ranking of the pages. For each page i that links to p, the PageRank of i (PR(i)) is divided by the number of links on i (NumLinks(i)), representing the probability of being on page i and choosing the link to p.
Idea
In the PageRank project, I adopted an iterative method that redistributes importance values between connected pages. Initially, all pages receive a uniform score, which is then refined in each iteration based on the relevance of the received links.
The iterative approach ensures that pages with significant connections accumulate more weight, while the algorithm continues adjusting the values until the change becomes minimal, ensuring the robustness and accuracy of the ranking.
What I Learned
Graph Theory: Application of graph concepts to represent and analyze the interrelationships between web pages.
Markov Chains: Use of probabilistic models to simulate navigation behavior and the distribution of importance.
Iterative Methods: Implementation of iterative algorithms to efficiently update and converge rank values.
Convergence Analysis: Study of the algorithm's convergence process to ensure that the ranking stabilizes properly.
Technologies
Python
HTML