-
Notifications
You must be signed in to change notification settings - Fork 331
hyperanf
HyperAnf is an approximation algorithm for calculating the average distance between any two nodes in the network. That is, it also answers how many nodes need to be passed to make two nodes establish a connection (such as the six-degree separation theory). (Paper:HyperANF: Approximating the Neighbourhood Function of Very Large Graphs on a Budget - https://arxiv.org/abs/1011.5599)
use --help
param to view detailed help information.
Input files should be formatted as follows:
<src>,<dst>
where <src>
and <dst>
are integers of type uint32_t
, representing the end nodes of an edge.
Note that Plato treats every input graph as undirected by default. For a directed graph, please ensure both <A, B> and <B, A> appear in the input file if they exist. Edges that appear more than once will only take the latest one.
Input example (Following numbers are synthetic and are for demonstration purpose only.):
4564,823192
...
1996,973033
Output files are formatted as follows:
result of hyperanf
Output example (Following numbers are synthetic and are for demonstration purpose only.):
2.3747651
https://github.com/Tencent/plato/blob/master/example/hyperanf.cc
- Graph Attributes
- Tree Depth/Width
- Graph Attributes All-in-One: Number of Nodes/Edges, Density, Degree Distribution
- N-step Degrees
- HyperANF
- Node Centrality Metrics
- Connectivity & Community Discovery
- Graph Representation Learning
- Clustering/Unfolding Algorithms
- Other Graph Algorithms
Algorithms to open source:
- Network Embedding
- LINE
- Word2Vec
- GraphVite
- GNN
- GCN
- GraphSage