Skip to content

hyperanf

cedricsun edited this page Nov 22, 2019 · 1 revision

Introduction

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)

Parameters

use --help param to view detailed help information.

Input Format

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 Format

Output files are formatted as follows:

result of hyperanf

Output example (Following numbers are synthetic and are for demonstration purpose only.):

2.3747651

Code

https://github.com/Tencent/plato/blob/master/example/hyperanf.cc

Algorithms to open source:

  • Network Embedding
    • LINE
    • Word2Vec
    • GraphVite
  • GNN
    • GCN
    • GraphSage
Clone this wiki locally