1 Introduction

A great quantity of the recent work on the structure of network systems, such as metabolic and social networks, has focused on how to measure the local structure of the network, such as degrees, correlations, clustering coefficients, etc. (Boccaletti et al. 2006; Newman 2010). However, researchers have also increasingly investigated a particular type of mesoscale structure known as community structure as well. Considerable effort has gone into algorithmic identification of community structure (Fortunato 2010; Girvan and Newman 2002; Noble 1992), and several of these methods focus on overlapping or fuzzy communities (Ahn et al. 2010; Airoldi et al. 2008; Palla et al. 2005), hierarchical structure (Clauset et al. 2008; Ravasz and Barabási 2003), and ranking (Ball and Newman 2013), among others. Although the current research and identification methods for community structure have been very successful, another typical mesoscale structure called core-periphery in the network is equally important. However, the literature that focuses on this structure is not as much as the community structure. A global core-periphery structure with local community structure and a global community structure with local core-periphery structure is equivalent. Yang et al. (2018) use Twitter and Facebook data to prove that social groups always have a core structure of social communities always have core-periphery structures. We detail the differences and connections between CP structure and community structure in Sect. 2.4.

As early as the 1990s, the economist Paul Krugman has proposed the core-periphery structure, which Krugman 1991 increasing laid the theoretic foundation for new economic geography (Krugman 1991). Since then, the concept of core-periphery structure has also been widely developed and applied in various fields, such as in sociology (Doreian 1985; Burt 1976), international relations (Smith and White 1992; Steiber 1979), and economics (Hidalgo et al. 2007). Recently, sociologists have conducted quantitative research on the core-periphery structure of a series of different types of networks (Holme 2005; Rombach et al. 2014). Increasingly, the research on the core-periphery structure is gradually maturing, however, there is no research summary about core-periphery structure except Csermely et al. (2013) summarized in 2013. In the review by Csermely et al. (2013), the detailed definitions of the core periphery structures and functions are introduced in different types of real-world networks, which focuses primarily on summarizing the development of definitions and concepts. However, there is currently no review that focuses on detection methods of core periphery structures. Therefore, in this paper, we mainly focus on summarizing the detection methods of this mesoscale structure and review the research status of core-periphery.

The rest of this paper is organized as follows. In Sect. 2, we review the core-periphery structure, including the definition of it, the application of it, and we briefly introduce the frequently used model, the stochastic block model, and relation of community structure and core-periphery structure. In Sect. 3, we give a detailed description of methods detecting core-periphery structure. We discuss these methods from the perspective of suitable network type, computation demand and other characteristics in Sect. 4, we summarize our work this paper in Sect. 5.

2 Core-periphery structures

2.1 Definition of core-periphery structure

The notion of core and periphery structure received attention in different fields from the late 1970s, as in social networks (Alba and Moore 1978; Laumann and Pappi 2013), in the context of international relation networks (Maslov and Sneppen 2002; Mullins et al. 1977), or in networks related to the economy (Nemeth and Smith 1985; Snyder and Kick 1979). However, the most widely accepted definition of CP structure was proposed by Borgatti and Everett in the late 1990s (Borgatti and Everett 2000), who proposed two versions of structures in weighted, undirected graphs, the discrete version and the continuous version.

Here \(G = (V,E)\) represents a graph with a set \(V\) of \(N\) nodes and a set \(E\) of \(M\) edges, with neither multiple edges nor self-loops. Let \(A = (A_{ij} )\) be the adjacency matrix of the original network \(G\). \(A_{ij} = 1\) if nodes \(i\) and \(j\) are adjacent by an edge, and \(A_{ij} = 0\) otherwise. Note that \(A_{ij} = A_{ji}\) and \(A_{ii} = 0\) for all nodes \(i\) and \(j\).

In their definition of the discrete version, they define a block model, which includes a fully connected core, and a periphery with no edges but fully connected to nodes of the core. They seek a vector \(C\) of length \(N\) with entries is in {1,0}, the i-th node belongs to periphery if the corresponding entry of \(C\) equals to 0, and belongs to core if the value is 1. Define:

$$pc = \sum\limits_{i,j} {A_{ij} } C_{ij}$$
(1)

where \(C_{ij} = 1\) if \(C_{i} = 1\) or. \(C_{j} = 1\), If a random \(C\) makes \(pc\) to be higher compare to the former one, the algorithm think it’s a better choice, if a random \(C\) maximizes \(pc\), it will be the output.

In discrete version of core-periphery model, a node belongs to a core if and only if it is well connected both to other core nodes and to periphery nodes, and periphery nodes do not connect with other periphery nodes as in Fig. 1 (left) and (right), where the green node represents the core and the orange node represents the periphery. However, Fig. 1 (right) is an ideal core-periphery structure that is obtained by simply adding duplicates of the center of star network to the graph, and connects them to each other and to the periphery. It is more strict, that is, any core node is connected to other core nodes, and the periphery node is connected to every core nodes, and there is no connection between the periphery nodes.

Fig. 1
figure 1

A core/periphery structure and an ideal core/periphery structure

On the basis of discrete version, Borgatti and Everett (2000) proposed a variant notion of core-periphery structure, they define:

$$C_{ij} = \left\{ {\begin{array}{*{20}ll} 1 & {C_{i} = C_{j} = 1} \\ {a \in [0,1]} & {C_{i} = 1 \, xor \, C_{j} = 1} \\ 0 & {otherwise} \\ \end{array} } \right.$$
(2)

where “xor” denotes an “exclusive or” operation. Then a continuous version of CP is developed in which \(C_{ij} = C_{i} *C_{j} = a\), every node is assigned to a value representing its “coreness”, if a node has a high value of “coreness”, it’s more likely to belong to a core.

Since the idealized core-periphery structure is too strict to be satisfied in the real networks. Hereafter, various notions and detection algorithms of CP structure have been developed (Borgatti and Everett 2000; Csermely et al. 2013; Da Silva et al. 2008; Rossa et al. 2013; Holme 2005; Shanahan and Wildie 2012; Xie et al. 2013), and a more relaxed concept of the CP structure is that the core nodes are often highly densely interconnected, the periphery nodes are connected to some core nodes, and the periphery nodes are sparsely connected or disconnected. This is a descriptive definition, and the strict definition of mathematics has not been well proposed yet.

2.2 Application of core-periphery structure

The core-periphery structure of the network consists of tightly connected core nodes and sparsely connected periphery nodes. Unlike the community structure, there is also good connectivity between the core nodes and the periphery nodes, which means that there is a certain information flow between the core and periphery. The core-periphery structure can better reflect the connection characteristics of the network. Just as a network may contain multiple communities, multiple cores can exist in the network. Research on the core edge of the network helps us to understand the deeper insight of large network topology.

Detection of the core-periphery structure can help improve the planning of traffic routes (Verma et al. 2016), and explore the deeper cooperation and development relationship of researchers (Rombach et al. 2014), improve the cooperation mode of trade networks (Doreian 1985; Fagiolo et al. 2010) and explain the characteristics of economic networks (Hidalgo et al. 2007; Kojaku et al. 2018). The purpose of detecting core-periphery structure is to identify which nodes in the network are in the core position and which nodes are in the marginal position. By analyzing the nodes in different positions in the network, it is helpful to infer the influence of the behavior and evolution of individual nodes on the entire network. In this section, we use three real-world examples to demonstrate the significance of detecting CP structures in different filed and how CP structure can have substantial impact on discovering network features.

2.2.1 Core-periphery structure in the field of economy

In the field of economics, economics grow by upgrading the type of products they produce and export (Hidalgo et al. 2007). The core-periphery structure appears in various trade networks (Fricke and Lux 2015; Nemeth and Smith 1985) and financial networks (Hughes and Holland 1994; Malecki 1997; Anastasiou et al. 2019), which can help explain many economic mechanisms (Bailin 2017).

The product space (Hidalgo et al. 2007) can be described by a bipartite network, where a node indicates a country or a type of product, and a weighted edge between country and product indicate the ratio to the total amount of imported or exported products. It can be found that the product space has a clear CP structure by analyzing exports of goods between countries from 1998 to 2000, and most upscale products, such as metal products, machinery and chemicals, are located in a densely connected core, while lower income products such as agricultural products, handmade products, occupy a less connected periphery. Which shows that countries tend to turn to commodities that are close to the types of products currently specialized in this country. This may help explain why countries located in denser connected core of the product space can upgrade their export baskets more quickly, and poor countries have difficulty developing more competitive exports and cannot integrate into the income levels of rich countries.

2.2.2 Core-periphery detection and pervasive computing

In the concept of pervasive computing (Shneiderman and Plaisant 2010), the role played by computer devices is diluted, pervasive computing occurs on any device, anytime, anywhere, in which information flows through the virtual medium of the network, Devices are all regarded as nodes in the network. Individuals participating in pervasive computing are also regarded as nodes in the network (Szymanski and Yener 2006). Pervasive computing occurs in complex networks composed of nodes and edges. In fact, the core of pervasive computing lies in interaction. Interactions may occur between Individuals, between Individuals and devices, between devices and devices. Due to their different states, the frequency and scope of interactions are different. The core-periphery partitioning of nodes in this complex network helps us to make more accurate traffic prediction and resource allocation. In addition, in the application of social scenarios in the future, the peer-to-peer interaction on the line and the offline perception information are highly integrated, which broadens the dimension of the social network. This high-dimensional data requires an effective node partitioning algorithm. The detection of the CP structure helps to understand the attributes of the nodes at the mesoscale level, and can play a good supporting role in social recommendation, group division, and information mediation perception. For example, MSRA (Tang 2012) proposes a mobile social network location service platform that combines mobile phone trajectory sensing data with background data integration analysis to recommend travel based on user behavior similarity. Yuan et al. (2012) use user-contributed data to improve data routing performance in the opportunistic network.

2.2.3 Core-periphery structure in the field of society

In social networks, there are many research literatures on core-periphery structures (Copus 2001; Craig and Von Peter 2014; Jeske 1999; Nocete et al. 2005; Forslid and Ottaviano 2003; Tickner 2013; Wasserman and Faust 1994). For example, the famous political blog network, which is a personal comment website that expresses the political views of the United States. The nodes represent 1225 blogs and represent hyperlinks between blogs. We can observe the political inclination of the people by identifying the core periphery structure. As shown in Fig. 2, we use the algorithm proposed by Zhang et al. (2015) to detect the core-periphery structure (the algorithm will be described in the Sect. 3) and visualize the nodes in the network. The blue nodes in the network represent the core and the yellow represent the periphery. From Fig. 2, we can clearly distinguish two different political groups, and within each group, the algorithm can clearly distinguish the core nodes and periphery nodes, and the leaders located in the core part can communicate with the public more directly through the blog. Which is conducive to the dissemination of political and cultural ideas, and the core-periphery structure can clearly show the political opinion tendency of the people.

Fig. 2
figure 2

Core–periphery division of a network of hyperlinks between political blogs. The network naturally separates into conservative and liberal communities, clearly visible as the two clusters in this picture. Within each group Zhang et al. algorithm (2015) finds a separate core and periphery indicated by the blue and yellow nodes respectively

2.2.4 Core-periphery structure in the field of medicine

In the field of medicine, the human brain also exhibits core-periphery structures based on task (Bassett et al. 2013; Battiston et al. 2018). And core-periphery is commonly used as the processing and distribution department of tasks (Noble 1992; Virtanen et al. 2003; Waenerlund et al. 2011). The study of this structure in the brain can further promote the development of human medicine. Bassett et al. have studied patterns of correlated activity across a large set of brain regions (Bassett et al. 2013).

The results of experiments show that two typical mesoscale structures, community structure and core periphery structure exist in the human brains, and the emerge of the CP structure emphasizes the fact that different brain regions may play an inherently different role in information processing. Moreover, experiments have shown that one type of mesoscale structure can help characterize another. In the process of generating a sequence of motion, the brain consists of two parts, a set of time-stabilized, densely connected core regions and a set of temporally flexible and sparsely connected periphery regions.

More importantly, the core-periphery organization provides a profound way to understand how the assumed functional modules are linked. This, in turn, can predict basic human capabilities, including the generation of complex goal-oriented behavior. This has potential developmental value in the human medical field.

2.3 Stochastic block model

The stochastic block model is a generative model that has been well established and widely used in analysis of complex networks (Borgatti and Everett 2000; Cucuringu et al. 2016; Karrer and Newman 2011; Rombach et al. 2014; Xiang et al. 2018; Nowicki and Snijders 2001; Zhang et al. 2015). It can generate random networks that contain cluster structures, community structures, core-periphery structures by adjusting appropriate parameters. The different parameters can tell us the key information of the network. For example, we can know the best division of community structure or find a clear-cut between core nodes and periphery nodes in networks. For this feature, the stochastic block model is commonly used in experiments to compare the effective of different methods.

The model is described as follows: Initially we generate n isolated nodes, without any edge connections among them, then divide them into some groups, here we assume that the nodes are divided into 2 groups (i.e., representing by group \(G1\) and group \(G2\)), and the number of nodes are \(N_{1}\) and \(N_{2}\) respectively. According to the principle of generating random networks, we assume that the probability of connections between each pair of nodes is \(p_{rs}\), where \(r\) represents the node belong to group \(r\) and \(s\) represents the node belong to group \(s\). Here, we define three independent connection probabilities \(p_{11}\), \(p_{22}\), \(p_{12}\) for a pair of nodes in the group \(G1\), group \(G2\) and between group \(G1\) and group \(G2\), respectively. In this example, since the edges in the network are undirected, then the adjacency matrix corresponding to the network is symmetric, where, \(p_{12} = p_{21}\) thus A connection probability matrix can be obtained as follows:

$$p_{rs} = \left[ {\begin{array}{*{20}ll} {p_{11} } &{p_{12} } \\ {p_{21} } & {p_{22} } \\ \end{array} } \right]$$
(3)

\(p_{11} = 0.9,p_{12} = 0.2, p_{22} = 0.9,\)\(p_{11} = 1,p_{12} = 0.4,p_{22} = 0.15\)\(p_{11} = 0.6,p_{12} = 0.4,p_{22} = 0.15.\)

By controlling the parameter of the stochastic block, let p11 > p12 and p12 < p22. It will generate traditional community structure as we expect, it is shown in the left of Fig. 3 (where p11 = p22 = 0.9, p12 = 0.2) from which we can clearly see two blocks that represent two community structures. The nodes in each group are closely connected, and the connections are sparse between different groups. When we set p11 > p12 > p22, the network will generate a network with another mesoscale structure,core-periphery structure. This structure is shown in the middle of Fig. 3, where \(G1\) is the core part, corresponds to the block in the upper left corner of the adjacency matrix, \(G2\) is the periphery part, corresponds to the block in the lower right corner of the adjacency matrix, and the rest is between the core and the periphery. It can be seen that the connections are more dense within group \(G1\) than connections between two groups than \(G2\). And the core-periphery structure of the network is gradually weakened as the connection probability within group decreasing.

Fig. 3
figure 3

(Left) Community structure; (middle) strong CP structure; (right) weak CP structure

2.4 Relation of community structure and core-periphery structure

Community structure and core-periphery are two common and important mesoscale structures in social networks. The characteristics of the community structure are that the nodes in the same group are tightly connected, and the different groups are loosely connected (Chen et al. 2016; Newman and Girvan 2004). The core-periphery structure is characterized by tight connections between core nodes, tight connections between core nodes and periphery nodes, and loose connections between periphery nodes. These two structures characterize that the status of participants in social networks is unequal, and this inequality structure evolves into the characteristics of social networks (Zhang et al. 2008).

In the community structure detection, the basis of the partitioning algorithm is that the network contains cohesive community modules and weak cohesive inter-community nodes, which are often at the edge of the community and have weaker cohesiveness and core cohesion. In the community, it can often be divided into core and periphery substructures. For the core-periphery structure, the definition is two closely connected cores or a core node and a periphery node. From the above perspective, the two structures are very different, but they represent two views of the new community. The community structure is mainly used to define the boundaries of new communities (as shown in Fig. 4 left, community module in red circle), while the core edge structure is used to measure the interior of new communities and the interaction between nodes [as shown in Fig. 4 right), core nodes are in the dotted circle].

Fig. 4
figure 4

Community structures (boundary) and Multiple core-periphery structures (internal)

Through the analysis of these two mesoscale structures, we grasp the similarities and differences between the two structures from different angles. In the subsequent algorithm development process, it is expected that there will be a unified definition and detection method for the two from a new perspective. This will be significant for social network analysis.

3 Methods of detecting core-periphery structure

There are two main methods for CP detection. One type of methods distinguishing the core from the periphery based on classification. These methods regard the CP detection problem as a node binary classification problem. Any node is either belong to core or periphery. Another type attempt to assign a score to a graph or node from a quantitative perspective. This type of methods can be divided into two subclasses, the first class focus on analyzing the entire network to get the core significance of the holistic network, the other subclass of methods aims to assign a score to each node, which indicates the possibility of that the node is in the core. In the following two sections, we detail the cp detection method based on the above ideas.

3.1 Methods based on binary classification

Different from heuristic algorithm like exchange algorithm, simulated annealing and Genetic algorithm, branch-and-bound methods could obtain global optimal solution upon convergence, and they have been proven effective for small-scale numerous partitioning problems (Brusco 2011). Brusco and Cradit (2004), Cheng (1995), Brusco and Stahl (2001), Hansen and Delattre (1978), Klein and Aronson (1991) applies branch-and-bound programming to the detection problem of discrete core-periphery structure, their steps are as follows,

  1. Step 0.

    Set \(s = 0,P^{*} = \emptyset ,Z^{*} = \infty ,Z_{1} = 0,Z_{2} = 0,and\;S_{k} = \emptyset.\,for\;1 \le k \le 2. .\)

  2. Step 1.

    Set \(s = s + 1,k = 1,\;and\;S_{k} = S_{k} \cup \{ s\} .\)

where

$$\tau _{j} = \left\{ {\begin{array}{*{20}l} {(2 - a_{{js}} - a_{{sj}} ),}& \quad {if\;k = 1\;and\;j \in S_{k} } \\ {(a_{{js}} + a_{{sj}} ),}&\quad {if\;k = 2\;and\;j \in S_{k} } \\ {0,}&\quad {otherwise.} \\ \end{array} } \right.$$
(4)
  1. Step 3.

    Compute the following:

$$Z_{2} = Z_{2} + \sum\limits_{j = s + 1}^{n} m in(\eta ,\omega_{j} )$$
(5)

where

$$\eta_{j} = \sum\limits_{i = 1}^{s} {\alpha_{ji} } \;\;for\;s + 1 \le j \le n$$
(6)
$$\omega_{j} = \sum\limits_{i = 1}^{s} {\beta_{ji} } \;\;for\;s + 1 \le j \le n$$
(7)
$$\alpha_{ji} = \left\{ {\begin{array}{*{20}ll} {(2 - a_{ji} - a_{ij} ),\quad \quad } & {if^{{}} i \in S_{1} } & {} \\ {0,\quad \quad } & {otherwise} & {} \\ \end{array} } \right.$$
(8)
$$\beta_{ji} = \left\{ {\begin{array}{*{20}ll} {a_{ji} + a_{ij} ,\quad \quad } & {} & {if\quad i \in S_{1} } \\ {0,\quad \quad } & {} & {otherwise.} \\ \end{array} } \right.$$
(9)
  1. Step 4.

    If \((Z_{1} + Z_{2} ) \ge Z^{*}\), then go to Step 7.

  2. Step 5.

    If \(s < n\), then go to Step 1.

  3. Step 6.

    Set \(Z^{*} = Z_{1}\) and \(P^{*} = P = \{ S_{1} ,S_{2} \} .\).

  4. Step 7.

    If \(k = 2\), then go to Step 9.

  5. Step 8.

    Perform the following Sub-steps:

  6. Step 8a.

    Set \(Z_{1} = Z_{1} - \sum\nolimits_{j = 1}^{s - 1} {\tau_{j} }\), where \(\tau_{j}\) is as defined in Step 2.

  7. Step 8b.

    Set \(S_{k} = S_{k} - \{ s\} ,k = k + 1,S_{k} = S_{k} \cup \{ s\}\).

  8. Step 8c.

    Go to Step2.

  9. Step 9.

    Perform the following Sub-steps:

  10. Step 9a.

    \(Z_{1} = Z_{1} - \sum\nolimits_{j = 1}^{s - 1} {\tau_{j} }\), where \(\tau_{j}\) is as defined in Step 2.

  11. Step 9b.

    Set \(S_{k} = S_{k} - \{ s\}\).

  12. Step 9c.

    Set \(s = s - 1\).

  13. Step 9d.

    If \(s = 0\), then STOP; otherwise, set \(k = l:s \in S_{l}\) and go to Step 7.

where \(s\) is a position pointer, it records the currently considered assignment actor, \(p*\) is the optimal bipartition, Z* is the initial upper bound of the objective function, \(Z_{1}\) means the direct contribution of actor s, \(Z_{2}\) is the lower bound of the sum of contribution of all unhandled actors.

Brusco (2011) report that, networks within the node number of 60 will get good results in calculations, as the number of nodes continues to increase, the efficiency of the algorithm may be unacceptable due to the limitation of branch-and-bound methods, so this method can’t replace the traditional heuristic algorithm, but they are a good complement in some special cases.

Zhang et al. (2015) proposed a method based on detection of core-periphery structure of statistical inference, they use the maximum-likelihood method for fitting generative network model, this method is similar to the popular first-principles methods in communication detection in theory. In fact, the basic model used by them is the same, except that the parameters are adjusted to be more suitable for detecting the core-periphery structure. The author uses the EM algorithm (Dempster et al. 1977) to find the parameters of the stochastic block model to be closest to a given network. The advantage of this approach is that it is very efficient and can be applied to large networks with millions of nodes, and theoretically can detect inconspicuous core-periphery structures (Karwa et al. 2017).

The EM algorithm solves equations by numerical iteration, at the start of the iteration, initial parameter p and \(\gamma\) should be given, after a round of iteration, the algorithm would output a pair of updated p and \(\gamma\), It can be proved that after several round of iterations the algorithm will finally converge to some local maximum of the log- likelihood. Since the EM algorithm does not necessarily reach the global optimal solution, it may be necessary to try several sets of initial conditions, and then take the result of the group with the highest log-probability as the final output of the algorithm. The final output of the algorithm has the parameters of the random block model, and also includes the probability that each node belongs to a certain group, either core or periphery. For the algorithm proposed by the author, the latter is more valuable. Due to too many calculations in the EM algorithm, the algorithm does not work within an acceptable range unless it is on a small network. Zhang et al. (2015) use belief propagation algorithm proposed by Decelle et al. (2011a, b) to improve this problem, which is faster than Monte Carlo sampling. Belief propagation is a message-passing technique for finding probability distributions on networks.

Xiang et al. (2018) proposed a joint algorithm that can simultaneously detect community structure and core-periphery structure. The algorithm is divided into three steps. The first step is to reorder the nodes in the network, initialize the node set \(U\) to store the new node sequence. Node set \(V^{\prime}\) is used to store nodes that have not been reordered, \(V^{\prime} = V\), \(V\) is nodes of the given network. At the beginning of the algorithm, the node with the largest closeness centrality is added to the set \(U\), and then the node with the largest connection with the node in \(U\),that is, the node with the most edges to nodes in set \(U\),is selected from \(V^{\prime}\), and add the node to set \(U\), if there are more than one node to be selected, choose the one with the highest degree, if there are still more than one node, randomly choose one. This process continues until the set \(V^{\prime}\) is empty. At this time, the is a new rank of nodes in set \(U\).

There is an example shown in Fig. 5, we suppose the blue node is in U, next step, choose one node in V′ (outside of the circle) and add it into U (see Fig. 5 left). We find that node 1 and 2 has the same connections with U, but we add node 1 into U since node 1 has larger degree value (see Fig. 5 right).

Fig. 5
figure 5

An example of constructing a U set in detail, we will choose node 1 in the next step and add it into U

The second step is to plot the region density curve. First, the author defines the connection density connection density (\(CD\)) to measure the tightness of the node connections in the sub-graph S. The \(CD\) is defined as follows:

$$CD(S) = \frac{{2m^{\prime}}}{{n^{\prime}(n^{\prime} - 1)}}$$
(10)

where \(n^{\prime}\) is the number of nodes in \(S\) and \(m^{\prime}\) is the number of existing connections in \(S\).

By defining a parameter \(\alpha\) to control the minimum size of the core in a given network, define a node region density RD. For node i, its region density is the \(CD(node_{i - \alpha + 1} , \ldots ,node_{i} )\), the definition is as follows:

$$RD(u_{i} ) = \left\{ {\begin{array}{*{20}ll} {CD(\{ u_{1} , \ldots ,u_{i} \} ),\quad } & {} & {i \le \alpha } \\ {CD(\{ u_{1 - \alpha + 1} , \ldots ,u_{i} \} ),} & {} & {i > \alpha } \\ \end{array} } \right.$$
(11)

According to the reordered node sequence obtained in the first step, and the regional density RD of the node defined in the second step, a curve of the density of the node region on the new node sequence can be drawn, which will guide the core-periphery detection process.

The third step is the detection of core-periphery. If the connection density CD of a sub-graph S is greater than a given threshold \(\beta\), then S is considered to be a core, and the larger the \(\beta\), the stricter the definition of the core. Look for the number of peak points on the region density curve that is greater than \(\beta\). Note that the peak at the beginning of the curve is invalid. When the RD values of two consecutive sequences of nodes are greater than or equal to \(\beta\), the two regions are combined into one. These peak node and the \(\alpha\) nodes before the peak point form the core, which is defined as the class 0 group. In order to determine which periphery nodes are the affiliate nodes of these cores, the author set node which has connection with class 0 nodes as the class 1 node, and the class 2 node is nodes that has a direct connection with the class 1 nodes. This process continues until all edge nodes are assigned a class.

This method could detect multiple core-periphery pairs and different scale of cores by control the threshold value \(\alpha\), but it fails to assign a coreness value to each node to indicate the possibility of belonging to a core.

Kojaku and Masuda (2017) proposed a scalable algorithm capable of detecting non overlapping multiple cores, which automatically determines the number and size of core-periphery structures. The author extends the ideal core-periphery structure proposed by Borgatti and Everett (2000) to a situation suitable for multi-core detection. The author defines \(C\) as the number of cores,\(c = (c_{1} ,c_{2} , \ldots ,c_{N} )\),\(c_{i} \in \{ 1,2, \ldots ,C\}\), \(c_{i}\) is used to indicate which core the node i belongs to, and define the adjacency matrix.

$$B_{ij} (c,x) = \left\{ {\begin{array}{*{20}ll} {} {\delta_{{c_{i} ,c_{j} }} } &\quad {(x_{i} = 1\;or\;x_{j} = 1,and\;i \ne j)} \\ {} 0 &\quad {(otherwise)} \\ \end{array} } \right.$$
(12)

where \(\delta\) is Kronecker \(\delta\). In order to make the above adjacency matrix most similar to the given adjacency matrix \(A\), the author looks for \((c,x)\) by maximizing the following quality function \(Q^{cp}\), which is defined as follows:

$$\begin{array}{*{20}c} {Q^{cp} (c,x)} & { = \sum\limits_{i = 1}^{N} {\sum\limits_{j = 1}^{i - 1} {A_{ij} } } B_{ij} (c,x) - \sum\limits_{i = 1}^{N} {\sum\limits_{j = 1}^{i - 1} p } B_{ij} (c,x)} \\ {} & {} \\ {} & { = \sum\limits_{i = 1}^{N} {\sum\limits_{j = 1}^{i - 1} {(A_{ij} - p)} } (x_{i} + x_{j} - x_{i} x_{j} )\delta_{{c_{i} ,c_{j} }} } \\ \end{array}$$
(13)

where \(p = M/[N(N - 1)/2]\) is the density of edges in the network, the term \(\sum\nolimits_{i = 1}^{N} {\sum\nolimits_{j = 1}^{i - 1} {A_{ij} } } B_{ij} (c,x)\) represents the number of edges that appear simultaneously in the network which contains ideal core-periphery and the given network, term \(\sum\nolimits_{i = 1}^{N} {\sum\nolimits_{j = 1}^{i - 1} p } B_{ij} (c,x)\) represents the number of edges that appear simultaneously in the network which contains ideal core-periphery structure and Erdős Rényi random graph (Erdös and Rényi 1960) in which the probability of edge between any two nodes is \(p\). A large \(Q^{cp}\) indicates that a given network is more similar to a network with an ideal core-periphery structure.

The author uses the label switching heuristic method to maximize \(Q^{cp}\). At the beginning, each node is set to belong to a different core, and then a node \(i\) is randomly selected, the switch the label of the neighbor of node \(i\), either core or periphery, after performing the above process on all neighbors of node \(i\), we select the tag that maximizes \(Q^{cp}\) and update it to node \(i\). After scanning all nodes, if no label of any node in the current round changes, the algorithm converges. Otherwise, the nodes are reordered and all the above processes are executed again. After the algorithm converges, each node obtains its label and determines which core-periphery pair the node belongs to.

Ma et al. (2017) proposed an algorithm based on 3-tuple motif which is inspired by the idea of motif. Based on this fact that the degree of the core node is generally high, but the node with a high degree is not necessarily the core node. They define motifs by a 3-tuple \((B,A,\phi )\). The parameter \(\phi\) is used to emphasize that the core node is higher than the edge node and higher than the average of the network degree. The definition of motif is as follows:

\(M(B,{\mathcal{A}},\phi ) = \{ (set(v),set({\mathcal{X}\mathcal{A}}(v)))|v \in V^{k} ,v_{1} , \ldots ,v_{k} \;distinct,Av = B, \, f(\phi ,((set(v),set({\mathcal{X}\mathcal{A}}(v)))) = 1\} .\) where \(f(\phi ,((set(v),set({\mathcal{X}\mathcal{A}}(v)))) = 1\) indicates that the node of \(set(v)\) and \(set({\mathcal{X}\mathcal{A}}(v))\) should satisfy the property of \(\phi\).

Let \(M_{1}^{C} = (B1,A^{c} ,\phi )\) and \(M_{1}^{P} = (B1,A^{P} ,\phi )\) be the motif of core and motif of the periphery, and \(A^{C} = 1,2\),\(A^{P} = 3,4\), one can form the adjacency matrix of M1 as follows:

$$(W_{M1} )_{ij} = \sum\limits_{{(v,{\mathcal{X}\mathcal{A}}(v)) \in M_{1}^{C} \cup M_{1}^{P} }} 1 (\{ i,j\} \in {\mathcal{X}\mathcal{A}}(v))$$
(14)

Since \(M1\) is too strict, they define a motif \(M2\), and thus form a motif adjacency matrix \(W_{M2}\),because \(M2\) is too loose, they define a modest mode of motif \(M3\), since it is not possible to determine whether the core-periphery structure contained in the network is obvious, the author Defines a mixed motif matrix \(M_{W}\), which is a collection of \(M1\), \(M2\), which is defined as follows:

$$W_{M} = \alpha W_{M1} + \gamma W_{M2} + \beta W_{M3}$$
(15)

where \(\gamma = 1.0\),\(\beta = 2\gamma\),\(\alpha = 2\beta\).

After obtaining the matrix \(W_{M}\), the goal of a clustering algorithm for the node set \(S\) is as follows. First, the node set \(S\) should contain more elements in \(M\) On the other hand, the set \(S\) should avoid the elemental segmentation in \(M\). Therefore, the optimization goal of clustering is

$$\phi_{M} (S) = \frac{{cut_{M} (S,\bar{S})}}{{min(vol_{M} (G)S,vol_{M} (G)\bar{S})}}$$
(16)

where \(\bar{S}\) is the complement of \(S\),\(cut_{M} (S,\bar{S})\) means the number of motif \(M\) with at least one node in \(S\) and one node in \(\bar{S}\), and \(vol_{M} (G)S\) is the number of nodes in instance of \(M\) and belongs to \(S\). One can use motif spectral clustering on the motif adjacency matrix \(W_{M}\).

3.2 Methods based on quantization assignment

Yan and Luo (2019) focusing on the quantitative detection of multi-core CP structures, and for the first time officially defined the concept of multi-core periphery structure, that is, a sparsely dense core is surrounded by a sparse periphery, and proposes to find the best way to partition. The first step is to create a tree diagram of the network using a hierarchical clustering algorithm. The tree diagram defines a series of network partitions. Starting from the bottom, each vertex is independent, to the top, all the vertices belong to a separate cluster. When creating a tree diagram, the average linkage clustering algorithm is used to determine the distance between each pair of temporary vertex clusters (in the tree diagram) as the average of all pairwise distances between the vertices in the two clusters, guaranteeing the merger The cluster has the highest internal connection density, and the optimal kernel-peripheral partition is calculated by the connection density of vertices in all clusters (i.e., potential cores) and the connection density of vertices not assigned to any cluster (i.e., potential periphery) ratio density.

The core and peripheral connections are calculated as follows:

$${\text{Density}}_{cores} = \frac{C}{{\sum\nolimits_{{i{ = }1}}^{k} {\frac{{n_{i} (n_{i} - 1)}}{2}} }}$$
(17)
$${\text{Density}}_{periphery} = \frac{P}{{\frac{m(m - 1)}{2} + m\sum\nolimits_{i = 1}^{k} {n_{i} } }}$$
(18)

where \(n_{i}\) is the number of nodes in cluster \(i\), and \(i\) belong to [1, k] clusters; \(m\) is the number of nodes at the periphery; \(C\) is the sum of weights of all the connections of core nodes within cores; and \(P\) is the sum of weights of all the connections of peripheral nodes outside cores.

Measure the extent to which a partition implements a multicore peripheral structure by defining a core-peripheral ratio:

$$r = \frac{{{\text{Density}}_{cores} }}{{{\text{Density}}_{periphery} }}$$
(19)

In the research of core-periphery structure, a core is usually be defined as a sub-graph in which nodes are tightly interconnected (Borgatti and Everett 2000; Everett and Borgatti 2000), another notion is, the core of the graph should be central, Holme (2005) use a rather strong percept that a core should be both highly interconnected and central, they define the core as k-core which has the highest closeness centrality, to measure the tendency of a given network contains a core, they define normalized closeness centrality as a core-periphery coefficient \(c_{cp}\), which is the core minus the same corresponding average value for our null-model, random networks of the same degree sequence as the original network.

Coefficient \(c_{cp}\) as

$$c_{cp} = \frac{{C_{C} [V_{core} (G)]}}{{C_{C} [V(G)]}} - \left\langle {\frac{{C_{C} [V_{core} (G^{\prime})]}}{{C_{C} [V(G^{\prime})]}}} \right\rangle_{{G^{\prime} \in {\mathcal{G}}(G)}}$$
(20)

where \({\mathcal{G}}(G)\) is a null model (with same degree as \(G\)). Our goal is to maximize \(C_{C} (U)\) on different sequences, and \(C_{C} (U)\) is defined according to equation closeness centrality. The closeness centrality is defined as:

$$C_{C} (i) = \left( {\left\langle {d(i,j)} \right\rangle_{{j \in V\backslash \{ i\} }} } \right)^{ - 1}$$
(21)
$$C_{C} (U) = \left( {\left\langle {\left\langle {d(i,j)} \right\rangle_{{j \in V\backslash \{ i\} }} } \right\rangle_{i \in U} } \right)^{ - 1}$$
(22)

They found that \(c_{cp}\) is related to the characteristics of the network.

Da Silva et al. (2008) define a parameter called network capacity, which is defined as follows,

$$pc = \sum\limits_{i = 1}^{n} {\frac{1}{{PL_{i} }}}$$
(23)

where \(n\) is the total number of connected pairs in the network, \(PL_{i}\) is the shortest path between each pair. The capacity is a parameter to measure the connectivity of a network. A network with more paths should have a higher capacity, if the paths in the network are shorter, the capacity will be higher too.

After defining the network capacity, the authors remove the nodes one by one in the order of decreasing centrality. Each time a node is removed, the network capacity C needs to be calculated once. After all nodes are removed, the network capacity becomes 0. The author proposed a parameter named core coefficient (\(cc\)) to evaluate the core-periphery structure of a metabolic network, the core coefficient is defined as follows,

$$cc = \frac{n}{N}$$
(24)
$$\int_{i = 0}^{n} {C_{i} } = 0.9\int_{j = 0}^{N} {C_{j} }$$
(25)

where \(c_{i}\) is the network capacity of the network after remove \(i\) nodes.

In the obtained network capacity change curve, the author believes that the network capacity curve drop rate of the network containing core-periphery structure should slow down faster than that of the network without core-periphery structure, that is, the larger the core coefficient, the network have greater possibilities to contain core-periphery structure. The authors suggest that \(cc\) = 0.5 is a reasonable boundary. They proposed another algorithm to detect the core-periphery structure named network decomposition based on modularity. Its steps is as follows, the module with the most central nodes will be created as a core, and after the initial core module is selected, run the normal decomposition algorithm until all the nodes are clustered, then choose the module with the highest modularity, the closeness centrality is chosen to measure the centrality of a node. Although there is a certain degree of novelty, due to the use of closeness centrality, its calculation speed may be unacceptable on a large network.

When dealing with the adjacency matrix of the network, the MINRES method is very suitable for situations that the adjacency matrix is symmetrical and the diagonal elements are not considered, but when the matrix is asymmetrical, such as a directed network, SVD is needed, but this method requires diagonal elements, Boyd et al. (2010) proposed a minimum residual-based SVD method named MINRES/SVD to deal with asymmetric and diagonal missing networks. Each node gets two indicators: in-coreness and out-coreness, which indicates the outgoing and incoming trends of the node.

The MINRES/SVD algorithm aims at finding a best approximation to the origin matrix A, and the diagonal elements are excluded, just as MINRES, and where the vectors are allowed, their goal is to minimize the sum of the non-diagonal squared residuals,

$$f = \sum\limits_{i} {\sum\limits_{j \ne i}^{n} {(A_{ij} - u_{i} dv_{j} )^{2} } }$$
(26)

the main purpose of MINRES/SVD is to use the advantages both in MINRES and SVD, which means we can separate u and v to solve the problem of asymmetry and avoid the diagonal elements affecting the results. the calculation are as follows, replace Eq. (26) with the following equation:

$$f = \sum\limits_{i} {\sum\limits_{j \ne i}^{n} {(A_{ij} - u_{i} v_{j} )^{2} } }$$
(27)

Let \(d = \parallel u\parallel \cdot \parallel v\parallel\), where \(\parallel u\parallel = \sqrt {\sum\nolimits_{i}^{n} {u_{i}^{2} } }\) is the normal of \(u\), and normalize \(u\) and \(v\), differentiate with respect to \(u_{i}\), and equals to zero, to minimize \(f\) in Eq. (27)

$$\frac{\partial f}{{\partial u_{i} }} = \sum\limits_{j \ne i} 2 u_{i} v_{j}^{2} - \sum\limits_{j \ne i} 2 A_{ij} v_{j} = 0$$
(28)

Simplified it to the following equation:

$$\sum\limits_{j} {A_{ij} } v_{j} = u_{i} (\sum\limits_{j} {v_{j}^{2} } - v_{i}^{2} )$$
(29)

Then it can be expressed as the equation:

$$Av = u({\mathbf{v}}^{\text{T}} v - v^{2} )\quad and\quad {\mathbf{u}}^{\text{T}} A = {\mathbf{v}}^{\text{T}} ({\mathbf{u}}^{\text{T}} {\mathbf{u}} - {\mathbf{u}}^{{\mathbf{2}}} )^{\text{T}}$$
(30)

Find MINRES/SVD using MATLAB or Mathematical software suite we could get

$$u.A = v(u.u - u^{2} ),\{ \{ u,u_{0} \} ,\{ v,v_{0} \} \}$$
(31)

where \(u_{0}\) and \(v_{0}\) are initial guess of \(u\) and \(v\).

Lee et al. (2014) proposed two methods for detecting core-periphery structures, which are density-based and transport-based. In the density-based method, the author proposes a core-score indicator to indicate the probability that a node belongs to the core. It is calculated as follows:\(\{ C_{ij} \}\) into the core quality

$$R(\alpha ,\beta ) = \sum\limits_{i,j} {W_{ij} } C_{ij} (\alpha ,\beta )$$
(32)

where \(\alpha \in [0,1]\) determines the sharpness of the core-periphery division and \(\beta \in [0,1]\) determines the fraction of core nodes:

$$C_{i} (\alpha ,\beta ) = \left\{ {\begin{array}{*{20}c} {\frac{i(1 - \alpha )}{2|N\beta |},\quad \quad \quad \quad \quad } & {\quad \quad } & {{\text{i}} \le \left\lfloor {N\beta } \right\rfloor } \\ {\frac{{(i - \left\lfloor {N\beta } \right\rfloor )(1 - \alpha )}}{{2(N - \left\lfloor {N\beta } \right\rfloor )}} + \frac{1 + \alpha }{2},} & {\quad \quad } & {{\text{i}} > \left\lfloor {N\beta } \right\rfloor } \\ \end{array} } \right.$$
(33)
$$CS(i) = Z\sum\limits_{(\alpha ,\beta )} {C_{i} } (\alpha ,\beta )R(\alpha ,\beta )$$
(34)

where \(Z\) is the normalization term, \(W_{ij}\) is the element of the i-th row and the j-th column of the adjacency matrix, and represents the weight of the edge between the node \(i\) and the node \(j\). When \(W_{ij} = 0\), it indicates that there is no edge connection between the node \(i\) and the node \(j\). \(i\), \(j\) belongs to {1,…..,N}, \(N\) is the number of network nodes. In the transport-based approach, the author believes that the core component of the network is more likely to appear in the path, so the author defines the path score, Path-Score, PS

$$PS(i) = \frac{1}{{\left| {\mathbb{E}} \right|}}\sum\limits_{{(j,k) \in {\mathbb{E}}}} {\sum\limits_{{\{ p_{jk} \} }} {\sigma_{jik} } } [{\mathbb{E}}\backslash (j,k)]$$
(35)

where \(\sigma_{jik} = 1/\left| {\{ p_{jk} \} } \right|\) if node i in set \(p_{jk}\),in which consists “backup paths” from node \(j\) to node \(k\), and edge \((j,k)\) is removed from \({\mathbb{E}}\), otherwise \(\sigma_{jik} [{\mathbb{E}}\backslash (j,k)] = 0\).

The Path score of the network component can be measured for its importance after the other components of the graph are removed by calculating the centrality score. This paper calculates PS by calculating the shortest path and GCNP. This article calculates \(CS\) (Core-score), \(PS\) (PATH-score), \(BS\) (betweenness centrality) on the real network, and calculates the correlation (Pearson and Spearman correlation values) between them, and concludes that performance of \(CS\) and \(PS\) proposed in this paper is different on different networks, which highlights the fact that we need to propose different core-periphery structures for different networks.

Rossa et al. (2013) profile core-periphery structure by elaborating the behavior of a random walker. They proposed core-periphery profile curve, which is a non-decrease function with value \(\alpha_{1} ,\alpha_{2} , \ldots ,\alpha_{n}\), ,where n is the node number of a network, they also introduce a numerical indicator to measure the degree of centralization, and a coreness is assigned to each node, nodes with coreness value less than threshold \(\alpha\) is included by the “\(\alpha\)-periphery”.

The core-periphery profile is obtained from standard random walk procedure. The step of obtaining core-periphery profile \(\alpha_{k}\) is as follows, Define the core-periphery profile \(\alpha_{k} ,k = 1,2, \ldots ,n\) of the network by the following algorithm:

  1. Step 1.

    Randomly select a node \(i\) among those with minimal strength (\(\sigma_{i} \le \sigma_{j}\) for all \(j \in N\)),for generality, set the selected node is 1.Set \(P_{1} = \{ 1\}\),hence \(\alpha_{1} = 0\).

    Step k = 2,3,…,n: Select the node attaining the minimum in:

$$\begin{array}{*{20}l} {\alpha_{k} } \hfill & { = \mathop {\hbox{min} }\limits_{{h \in N\backslash P_{k - 1} }} \frac{{\sum\nolimits_{{i,j \in P_{k - 1} \cup \{ h\} }} {\pi_{i} } m_{ij} }}{{\sum\nolimits_{{i \in P_{k - 1} \cup \{ h\} }} {\pi_{i} } }}} \hfill \\ {} \hfill & { = \mathop {\hbox{min} }\limits_{{h \in N\backslash P_{k - 1} }} \frac{{\sum\nolimits_{{i,j \in P_{k - 1} }} {\pi_{i} } m_{ij} + \sum\nolimits_{{i \in P_{k - 1} }} {(\pi_{i} m_{ih} + \pi_{h} m_{hi} )} }}{{\sum\nolimits_{{i \in P_{k - 1} }} {\pi_{i} } + \pi_{h} }}} \hfill \\ \end{array}$$
(36)

The author defines the probability of persistence of the sub-graph S \(\alpha_{S}\) as the probability that a random walker in the sub-graph S still stays in S in the next step, and its expression is

$$\alpha_{S} = \frac{{\sum\nolimits_{i,j \in S} {\pi_{i} } m_{ij} }}{{\sum\nolimits_{i \in S} {\pi_{i} } }}$$
(37)

in which \(\pi_{i}\) is the asymptotic probability of visiting node \(i\), and \(m_{ij}\) is:

$$m_{ij} = \frac{{w_{ij} }}{{\sum\nolimits_{h} {w_{ih} } }}$$
(38)

where \(w_{ij}\) is the weight of the edge between node \(i\) and node \(j\).

If a network contains an ideal core-periphery structure, the periphery nodes can only be linked to the core nodes, and there can be no links between the periphery nodes. This means that for sub-graph S, if it only contains periphery nodes, the \(\alpha_{S}\) of the sub-graph is 0 because the random walker will jump out of the sub-graph at the next moment. Since the real-world network contains core-periphery structures that are often not ideal, there will still be weak connectivity between the periphery nodes, and the edge periphery is generalized to \(\alpha\)-periphery containing a parameter \(\alpha\). That is, for a sub-graph \(S\), if \(\alpha_{S}\)< \(\alpha\), then the probability that the random walker in S jumps out at the next moment is 1-\(\alpha\).

4 Discussion

In the previous section, we discussed two types of CP detection algorithms based on binary and quantization-based assignments. One type of methods regards the CP detection problem as a node binary classification problem. Any node is either belong to core or periphery. There are various classification methods. Some methods are based on label propagation to maximize the objective function (Kojaku and Masuda 2017), some based on graph cut Ma et al. (2017), some by fitting a stochastic block model (SBM) to empirical network data using EM algorithm (Zhang et al. 2015). The other type attempt to assign a score to a graph or node from a quantitative perspective. This type of methods can be divided into two subclasses, the first class focus on analyzing the entire network to get the core significance of the holistic network, Borgatti and Everett (Borgatti and Everett 2000) propose a method for detecting both discrete and continuous versions of core-periphery structure in weighted, undirected graphs, Da Silva and Marcio Rosa propose the core coefficient (Da Silva et al. 2008) that was defined based on the concept of closeness centrality and network capacity. Holme (2005) also propose a CP coefficient using the closeness centrality and k-cores deposition technique to determine core nodes. The other subclass of methods aims to assign a score to each node, which indicates the possibility of that the node is in the core. This method is well developed by Rombach et al. (2014), who compute the node’s core score by simulated annealing program. Cucuringu et al. proposed Path-Score (2016) that gives a score for each node based on transportation in networks (Lee et al. 2014).

Based on the binary method, the nodes can be clearly divided into two groups. The algorithm is simple and easy to design. But it can only distinguish whether a node belongs to the core or the periphery, it cannot determine its significance in their group. That is, if a node belongs to the core, we cannot determine its importance in the core cluster. Nodes within core are equivalent, which will undoubtedly bring some loss of information. The quantization assignment method solves this problem at the cost of using large time complexity, which may be unacceptable when applied to large networks.

The above classification method is based on the performance of the CP structure on the node attributes. From the perspective of the entry point of the algorithm, If the characteristics of the entire network are taken into consideration, methods can be divided into two types, densely-based (Brassil and Nodari 2018) and transport-based. The densely-based algorithm considers the core nodes to be closely connected, while the periphery nodes are loosely connected; and the transport-based algorithm consider the core node as a group, its path to other nodes is shorter and more, in addition, the remaining nodes in the network has a greater probability of passing through the group (Garas et al. 2012; Newman 2006; Ruggera et al. 2016; Yang and Leskovec 2014).

Reviewing the literature talked about in this paper, most of the core-periphery detection problems will eventually be transformed into an optimization problem. Some use heuristic algorithms to find near optimal solutions, such as simulated annealing (Lee et al. 2014), label switching (Rossa et al. 2013), etc., heuristic algorithm can almost guarantee a near optimal solution, but it is often not satisfactory in terms of computational efficiency; some literature transform the optimization problem into matrix computing domain Jia and Benson (2018), for instance, literature (Boyd et al. 2010) combined with MINRES algorithm and SVD. The MINRES/SVD is proposed to transform the problem into the singular value decomposition problem of the matrix; some literature construct the network feature matrix to transform the problem into the cut graph problem Ma et al. (2017); some also from the statistical point of view (Zhang et al. 2015), use the EM algorithm to calculate the random most similar to the original image, use nonlinear spectral method (Tudisco and Higham 2019). Researchers have considered using integer programming (Brusco 2011) to find the optimal solution, but this method is limited by the size of the network. This algorithm can only be obtained satisfactory speed when the network node is less than 60.

5 Conclusions and perspectives

In this paper, we give a detailed introduction to the current research status of core-periphery structure, including the definition of core-periphery structure, application fields, and identification methods. For the existing research methods, we roughly divide into two categories, one is densely-based, the other is transport-based, and we have reviewed and summarized the advantages and disadvantages of the two methods, from the above concluding observations. It can be clearly seen that there is still a lot of work to we need to do, including clarifying the definition of the core-periphery network, especially the core-periphery structure in dynamic networks. Here we list some research directions for the future network.

  1. 1.

    An important future study is to find a clear-cut point to separate core and periphery nodes. In other words, we can’t know the size of the core of a network in advance in most realistic situations, we need to determine a clear-cut point to classify the nodes as core or periphery nodes, which has the great significance for detecting the effective of different algorithms in real networks. Besides, pursuing statistical methods for studying core–periphery structure and other mesoscale network structures are also important (Zhang et al. 2015).

  2. 2.

    Core–periphery structure is an important feature network in the real world. However, the efficiency and effectiveness of many current detection algorithms are not ideal, especially in large complex networks. Then it is necessary to continue to develop algorithms to identify it and compare the performance of these algorithms on a variety of networks.

  3. 3.

    The community structure has been studied in temporal and multi-layer networks, and has achieved good performance. However, the core-periphery structure has not received much attention that it deserved in these networks. And many literature have proved that core-periphery structure is as important as community structure. In this context, the study of core-periphery structure should also be considered in multi-layer networks in the future work.