pagerank.js
Design of PageRank algorithm for link analysis in JavaScript.
Science Score: 41.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
○DOI references
-
✓Academic publication links
Links to: zenodo.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (10.6%) to scientific vocabulary
Keywords
Repository
Design of PageRank algorithm for link analysis in JavaScript.
Basic Info
- Host: GitHub
- Owner: puzzlef
- License: mit
- Language: JavaScript
- Default Branch: main
- Homepage: https://gist.github.com/wolfram77/14272ddfd5fd7560a8c3edf899fc475b
- Size: 26.4 KB
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 1
Topics
Metadata Files
README.md
Design of PageRank algorithm for link analysis in JavaScript.
Adjusting Damping factor in steps
The idea behind this experiment (adjust-damping-factor-stepwise) was to
adjust the damping factor α in steps, to see if it might help reduce
PageRank computation time. The PageRank computation first starts with a small
initial damping factor α = α₀. After the ranks have converged, the damping
factor α is updated to the next damping factor step, say α₁ and PageRank
computation is continued again. This is done until the final desired value of
αₑ is reached. For example, the computation starts initially with α = α₀ = 0.5,
lets ranks converge quickly, and then switches to α = αₑ = 0.85 and
continues PageRank computation until it converges. This single-step change
is attempted with the initial (fast converge) damping factor α₀ from 0.1
to 0.8. Similar to this, two-step, three-step, and four-step changes are also
attempted. With a two-step approach, a midpoint between the initial
damping value α₀ and αₑ = 0.85 is selected as well for the second set of
iterations. Similarly, three-step and four-step approaches use two and
three midpoints respectively.
A small sample graph is used in this experiment, which is stored in
the MatrixMarket (.mtx) file format. The experiment is implemented in
Node.js, and executed on a personal laptop. Only the iteration count
of each test case is measured. The tolerance τ = 10⁻⁵ is used for
all test cases. Statistics of each test case is printed to standard
output (stdout), and redirected to a log file, which is then processed
with a script to generate a CSV file, with each row representing the
details of a single test case. This CSV file is imported into Google
Sheets, and necessary tables are set up with the help of the FILTER
function to create the charts.
From the results it is clear that modifying the damping factor α
in steps is not a good idea. The standard fixed damping factor
PageRank, with α = 0.85, converges in 35 iterations. Using a
single-step approach increases the total number of iterations required,
by at least 4 iterations (with an initial damping factor α₀ = 0.1).
Increasing α₀ further increases the total number of iterations needed
for computation. Switching to a multi-step approach also increases the
number of iterations needed for convergence. The two-step, three-step,
and four-step approaches require a total of atleast 49, 60, and 71
iterations respectively. Again, increasing α₀ continues to increase
the total number of iterations needed for computation. A possible
explanation for this effect is that the ranks for different values of
the damping factor α are significantly different, and switching
to a different damping factor α after each step mostly leads to
recomputation.
Owner
- Name: puzzlef
- Login: puzzlef
- Kind: organization
- Website: https://puzzlef.github.io/
- Repositories: 10
- Profile: https://github.com/puzzlef
A summary of experiments.
Citation (CITATION.cff)
cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: Sahu
given-names: Subhajit
orcid: https://orcid.org/0000-0001-5140-6578
title: "puzzlef/pagerank-adjust-damping-factor-stepwise.js: Experimenting PageRank improvement by adjusting damping factor (α) between iterations"
version: 1.0.0
doi: 10.5281/zenodo.5597002
date-released: 2021-10-25
GitHub Events
Total
- Push event: 1
Last Year
- Push event: 1
Issues and Pull Requests
Last synced: 11 months ago
All Time
- Total issues: 0
- Total pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Total issue authors: 0
- Total pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0

