Graph Theory and network science involve a large amount of statistical computing on the characteristics of graphs. Generally, statistics, mining, and visualization related to graph data are collectively referred to as graph processing. This series of articles mainly want to explore various graph processing theories and methods, including the statistical properties, Representation Methods, computing algorithms, computing models, and graph-based data mining. The article is only available in
Graph Theory and network science involve a large amount of statistical computing on the characteristics of graphs. Generally, statistics, mining, and visualization related to graph data are collectively referred to as graph processing. This series of articles mainly want to explore various graph processing theories and methods, including the statistical properties, Representation Methods, computing algorithms, computing models, and graph-based data mining. The article is only available in
Graph Theory and network science involve a large amount of statistical computing on the characteristics of graphs. Generally, statistics, mining, and visualization related to graph data are collectively referred to as graph processing. This series of articles mainly want to explore various graph processing theories and methods, including the statistical properties, Representation Methods, computing algorithms, computing models, and graph-based data mining. This document only distinguishes between graphs and networks when necessary.
1. Graph Processing Engine
Currently, two types of commonly used graph processing software are available. A graph database mainly based on Traversal Algorithms and real-time, such as Neo4j, OrientDB, DEX, and InfiniteGraph. the other is a parallel engine that centers on Graph vertices for message passing batch processing, such as Hama, Golden Orb, Giraph, and Pregel. the former is basically based on the Basic Graph framework of tinkerpop, as shown in tinkerpop project relationship 1:
Thinkerpop project framework
The latter is mainly a Parallel Graph Processing Package Based on the BSP model. BSP is a parallel computing model proposed by Harvard Viliant and Oxford University Bill McColl. A BSP model consists of a large number of associated processors, which form a communication network. Each processor has a fast local memory and different computing threads. A BSP computing process consists of a series of global supersteps. a vm is an iteration of computing. Each superstep consists of three components:
2. Network Generation
Complex Networks in the real world include Scale-free networks, Random networks, and Dependency networks. The scale-free network is a concept proposed by Albert-László barabási, a Hungarian physicist, in the study of drawing Internet topologies. He found that random networks (social and biological networks) some of these nodes have more connections than other nodes, so that the entire network is subject to the power-law distribution. Therefore, barabási and Albert proposed a mechanism to generate a scale-free network-priority connection, which is used to explain the power law distribution. Therefore, networks generated by connection algorithms can simulate real-world networks. We use R to generate BA models and use igraph packets.
Igraph is a class library for generating and operating open-source graphs (directed and undirected graphs). It is implemented by C at the underlying layer, American servers, and release packages for python and R languages, covers all platforms (linux, windows, and MacOS ). It can generate regular graphs (regular graphs) and random graphs (random graphs). It can assign values to vertices and edges, Hong Kong servers, and compute different structural attributes and image structures. The formats supported by igraph include Edge list, Pajek, and GraphML. Edge list is a simple txt file that uses vertex IDs to define edges. GraphML is based on XML and used to store the edge and vertex attributes of a graph. For more information about the formats, see the igraph help document. The usage is as follows:
Barabasi. game (n, power = 1, m = NULL, out. dist = NULL, out. seq = NULL, out. pref = FALSE, zero. appeal = 1, directed = TRUE, algorithm = c (,), start. graph = NULL)