Algorithm List

To meet the requirements of various scenarios, GES provides extensive basic graph algorithms, graph analytics algorithms, and graph metrics algorithms. The following table lists the algorithms:

Table 1 Algorithm List

Algorithm

Description

PageRank

PageRank, also known as web page ranking, is a hyperlink analysis algorithm used to rank web pages (nodes) based on their search engine results. PageRank is a way of measuring the relevance and importance of web pages (nodes).

PersonalRank

PersonalRank is also called Personalized PageRank. It inherits the idea of the classic PageRank algorithm and uses the graph link structure to recursively calculate the importance of each node. However, unlike the PageRank algorithm, to ensure that the access probability of each node in the random walk can reflect user preferences, the PersonalRank algorithm returns each hop to the source node at a (1-alpha) probability during random walk. Therefore, the relevance and importance of network nodes can be calculated based on the source node (the higher the PersonalRank value, the higher the correlation/importance of the source node).

K-core

K-core is a classic graph algorithm used to calculate the number of cores of each node. The calculation result is one of the most commonly used reference values for determining the importance of a node so that the propagation capability of the node can be better understood.

K-hop

K-hop is an algorithm used to search all nodes in the k layer that are associated with the source node through breadth-first search (BFS). The found sub-graph is the source node's ego-net. The K-hop algorithm returns the number of nodes in the ego-net.

Shortest Path

The Shortest Path algorithm is used to find the shortest path between two nodes in a graph.

All Shortest Paths

The All Shortest Paths algorithm is used to find all shortest paths between two nodes in a graph.

SSSP

The SSSP algorithm finds the shortest paths from a specified node (source node) to all other nodes.

Shortest Path of Vertex Sets

The Shortest Path of Vertex Sets algorithm finds the shortest path between two vertex sets. It can be used to analyze the relationships between blocks in scenarios such as Internet social networking, financial risk control, road network transportation, and logistics delivery.

n-Paths

The n-Paths algorithm is used to find the n paths between two vertices on the k layer of a graph. It applies to scenarios such as relationship analysis, path design, and network planning.

Closeness Centrality

Closeness centrality is the average distance from a node to all other reachable nodes. It can be used to measure the time for transmitting information from this node to other nodes. A small Closeness Centrality within a node corresponds to a central location of the node.

Label Propagation

The Label Propagation algorithm is a graph-based semi-supervised learning method. Its basic principle is to predict the label information about unlabeled nodes using that of the labeled nodes. This algorithm can create graphs based on the relationships between samples. Nodes include labeled data and unlabeled data, and the edge indicates the similarity between two nodes. Node labels are transferred to other nodes based on the similarity. Labeled data is like a source used to label unlabeled data. Greater node similarity corresponds to an easier label propagation.

Louvain

Louvain is a modularity-based community detection algorithm with high efficiency and effect. It detects hierarchical community structures and aims to maximize the modularity of the entire community network.

Link Prediction

The Link Prediction algorithm is used to calculate the similarity between two nodes and predict their relationship based on the Jaccard measurement method.

Node2vec

By invoking the Word2vec algorithm, the Node2vec algorithm maps nodes in the network to the Euclidean space, and uses vectors to represent the node characteristics. The Node2vec algorithm generates random steps from each node using the rollback parameter P and forward parameter Q. It combines BFS and DFS. The rollback probability is proportional to 1/P, and the forward probability is proportional to 1/Q. Multiple random steps are generated to reflect the network structures.

Real-time Recommendation

The Real-time Recommendation algorithm is based on the random walk model and is used to recommend nodes that are similar (have similar relationships or preferences) to the input node. This algorithm can be used to recommend similar products based on historical purchasing or browsing data or recommend potential friends with similar preferences.

Common Neighbors

Common Neighbors is a basic graph analysis algorithm that obtains the neighboring nodes shared by two nodes and further speculate the potential relationship and similarity between the two nodes. For example, it can intuitively discover shared friends in social occasions or commodities that interest both nodes in the consumption field.

Connected Component

A connected component stands for a sub-graph, in which all nodes are connected with each other. Path directions are involved in the strongly connected components and are not considered in the weakly connected components.

NOTE:

This algorithm generates weakly connected components.

Degree Correlation

The Degree Correlation algorithm calculates the Pearson correlation coefficient between the source vertex degree and the target vertex degree of each edge. It is used to indicate whether the high-degree nodes are connected to other high-degree nodes in a graph.

Triangle Count

The Triangle Count algorithm counts the number of triangles in a graph without considering the edge directions. More triangles mean higher node association degrees and closer organization relationships.

Cluster Coefficient

The cluster coefficient is a measure of the degree to which nodes in a graph tend to cluster together. Evidence suggests that in most real-world networks, and in particular social networks, nodes tend to create tightly knit groups characterized by a relatively high density of ties.

点集共同邻居(Common Neighbors of Vertex Sets)

可以得到两个点集合(群体集合)所共有的邻居(即两个群体临域的交集),直观的发现与两个群体共同联系的对象,如发现社交场合中的共同好友、消费领域共同感兴趣的商品、社区群体共同接触过的人,进一步推测两点集合之间的潜在关系和联系程度。

点集全最短路(All Shortest Paths of Vertex Sets)

点集最短路算法用于发现两个点集之间的所有最短路径,可应用于互联网社交、金融风控、路网交通、物流配送等场景下的区块之间关系的分析。

带一般过滤条件环路检测(Filtered Circle Detection)

目的是寻找图中所有满足过滤条件的环路。适用于金融风控中循环转账检测、反洗钱,网络路由中异常链接检测,企业担保圈贷款风险识别等场景。