SlideShare a Scribd company logo
1 of 9
Download to read offline
1
Rank adjustment strategies for
Dynamic PageRank
Subhajit Sahu1
, Kishore Kothapalli1
, Dip Sankar Banerjee2
1
International Institute of Information Technology, Hyderabad
2
Indian Institute of Technology, Jodhpur
Abstract — To avoid calculating ranks of vertices in a dynamic graph from scratch
for every snapshot, the ones computed in the previous snapshot of the graph can be
used, with adjustment. Four different rank adjustment strategies for dynamic
PageRank are studied here. These include zero-fill, 1/N-fill, scaled zero-fill, and
scaled 1/N-fill. Results indicate that the scaled 1/N-fill strategy requires the least
number of iterations, on average. As long as the graph has no affected dead ends
(including dead ends in the previous snapshot), unaffected vertices can be skipped
with this adjustment strategy.
Index terms — PageRank algorithm, Dynamic graph, Rank adjustment, Initial ranks.
1. Introduction
Most graphs are dynamic, with new edges and vertices being added, or
removed, all the time. Time-evolving ranks of vertices in such a graph can be
obtained by performing a fresh (static) PageRank computation at every time
step. Another approach is to feed the rank of each vertex in the previous time
step as initial ranks to the PageRank algorithm [1]. This approach is called
incremental/dynamic PageRank.
In order to speed up convergence of the algorithm, these initial ranks can be
adjusted before performing PageRank computation. As long as updates to
the graph are small with respect to the size of the graph, dynamic PageRank
mostly wins over static PageRank.
2
2. Method
There are a number of strategies to set up the initial rank vector for the
PageRank algorithm on the updated graph, using the ranks from the old
graph. If a graph update does not end up adding any new vertices, then it is
simply a matter of running PageRank upon the updated graph with the
previous ranks, as the initial ranks. If however, some new vertices have been
added, and/or some old vertices have been removed, one of the following
strategies may be used to adjust the initial ranks: zero-fill, 1/N-fill, scaled
zero-fill, or scaled 1/N-fill. The zero-fill strategy is the simplest, and consists
of simply filling the ranks of new vertices with 0 (i.e. rnew = 0 for new
vertices). The 1/N-fill strategy is similar, ranks of new vertices are filled with
1/Nnew (i.e. rnew = 1/Nnew for new vertices). The scaled zero-fill strategy
extends zero-fill, and additionally scales ranks of old vertices with a factor of
Nold/Nnew (i.e. rnew = rold × Nold/Nnew for old vertices, and rnew= 1/Nnew for new
vertices). Finally, the scaled 1/N-fill strategy is a combination of scaling old
vertices, and 1/N-fill (i.e. rnew = rold × Nold/Nnew for old vertices, and rnew =
1/Nnew for new vertices). Here, Nold is the total number of vertices, and rold is
the rank of a given vertex in the old graph. On the other hand, Nnew is the
total number of vertices, and rnew is the rank of a given vertex in the updated
graph. A simplified view of these strategies is shown in figure 1.1.
Figure 1.1: Zero-fill, 1/N-fill, scaled zero-fill, and scaled 1/N-fill strategies.
For static PageRank computation of a graph, the initial ranks of all vertices
are set to 1/N, where N is the total number of vertices in the graph.
Therefore, the sum of all initial ranks equals 1, as it should for a probability
3
(rank) vector. It is important to note however that this is not an essential
condition, rather, it likely helps with faster convergence. This can be shown
with the following example. Consider a graph with only one vertex A that
links to itself (a self loop). The rank of vertex A after the nth
iteration would
be equal to rA = β + βα + βα2
+ … + βαn
× rA0. Here, α is damping factor
(usually 0.85), β = (1 - α), and rA0 is the initial rank of vertex A. For a large
value of n, βαn
× rA0 tends to zero, and the rank of vertex A can be
approximated with the geometric progression (GP) formula as rA = β/(1 - α) =
1. Thus, rank of vertex A is always 1, independent of its initial rank. This
extends to other graphs, where the sum of ranks of vertices always equals 1,
regardless of the initial ranks (with sufficient iterations). This property is
essential for the correctness of 1/N-fill, and scaled zero-fill strategies (their
initial ranks do not sum to 1).
With scaled rank adjustment strategies, unlike unscaled ones, PageRank
computation on unaffected vertices can be skipped, as long as the graph has
no affected dead ends (including dead ends in the old graph). Scaling is
necessary, because even though the importance of unaffected vertices does
not change, the final rank vector is a probabilistic vector and must sum to 1.
Here, affected vertices are those which are either changed vertices, or are
reachable from changed vertices. Changed vertices are those which have an
edge added or removed between it and another (changed) vertex.
The necessity for the absence of affected new/old dead ends (vertices
without out-links), as mentioned above, can be seen with the following
example. Consider a graph with 2 vertices, A and B, without any edges.
Here, the ranks of A and B would be rA = 0.5 and rB = 0.5. For the updated
graph, a self-loop is added to vertex B. Thus, the affected vertex B is no
longer a dead end. If the algorithm ignores the fact that vertex B was a dead
end in the old graph, it would simply scale the rank of vertex A (which has
no effect since no new vertices were added), and end up with its rank as rA =
0.5, implying that the rank of vertex B would be rB = 0.5. This however is
incorrect as the newly added self loop to vertex B would actually increase its
rank (and decrease vertex B’s rank due to a reduced common teleport
contribution c0). In fact, the true ranks of the vertices would be rA = β/(1 + β)
= 0.13, and rB = 0.87 (when damping factor α = 0.85 and β = 1 - α). Thus, the
dead ends for both the updated and the old graph must be considered for
the affected check. Note however that this constraint only applies to the
PageRank algorithm with teleport-based dead end handling strategy.
4
3. Experimental setup
An experiment is conducted with each rank adjustment strategy on various
temporal graphs, updating each graph with multiple batch sizes (103
, 104
, ...),
until the entire graph is processed. For each batch size, static PageRank is
computed, along with incremental PageRank based on each of the four rank
adjustment strategies, without skipping unaffected vertices. This is done in
order to get an estimate of the convergence rate of each rank adjustment
strategy, independent of the number of skipped vertices (which can differ
based on the dead end handling strategy used).
Each rank adjustment strategy is performed using a common adjustment
function that adds a value, then multiplies a value to old ranks, and sets a
value for new ranks. After ranks are adjusted, they are set as initial ranks for
PageRank computation, which is then run on all vertices (no vertices are
skipped). The PageRank algorithm used is the standard power-iteration
(pull) based that optionally accepts initial ranks [2]. The rank of a vertex in
an iteration is calculated as c0 + αΣrn/dn, where c0 is the common teleport
contribution, α is the damping factor (0.85), rn is the previous rank of vertex
with an incoming edge, dn is the out-degree of the incoming-edge vertex,
and N is the total number of vertices in the graph. The common teleport
contribution c0, calculated as (1-α)/N + αΣrn/N, includes the contribution due
to a teleport from any vertex in the graph due to the damping factor (1-α)/N,
and teleport from dangling vertices (with no outgoing edges) in the graph
αΣrn/N. This is because a random surfer jumps to a random page upon
visiting a page with no links, in order to avoid the rank-sink effect [1].
All seven graphs (temporal) used in this experiment are stored in a plain text
file in “u, v, t” format, where u is the source vertex, v is the destination vertex,
and t is the UNIX epoch time in seconds. These include: CollegeMsg,
email-Eu-core-temporal, sx-mathoverflow, sx-askubuntu, sx-superuser,
wiki-talk-temporal, and sx-stackoverflow. All of them are obtained from the
Stanford Large Network Dataset Collection [3]. If initial ranks are not
provided, they are set to 1/N. Error check is done using L1 norm with static
PageRank (without initial ranks). The experiment is implemented in C++, and
compiled using GCC 9 with optimization level 3 (-O3). The system used is a
Dell PowerEdge R740 Rack server with two Intel Xeon Silver 4116 CPUs @
2.10GHz, 128GB DIMM DDR4 Synchronous Registered (Buffered) 2666
MHz (8x16GB) DRAM, and running CentOS Linux release 7.9.2009 (Core).
The iterations taken with each test case is measured. 500 is the maximum
5
iterations allowed. 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.
4. Results
It is observed that 1/N-fill and scaled zero-fill strategies tend to require more
iterations for convergence for all graphs, with the 1/N-fill strategy usually
performing the worst. For small temporal graphs, such as CollegeMsg and
email-Eu-core-temporal, the two strategies are almost always slower than
static PageRank, as shown in figure 4.1. This is possibly because the sum of
ranks with both the strategies does not sum up to 1. For larger graphs this is
usually not the case for smaller batch sizes, as shown in figure 4.2. However,
for large batch sizes, static PageRank is able to beat all of the rank
adjustment strategies, as shown in figure 4.3. This is expected, since beyond
a certain batch size, computing PageRank from scratch is going to be faster
than dynamic PageRank [1].
Figure 4.1: Iterations taken for static PageRank, along with incremental PageRank
computation with each of the rank adjustment strategies: zero-fill, 1/N-fill, scaled
zero-fill, and scaled 1/N-fill. This is done on the email-Eu-core-temporal graph, with
a batch size of 104
.
6
Figure 4.2: Iterations taken for static PageRank, along with incremental PageRank
computation with each of the rank adjustment strategies: zero-fill, 1/N-fill, scaled
zero-fill, and scaled 1/N-fill. This is done on the wiki-talk-temporal graph, with a
batch size of 104
.
Figure 4.3: Geometric mean of iterations taken on the wiki-talk-temporal graph, for
static PageRank, along with incremental PageRank computation with each of the
rank adjustment strategies: zero-fill, 1/N-fill, scaled zero-fill, and scaled 1/N-fill. This
is done with batch sizes ranging from 103
to 106
. With each batch size, edges are
added to the graph in steps, until the entire graph is processed. The figure for
arithmetic mean of iterations is similar.
7
On average, on all graphs, the scaled 1/N-fill strategy seems to perform the
best, as shown in figures 4.4 and 4.5. Based on GM-RATIO comparison [4],
the relative iterations between zero-fill, 1/N-fill, scaled zero-fill, and scaled
1/N-fill is 1.00 : 1.07 : 1.10 : 0.93 for all batch sizes. Hence, 1/N-fill is 3%
faster (1.03x) than scaled zero-fill, zero-fill is 7% faster (1.07x) than 1/N-fill,
and scaled 1/N-fill is 7% faster (1.08x) than zero-fill. The comparison of
relative iterations for specific batch sizes is shown in figure 4.5. Here,
GM-RATIO is obtained by taking the geometric mean (GM) of iterations taken
at different stages of the graph, on each graph, with each batch size. Then,
GM is taken for each batch size, across all graphs. Finally, GM is taken for all
batch sizes, and a ratio is obtained relative to the zero-fill strategy. Based on
AM-RATIO comparison [4], the relative iterations between zero-fill, 1/N-fill,
scaled zero-fill, and scaled 1/N-fill is 1.00 : 1.03 : 1.07 : 0.92 (all batch
sizes). Hence, 1/N-fill is 4% faster (1.04x) than scaled zero-fill, zero-fill is 3%
faster (1.03x) than 1/N-fill, and scaled 1/N-fill is 8% faster (1.09x) than
zero-fill. AM-RATIO is obtained in a process similar to that of GM-RATIO,
except that arithmetic mean (AM) is used instead of GM.
Figure 4.4: Geometric mean of iterations taken on all the seven temporal graphs, for
static PageRank, along with incremental PageRank computation with each of the
rank adjustment strategies: zero-fill, 1/N-fill, scaled zero-fill, and scaled 1/N-fill. This
is done with batch sizes ranging from 103
to 107
. Since batch size is limited by the
total number of temporal edges of a graph, for large batch sizes only large graphs
are considered. The figure for arithmetic mean of iterations is similar.
8
Figure 4.5: Relative GM iterations taken on all the seven temporal graphs, for static
PageRank, along with incremental PageRank computation with each of the rank
adjustment strategies: zero-fill, 1/N-fill, scaled zero-fill, and scaled 1/N-fill. This is
done with batch sizes ranging from 103
to 107
. The figure for relative AM iterations is
similar.
5. Conclusion
Among the four studied rank adjustment strategies for dynamic PageRank,
scaled 1/N-fill appears to be the best. Also note that with the scaled 1/N-fill
strategy (also scaled zero-fill, but it is slower), it is possible to skip
PageRank computation on unaffected vertices, as long as the graph has no
affected dead ends (including dead ends in the old graph). The scaled
1/N-fill rank adjustment strategy, which is commonly used for dynamic
PageRank [5], is thus the way to go. The link to source code, along with data
sheets and charts, for rank adjustment strategies [6] on dynamic (temporal)
graphs is included in references.
References
[1] A. Langville and C. Meyer, “Deeper Inside PageRank,” Internet Math.,
vol. 1, no. 3, pp. 335–380, Jan. 2004, doi:
9
10.1080/15427951.2004.10129091.
[2] J. J. Whang, A. Lenharth, I. S. Dhillon, and K. Pingali, “Scalable
Data-Driven PageRank: Algorithms, System Issues, and Lessons
Learned,” in Euro-Par 2015: Parallel Processing, vol. 9233, J. L. Träff, S.
Hunold, and F. Versaci, Eds. Berlin, Heidelberg: Springer Berlin
Heidelberg, 2015, pp. 438–450.
[3] J. Leskovec and A. Krevl, “SNAP Datasets: Stanford Large Network
Dataset Collection,” Jun. 2014.
[4] S. Sahu, K. Kothapalli, and D. S. Banerjee, “Adjusting PageRank
parameters and Comparing results,” 2021.
[5] P. Desikan, N. Pathak, J. Srivastava, and V. Kumar, “Incremental page
rank computation on evolving graphs,” in Special interest tracks and
posters of the 14th international conference on World Wide Web  -
WWW ’05, New York, New York, USA, May 2005, p. 1094, doi:
10.1145/1062745.1062885.
[6] S. Sahu, “puzzlef/pagerank-dynamic-adjust-ranks: Comparing strategies
to update ranks for dynamic PageRank (pull, CSR).”
https://github.com/puzzlef/pagerank-dynamic-adjust-ranks (accessed
Aug. 31, 2021).

More Related Content

What's hot

Time Series Analysis - 2 | Time Series in R | ARIMA Model Forecasting | Data ...
Time Series Analysis - 2 | Time Series in R | ARIMA Model Forecasting | Data ...Time Series Analysis - 2 | Time Series in R | ARIMA Model Forecasting | Data ...
Time Series Analysis - 2 | Time Series in R | ARIMA Model Forecasting | Data ...Simplilearn
 
Time Series - Auto Regressive Models
Time Series - Auto Regressive ModelsTime Series - Auto Regressive Models
Time Series - Auto Regressive ModelsBhaskar T
 
Meeting w3 chapter 2 part 1
Meeting w3   chapter 2 part 1Meeting w3   chapter 2 part 1
Meeting w3 chapter 2 part 1Hattori Sidek
 
Isen 614 project presentation
Isen 614 project presentationIsen 614 project presentation
Isen 614 project presentationVanshaj Handoo
 
Project time series ppt
Project time series pptProject time series ppt
Project time series pptamar patil
 
types of facility layout algorithm
types of facility layout algorithmtypes of facility layout algorithm
types of facility layout algorithmAsIf Fisa
 
Byungchul Yea (Project)
Byungchul Yea (Project)Byungchul Yea (Project)
Byungchul Yea (Project)Byung Chul Yea
 
A Comparative study of locality Preserving Projection & Principle Component A...
A Comparative study of locality Preserving Projection & Principle Component A...A Comparative study of locality Preserving Projection & Principle Component A...
A Comparative study of locality Preserving Projection & Principle Component A...RAHUL WAGAJ
 
Using the Componentwise Metropolis-Hastings Algorithm to Sample from the Join...
Using the Componentwise Metropolis-Hastings Algorithm to Sample from the Join...Using the Componentwise Metropolis-Hastings Algorithm to Sample from the Join...
Using the Componentwise Metropolis-Hastings Algorithm to Sample from the Join...Thomas Templin
 
Lesson 4 ar-ma
Lesson 4 ar-maLesson 4 ar-ma
Lesson 4 ar-maankit_ppt
 
Isen 614 project report
Isen 614 project reportIsen 614 project report
Isen 614 project reportVanshaj Handoo
 
Modern Control System (BE)
Modern Control System (BE)Modern Control System (BE)
Modern Control System (BE)PRABHAHARAN429
 
Keeping the Same Rule
Keeping the Same RuleKeeping the Same Rule
Keeping the Same RuleMohammed Awad
 

What's hot (20)

Time Series Analysis - 2 | Time Series in R | ARIMA Model Forecasting | Data ...
Time Series Analysis - 2 | Time Series in R | ARIMA Model Forecasting | Data ...Time Series Analysis - 2 | Time Series in R | ARIMA Model Forecasting | Data ...
Time Series Analysis - 2 | Time Series in R | ARIMA Model Forecasting | Data ...
 
Time Series - Auto Regressive Models
Time Series - Auto Regressive ModelsTime Series - Auto Regressive Models
Time Series - Auto Regressive Models
 
AR model
AR modelAR model
AR model
 
Signal Processing Assignment Help
Signal Processing Assignment HelpSignal Processing Assignment Help
Signal Processing Assignment Help
 
Meeting w3 chapter 2 part 1
Meeting w3   chapter 2 part 1Meeting w3   chapter 2 part 1
Meeting w3 chapter 2 part 1
 
Isen 614 project presentation
Isen 614 project presentationIsen 614 project presentation
Isen 614 project presentation
 
Project time series ppt
Project time series pptProject time series ppt
Project time series ppt
 
R nonlinear least square
R   nonlinear least squareR   nonlinear least square
R nonlinear least square
 
Fourier Transform Assignment Help
Fourier Transform Assignment HelpFourier Transform Assignment Help
Fourier Transform Assignment Help
 
types of facility layout algorithm
types of facility layout algorithmtypes of facility layout algorithm
types of facility layout algorithm
 
Time series forecasting
Time series forecastingTime series forecasting
Time series forecasting
 
Byungchul Yea (Project)
Byungchul Yea (Project)Byungchul Yea (Project)
Byungchul Yea (Project)
 
A Comparative study of locality Preserving Projection & Principle Component A...
A Comparative study of locality Preserving Projection & Principle Component A...A Comparative study of locality Preserving Projection & Principle Component A...
A Comparative study of locality Preserving Projection & Principle Component A...
 
Using the Componentwise Metropolis-Hastings Algorithm to Sample from the Join...
Using the Componentwise Metropolis-Hastings Algorithm to Sample from the Join...Using the Componentwise Metropolis-Hastings Algorithm to Sample from the Join...
Using the Componentwise Metropolis-Hastings Algorithm to Sample from the Join...
 
Lesson 4 ar-ma
Lesson 4 ar-maLesson 4 ar-ma
Lesson 4 ar-ma
 
Time series Analysis
Time series AnalysisTime series Analysis
Time series Analysis
 
Isen 614 project report
Isen 614 project reportIsen 614 project report
Isen 614 project report
 
Modern Control System (BE)
Modern Control System (BE)Modern Control System (BE)
Modern Control System (BE)
 
BPstudy sklearn 20180925
BPstudy sklearn 20180925BPstudy sklearn 20180925
BPstudy sklearn 20180925
 
Keeping the Same Rule
Keeping the Same RuleKeeping the Same Rule
Keeping the Same Rule
 

Similar to Rank adjustment strategies for Dynamic PageRank : REPORT

PHYS 221Lab 1 - Acceleration Due to GravityPlease work in g.docx
PHYS 221Lab 1 - Acceleration Due to GravityPlease work in g.docxPHYS 221Lab 1 - Acceleration Due to GravityPlease work in g.docx
PHYS 221Lab 1 - Acceleration Due to GravityPlease work in g.docxmattjtoni51554
 
Effect of stepwise adjustment of Damping factor upon PageRank : REPORT
Effect of stepwise adjustment of Damping factor upon PageRank : REPORTEffect of stepwise adjustment of Damping factor upon PageRank : REPORT
Effect of stepwise adjustment of Damping factor upon PageRank : REPORTSubhajit Sahu
 
CSCI 2033 Elementary Computational Linear Algebra(Spring 20.docx
CSCI 2033 Elementary Computational Linear Algebra(Spring 20.docxCSCI 2033 Elementary Computational Linear Algebra(Spring 20.docx
CSCI 2033 Elementary Computational Linear Algebra(Spring 20.docxmydrynan
 
Lec5 pagerank
Lec5 pagerankLec5 pagerank
Lec5 pagerankCarlos
 
Lec5 Pagerank
Lec5 PagerankLec5 Pagerank
Lec5 Pagerankmobius.cn
 
Pagerank (from Google)
Pagerank (from Google)Pagerank (from Google)
Pagerank (from Google)Sri Prasanna
 
Gauss Elimination (without pivot).pptx
Gauss Elimination (without pivot).pptxGauss Elimination (without pivot).pptx
Gauss Elimination (without pivot).pptxSaloni Singhal
 
Multinomial Logistic Regression with Apache Spark
Multinomial Logistic Regression with Apache SparkMultinomial Logistic Regression with Apache Spark
Multinomial Logistic Regression with Apache SparkDB Tsai
 
Alpine Spark Implementation - Technical
Alpine Spark Implementation - TechnicalAlpine Spark Implementation - Technical
Alpine Spark Implementation - Technicalalpinedatalabs
 
Simplex Algorithm
Simplex AlgorithmSimplex Algorithm
Simplex AlgorithmAizaz Ahmad
 
Improvement of shortest path algorithms using subgraphs heuristics
Improvement of shortest path algorithms using subgraphs heuristicsImprovement of shortest path algorithms using subgraphs heuristics
Improvement of shortest path algorithms using subgraphs heuristicsMahdi Atawneh
 
PowerLyra@EuroSys2015
PowerLyra@EuroSys2015PowerLyra@EuroSys2015
PowerLyra@EuroSys2015realstolz
 
How to combine interpolation and regression graphs in R
How to combine interpolation and regression graphs in RHow to combine interpolation and regression graphs in R
How to combine interpolation and regression graphs in RDougLoqa
 
NS-CUK Seminar: S.T.Nguyen, Review on "Hierarchical Graph Transformer with Ad...
NS-CUK Seminar: S.T.Nguyen, Review on "Hierarchical Graph Transformer with Ad...NS-CUK Seminar: S.T.Nguyen, Review on "Hierarchical Graph Transformer with Ad...
NS-CUK Seminar: S.T.Nguyen, Review on "Hierarchical Graph Transformer with Ad...ssuser4b1f48
 
GRAPH MATCHING ALGORITHM FOR TASK ASSIGNMENT PROBLEM
GRAPH MATCHING ALGORITHM FOR TASK ASSIGNMENT PROBLEMGRAPH MATCHING ALGORITHM FOR TASK ASSIGNMENT PROBLEM
GRAPH MATCHING ALGORITHM FOR TASK ASSIGNMENT PROBLEMIJCSEA Journal
 

Similar to Rank adjustment strategies for Dynamic PageRank : REPORT (20)

PHYS 221Lab 1 - Acceleration Due to GravityPlease work in g.docx
PHYS 221Lab 1 - Acceleration Due to GravityPlease work in g.docxPHYS 221Lab 1 - Acceleration Due to GravityPlease work in g.docx
PHYS 221Lab 1 - Acceleration Due to GravityPlease work in g.docx
 
Ann a Algorithms notes
Ann a Algorithms notesAnn a Algorithms notes
Ann a Algorithms notes
 
Effect of stepwise adjustment of Damping factor upon PageRank : REPORT
Effect of stepwise adjustment of Damping factor upon PageRank : REPORTEffect of stepwise adjustment of Damping factor upon PageRank : REPORT
Effect of stepwise adjustment of Damping factor upon PageRank : REPORT
 
CSCI 2033 Elementary Computational Linear Algebra(Spring 20.docx
CSCI 2033 Elementary Computational Linear Algebra(Spring 20.docxCSCI 2033 Elementary Computational Linear Algebra(Spring 20.docx
CSCI 2033 Elementary Computational Linear Algebra(Spring 20.docx
 
Lec5 Pagerank
Lec5 PagerankLec5 Pagerank
Lec5 Pagerank
 
Lec5 pagerank
Lec5 pagerankLec5 pagerank
Lec5 pagerank
 
Lec5 Pagerank
Lec5 PagerankLec5 Pagerank
Lec5 Pagerank
 
Pagerank (from Google)
Pagerank (from Google)Pagerank (from Google)
Pagerank (from Google)
 
Gauss Elimination (without pivot).pptx
Gauss Elimination (without pivot).pptxGauss Elimination (without pivot).pptx
Gauss Elimination (without pivot).pptx
 
Multinomial Logistic Regression with Apache Spark
Multinomial Logistic Regression with Apache SparkMultinomial Logistic Regression with Apache Spark
Multinomial Logistic Regression with Apache Spark
 
Alpine Spark Implementation - Technical
Alpine Spark Implementation - TechnicalAlpine Spark Implementation - Technical
Alpine Spark Implementation - Technical
 
Simplex algorithm
Simplex algorithmSimplex algorithm
Simplex algorithm
 
Simplex Algorithm
Simplex AlgorithmSimplex Algorithm
Simplex Algorithm
 
Improvement of shortest path algorithms using subgraphs heuristics
Improvement of shortest path algorithms using subgraphs heuristicsImprovement of shortest path algorithms using subgraphs heuristics
Improvement of shortest path algorithms using subgraphs heuristics
 
PowerLyra@EuroSys2015
PowerLyra@EuroSys2015PowerLyra@EuroSys2015
PowerLyra@EuroSys2015
 
working with python
working with pythonworking with python
working with python
 
How to combine interpolation and regression graphs in R
How to combine interpolation and regression graphs in RHow to combine interpolation and regression graphs in R
How to combine interpolation and regression graphs in R
 
NS-CUK Seminar: S.T.Nguyen, Review on "Hierarchical Graph Transformer with Ad...
NS-CUK Seminar: S.T.Nguyen, Review on "Hierarchical Graph Transformer with Ad...NS-CUK Seminar: S.T.Nguyen, Review on "Hierarchical Graph Transformer with Ad...
NS-CUK Seminar: S.T.Nguyen, Review on "Hierarchical Graph Transformer with Ad...
 
GRAPH MATCHING ALGORITHM FOR TASK ASSIGNMENT PROBLEM
GRAPH MATCHING ALGORITHM FOR TASK ASSIGNMENT PROBLEMGRAPH MATCHING ALGORITHM FOR TASK ASSIGNMENT PROBLEM
GRAPH MATCHING ALGORITHM FOR TASK ASSIGNMENT PROBLEM
 
10.1.1.630.8055
10.1.1.630.805510.1.1.630.8055
10.1.1.630.8055
 

More from Subhajit Sahu

DyGraph: A Dynamic Graph Generator and Benchmark Suite : NOTES
DyGraph: A Dynamic Graph Generator and Benchmark Suite : NOTESDyGraph: A Dynamic Graph Generator and Benchmark Suite : NOTES
DyGraph: A Dynamic Graph Generator and Benchmark Suite : NOTESSubhajit Sahu
 
Shared memory Parallelism (NOTES)
Shared memory Parallelism (NOTES)Shared memory Parallelism (NOTES)
Shared memory Parallelism (NOTES)Subhajit Sahu
 
A Dynamic Algorithm for Local Community Detection in Graphs : NOTES
A Dynamic Algorithm for Local Community Detection in Graphs : NOTESA Dynamic Algorithm for Local Community Detection in Graphs : NOTES
A Dynamic Algorithm for Local Community Detection in Graphs : NOTESSubhajit Sahu
 
Scalable Static and Dynamic Community Detection Using Grappolo : NOTES
Scalable Static and Dynamic Community Detection Using Grappolo : NOTESScalable Static and Dynamic Community Detection Using Grappolo : NOTES
Scalable Static and Dynamic Community Detection Using Grappolo : NOTESSubhajit Sahu
 
Application Areas of Community Detection: A Review : NOTES
Application Areas of Community Detection: A Review : NOTESApplication Areas of Community Detection: A Review : NOTES
Application Areas of Community Detection: A Review : NOTESSubhajit Sahu
 
Community Detection on the GPU : NOTES
Community Detection on the GPU : NOTESCommunity Detection on the GPU : NOTES
Community Detection on the GPU : NOTESSubhajit Sahu
 
Survey for extra-child-process package : NOTES
Survey for extra-child-process package : NOTESSurvey for extra-child-process package : NOTES
Survey for extra-child-process package : NOTESSubhajit Sahu
 
Dynamic Batch Parallel Algorithms for Updating PageRank : POSTER
Dynamic Batch Parallel Algorithms for Updating PageRank : POSTERDynamic Batch Parallel Algorithms for Updating PageRank : POSTER
Dynamic Batch Parallel Algorithms for Updating PageRank : POSTERSubhajit Sahu
 
Abstract for IPDPS 2022 PhD Forum on Dynamic Batch Parallel Algorithms for Up...
Abstract for IPDPS 2022 PhD Forum on Dynamic Batch Parallel Algorithms for Up...Abstract for IPDPS 2022 PhD Forum on Dynamic Batch Parallel Algorithms for Up...
Abstract for IPDPS 2022 PhD Forum on Dynamic Batch Parallel Algorithms for Up...Subhajit Sahu
 
Fast Incremental Community Detection on Dynamic Graphs : NOTES
Fast Incremental Community Detection on Dynamic Graphs : NOTESFast Incremental Community Detection on Dynamic Graphs : NOTES
Fast Incremental Community Detection on Dynamic Graphs : NOTESSubhajit Sahu
 
Can you fix farming by going back 8000 years : NOTES
Can you fix farming by going back 8000 years : NOTESCan you fix farming by going back 8000 years : NOTES
Can you fix farming by going back 8000 years : NOTESSubhajit Sahu
 
HITS algorithm : NOTES
HITS algorithm : NOTESHITS algorithm : NOTES
HITS algorithm : NOTESSubhajit Sahu
 
Basic Computer Architecture and the Case for GPUs : NOTES
Basic Computer Architecture and the Case for GPUs : NOTESBasic Computer Architecture and the Case for GPUs : NOTES
Basic Computer Architecture and the Case for GPUs : NOTESSubhajit Sahu
 
Dynamic Batch Parallel Algorithms for Updating Pagerank : SLIDES
Dynamic Batch Parallel Algorithms for Updating Pagerank : SLIDESDynamic Batch Parallel Algorithms for Updating Pagerank : SLIDES
Dynamic Batch Parallel Algorithms for Updating Pagerank : SLIDESSubhajit Sahu
 
Are Satellites Covered in Gold Foil : NOTES
Are Satellites Covered in Gold Foil : NOTESAre Satellites Covered in Gold Foil : NOTES
Are Satellites Covered in Gold Foil : NOTESSubhajit Sahu
 
Taxation for Traders < Markets and Taxation : NOTES
Taxation for Traders < Markets and Taxation : NOTESTaxation for Traders < Markets and Taxation : NOTES
Taxation for Traders < Markets and Taxation : NOTESSubhajit Sahu
 
A Generalization of the PageRank Algorithm : NOTES
A Generalization of the PageRank Algorithm : NOTESA Generalization of the PageRank Algorithm : NOTES
A Generalization of the PageRank Algorithm : NOTESSubhajit Sahu
 
ApproxBioWear: Approximating Additions for Efficient Biomedical Wearable Comp...
ApproxBioWear: Approximating Additions for Efficient Biomedical Wearable Comp...ApproxBioWear: Approximating Additions for Efficient Biomedical Wearable Comp...
ApproxBioWear: Approximating Additions for Efficient Biomedical Wearable Comp...Subhajit Sahu
 
Income Tax Calender 2021 (ITD) : NOTES
Income Tax Calender 2021 (ITD) : NOTESIncome Tax Calender 2021 (ITD) : NOTES
Income Tax Calender 2021 (ITD) : NOTESSubhajit Sahu
 
Youngistaan Foundation: Annual Report 2020-21 : NOTES
Youngistaan Foundation: Annual Report 2020-21 : NOTESYoungistaan Foundation: Annual Report 2020-21 : NOTES
Youngistaan Foundation: Annual Report 2020-21 : NOTESSubhajit Sahu
 

More from Subhajit Sahu (20)

DyGraph: A Dynamic Graph Generator and Benchmark Suite : NOTES
DyGraph: A Dynamic Graph Generator and Benchmark Suite : NOTESDyGraph: A Dynamic Graph Generator and Benchmark Suite : NOTES
DyGraph: A Dynamic Graph Generator and Benchmark Suite : NOTES
 
Shared memory Parallelism (NOTES)
Shared memory Parallelism (NOTES)Shared memory Parallelism (NOTES)
Shared memory Parallelism (NOTES)
 
A Dynamic Algorithm for Local Community Detection in Graphs : NOTES
A Dynamic Algorithm for Local Community Detection in Graphs : NOTESA Dynamic Algorithm for Local Community Detection in Graphs : NOTES
A Dynamic Algorithm for Local Community Detection in Graphs : NOTES
 
Scalable Static and Dynamic Community Detection Using Grappolo : NOTES
Scalable Static and Dynamic Community Detection Using Grappolo : NOTESScalable Static and Dynamic Community Detection Using Grappolo : NOTES
Scalable Static and Dynamic Community Detection Using Grappolo : NOTES
 
Application Areas of Community Detection: A Review : NOTES
Application Areas of Community Detection: A Review : NOTESApplication Areas of Community Detection: A Review : NOTES
Application Areas of Community Detection: A Review : NOTES
 
Community Detection on the GPU : NOTES
Community Detection on the GPU : NOTESCommunity Detection on the GPU : NOTES
Community Detection on the GPU : NOTES
 
Survey for extra-child-process package : NOTES
Survey for extra-child-process package : NOTESSurvey for extra-child-process package : NOTES
Survey for extra-child-process package : NOTES
 
Dynamic Batch Parallel Algorithms for Updating PageRank : POSTER
Dynamic Batch Parallel Algorithms for Updating PageRank : POSTERDynamic Batch Parallel Algorithms for Updating PageRank : POSTER
Dynamic Batch Parallel Algorithms for Updating PageRank : POSTER
 
Abstract for IPDPS 2022 PhD Forum on Dynamic Batch Parallel Algorithms for Up...
Abstract for IPDPS 2022 PhD Forum on Dynamic Batch Parallel Algorithms for Up...Abstract for IPDPS 2022 PhD Forum on Dynamic Batch Parallel Algorithms for Up...
Abstract for IPDPS 2022 PhD Forum on Dynamic Batch Parallel Algorithms for Up...
 
Fast Incremental Community Detection on Dynamic Graphs : NOTES
Fast Incremental Community Detection on Dynamic Graphs : NOTESFast Incremental Community Detection on Dynamic Graphs : NOTES
Fast Incremental Community Detection on Dynamic Graphs : NOTES
 
Can you fix farming by going back 8000 years : NOTES
Can you fix farming by going back 8000 years : NOTESCan you fix farming by going back 8000 years : NOTES
Can you fix farming by going back 8000 years : NOTES
 
HITS algorithm : NOTES
HITS algorithm : NOTESHITS algorithm : NOTES
HITS algorithm : NOTES
 
Basic Computer Architecture and the Case for GPUs : NOTES
Basic Computer Architecture and the Case for GPUs : NOTESBasic Computer Architecture and the Case for GPUs : NOTES
Basic Computer Architecture and the Case for GPUs : NOTES
 
Dynamic Batch Parallel Algorithms for Updating Pagerank : SLIDES
Dynamic Batch Parallel Algorithms for Updating Pagerank : SLIDESDynamic Batch Parallel Algorithms for Updating Pagerank : SLIDES
Dynamic Batch Parallel Algorithms for Updating Pagerank : SLIDES
 
Are Satellites Covered in Gold Foil : NOTES
Are Satellites Covered in Gold Foil : NOTESAre Satellites Covered in Gold Foil : NOTES
Are Satellites Covered in Gold Foil : NOTES
 
Taxation for Traders < Markets and Taxation : NOTES
Taxation for Traders < Markets and Taxation : NOTESTaxation for Traders < Markets and Taxation : NOTES
Taxation for Traders < Markets and Taxation : NOTES
 
A Generalization of the PageRank Algorithm : NOTES
A Generalization of the PageRank Algorithm : NOTESA Generalization of the PageRank Algorithm : NOTES
A Generalization of the PageRank Algorithm : NOTES
 
ApproxBioWear: Approximating Additions for Efficient Biomedical Wearable Comp...
ApproxBioWear: Approximating Additions for Efficient Biomedical Wearable Comp...ApproxBioWear: Approximating Additions for Efficient Biomedical Wearable Comp...
ApproxBioWear: Approximating Additions for Efficient Biomedical Wearable Comp...
 
Income Tax Calender 2021 (ITD) : NOTES
Income Tax Calender 2021 (ITD) : NOTESIncome Tax Calender 2021 (ITD) : NOTES
Income Tax Calender 2021 (ITD) : NOTES
 
Youngistaan Foundation: Annual Report 2020-21 : NOTES
Youngistaan Foundation: Annual Report 2020-21 : NOTESYoungistaan Foundation: Annual Report 2020-21 : NOTES
Youngistaan Foundation: Annual Report 2020-21 : NOTES
 

Recently uploaded

KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
buds n tech IT solutions
buds n  tech IT                solutionsbuds n  tech IT                solutions
buds n tech IT solutionsmonugehlot87
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?Watsoo Telematics
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsMehedi Hasan Shohan
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 

Recently uploaded (20)

KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
buds n tech IT solutions
buds n  tech IT                solutionsbuds n  tech IT                solutions
buds n tech IT solutions
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software Solutions
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 

Rank adjustment strategies for Dynamic PageRank : REPORT

  • 1. 1 Rank adjustment strategies for Dynamic PageRank Subhajit Sahu1 , Kishore Kothapalli1 , Dip Sankar Banerjee2 1 International Institute of Information Technology, Hyderabad 2 Indian Institute of Technology, Jodhpur Abstract — To avoid calculating ranks of vertices in a dynamic graph from scratch for every snapshot, the ones computed in the previous snapshot of the graph can be used, with adjustment. Four different rank adjustment strategies for dynamic PageRank are studied here. These include zero-fill, 1/N-fill, scaled zero-fill, and scaled 1/N-fill. Results indicate that the scaled 1/N-fill strategy requires the least number of iterations, on average. As long as the graph has no affected dead ends (including dead ends in the previous snapshot), unaffected vertices can be skipped with this adjustment strategy. Index terms — PageRank algorithm, Dynamic graph, Rank adjustment, Initial ranks. 1. Introduction Most graphs are dynamic, with new edges and vertices being added, or removed, all the time. Time-evolving ranks of vertices in such a graph can be obtained by performing a fresh (static) PageRank computation at every time step. Another approach is to feed the rank of each vertex in the previous time step as initial ranks to the PageRank algorithm [1]. This approach is called incremental/dynamic PageRank. In order to speed up convergence of the algorithm, these initial ranks can be adjusted before performing PageRank computation. As long as updates to the graph are small with respect to the size of the graph, dynamic PageRank mostly wins over static PageRank.
  • 2. 2 2. Method There are a number of strategies to set up the initial rank vector for the PageRank algorithm on the updated graph, using the ranks from the old graph. If a graph update does not end up adding any new vertices, then it is simply a matter of running PageRank upon the updated graph with the previous ranks, as the initial ranks. If however, some new vertices have been added, and/or some old vertices have been removed, one of the following strategies may be used to adjust the initial ranks: zero-fill, 1/N-fill, scaled zero-fill, or scaled 1/N-fill. The zero-fill strategy is the simplest, and consists of simply filling the ranks of new vertices with 0 (i.e. rnew = 0 for new vertices). The 1/N-fill strategy is similar, ranks of new vertices are filled with 1/Nnew (i.e. rnew = 1/Nnew for new vertices). The scaled zero-fill strategy extends zero-fill, and additionally scales ranks of old vertices with a factor of Nold/Nnew (i.e. rnew = rold × Nold/Nnew for old vertices, and rnew= 1/Nnew for new vertices). Finally, the scaled 1/N-fill strategy is a combination of scaling old vertices, and 1/N-fill (i.e. rnew = rold × Nold/Nnew for old vertices, and rnew = 1/Nnew for new vertices). Here, Nold is the total number of vertices, and rold is the rank of a given vertex in the old graph. On the other hand, Nnew is the total number of vertices, and rnew is the rank of a given vertex in the updated graph. A simplified view of these strategies is shown in figure 1.1. Figure 1.1: Zero-fill, 1/N-fill, scaled zero-fill, and scaled 1/N-fill strategies. For static PageRank computation of a graph, the initial ranks of all vertices are set to 1/N, where N is the total number of vertices in the graph. Therefore, the sum of all initial ranks equals 1, as it should for a probability
  • 3. 3 (rank) vector. It is important to note however that this is not an essential condition, rather, it likely helps with faster convergence. This can be shown with the following example. Consider a graph with only one vertex A that links to itself (a self loop). The rank of vertex A after the nth iteration would be equal to rA = β + βα + βα2 + … + βαn × rA0. Here, α is damping factor (usually 0.85), β = (1 - α), and rA0 is the initial rank of vertex A. For a large value of n, βαn × rA0 tends to zero, and the rank of vertex A can be approximated with the geometric progression (GP) formula as rA = β/(1 - α) = 1. Thus, rank of vertex A is always 1, independent of its initial rank. This extends to other graphs, where the sum of ranks of vertices always equals 1, regardless of the initial ranks (with sufficient iterations). This property is essential for the correctness of 1/N-fill, and scaled zero-fill strategies (their initial ranks do not sum to 1). With scaled rank adjustment strategies, unlike unscaled ones, PageRank computation on unaffected vertices can be skipped, as long as the graph has no affected dead ends (including dead ends in the old graph). Scaling is necessary, because even though the importance of unaffected vertices does not change, the final rank vector is a probabilistic vector and must sum to 1. Here, affected vertices are those which are either changed vertices, or are reachable from changed vertices. Changed vertices are those which have an edge added or removed between it and another (changed) vertex. The necessity for the absence of affected new/old dead ends (vertices without out-links), as mentioned above, can be seen with the following example. Consider a graph with 2 vertices, A and B, without any edges. Here, the ranks of A and B would be rA = 0.5 and rB = 0.5. For the updated graph, a self-loop is added to vertex B. Thus, the affected vertex B is no longer a dead end. If the algorithm ignores the fact that vertex B was a dead end in the old graph, it would simply scale the rank of vertex A (which has no effect since no new vertices were added), and end up with its rank as rA = 0.5, implying that the rank of vertex B would be rB = 0.5. This however is incorrect as the newly added self loop to vertex B would actually increase its rank (and decrease vertex B’s rank due to a reduced common teleport contribution c0). In fact, the true ranks of the vertices would be rA = β/(1 + β) = 0.13, and rB = 0.87 (when damping factor α = 0.85 and β = 1 - α). Thus, the dead ends for both the updated and the old graph must be considered for the affected check. Note however that this constraint only applies to the PageRank algorithm with teleport-based dead end handling strategy.
  • 4. 4 3. Experimental setup An experiment is conducted with each rank adjustment strategy on various temporal graphs, updating each graph with multiple batch sizes (103 , 104 , ...), until the entire graph is processed. For each batch size, static PageRank is computed, along with incremental PageRank based on each of the four rank adjustment strategies, without skipping unaffected vertices. This is done in order to get an estimate of the convergence rate of each rank adjustment strategy, independent of the number of skipped vertices (which can differ based on the dead end handling strategy used). Each rank adjustment strategy is performed using a common adjustment function that adds a value, then multiplies a value to old ranks, and sets a value for new ranks. After ranks are adjusted, they are set as initial ranks for PageRank computation, which is then run on all vertices (no vertices are skipped). The PageRank algorithm used is the standard power-iteration (pull) based that optionally accepts initial ranks [2]. The rank of a vertex in an iteration is calculated as c0 + αΣrn/dn, where c0 is the common teleport contribution, α is the damping factor (0.85), rn is the previous rank of vertex with an incoming edge, dn is the out-degree of the incoming-edge vertex, and N is the total number of vertices in the graph. The common teleport contribution c0, calculated as (1-α)/N + αΣrn/N, includes the contribution due to a teleport from any vertex in the graph due to the damping factor (1-α)/N, and teleport from dangling vertices (with no outgoing edges) in the graph αΣrn/N. This is because a random surfer jumps to a random page upon visiting a page with no links, in order to avoid the rank-sink effect [1]. All seven graphs (temporal) used in this experiment are stored in a plain text file in “u, v, t” format, where u is the source vertex, v is the destination vertex, and t is the UNIX epoch time in seconds. These include: CollegeMsg, email-Eu-core-temporal, sx-mathoverflow, sx-askubuntu, sx-superuser, wiki-talk-temporal, and sx-stackoverflow. All of them are obtained from the Stanford Large Network Dataset Collection [3]. If initial ranks are not provided, they are set to 1/N. Error check is done using L1 norm with static PageRank (without initial ranks). The experiment is implemented in C++, and compiled using GCC 9 with optimization level 3 (-O3). The system used is a Dell PowerEdge R740 Rack server with two Intel Xeon Silver 4116 CPUs @ 2.10GHz, 128GB DIMM DDR4 Synchronous Registered (Buffered) 2666 MHz (8x16GB) DRAM, and running CentOS Linux release 7.9.2009 (Core). The iterations taken with each test case is measured. 500 is the maximum
  • 5. 5 iterations allowed. 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. 4. Results It is observed that 1/N-fill and scaled zero-fill strategies tend to require more iterations for convergence for all graphs, with the 1/N-fill strategy usually performing the worst. For small temporal graphs, such as CollegeMsg and email-Eu-core-temporal, the two strategies are almost always slower than static PageRank, as shown in figure 4.1. This is possibly because the sum of ranks with both the strategies does not sum up to 1. For larger graphs this is usually not the case for smaller batch sizes, as shown in figure 4.2. However, for large batch sizes, static PageRank is able to beat all of the rank adjustment strategies, as shown in figure 4.3. This is expected, since beyond a certain batch size, computing PageRank from scratch is going to be faster than dynamic PageRank [1]. Figure 4.1: Iterations taken for static PageRank, along with incremental PageRank computation with each of the rank adjustment strategies: zero-fill, 1/N-fill, scaled zero-fill, and scaled 1/N-fill. This is done on the email-Eu-core-temporal graph, with a batch size of 104 .
  • 6. 6 Figure 4.2: Iterations taken for static PageRank, along with incremental PageRank computation with each of the rank adjustment strategies: zero-fill, 1/N-fill, scaled zero-fill, and scaled 1/N-fill. This is done on the wiki-talk-temporal graph, with a batch size of 104 . Figure 4.3: Geometric mean of iterations taken on the wiki-talk-temporal graph, for static PageRank, along with incremental PageRank computation with each of the rank adjustment strategies: zero-fill, 1/N-fill, scaled zero-fill, and scaled 1/N-fill. This is done with batch sizes ranging from 103 to 106 . With each batch size, edges are added to the graph in steps, until the entire graph is processed. The figure for arithmetic mean of iterations is similar.
  • 7. 7 On average, on all graphs, the scaled 1/N-fill strategy seems to perform the best, as shown in figures 4.4 and 4.5. Based on GM-RATIO comparison [4], the relative iterations between zero-fill, 1/N-fill, scaled zero-fill, and scaled 1/N-fill is 1.00 : 1.07 : 1.10 : 0.93 for all batch sizes. Hence, 1/N-fill is 3% faster (1.03x) than scaled zero-fill, zero-fill is 7% faster (1.07x) than 1/N-fill, and scaled 1/N-fill is 7% faster (1.08x) than zero-fill. The comparison of relative iterations for specific batch sizes is shown in figure 4.5. Here, GM-RATIO is obtained by taking the geometric mean (GM) of iterations taken at different stages of the graph, on each graph, with each batch size. Then, GM is taken for each batch size, across all graphs. Finally, GM is taken for all batch sizes, and a ratio is obtained relative to the zero-fill strategy. Based on AM-RATIO comparison [4], the relative iterations between zero-fill, 1/N-fill, scaled zero-fill, and scaled 1/N-fill is 1.00 : 1.03 : 1.07 : 0.92 (all batch sizes). Hence, 1/N-fill is 4% faster (1.04x) than scaled zero-fill, zero-fill is 3% faster (1.03x) than 1/N-fill, and scaled 1/N-fill is 8% faster (1.09x) than zero-fill. AM-RATIO is obtained in a process similar to that of GM-RATIO, except that arithmetic mean (AM) is used instead of GM. Figure 4.4: Geometric mean of iterations taken on all the seven temporal graphs, for static PageRank, along with incremental PageRank computation with each of the rank adjustment strategies: zero-fill, 1/N-fill, scaled zero-fill, and scaled 1/N-fill. This is done with batch sizes ranging from 103 to 107 . Since batch size is limited by the total number of temporal edges of a graph, for large batch sizes only large graphs are considered. The figure for arithmetic mean of iterations is similar.
  • 8. 8 Figure 4.5: Relative GM iterations taken on all the seven temporal graphs, for static PageRank, along with incremental PageRank computation with each of the rank adjustment strategies: zero-fill, 1/N-fill, scaled zero-fill, and scaled 1/N-fill. This is done with batch sizes ranging from 103 to 107 . The figure for relative AM iterations is similar. 5. Conclusion Among the four studied rank adjustment strategies for dynamic PageRank, scaled 1/N-fill appears to be the best. Also note that with the scaled 1/N-fill strategy (also scaled zero-fill, but it is slower), it is possible to skip PageRank computation on unaffected vertices, as long as the graph has no affected dead ends (including dead ends in the old graph). The scaled 1/N-fill rank adjustment strategy, which is commonly used for dynamic PageRank [5], is thus the way to go. The link to source code, along with data sheets and charts, for rank adjustment strategies [6] on dynamic (temporal) graphs is included in references. References [1] A. Langville and C. Meyer, “Deeper Inside PageRank,” Internet Math., vol. 1, no. 3, pp. 335–380, Jan. 2004, doi:
  • 9. 9 10.1080/15427951.2004.10129091. [2] J. J. Whang, A. Lenharth, I. S. Dhillon, and K. Pingali, “Scalable Data-Driven PageRank: Algorithms, System Issues, and Lessons Learned,” in Euro-Par 2015: Parallel Processing, vol. 9233, J. L. Träff, S. Hunold, and F. Versaci, Eds. Berlin, Heidelberg: Springer Berlin Heidelberg, 2015, pp. 438–450. [3] J. Leskovec and A. Krevl, “SNAP Datasets: Stanford Large Network Dataset Collection,” Jun. 2014. [4] S. Sahu, K. Kothapalli, and D. S. Banerjee, “Adjusting PageRank parameters and Comparing results,” 2021. [5] P. Desikan, N. Pathak, J. Srivastava, and V. Kumar, “Incremental page rank computation on evolving graphs,” in Special interest tracks and posters of the 14th international conference on World Wide Web  - WWW ’05, New York, New York, USA, May 2005, p. 1094, doi: 10.1145/1062745.1062885. [6] S. Sahu, “puzzlef/pagerank-dynamic-adjust-ranks: Comparing strategies to update ranks for dynamic PageRank (pull, CSR).” https://github.com/puzzlef/pagerank-dynamic-adjust-ranks (accessed Aug. 31, 2021).