This repository is for "Node-Centric Random Walk for Fast Index-Free Personalized PageRank"
- C++ 17
- G++ 9.4.0
- Ubuntu 20.04
- SFMT 1.5.1 (SIMD-Oriented Fast Mersenne Twister)
$ make
$ ./SSPPR -algo <algorithm> [-graph <graph-path>] [-attribute <attribute-path>] [-query <query-path>]
[-query_size <must be greater than 1>] [-alpha <must be between 0 and 1>] [-epsilon <must be between 0 and 1>]
- algorithm
- parameters
- graph: graph file
- attribute: attribute file
- query: query file
- query_size: this value must be greater than one
- alpha: a termination probability of random walk (default 0.2)
- epsilon: an error bound (default 0.5)
$ ./SSPPR -algo Accelerated -graph data/dblp/graph.txt -attribute data/dblp/graph.attribute -query data/dblp/graph.query -query_size 10
Input grpah should follow SNAP format. Attribute file contains the maximum node ID and the number of edges respectively.
You can see the example in ./data/dblp/
folder.
※ We only accept directed graphs. If necesarry, you can convert undirected graphs -> directed graphs by ToDirected
algorithm.
./SSPPR -algo ToDirected -graph <graph-path> -attributed <attributed-path>
Query file has the list of query nodes of PPR computation.
You can generate query nodes by QueryGenerate
algorithm.
./SSPPR -algo QueryGenerate -graph <graph-path> -attributed <attributed-path> -query <query-path> -query_size <query_size>