Method and apparatus for calculating importance of network node

By classifying nodes into strongly connected components and optimizing Katz parameters, the method provides a unique and complete evaluation of node importance, resolving arbitrariness and enabling efficient recalculations in network analysis.

JP2026005468APending Publication Date: 2026-01-16TOKYO METROPOLITAN PUBLIC UNIVERSITY CORPORATION +1
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024103831
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-06-27
Publication Date
2026-01-16

AI Technical Summary

Technical Problem

Existing methods for calculating the importance of nodes in a network, such as Katz centrality, suffer from arbitrariness due to undefined damping rate and baseline score parameters, leading to issues of lack of uniqueness and completeness.

Method used

A method involving node classification into strongly connected components and solving a Katz parameter minimization problem to determine local importance within each class, followed by overall importance calculation based on the recursive definition of importance, ensuring unique and complete evaluation.

Benefits of technology

This approach allows for the calculation of node importance without arbitrary processing, addressing the issues of uniqueness and completeness, and enables efficient parallel computation and quick recalculation when network structures change.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026005468000001_ABST
    Figure 2026005468000001_ABST
Patent Text Reader

Abstract

To calculate importance of each node of a network without performing arbitrary processing for solving "lack of uniqueness" and "lack of completeness".SOLUTION: A calculation method comprising: decomposing a plurality of nodes into classes by performing strongly connected component decomposition on a network including the plurality of nodes and directed edges having two nodes among the plurality of nodes as a start point and an end point, respectively; calculating a local importance that is an importance of a node in each class; and calculating an overall importance that is an importance of a node in the network based on the local importance.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a method, a device, and a program for calculating the importance of a network node. [Background technology]

[0002] The method of representing the interactions and influence relationships between multiple entities (hereafter referred to as "nodes") as a graph (hereafter referred to as a "network") with weighted, directed edges and analyzing such networks is used in a wide range of fields, including literature, bibliometrics, sports, chemistry, biology, and neuroscience.

[0003] One way to calculate the importance of nodes that make up a network is called the "Recursive Definition of Importance," which states that "anything that is evaluated by something important is important."

[0004] Based on a recursive definition of importance, Non-Patent Document 1 proposes an importance index called "eigenvector centrality." In Non-Patent Document 1, the importance (centrality value) of each node is defined as a value proportional to the sum of the product of the weight of the directed edge ending at that node and the importance of the node that is the starting point of that directed edge. Note that centrality is a general term for indices that represent importance, and in addition to eigenvector centrality, degree centrality, closeness centrality, and betweenness centrality have been proposed, each of which has a different definition depending on how the importance is evaluated. In addition, the importance of a node is often normalized in an appropriate manner, for example, by multiplying it by a constant so that the sum of the importance in the entire network is 1. The reason for this is that if the importance is not normalized, problems arise, such as the importance tending to increase as the size of the network increases, making it difficult to compare the importance between networks of different sizes.

[0005] Incidentally, eigenvector centrality has two problems: "lack of uniqueness" and "lack of completeness." Lack of uniqueness refers to the phenomenon where the importance of a node is not uniquely determined. On the other hand, lack of completeness refers to the phenomenon where the same value (for example, a value of 0) is assigned to multiple nodes where it is reasonable to expect differences in importance due to the structure of the network, resulting in an incomplete evaluation of the importance of the node.

[0006] "Katz centrality" disclosed in Non-Patent Document 2 modifies the definition of eigenvector centrality, which is based on a recursive definition of importance, to solve the two problems mentioned above. Note that the so-called PageRank technology disclosed in Patent Document 1 can be considered a variant of Katz centrality. [Prior art documents] [Patent documents]

[0007] [Patent Document 1] U.S. Patent No. 6,285,999 [Non-patent literature]

[0008] [Non-Patent Document 1] P. Bonacich, Factoring and weighting approaches to status scores and clique identification. The Journal of Mathematical Sociology, 2(1):113-120, 1972. [Non-patent document 2] L. Katz, A New Status Index Derived from Sociometric Analysis. Psychometrika, 39-43, 1953 [Non-patent document 3] Kosaraju-Sharir's (KS) algorithm: R. Sedgewick and K. Wayne, Algorithms, 4th ed., Chapter 4, Page 586, Addison-Wesley, 2011. [Non-patent document 4] AN Langville and CD Meyer, Google's PageRank and Beyond: The Science of Search Engine Rankings, Princeton University Press, Princeton, NJ, 2006. Summary of the Invention [Problem to be solved by the invention]

[0009] However, arbitrariness cannot be eliminated when calculating the Katz centrality value, because the definition of Katz centrality includes two free parameters (hereinafter referred to as "Katz parameters").

[0010] Specifically, the formula that satisfies the Katz centrality value for any node in a network is as follows: the sum of the product of the weight of the directed edge ending at that node and the importance of the node that is the starting point of that directed edge is multiplied by a proportionality coefficient 1-ε, and then a constant value β is added to it. Here, ε is an arbitrary value between 0 and 1, and will be referred to as the damping ratio hereinafter. Furthermore, β is an arbitrary non-negative real number, and will be referred to as the baseline score hereinafter. The damping ratio and baseline score are the Katz parameters mentioned above.

[0011] Mathematically, introducing a damping rate ε is equivalent to multiplying the weight of all directed edges by 1-ε, and introducing a baseline score β is equivalent to extending a directed edge with a weight determined by the value β from any node to all nodes, including that node. Therefore, the Katz centrality value can be said to be a feature of a network whose structure has been altered by the Katz parameter arbitrarily determined by the network analyst. However, no recommended values ​​based on objective and universal evidence have been proposed for the damping rate or baseline score.

[0012] When analyzing a network and calculating the importance of each node, it is best to use a method that is faithful to the original network structure, making as few modifications as possible.

[0013] An object of the present invention is to provide a calculation method, calculation device, and program for calculating the importance of each node in a network without performing arbitrary processing to resolve the "lack of uniqueness" and "lack of completeness." [Means for solving the problem]

[0014] One aspect of the present invention is a calculation method having: a node classification step of decomposing a network consisting of a plurality of nodes and directed edges having two overlapping nodes among the plurality of nodes as their start and end points, respectively, into strongly connected components, thereby decomposing the plurality of nodes into classes; a local importance calculation step of calculating local importance, which is the importance of the node in each class; and an overall importance calculation step of calculating overall importance, which is the importance of the node in the network, based on the local importance. [Effects of the Invention]

[0015] According to the present invention, it is possible to calculate the importance of each node in a network without performing arbitrary processing to resolve the "lack of uniqueness" and "lack of completeness." [Brief explanation of the drawings]

[0016] [Figure 1] FIG. 1 is an explanatory diagram illustrating an overview of a calculation device 1 according to an embodiment. [Figure 2] 1 is a diagram illustrating an example of a hardware configuration of a calculation device 1 according to an embodiment. [Figure 3] 1 is a flowchart showing an example of a flow of processing executed by a calculation device 1 of an embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0017] (Calculation device) Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings, assuming that the weight of a directed edge in a network is non-negative.

[0018] 1 is an explanatory diagram illustrating an overview of a calculation device 1 according to an embodiment. The calculation device 1 includes a control unit 11 including a processor 91, such as a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), or an NPU (Neural Network Processing Unit), and a memory 92, which are connected via a bus.

[0019] The control unit 11 executes, for example, a network information acquisition process, a node classification process, a local importance calculation process, and an overall importance calculation process. A balloon F101 in FIG. 1 visually shows an outline of these processes executed by the control unit 11.

[0020] (Network Information Processing) The network information acquisition process is a process for acquiring network information. Network information refers to a network consisting of multiple nodes and weighted directed edges with two overlapping nodes among those multiple nodes as the start and end points, respectively. Therefore, if there are weighted directed edges with the same node as the start and end points, they are also acquired as part of the network information. Note that a directed edge with a weight of 0 is considered to be the same as the absence of that directed edge.

[0021] Network information consists of the following two elements. One is a set of nodes (hereinafter referred to as the "node set") V included in the network. The other is a matrix (hereinafter referred to as the "weight matrix") W having, as components, the weights of directed branches (if the directed branch does not exist, the value is 0) with any two nodes selected with repetition from the node set V as the start point and the end point, respectively. Since the network is completely characterized by the node set V and the weight matrix W, when the identifier of the network is, for example, G, the network G is usually represented as G = (V, W).

[0022] In the following, the number of elements (number of nodes) included in the node set V and any subset B thereof is denoted as |B|. Hereinafter, the network with the identifier G will be used as an example for explanation. The network B101 in FIG. 1 is a diagram showing an example of the network G together with the result of the node classification process.

[0023] Here, assuming that the total number of nodes is N and natural numbers from 1 to N are assigned to each node for its identification, the node set V is represented as {1, 2, ···, N}, and |V| = N. At this time, the weight matrix W is an N-by-N square matrix, and its element w i,j (i, j = 1, 2, ···, N) is defined to be equal to the weight of the directed branch if the directed branch from node i to node j exists, and equal to the value 0 if the directed branch from node i to node j does not exist.

[0024] (Node Classification Process) The node classification process is a process of classifying nodes into a recursive class, a transient class, and a sink class by decomposing the nodes into strongly connected components by, for example, the Kosaraju-Sharir (KS) algorithm disclosed in Non-Patent Document 3. When decomposing the network G into strongly connected components by the KS algorithm, only the information on whether there is a directed branch between nodes, that is, whether the value of each component of the weight matrix W is 0, is used.

[0025] <Overview of the KS Algorithm> Below we will outline the behavior of the KS algorithm, which is an example of an algorithm for decomposing strongly connected components. In the KS algorithm, a depth-first search is first performed from an appropriate node in the network G, and then numbers are assigned to the nodes in ascending order on the way back. This procedure is repeated until there are no more unexplored nodes. The numbers assigned to the nodes here are consecutive numbers for all nodes.

[0026] After that, a network G' = (V, W') is generated by reversing the direction of the directed edges of network G. Then, a depth-first search is performed in G', starting with the node with the largest number assigned earlier, and this is repeated until no unexplored nodes remain. Each time a depth-first search is completed, one strongly connected component is obtained.

[0027] A recursive class is a strongly connected component in itself, and each node belonging to it is the starting point of one or more directed branches, but the terminal node of the directed branch does not belong to any other strongly connected component. Here, if the total number of recursive classes is K, K is an integer greater than or equal to 0. Incidentally, when K is 0, it means that there are no recursive classes.

[0028] In the example in Figure 1, there are K recursive classes R1, R2, . . ., R K For ease of explanation, as shown in Figure 1, when K is an integer greater than or equal to 1, we denote the K recursive classes as R1, R2, . . . , R K (The order of assigning these K symbols is arbitrary.) When there is no need to distinguish between the K recursive classes, we simply denote them as R.

[0029] A dead-end class is the set of nodes that are not the starting point of any directed branch, denoted as D. A transient class is the set of all nodes that do not belong to either a recursive class or a dead-end class, denoted as T. By definition, there is at most one dead-end class D and one transient class T. As shown diagrammatically in Figure 1, starting from any node that belongs to transient class T, if you follow a directed branch, you will always reach a node that belongs to a recursive class or a dead-end class.

[0030] In the following, S is represented by the symbols R1, R2, . . . , R K , T, and D are the variables representing them. Since S is also a subset of the node set V, |S| represents the number of nodes belonging to class S. S is an |S|-dimensional column vector with all components equal to 1. Furthermore, a "T" at the top right of a matrix or vector denotes transposition. Therefore, for example, A for matrix A T represents the transpose of matrix A.

[0031] In the node classification process, for each row of the weight matrix, normalization is performed so that if the row sum of that row is positive, it becomes 1. If the normalized weight matrix (hereinafter referred to as the "normalized weight matrix") is P, then the component p of P i,j is defined by equation (1).

number

[0032] In equation (1), w i is defined by equation (2).

number

[0033] From equation (1), the row sum of the normalization weight matrix P is either 0 or 1. The structure of the normalization weight matrix P is expressed as in equation (3), where O is a zero matrix.

number

[0034] Class R k Since (k=1,2,...,K) is a strongly connected component, the submatrix P of the normalized weight matrix P Rk (k=1,2,...,K) is an irreducible probability matrix. Here, φ Rk (k=1,2,···,K) into the probability matrix P RkThe stationary distribution vector of |R k We define the probability matrix P as a |-dimensional row vector. Rk By the irreducibility of Rk is uniquely determined and is a positive vector.

number

[0035] <Meaning of normalized weight matrix P> Element p of the normalized weight matrix P i,j represents the distribution rate of importance (evaluation value) from node i to node j. Therefore, the diagonal block matrix P S is composed of the importance distribution ratio among the nodes belonging to class S. Also, the non-diagonal block matrix P T,Rk (k=1,2,...,K) and P T,D are Class T to Class R respectively k and the distribution rate of importance to the nodes belonging to D.

[0036] For simplicity, let us denote the node set S and the weight matrix P S A network with S =(S,P S ) is written.

[0037] (Local importance calculation process) The local importance calculation process is a process of calculating, for each class, the local importance of the nodes belonging to that class. The local importance is the importance of the nodes in each class.

[0038] More specifically, the local importance of a node of class S is S =(S,P SIt is defined as the solution to the "Katz parameter minimization problem" of simultaneously minimizing the damping rate and the baseline score, subject to the definition formula of Katz centrality (including the normalization condition) for . Thus, the Katz parameter minimization problem can be interpreted as an optimization problem for obtaining the values of the damping rate and the baseline score that minimize the deviation of the Katz centrality value from the eigenvector centrality value.

[0039] <Katz Parameter Minimization Problem> The Katz parameter minimization problem for class S, for example, is for the network G S =(S, P S ) and is the damping rate ε S and the baseline score β S of the Katz centrality, which is an optimization problem of minimizing them and is represented by Equation (5).

Number

[0040] In Equation (5), the decision variables are (x s T , ε S , β S ). The objective function is (ε S , β S ), and it is required to minimize ε S and β S simultaneously. The first condition is the equation that the Katz centrality for the network G S =(S, P S ) satisfies. The second condition is the inequality condition that specifies the value ranges of the damping rate ε S and the baseline score β S . The third condition is the inequality condition to ensure the non-negativity of the Katz centrality. The fourth condition is the normalization condition that requires the sum of the centrality values of each node to be 1. Note that the optimal solution to the Katz parameter minimization problem is unique.

[0041] In the local importance calculation process, a process is executed to calculate a vector consisting of the local importance of the nodes belonging to each class S using an optimal solution obtained by solving the Katz parameter minimization problem.

[0042] The unique optimal solution to the Katz parameter minimization problem is expressed as equation (6).

number

[0043] By solving the Katz parameter minimization problem, S is calculated as R1, R2, . . . , R K , T, or D, one of the objective functions, ε S The optimal value of ε S * is 0. Therefore, equation (6) can be more specifically expressed as equation (7).

number

[0044] In equation (7), β S * is a non-negative real number given by equation (8). Note that equation (8) is a non-negative real number given by equation (8) when S is R1, R2, . K , either T or D, depending on β S * This shows that the formulas for

number

[0045] In equation (8), |D| represents the number of nodes classified into dead-end class D, and I is the identity matrix. T is a |T|-dimensional column vector with all components equal to 1. Therefore, e T The transpose vector e of T T is a |T|-dimensional row vector with all components equal to 1. Therefore, β given by equation (8) T *The denominator of is a scalar.

[0046] λ is part of the optimal solution of the Katz parameter minimization problem S is an |S|-dimensional row vector, which is a vector consisting of the local importance of nodes belonging to class S (hereinafter referred to as the "local importance vector of class S"). In equation (5), x s T =λ S ,ε S =0,β S =β S * Then, the local importance vector λ of class S is S The equation that satisfies is expressed as equation (9).

number

[0047] <Meaning of local importance vector> The local importance vector λ that satisfies Eq. (9) S The meaning of the local importance vector λ is explained. S is the damping rate ε S and baseline score β S The network G when both are equal to the optimum (minimum) of the Katz parameter minimization problem. S =(S,P S ) and the damping rate ε S and baseline score β S When both are equal to the minimum value 0 within the range of the second condition of equation (5), the four conditions of equation (5) are satisfied by the network G S =(S,P S ) is the definition of the eigenvector centrality for the local importance vector λ S Each component of the network G is determined by setting the Katz parameters to be as close as possible to the eigenvector centrality value. S =(S,P S) can be interpreted as the Katz centrality value for each node. As mentioned above, eigenvector centrality is an importance index based on the concept of the recursive definition of importance. Therefore, local importance can be said to be an importance calculated in a manner that is as close as possible to the concept of the recursive definition of importance.

[0048] <Resolving the "lack of uniqueness" and "lack of completeness" issues by eliminating arbitrariness> From the above explanation, it is clear that local importance is the Katz centrality value obtained when the optimal solution of the Katz parameter minimization problem is set as the value of the Katz parameter. The Katz centrality value is uniquely determined by fixing the Katz parameter, which is a free parameter. Moreover, Katz centrality does not cause the "lack of completeness" problem by definition. Therefore, local importance can be calculated without any arbitrary processing to solve the "lack of uniqueness" and "lack of completeness".

[0049] <Example of calculating local importance of each class> An example of calculating the local importance defined for each class will now be described.

[0050] <<About Dead End Class D>> First, an example of calculating the local importance of dead end class D will be described. From equation (9), the local importance vector λ of dead end class D is D satisfies equation (10).

number

[0051] From equation (8), β D * = 1 / |D|. In addition, as shown in equation (3), P D is a zero matrix. Therefore, from equation (10), equation (11) holds.

number

[0052] << Recursive class Rk About >> Next, the recursive class R k An example of calculating the local importance for (k=1, 2, , K) is explained. From equation (9), the recursive class R k The local importance vector λ Rk satisfies equation (12).

number

[0053] From equation (8), β Rk * = 0. From this and equation (12), the recursive class R k The local importance vector λ Rk satisfies equation (13).

number

[0054] As mentioned above, there is a unique and positive stationary distribution vector φ that satisfies equation (4). Rk There exists a recursive class R k The local importance vector λ Rk is the φ in equation (4). Rk λ Rk From these facts, λ Rk is φ Rk That is, equation (14) holds.

number

[0055] <<About Transient Class T>> Finally, an example of calculating the local importance of transient class T will be described. From equation (9), the local importance vector λ of transient class T is calculated. T satisfies equation (15).

number

[0056] As mentioned above, if you follow a directed branch from any node belonging to the transient class T, you will always end up at the recursive class R or the dead-end class D. From this, the submatrix P of the normalized weight matrix P is T The characteristic radius of is less than 1, and IP T has an inverse matrix. From this fact, as well as equations (8) and (15), equation (16) can be derived.

number

[0057] According to equation (16), λ T e T = 1 and λ T is positive.

[0058] In this way, the local importance of the nodes classified into each class is calculated. Figure 1 shows how the local importance is calculated for each class.

[0059] (Overall importance calculation process) The overall importance calculation process is a process that calculates the importance of a node in the entire network G (hereinafter referred to as "overall importance") by using the local importance of each class and the connection structure between classes based on the idea of ​​recursive definition of importance. More specifically, the overall importance calculation process calculates the importance of a node in the entire network G (hereinafter referred to as "overall importance") by using the local importance of each class and the connection structure between classes. k (k=1,2,···,K), T, and D respectively have local importance vectors λ Rk (k=1,2,···,K), λ T , and λ D , and a submatrix P of the normalized weight matrix T,Rk (k=1,2,···,K), and P T,D Based on this, a vector (hereafter referred to as the "overall importance vector") π = (π1,π2,...,π N ) is calculated. i denotes the overall importance of node i.

[0060] The calculation of each component of the overall importance vector π can be performed for each class. Therefore, the symbols R1, R2, . . . , R K , T, and D are represented by S (S = R1, R2, . . . , R K , T, D), and let π S It is defined as:

[0061] As can be seen from the fact that the definition and calculation method of local importance were described for each class, local importance is the importance within a closed network within each class. However, the network being analyzed generally consists of multiple classes. Therefore, it is natural to think that the overall importance of each node when considering the entire network being analyzed not only does not necessarily coincide with the local importance, but is also not proportional to it. Below, we will explain in more detail the calculation method of overall importance based on the idea of ​​a recursive definition of importance.

[0062] <<Scaling up local importance>> Local importance is the importance in a closed network within each class, and the sum of local importance for each class is normalized to 1. Therefore, when calculating overall importance, even if the local importance of nodes a and b belonging to different classes A and B is equal, if the size (number of nodes) of class A is twice the size of class B, it is natural to consider the value of the local importance of node a to be twice the value of the local importance of node b. Based on this idea, as a preprocessing step for calculating overall importance, the local importance of each class is multiplied by the size of that class (hereinafter, this preprocessing step will be referred to as "scaling up").

[0063] <<Distribution of Importance from Transient Classes>> As is clear from the definition of the classes, among the nodes belonging to the recursive class R or the dead-end class D, there exists a node (hereinafter referred to as "node x") that is the end point of a directed edge starting from a node (hereinafter referred to as "node t") belonging to the transient class. Based on the recursive definition of importance, when calculating the overall importance of node x, it is natural to add the importance distributed from node t to the scaled-up local importance of node x. Furthermore, it is natural to define the importance distributed from node t as being proportional to both the scaled-up local importance of node t and the weight of the directed edge starting from that node.

[0064] <Example of calculating overall importance> An example of calculating the overall importance will be described below for each class.

[0065] <<About Transient Class T>> The overall importance vector π of the transient class T T is the local importance vector |T|λ of the scaled-up transient class T T Therefore, the overall importance vector π of the transient class T is obtained as a quantity proportional to T satisfies equation (17).

number

[0066] << Recursive class R k And about Dead End Class D>> For simplicity, we define S as the class R1, R2, . . . , R other than the transient class T. K、 Let D be the overall importance of the nodes belonging to class S. S is obtained as a quantity proportional to the sum of the following two vectors: First, the scaled-up local importance vector |S|λ for class S S The second vector is the scaled-up local importance vector |T|λ of the transient class T. T , the submatrix P consisting of the distribution rate of importance from class T to class ST,S From the above, the overall importance vector π S satisfies equation (18).

number

[0067] As mentioned above, it is desirable that the importance of each node be normalized under some conditions.

[0068] The normalization condition may be, for example, the condition expressed by equation (19).

number

[0069] The condition in equation (19) is a normalization condition that the sum of the overall importance is equal to 1.

[0070] If the normalization constant is denoted as Z, then the class S (S = R1, R2, . . . , R K , T, D) is a vector consisting of the overall importance of the nodes belonging to S is expressed by equation (20).

number

[0071] In addition to the normalization condition in Eq. (19), the total number of nodes in the network is N, and S (S = R1, R2, . . . , R K , T, D) regardless of λ S is a probability vector, and the sum of each row corresponding to class T of the normalized weight matrix P expressed by equation (3) is 1, the normalization constant Z is given by equation (21).

number

[0072] Furthermore, the normalization constant Z in equation (21) is expressed by equation (22).

number

[0073] Here, θ appearing in equation (22) T is given by Equation (23) and can be interpreted as the distribution rate of local importance from class T to other classes.

number

[0074] From equations (20) and (22), the overall importance vector π of class S is S is given by equation (24).

number

[0075] Figure 1 shows that the local importance of each class is used to calculate the global importance.

[0076] <Effects of Executing Local Importance Calculation Processing and Overall Importance Calculation Processing> From the explanation so far, the following is clear. In the local importance calculation process, the local importance is uniquely calculated as the Katz centrality that minimizes the deviation from the eigenvector centrality based on the recursive definition of importance. In the global importance calculation process, as shown in equation (20), for example, the global importance composed of the local importance is uniquely calculated based on the recursive definition of importance. In other words, the device 1 for calculating global importance can calculate the importance of each node in the network without performing arbitrary processing to solve the "lack of uniqueness" and "lack of completeness."

[0077] <Example of Hardware Configuration of Calculation Device 1> 2 is a diagram illustrating an example of the hardware configuration of the calculation device 1 according to the embodiment. The calculation device 1 includes a control unit 11 having a processor 91 and a memory 92 connected by a bus, and executes a program. By executing the program, the calculation device 1 functions as a device including the control unit 11, an interface unit 12, and a storage unit 13.

[0078] More specifically, the processor 91 reads out a program stored in the storage unit 13 and stores the read out program in the memory 92. The processor 91 executes the program stored in the memory 92, whereby the calculation device 1 functions as a device including the control unit 11, the interface unit 12, and the storage unit 13.

[0079] The control unit 11 controls the operation of each functional unit included in the calculation device 1. The control unit 11, for example, acquires information stored in the memory unit 13. The process of acquiring information stored in the memory unit 13 is specifically reading. The control unit 11 may, for example, output various types of information to the memory unit 13. The memory unit 13 records the information output to the memory unit 13. The control unit 11, for example, acquires information acquired by the interface unit 12. The control unit 11, for example, controls the interface unit 12 to transmit the information to be transmitted to the destination.

[0080] The control unit 11 executes, for example, a network information acquisition process, a node classification process, a local importance calculation process, and an overall importance calculation process.

[0081] The interface unit 12 includes a communication interface for connecting the calculation device 1 to an external device. The interface unit 12 communicates with the external device via wired or wireless communication. The external device is, for example, a device that transmits network information. The interface unit 12 acquires network information by communicating with the device that transmits the network information.

[0082] The interface unit 12 may be configured to include input devices such as a mouse, a keyboard, a touch panel, etc. The interface unit 12 may be configured as an interface that connects these input devices to the computing device 1. In this way, the input devices of the interface unit 12 accept input of various information to the computing device 1 via wired or wireless connections. Note that various information such as network information does not necessarily need to be input to the communication interface of the interface unit 12, and may also be input to the input devices of the interface unit 12.

[0083] The interface unit 12 outputs, for example, various types of information. The interface unit 12 includes, for example, a display device such as a CRT (Cathode Ray Tube) display, a liquid crystal display, or an organic EL (Electro-Luminescence) display, and a speaker. The interface unit 12 may be configured as an interface that connects these display devices or speakers to the computing device 1. Therefore, the display device and speaker included in the interface unit 12 output, for example, information input to an input device of the interface unit 12 as an image or sound.

[0084] The control unit 11 may, for example, control the operation of a display device or a speaker that constitutes the interface unit 12 to output the local importance and the overall importance.

[0085] The storage unit 13 is configured using a computer-readable storage medium device (non-transitory computer-readable recording medium) such as a magnetic hard disk device or a semiconductor storage device. The storage unit 13 stores various information related to the calculation device 1. The storage unit 13 stores various information generated by the operation of the control unit 11, such as overall importance and local importance. The storage unit 13 may exist on a cloud, for example.

[0086] 3 is a flowchart showing an example of the flow of processing executed by the calculation device 1 of the embodiment. The control unit 11 executes a network information acquisition process to acquire network information (step S11). The control unit 11 executes a node classification process to break down the nodes constituting the network G into classes (step S12). The control unit 11 executes a local importance calculation process to calculate local importance (step S13). The control unit 11 executes an overall importance calculation process to calculate overall importance based on the local importance (step S14). The control unit 11 outputs the overall importance of the node to a predetermined output destination (step S15). The predetermined output destination is, for example, a display device or speaker constituting the interface unit 12.

[0087] The calculation device 1 of the embodiment configured in this manner can calculate the importance of each node in the network without performing arbitrary processing to resolve the "lack of uniqueness" and the "lack of completeness", as explained above in <Effects of Executing the Local Importance Calculation Process and the Global Importance Calculation Process>.

[0088] As described above, eigenvector centrality, which adheres to the recursive definition of importance, suffers from the problems of "lack of uniqueness" and "lack of completeness." Katz centrality, which solves these two problems, cannot calculate a specific value unless the value of the free parameter (Katz parameter) is set in some way. On the other hand, the calculation device 1 according to this embodiment decomposes a network into strongly connected components, classifying it into a recursive class, a transient class, and a dead-end class. For each class, the calculation device 1 determines the optimal solution to the Katz parameter minimization problem as the Katz parameter value, and calculates the Katz centrality value obtained as the local importance. This allows the local importance of each class to be interpreted as the Katz centrality value that minimizes the deviation from the eigenvector centrality value. Furthermore, the calculation device 1 according to this embodiment calculates the importance of each node in the network by composing the local importance based on the recursive definition of importance and calculating it as the global importance. By the above procedure, the calculation device 1 according to this embodiment, unlike conventional methods, can calculate the importance of each node in the network in accordance with the recursive definition of importance as much as possible, without performing arbitrary processing to resolve the "lack of uniqueness" and "lack of completeness."

[0089] As mentioned above, PageRank, a variant of Katz centrality, is used in network analysis in various fields, but like the original Katz centrality, it contains free parameters. Here, the PageRank value of node i (i = 1, 2, , N) in network G = (V, W) is expressed as ρ i and the vector ρ=(ρ1,ρ2,...,ρ N ) is called the PageRank vector. In this case, the PageRank vector ρ satisfies equation (25).

number

[0090] In equation (25), ε (positive and less than 1) is the tamping rate, and ε / N is the baseline score. However, in PageRank, it is customary to call the amount α = 1 - ε, obtained by subtracting the damping rate from 1, the damping factor. Since the tamping rate is a free parameter, the damping factor α is also a free parameter. The value of the damping factor α, 0.85, recommended by the inventor of PageRank, is widely used, but no objective and universal basis for guaranteeing its validity has been presented.

[0091] The PageRank vector ρ is typically calculated using the power method with the Google matrix A expressed in equation (26) rather than as the Katz centrality based on equation (25).

number

[0092] The matrix E in equation (26) is an N-th order square matrix with all components equal to 1 / N. In Non-Patent Document 4, the matrix E is called a teleportation matrix. Note that the matrix of the first term in equation (26) is non-negative, and the matrix of the second term (1-α)E is positive, so all components of the Google matrix A are positive.

[0093] Using the Google matrix A, equation (25) can be rewritten as equation (27).

number

[0094] From equation (27), we can see the following: The PageRank vector ρ can be regarded as a vector consisting of the eigenvector centrality values ​​of the nodes in the network (V, A), where the node set is V and the weight matrix is ​​A. Furthermore, since all components of the Google matrix A are positive, the network (V, A) is fully connected and is itself a strongly connected component. Therefore, when calculating the PageRank vector ρ using the power method with the Google matrix A, it is not easy to parallelize it.

[0095] In contrast, the calculation device 1 according to this embodiment can calculate the local importance vectors of each class in parallel. By using such parallel calculation, the calculation device 1 according to this embodiment can efficiently calculate the importance (overall importance) of all nodes.

[0096] Furthermore, when calculating the importance of a node using Katz centrality and its variant, PageRank, if the structure of the network G changes, for example, when a directed edge is added or the weight value of an existing directed edge changes, the importance calculation procedure must be redone from the beginning. In contrast, when the structure of the network G changes, the calculation device 1 according to this embodiment first recalculates only those components of importance (overall importance) that are affected by the change. Then, the recalculation result is integrated with the components that are not affected by the change, thereby calculating the importance. This allows the calculation device 1 according to this embodiment to calculate the importance more quickly when the structure of the network changes.

[0097] Other Embodiments One embodiment of the present invention has been described in detail above with reference to the drawings, but the specific configuration is not limited to that described above, and various design changes and the like are possible within the scope that does not deviate from the gist of the present invention.

[0098] The calculation device 1 may be implemented using a plurality of information processing devices connected to each other via a network so that they can communicate with each other. In this case, the functional units of the calculation device 1 may be distributed and implemented among the plurality of information processing devices.

[0099] <<An example of an embodiment in which a directed edge with a negative weight is included>> In the above-described embodiment, the weights of the directional edges in the network are described as non-negative. However, the network may include directional edges with negative weights. In this case, the network G=(V, W) is processed, for example, by the following method.

[0100] In the network information acquisition process, the weight matrix W, which contains both positive and negative elements, is a matrix W consisting of two non-negative elements. + and W - Therefore, W=W + -W - It is expressed as W + and W - are defined by equations (28) and (29), respectively, and each element w i,j + and w i,j - is defined by equations (30) and (31).

number

number

number

number

[0101] Matrix W + and W - Two networks G with the weight matrix + =(V,W + ) and G - =(V,W - ) are classified, local importance is calculated, and overall importance is calculated. + The overall importance vector π + =(π1 + ,π2 + ,···,π N + ) and Network G - The overall importance vector π - =(π1 - ,π2 - ,···,π N - ) is calculated, where π i + and πi - Network Group + =(V,W + ) and G - =(V,W - ) is the overall importance of node i in each of them.

[0102] Network G = Network G constructed based on the directed edges with positive weights of (V, W) + =(V,W + ) the overall importance of node i in i + can be interpreted as the importance based on a positive evaluation. On the other hand, the network G constructed based on the directed edges with negative weights of the network G = (V, W) - =(V,W - ) the overall importance of node i in i - can be interpreted as the importance based on negative evaluation. Therefore, the overall importance of node i in the network G = (V, W) is i is calculated, for example, according to equation (32).

number

[0103] As described above, even if a directed edge with a negative weight is included in the network, the calculation device 1 can calculate the overall importance.

[0104] <<An example of an embodiment in which nodes and directed edges have attributes>> Up to this point, an example of an embodiment of the present invention has been described assuming that only a node set and a weight matrix are available as network information. However, in general, nodes and directed edges may have some attributes. Examples of attributes that nodes and directed edges may have include labels, states (e.g., active, inactive), reliability, priority, location information, and age (time elapsed since the node or directed edge was formed). In this way, when nodes and directed edges have attributes, it is possible to set different baseline scores for each node in the "Katz parameter minimization problem" related to local importance. Furthermore, in the "scaling up" process performed when calculating the overall importance from the local importance vector of each class, the local importance vector of each class is multiplied by the size of the class. However, instead of this process, it is also possible to "scaling up" by multiplying the local importance vector of each class by a class-specific constant appropriately determined depending on the attributes of the nodes and directed edges and the purpose of the importance evaluation.

[0105] When different baseline scores are defined for each node, the class S (S = R1, R2, . . . , R K , T, D), is written as, for example, Equation (33).

number

[0106] ε in Eq. (33) S is the damping ratio, as in the Katz parameter minimization problem described in equation (5). Also, η in equation (33) S is an |S|-dimensional row probability vector with all components positive, and is appropriately determined depending on the attributes of the nodes and directed edges, and the purpose of the importance evaluation. The baseline score of the i-th node in class S is the positive row probability vector η S The i-th element of S is equal to multiplied by .

[0107] When the optimal solution of the Katz parameter minimization problem described in equation (33) is expressed as equation (6), ε S The optimal value of ε S * is 0. Therefore, the optimal solution of the Katz parameter minimization problem described in equation (33) is also expressed by equation (7). However, the other objective function, β S The optimal value of β S * is a non-negative real number given by equation (34) instead of equation (8).

number

[0108] The local importance vector λ of each class is calculated using the optimal solution of the Katz parameter minimization problem described in Equation (33). Rk (k=1,2,···,K), λ T , and λ D is given by equation (35) by following the procedure explained using equations (10) to (16) in <Example of calculation of local importance of each class>. Rk (k=1,2,···,K) is the unique positive stationary distribution vector that satisfies equation (4).

number

[0109] As can be seen from equation (35), even if the baseline score is set to a different value for each node in the Katz parameter minimization problem, the recursive classes R1, R2, . . ., R K This does not affect the local importance vector of the recursive classes R1, R2, . . . , R, as shown in (34). K For the baseline score, the objective function β S The optimal value of β S * is equal to 0. Also, the local importance vectors λ of classes T and D T and λ Dis calculated uniquely as a positive vector, regardless of the baseline score value (positive real number) of each node. From the above, although there is a possibility of arbitrariness in setting different baseline scores for each node depending on the attributes of the node and directed edge and the purpose of importance evaluation, this arbitrariness does not arise to solve the "lack of uniqueness" and "lack of completeness."

[0110] Next, we explain how to calculate the global importance by "scaling up" the local importance vector of each class using a class-specific constant. Here, we consider a positive real number c S class S (S=R1, R2, . . . , R K , T, D) local importance vector λ S is the constant used for "scaling up". S (S=R1, R2, . . ., R K , T, D) are determined appropriately according to the attributes of the nodes and directed edges, and the purpose of the importance evaluation. In this case, if the normalization constant is represented as Z, then the class S (S = R1, R2, ..., R K , T, D) S is expressed by equation (36). The normalization constant Z is given by equation (37).

number

number

[0111] According to equation (36), the overall importance of each node in the network is determined by class S (S = R1, R2, . . . , R K , T, D) local importance vector λ S A positive constant c to "scale up" STherefore, although there may be some arbitrariness in setting the positive constant for "scaling up" according to the attributes of the nodes and directed edges and the purpose of the importance evaluation, this arbitrariness does not arise to resolve the "lack of uniqueness" and "lack of completeness."

[0112] A part or all of the calculation device 1 in the above-described embodiment may be implemented by a computer. In this case, a program for implementing the functions may be recorded on a computer-readable recording medium, and the program may be loaded into a computer system and executed. Note that the term "computer system" as used herein includes an operating system (OS) and peripheral hardware. Furthermore, the term "computer-readable recording medium" refers to portable media such as flexible disks, optical magnetic disks, ROMs, and CD-ROMs, as well as storage devices such as hard disks built into a computer system. Furthermore, the term "computer-readable recording medium" may also include media that dynamically store programs for a short period of time, such as communication lines used when transmitting programs via networks such as the Internet or telephone lines, or media that store programs for a fixed period of time, such as volatile memory within a computer system serving as a server or client. The program may be a program that implements some of the above-described functions, or may be a program that can realize the above-described functions in combination with a program already stored in the computer system, or may be implemented using a programmable logic device such as an FPGA (Field Programmable Gate Array). [Explanation of symbols]

[0113] 1...calculating device, 11...controller, 12...interface unit, 13...storage unit

Claims

1. For a network consisting of a plurality of nodes and directed edges each having two overlapping nodes among the plurality of nodes as a start point and an end point, a node classification step of decomposing the plurality of nodes into classes by strongly connected component decomposition; a local importance calculation step of calculating local importance, which is the importance of a node in each class; an overall importance calculation step of calculating overall importance, which is the importance of a node in the network, based on the local importance; A calculation method having the following.

2. In the node classification step, The nodes are classified into a recursive class, which is the strongly connected component and each node belonging to the component is the starting point of a directed branch, a dead-end class, which is made up of all nodes that are not the starting point of a directed branch, and a transient class, which is made up of all nodes that do not belong to either the recursive class or the dead-end class. The calculation method according to claim 1 .

3. In the overall importance calculation step, the local importance is scaled up according to the number of nodes classified into each class, and the overall importance is calculated by adding importance distributed from the transient class to other classes. The calculation method according to claim 2.

4. For a network consisting of a plurality of nodes and directed edges each having two overlapping nodes among the plurality of nodes as a start point and an end point, a node classification process for decomposing the plurality of nodes into classes by strongly connected component decomposition; a local importance calculation process for calculating local importance, which is the importance of a node in each class; an overall importance calculation process for calculating an overall importance, which is the importance of a node in the network, based on the local importance; a control unit that executes A computing device comprising:

5. A program for causing a computer to execute the calculation method according to claim 1.

Citation Information

Patent Citations

  • Method for node ranking in a linked database

    US6285999B1