CN107800797A - A kind of distributed game centrad method for solving - Google Patents

A kind of distributed game centrad method for solving Download PDF

Info

Publication number
CN107800797A
CN107800797A CN201711069407.XA CN201711069407A CN107800797A CN 107800797 A CN107800797 A CN 107800797A CN 201711069407 A CN201711069407 A CN 201711069407A CN 107800797 A CN107800797 A CN 107800797A
Authority
CN
China
Prior art keywords
node
contribution
centrality
graph
nodes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201711069407.XA
Other languages
Chinese (zh)
Other versions
CN107800797B (en
Inventor
华强胜
金海�
艾明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN201711069407.XA priority Critical patent/CN107800797B/en
Publication of CN107800797A publication Critical patent/CN107800797A/en
Application granted granted Critical
Publication of CN107800797B publication Critical patent/CN107800797B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种分布式博弈中心度求解方法,属于并行与分布式计算领域,包括:根据传统中心度的定义,将图划分为元素θ的集合;根据图中的每个节点,分布式求出每个节点对每个元素的贡献信息,根据每个节点对每个元素的贡献信息,分布式收集所有节点对集合中每个元素的贡献信息,分布式算出对每个元素θ,一个大小为k的节点的集合C对元素θ的贡献信息,在图中广播C对元素θ的贡献信息;根据每个节点对每个元素的贡献信息以及对每个节点分布式计算团体的贡献信息,得到每个节点对团体的贡献变化,进而得到每个节点的博弈中心度。本发明大大降低集中式求解博弈中心度的时间复杂度,可以更快地处理大规模图数据。

The invention discloses a method for solving distributed game centrality, belonging to the field of parallel and distributed computing, comprising: according to the definition of traditional centrality, dividing the graph into a set of elements θ; according to each node in the graph, distributed Find the contribution information of each node to each element, according to the contribution information of each node to each element, collect the contribution information of all nodes to each element in the set in a distributed manner, and calculate the distribution for each element θ, a The contribution information of the set C of nodes with size k to the element θ is broadcast in the graph. The contribution information of C to the element θ; according to the contribution information of each node to each element and the contribution information of each node distributed computing community , get the change of each node’s contribution to the group, and then get the game centrality of each node. The invention greatly reduces the time complexity of the centralized solution to the centrality of the game, and can process large-scale graph data more quickly.

Description

一种分布式博弈中心度求解方法A Method for Solving the Centrality of Distributed Game

技术领域technical field

本发明属于并行与分布式计算领域,更具体地,涉及一种分布式博弈中心度求解方法。The invention belongs to the field of parallel and distributed computing, and more specifically relates to a method for solving distributed game centrality.

背景技术Background technique

给出网络中的一个点或者一条边,确定它是否比网络中其它的节点或者边更重要(更位于中心)已经成为一项重点研究课题,它在社交网络分析、生物学、计算机科学等领域都受到广泛关注。为此,研究者们提出一系列传统中心度来衡量一个点或者一条边的重要程度。现在受到关注的主要有度数中心度,介数中心度,紧密中心度与特征值中心度。至今,集中式求解传统中心度已经得到广泛研究,大多数传统中心度都能在多项式时间内求解。Given a point or an edge in the network, determining whether it is more important (more central) than other nodes or edges in the network has become a key research topic, and it is in the fields of social network analysis, biology, computer science, etc. have received widespread attention. To this end, researchers have proposed a series of traditional centrality to measure the importance of a point or an edge. At present, there are mainly degree centrality, betweenness centrality, closeness centrality and eigenvalue centrality. So far, centralized solutions to traditional centralities have been extensively studied, and most of the traditional centralities can be solved in polynomial time.

最近,将合作博弈理论的思想,例如Shapley值、Banzhaf索引、更一般的Semivalue引入到传统中心度的计算中,拓展传统中心度的计算方法得到广泛关注。基于博弈的网络中心度的主要思想是将网络中的节点视为合作博弈中的参与者,其中合作博弈是一些参与者以同盟、协作的方式进行的博弈。在这种结合下,博弈理论解决方法中的贡献分割思想就被引入到网络分析中。现在这种方法已经受到广泛应用,例如应用在社会与组织网络分析,在生物网络分析,以及隐蔽网络分析。由于团体大小是任意的,因此所有团体的个数达到指数级,导致求解博弈中心度的时间复杂度达到指数级,这在集中式求解中是不可接受的。Recently, the idea of cooperative game theory, such as Shapley value, Banzhaf index, and more general Semivalue, has been introduced into the calculation of traditional centrality, and the calculation method of expanding traditional centrality has attracted widespread attention. The main idea of game-based network centrality is to regard the nodes in the network as participants in a cooperative game, where a cooperative game is a game played by some participants in an alliance and cooperative manner. In this combination, the contribution segmentation idea in the game theory solution is introduced into the network analysis. Now this method has been widely used, for example, in social and organizational network analysis, in biological network analysis, and covert network analysis. Since the group size is arbitrary, the number of all groups reaches an exponential level, resulting in an exponential time complexity for solving the game centrality, which is unacceptable in a centralized solution.

研究者们针对基于博弈理论的中心度在集中式上求解已经提出行之有效的方法,其中,基于Shapley值和Semivalue的度数中心度、介数中心度以及紧密中心度都能够在多项式时间内求解。然而,还有其它很多的中心度方法未被扩展成为基于博弈理论的中心度。针对这个问题,最近研究者们提出一个框架,使得对一种基于合作博弈的中心度,无论它是基于哪种博弈理论,亦或是它是哪种中心度,只要满足一定的条件,就可以在多项式时间内求解。Researchers have proposed an effective method for solving centrality based on game theory in a centralized manner. Among them, degree centrality, betweenness centrality and close centrality based on Shapley value and Semivalue can all be solved in polynomial time . However, there are many other centrality methods that have not been extended to game-theoretic centrality. In response to this problem, researchers have recently proposed a framework, so that for a centrality based on cooperative games, no matter which game theory it is based on or which centrality it is, as long as certain conditions are met, it can be Solve in polynomial time.

虽然对基于博弈中心度的求解方法研究者们已经提出一种多项式时间内的计算框架,但是对大规模图而言,该方法的耗时太高,使得在单机上运行显得不可接受。Although researchers have proposed a computing framework in polynomial time for the solution method based on game centrality, for large-scale graphs, the time-consuming of this method is too high, making it unacceptable to run on a single machine.

发明内容Contents of the invention

针对现有技术的以上缺陷或改进需求,本发明提供了一种分布式博弈中心度求解方法,其目的在于对给出的一种任意博弈中心度,根据分布式计算规则以及特性,在分布式环境下求解每一个节点的博弈中心度。本发明方法解决集中式算法求解耗时过高的问题,可以更快速地求解博弈中心度。Aiming at the above defects or improvement needs of the prior art, the present invention provides a distributed game centrality solution method, the purpose of which is to give a given arbitrary game centrality, according to distributed computing rules and characteristics, in distributed Solve the game centrality of each node in the environment. The method of the invention solves the problem that the centralized algorithm takes too long to solve the problem, and can solve the game centrality more quickly.

为实现上述目的,本发明提供了一种分布式博弈中心度求解方法,包括:In order to achieve the above object, the present invention provides a method for solving distributed game centrality, including:

S1,根据传统中心度的定义,将图划分为元素θ的集合;S1, according to the definition of traditional centrality, divide the graph into a set of elements θ;

S2,根据图中的每个节点,分布式求出每个节点对每个元素的贡献信息,贡献信息包括正贡献、负贡献和无贡献;S2, according to each node in the graph, distribute the contribution information of each node to each element, and the contribution information includes positive contribution, negative contribution and no contribution;

S3,根据每个节点对每个元素的贡献信息,分布式收集所有节点对集合中每个元素的贡献信息,得到对元素有正贡献的节点集合P-1(θ),对元素有负贡献的节点集合R-1(θ),对元素无贡献的节点集合N-1(θ);S3, according to the contribution information of each node to each element, the contribution information of all nodes to each element in the set is distributed, and the node set P -1 (θ) with positive contribution to the element is obtained, and the negative contribution to the element is obtained The node set R -1 (θ) of the node set N -1 (θ) that does not contribute to the element;

S4,根据节点集合P-1(θ)、R-1(θ)和N-1(θ),分布式算出对每个元素θ,一个大小为k的节点的集合C对元素θ的贡献信息,在图中广播C对元素θ的贡献信息,使得图中的每个节点已知其它节点对所有元素的贡献信息;S4, according to the node sets P -1 (θ), R -1 (θ) and N -1 (θ), distributedly calculate the contribution information of a node set C with a size of k to the element θ for each element θ , broadcast the contribution information of C to element θ in the graph, so that each node in the graph knows the contribution information of other nodes to all elements;

S5,根据每个节点对每个元素的贡献信息以及对每个节点分布式计算团体的贡献信息,团体为从其它节点中选取k个节点的集合,得到每个节点对团体的贡献变化,进而得到每个节点的博弈中心度。S5, according to the contribution information of each node to each element and the contribution information to each node's distributed computing community, the community is a set of k nodes selected from other nodes, and the contribution change of each node to the community is obtained, and then Get the game centrality of each node.

进一步的,传统中心度为度数中心度、介数中心度或者紧密中心度。Further, the traditional centrality is degree centrality, betweenness centrality or closeness centrality.

进一步的,传统中心度为度数中心度或者紧密中心度,所述步骤S1的具体实现方式为:根据度数中心度或者紧密中心度的定义,将图划分为节点的集合,并且将每个节点视为一个元素θ。Further, the traditional centrality is degree centrality or close centrality, and the specific implementation of step S1 is: according to the definition of degree centrality or close centrality, the graph is divided into a collection of nodes, and each node is regarded as is an element θ.

进一步的,传统中心度为介数中心度,所述步骤S1的具体实现方式为:根据介数中心度的定义,将图划分为元素θ的集合,每个元素为一个节点对。Further, the traditional centrality is betweenness centrality, and the specific implementation of the step S1 is: according to the definition of betweenness centrality, the graph is divided into a set of elements θ, and each element is a node pair.

进一步的,步骤S3包括:Further, step S3 includes:

S3.1,根据每个节点对每个元素的贡献信息,在图中分布式构建一棵广度优先搜索树;S3.1, according to the contribution information of each node to each element, a breadth-first search tree is distributed in the graph;

S3.2,从图中随机选定一个节点作为广度优先搜索树的根节点,根节点分布式收集每个节点对每个元素的贡献信息;得到对元素有正贡献的节点集合P-1(θ),对元素有负贡献的节点集合R-1(θ),对元素无贡献的节点集合N-1(θ)。S3.2, randomly select a node from the graph as the root node of the breadth-first search tree, and the root node distributedly collects the contribution information of each node to each element; obtain the node set P -1 ( θ), the node set R -1 (θ) that has a negative contribution to the element, and the node set N -1 (θ) that does not contribute to the element.

进一步的,每个节点对团体的贡献变化为:Further, the contribution of each node to the community changes as follows:

当节点i对元素θ为正贡献,而团体对元素θ为无贡献,则节点对团体的贡献变化为正贡献;When the node i contributes positively to the element θ, but the group makes no contribution to the element θ, then the contribution of the node to the group becomes a positive contribution;

当节点i对元素θ为负贡献,而团体对元素θ为正贡献,则节点对团体的贡献变化为负贡献;When node i makes a negative contribution to the element θ, and the group contributes positively to the element θ, the contribution of the node to the group changes as a negative contribution;

当节点i对元素θ为正贡献或无贡献,而团体对元素θ为正贡献,则节点对团体的贡献变化为无贡献。When node i makes a positive contribution or no contribution to the element θ, and the group makes a positive contribution to the element θ, the contribution of the node to the group changes to no contribution.

进一步的,博弈中心度为:Further, the game centrality is:

其中,ν为传统中心度的定义,为节点i的博弈中心度,k表示节点数量,β(k)表示一个与k大小有关的函数,Ck代表一个大小为k的团体,代表Ck的期望,MC(Ck,i)表示节点i对团体Ck的贡献变化,V表示图中节点的集合。Among them, ν is the definition of traditional centrality, is the game centrality of node i, k represents the number of nodes, β(k) represents a function related to the size of k, C k represents a group of size k, represents the expectation of C k , MC(C k , i) represents the contribution change of node i to group C k , and V represents the set of nodes in the graph.

总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:Generally speaking, compared with the prior art, the above technical solutions conceived by the present invention can achieve the following beneficial effects:

(1)本发明首次提出在分布式环境下求解博弈中心度;对给出的一种任意博弈中心度,根据分布式计算规则以及特性,在分布式环境下求解每一个节点的博弈中心度。本发明解决集中式算法求解耗时过高的问题,本发明可以更快速地求解博弈中心度。(1) The present invention proposes to solve the game centrality in a distributed environment for the first time; for a given arbitrary game centrality, according to the distributed computing rules and characteristics, the game centrality of each node is solved in a distributed environment. The invention solves the problem that the centralized algorithm takes too long to solve the problem, and the invention can solve the game centrality more quickly.

(2)本发明提供的分布式求解博弈中心度方法,大大降低集中式求解博弈中心度的时间复杂度,可以更快地处理大规模图数据。本发明设计了的分布式计算能够有效地避免节点发送消息过多而产生的拥塞。(2) The distributed method for solving the game centrality provided by the present invention greatly reduces the time complexity of the centralized solution for the game centrality, and can process large-scale graph data faster. The distributed computing designed by the present invention can effectively avoid congestion caused by too many messages sent by nodes.

附图说明Description of drawings

图1是本发明实施例提供的一种分布式博弈中心度求解方法的流程图;Fig. 1 is the flow chart of a kind of distributed game centrality solution method provided by the embodiment of the present invention;

图2是本发明实施例1提供的图数据结构;Fig. 2 is the graph data structure provided by Embodiment 1 of the present invention;

图3是本发明实施例1提供的收集贡献信息的流程图;Fig. 3 is a flow chart of collecting contribution information provided by Embodiment 1 of the present invention;

图4是本发明实施例1提供的构建一棵广度优先搜索树的流程图;Fig. 4 is the flowchart of constructing a breadth-first search tree provided by Embodiment 1 of the present invention;

图5是本发明实施例1提供的根节点分布式收集每个节点对每个元素的贡献信息的流程图;FIG. 5 is a flow chart of distributed collection of contribution information of each node to each element by the root node provided by Embodiment 1 of the present invention;

图6是本发明实施例1提供的获取C对元素θ的贡献信息的流程图。FIG. 6 is a flow chart of obtaining contribution information of C to element θ provided by Embodiment 1 of the present invention.

具体实施方式Detailed ways

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。In order to make the object, technical solution and advantages of the present invention clearer, the present invention will be further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described here are only used to explain the present invention, not to limit the present invention. In addition, the technical features involved in the various embodiments of the present invention described below can be combined with each other as long as they do not constitute a conflict with each other.

如图1所示,本发明提供了一种分布式博弈中心度求解方法,包括:As shown in Figure 1, the present invention provides a method for solving distributed game centrality, including:

S1,根据传统中心度的定义,将图划分为元素θ的集合;传统中心度为度数中心度、介数中心度或者紧密中心度。传统中心度为度数中心度或者紧密中心度,根据度数中心度或者紧密中心度的定义,将图划分为节点的集合,并且将每个节点视为一个元素θ。传统中心度为介数中心度,根据介数中心度的定义,将图划分为元素θ的集合,每个元素为一个节点对。S1, according to the definition of traditional centrality, divide the graph into a set of elements θ; traditional centrality is degree centrality, betweenness centrality or closeness centrality. The traditional centrality is degree centrality or close centrality. According to the definition of degree centrality or close centrality, the graph is divided into a collection of nodes, and each node is regarded as an element θ. The traditional centrality is betweenness centrality. According to the definition of betweenness centrality, the graph is divided into a set of elements θ, and each element is a node pair.

S2,根据图中的每个节点,分布式求出每个节点对每个元素的贡献信息,贡献信息包括正贡献、负贡献和无贡献;S2, according to each node in the graph, distribute the contribution information of each node to each element, and the contribution information includes positive contribution, negative contribution and no contribution;

S3,根据每个节点对每个元素的贡献信息,在图中分布式构建一棵广度优先搜索树;从图中随机选定一个节点作为广度优先搜索树的根节点,根节点分布式收集每个节点对每个元素的贡献信息;得到对元素有正贡献的节点集合P-1(θ),对元素有负贡献的节点集合R-1(θ),对元素无贡献的节点集合N-1(θ)。S3, according to the contribution information of each node to each element, a breadth-first search tree is distributed in the graph; a node is randomly selected from the graph as the root node of the breadth-first search tree, and the root node distributes and collects each Contribution information of nodes to each element; get the node set P -1 (θ) that contributes positively to the element, the node set R -1 (θ) that contributes negatively to the element, and the node set N - that does not contribute to the element 1 (θ).

S4,根据节点集合P-1(θ)、R-1(θ)和N-1(θ),分布式算出对每个元素θ,一个大小为k的节点的集合C对元素θ的贡献信息,在图中广播C对元素θ的贡献信息,使得图中的每个节点已知其它节点对所有元素的贡献信息;S4, according to the node sets P -1 (θ), R -1 (θ) and N -1 (θ), distributedly calculate the contribution information of a node set C with a size of k to the element θ for each element θ , broadcast the contribution information of C to element θ in the graph, so that each node in the graph knows the contribution information of other nodes to all elements;

S5,根据每个节点对每个元素的贡献信息以及对每个节点分布式计算团体的贡献信息,团体为从其它节点中选取k个节点的集合,得到每个节点对团体的贡献变化,每个节点对团体的贡献变化为:当节点i对元素θ为正贡献,而团体对元素θ为无贡献,则节点对团体的贡献变化为正贡献;当节点i对元素θ为负贡献,而团体对元素θ为正贡献,则节点对团体的贡献变化为负贡献;当节点i对元素θ为正贡献或无贡献,而团体对元素θ为正贡献,则节点对团体的贡献变化为无贡献。进而得到每个节点的博弈中心度。S5, according to the contribution information of each node to each element and the contribution information of each node to the distributed computing community, the community is a set of k nodes selected from other nodes, and the contribution of each node to the community is obtained. The change of the contribution of a node to the group is: when the node i makes a positive contribution to the element θ, but the group makes no contribution to the element θ, then the contribution of the node to the group changes as a positive contribution; when the node i makes a negative contribution to the element θ, and If the group contributes positively to the element θ, the change of the node’s contribution to the group is a negative contribution; when the node i makes a positive contribution or no contribution to the element θ, and the group makes a positive contribution to the element θ, then the change of the node’s contribution to the group is no contribute. Then get the game centrality of each node.

其中,ν为传统中心度的定义,为节点i的博弈中心度,k表示节点数量,β(k)表示一个与k大小有关的函数,Ck代表一个大小为k的团体,代表Ck的期望,MC(Ck,i)表示节点i对团体Ck的贡献变化,V表示图中节点的集合。Among them, ν is the definition of traditional centrality, is the game centrality of node i, k represents the number of nodes, β(k) represents a function related to the size of k, C k represents a group of size k, represents the expectation of C k , MC(C k , i) represents the contribution change of node i to group C k , and V represents the set of nodes in the graph.

实施例1Example 1

本发明分布式求解博弈中心度方法包括以下步骤:The method for solving game centrality distributedly of the present invention comprises the following steps:

S1,根据给定的传统中心度的定义ν,定义节点i的博弈中心度其中,k表示节点数量,β(k)表示一个与k大小有关的函数,Ck代表一个大小为k的团体,代表Ck的期望,MC(Ck,i)表示节点i对团体Ck的边缘贡献即MC(Ck,i)=ν(Ck∪i)-ν(Ck)。根据传统中心度的定义,将图G划分为h(G)个元素θ的集合(譬如所有路径或者所有最短路径,其中元素为每条路径或者每条最短路径)。在此实施例中,我们选取度数中心度作为传统中心度ν。一个集合C的度数中心度是指所有与这个集合中的节点相连且不在集合C中的节点的个数之和。以图2为例,假设C={a},由于与a点相连的节点的个数为2,因此v(C)=2,假设C={a,b,c},由于与集合中所有相连的点为{a,b,c,d},而{a,b,c}又在集合中,因此v(C)=1。而根据传统中心度的定义,将图划分为节点的集合,并且将每个节点视为一个元素。S1, according to the given definition of traditional centrality ν, define the game centrality of node i Among them, k represents the number of nodes, β(k) represents a function related to the size of k, C k represents a group of size k, represents the expectation of C k , MC(C k , i) represents the edge contribution of node i to community C k ie MC(C k , i)=ν(C k ∪i)-ν(C k ). According to the traditional definition of centrality, the graph G is divided into a set of h(G) elements θ (such as all paths or all shortest paths, where the elements are each path or each shortest path). In this example, we choose degree centrality as the traditional centrality ν. The degree centrality of a set C refers to the sum of the number of nodes connected to the nodes in this set and not in the set C. Take Figure 2 as an example, assuming C={a}, since the number of nodes connected to point a is 2, so v(C)=2, assuming C={a, b, c}, since it is related to all nodes in the set The connected points are {a, b, c, d}, and {a, b, c} are in the set, so v(C)=1. According to the definition of traditional centrality, the graph is divided into a collection of nodes, and each node is regarded as an element.

S2,对每个节点v,分布式求出其对每个元素的贡献,如果节点v对元素θ为正贡献,我们将它记为P(v,θ),如果节点v对元素θ为负贡献,则记为R(v,θ),如果节点v对元素θ为无贡献,则记为N(v,θ)。在实施例中,以a点为例,如果我们选取的元素为a,由于这两个点是相同点,因此a对a是负贡献,我们得到R(a,a)。如果我们选取a的邻居b或d作为特定元素,因为b与d是a的邻居,我们得到P(a,b)与P(a,d)。如果我们选取c作为特定元素,因为c不与a直接相邻,c对a无任何影响,我们得到N(a,c)。S2. For each node v, calculate its contribution to each element in a distributed manner. If node v contributes positively to element θ, we will record it as P(v, θ). If node v is negative to element θ contribution, it is recorded as R(v, θ), and if node v has no contribution to element θ, it is recorded as N(v, θ). In the embodiment, taking point a as an example, if the element we select is a, since these two points are the same point, a has a negative contribution to a, and we get R(a, a). If we take neighbors b or d of a as specific elements, since b and d are neighbors of a, we get P(a,b) and P(a,d). If we pick c as a specific element, since c is not directly adjacent to a, c has no effect on a, we get N(a,c).

S3,对每个元素θ,分布式收集所有节点对其贡献的信息。将对其有正贡献节点的集合记为P-1(θ),有负贡献的集合记为R-1(θ),无贡献的集合记为N-1(θ);S3, for each element θ, collect the information contributed by all nodes in a distributed manner. The set of nodes with positive contributions to it is marked as P -1 (θ), the set of negative contributions is marked as R -1 (θ), and the set of non-contributing nodes is marked as N -1 (θ);

如图3所示,步骤S3包括以下子步骤:As shown in Figure 3, step S3 includes the following sub-steps:

S3.1,根据步骤S2中每个节点对h(G)个元素的贡献,给出一个特定的元素,可以收集图中所有点对该元素的贡献。S3.1, according to the contribution of each node to h(G) elements in step S2, given a specific element, the contribution of all points in the graph to this element can be collected.

S3.2,在图中分布式构建一棵广度优先搜索树。如图4所示,本步骤包含以下子步骤:S3.2, build a breadth-first search tree distributedly in the graph. As shown in Figure 4, this step includes the following sub-steps:

S3.2.1,随机选定一个节点作为根节点。在图2中,不失一般性,选取a作为根节点。S3.2.1, randomly select a node as the root node. In Figure 2, without loss of generality, select a as the root node.

S3.2.2,根节点向其邻居节点发送消息。在图2中,a向其邻居b、d发送一条消息。S3.2.2, the root node sends a message to its neighbor nodes. In Figure 2, a sends a message to its neighbors b, d.

S3.2.3,如果接受到消息的节点之前未接受到过消息,随机选取一个发送给它消息的节点作为它的父亲节点,则该节点为其父亲节点的孩子节点,并且该节点向其邻居发送消息。由于b、d都未接受到过消息,而且只有a向b、d发送消息,于是b、d均把a作为其父亲节点,同时,b点向其邻居a、c发送消息,d点也向其邻居b、c发送消息。S3.2.3, if the node that received the message has not received the message before, randomly select a node that sent the message to it as its parent node, then the node is the child node of the parent node, and the node sends to its neighbors information. Since neither b nor d has received any messages, and only a sends messages to b and d, both b and d regard a as their parent node. At the same time, point b sends messages to its neighbors a and c, and point d also sends messages to its neighbors Its neighbors b and c send messages.

S3.2.4,重复步骤S3.2.3直到图中每个节点都接受到过消息。当c接收到来自b、d的消息时,由于c之前未接受到过消息,c随机的选择b、d点中的一点作为其父亲节点,不失一般性,c选取b点作为其父亲节点。同时c向其邻居b、d发送消息。由于b、d之前都接收到过消息,至此图中所有节点都接收到过消息,步骤S3.2.4结束。S3.2.4, repeat step S3.2.3 until every node in the graph has received the message. When c receives a message from b and d, since c has not received a message before, c randomly selects one of points b and d as its parent node, without loss of generality, c selects point b as its parent node . At the same time c sends a message to its neighbors b and d. Since both b and d have received the message before, all nodes in the figure have received the message so far, and step S3.2.4 ends.

S3.3,树的根节点收集每个点对元素的贡献。如图5所示该步骤的子步骤如下:S3.3, the root node of the tree collects the contribution of each point to the element. As shown in Figure 5, the sub-steps of this step are as follows:

S3.3.1,每个节点v初始化成一个关于元素θ的队列(为P(v,θ),N(v,θ)或R(v,θ)中的一种),初始时队列只保存其对元素θ的贡献。例如点a的初始化队列为{R(a,a)},点b的初始化队列为{P(b,a)},点c的初始化队列为{N(c,a)},点d的初始化队列为{P(d,a)}。S3.3.1, each node v is initialized as a queue about the element θ (one of P(v, θ), N(v, θ) or R(v, θ)), and initially the queue only saves its Contribution to element θ. For example, the initialization queue of point a is {R(a, a)}, the initialization queue of point b is {P(b, a)}, the initialization queue of point c is {N(c, a)}, and the initialization queue of point d The queue is {P(d, a)}.

S3.3.2,每个点从队列里选出一条没发送过的消息传递给它的父亲节点。图1中,不失一般性,假设要收集对点a的元素,则c将N(c,a)传给它的父亲节点b,d将P(d,a)传给它的父亲节点a,b将P(b,a)传给它的父亲节点a。由于a点为根节点,a接受到消息后不会再继续传播。S3.3.2, each node selects an unsent message from the queue and passes it to its parent node. In Figure 1, without loss of generality, assuming that the elements of point a are to be collected, then c will pass N(c, a) to its parent node b, and d will pass P(d, a) to its parent node a , b passes P(b, a) to its parent node a. Since point a is the root node, a will not continue to propagate after receiving the message.

S3.3.3,每个节点接收到消息后,将其放入其保存的队列当中。则当b接受到N(c,a)时,它将N(c,a)放入其保存对a元素的队列中。S3.3.3, after each node receives the message, it puts it into the queue it saves. Then when b receives N(c, a), it puts N(c, a) into the queue where it holds the elements of a.

S3.3.4,重复S3.3.2直到图中无节点需要发送消息。由于b中还有未发送的消息N(c,a),b还会将N(c,a)发送给父亲节点a。S3.3.4, repeat S3.3.2 until no node in the graph needs to send a message. Since there are unsent messages N(c, a) in b, b will also send N(c, a) to the parent node a.

S3.4,根节点广播所有它接收到的消息,从而使得所有节点都知道其它各个节点对该元素的贡献。a点广播所有它收到的元素消息,由于a点已知R(a,a),P(b,a),P(d,a),以及N(c,a),它将这些信息发送给它的子节点b、d。当d、b接受到消息后,由于d无子节点,它不再发送消息,而b点有一个子节点c,因此b再将消息发送给c。由于c点无子节点,消息不再发送。至此b、c、d均知道其它点对a点的元素。S3.4, the root node broadcasts all the messages it receives, so that all nodes know the contribution of other nodes to the element. Point a broadcasts all element messages it receives, since point a knows R(a, a), P(b, a), P(d, a), and N(c, a), it sends these information Give its child nodes b, d. When d and b receive the message, since d has no child nodes, it no longer sends messages, and point b has a child node c, so b sends the message to c again. Since point c has no child nodes, the message is no longer sent. So far, b, c, and d all know the elements of other points to point a.

S3.5,已知所有节点对一个元素θ的贡献之后,可以求出一个集合C对该元素的贡献。当集合中有一个节点对该元素为负贡献时,则该集合对该元素负贡献,即R(C,θ)当且仅当当集合中所有节点都对该元素无贡献时,则该集合对该元素无贡献,即N(C,θ)当且仅当当集合中至少有一个点对该元素有正贡献且其它点都对该元素无贡献时,该集合对该元素正贡献,即P(C,θ)当且仅当不失一般性,我们选择a作为特定元素,由于已知R(a,a),P(b,a),P(d,a),N(c,a),可得当C={b},{d},{b,c},{d,c},{b,d,c}时,有P(C,a),当C={a},{a,b},{a,c},{a,d},{a,b,c},{a,b,d},{a,c,d},{a,b,c,d}时,有R(C,a),当C={c}时,有N(C,a)。S3.5. After knowing the contribution of all nodes to an element θ, the contribution of a set C to this element can be calculated. When there is a node in the set that contributes negatively to the element, the set contributes negatively to the element, that is, R(C, θ) if and only if When all nodes in the set do not contribute to the element, the set does not contribute to the element, that is, N(C, θ) if and only if When at least one point in the set has a positive contribution to the element and other points do not contribute to the element, the set contributes positively to the element, that is, P(C, θ) if and only if Without loss of generality, we choose a as a specific element. Since R(a, a), P(b, a), P(d, a), N(c, a) are known, C={b} , {d}, {b, c}, {d, c}, {b, d, c}, there is P(C, a), when C={a}, {a, b}, {a, c}, {a, d}, {a, b, c}, {a, b, d}, {a, c, d}, {a, b, c, d}, there is R(C, a ), when C={c}, there is N(C, a).

S3.6,重复步骤S3.2-S3.5可以知道所有节点对所有元素的贡献。当a节点收集完对a的元素之后,可以依次收集对所有节点对b、c、d元素的值并广播。S3.6, repeat steps S3.2-S3.5 to know the contribution of all nodes to all elements. After node a collects the elements of a, it can collect and broadcast the values of elements b, c, and d for all nodes in turn.

S4,根据步骤S3计算出的集合,分布式算出对每个元素θ,一个大小为k的节点的子集C对它的贡献的集合。如果C拥有k个节点且对元素θ有正贡献,则将C的集合记为P#k -1(θ),若为负贡献,则记为R#k -1(θ),若无贡献,则记为N#k -1(θ)。并广播所有信息;S4, according to the set calculated in step S3, distributedly calculate, for each element θ, a set of contribution of a subset C of nodes with a size of k to it. If C has k nodes and has a positive contribution to the element θ, then record the set of C as P #k -1 (θ), if it is a negative contribution, it is recorded as R #k -1 (θ), if there is no contribution , it is recorded as N #k -1 (θ). and broadcast all messages;

如图6所示,步骤S4包括以下子步骤:As shown in Figure 6, step S4 includes the following sub-steps:

S4.1,通过步骤S3,已知任意节点v对一个元素θ的贡献情况,则可以分析出当v加入一个集合C之后,该集合对该元素贡献的变化。集合对元素贡献的变化分为3种情况:1、当点v对它为正贡献,而集合C对它无贡献,即P(v,θ)∧N(C,θ)。2、当点v对它为负贡献,而集合C对它为正贡献,即R(v,θ)∧P(C,θ)。3、当点v对它为正贡献或无贡献,而集合C对它为正贡献,即(P(v,θ)∨N(v,θ))∧P(C,θ)。不失一般性,我们选取a作为特定元素,已知当C={c}时,有N(C,a),且有P(b,a)与P(d,a),则当b或d加入C之后,集合C从对元素a无贡献到对元素a有正贡献。当C={b},{d},{b,d}时,已知有P(C,a)且R(a,a),则当a加入C之后,集合C对a为由正贡献变为负贡献。当C={b},{d},{b,d}时,已知有P(C,a),且有P(b,a),P(d,a),N(c,a),当这些点加入C后,由于C原本即为正贡献,加入后依旧是正贡献,但是集合的大小发生变化,因此贡献值也会发生变化。S4.1, through step S3, knowing the contribution of any node v to an element θ, it is possible to analyze the change of the contribution of this set after v joins a set C. The change of the contribution of the set to the elements is divided into three cases: 1. When the point v has a positive contribution to it, but the set C has no contribution to it, that is, P(v, θ)∧N(C, θ). 2. When the point v contributes negatively to it, and the set C contributes positively to it, that is, R(v, θ)∧P(C, θ). 3. When the point v contributes positively or not to it, and the set C contributes positively to it, that is (P(v, θ)∨N(v, θ))∧P(C, θ). Without loss of generality, we select a as a specific element. It is known that when C={c}, there is N(C, a), and there are P(b, a) and P(d, a), then when b or After d is added to C, the set C changes from no contribution to element a to positive contribution to element a. When C={b}, {d}, {b, d}, P(C, a) and R(a, a) are known, then when a is added to C, the set C is a positive contribution to a becomes a negative contribution. When C={b}, {d}, {b, d}, it is known that there is P(C, a), and there are P(b, a), P(d, a), N(c, a) , when these points are added to C, since C is originally a positive contribution, it is still a positive contribution after adding, but the size of the set changes, so the contribution value will also change.

S4.2,从所有节点中随机选取k个节点作为一个集合,初始时k为1。S4.2, randomly select k nodes from all nodes as a set, and initially k is 1.

S4.3,根据上述3种情况,对每个节点不同的元素,利用步骤S3收集来的消息,求出该集合对该元素的贡献,从而可以求出MC(Ck,i)。S4.3. According to the above three situations, for different elements of each node, use the information collected in step S3 to find the contribution of the set to the element, so as to find MC(C k , i).

S4.4,令k的值从1到节点个数减1,重复S4.2-S4.3。S4.4, set the value of k from 1 to the number of nodes minus 1, and repeat S4.2-S4.3.

S5,根据步骤S4计算出的结果,每个节点分布式计算其博弈中心度。由于每个点已知其它点对所有元素的贡献,因此每个节点只需分布式计算出当从其它点中选取k个节点的集合的贡献值,之后就可以计算出其博弈中心度。S5. According to the result calculated in step S4, each node distributedly calculates its game centrality. Since each point knows the contribution of other points to all elements, each node only needs to distribute the calculation of the contribution value of the set of k nodes selected from other points, and then calculate its game centrality.

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。It is easy for those skilled in the art to understand that the above descriptions are only preferred embodiments of the present invention, and are not intended to limit the present invention. Any modifications, equivalent replacements and improvements made within the spirit and principles of the present invention, All should be included within the protection scope of the present invention.

Claims (7)

1.一种分布式博弈中心度求解方法,其特征在于,包括:1. A method for solving distributed game centrality, characterized in that, comprising: S1,根据传统中心度的定义,将图划分为元素θ的集合;S1, according to the definition of traditional centrality, divide the graph into a set of elements θ; S2,根据图中的每个节点,分布式求出每个节点对每个元素的贡献信息,贡献信息包括正贡献、负贡献和无贡献;S2, according to each node in the graph, distribute the contribution information of each node to each element, and the contribution information includes positive contribution, negative contribution and no contribution; S3,根据每个节点对每个元素的贡献信息,分布式收集所有节点对集合中每个元素的贡献信息,得到对元素有正贡献的节点集合P-1(θ),对元素有负贡献的节点集合R-1(θ),对元素无贡献的节点集合N-1(θ);S3, according to the contribution information of each node to each element, the contribution information of all nodes to each element in the set is distributed, and the node set P -1 (θ) with positive contribution to the element is obtained, and the negative contribution to the element is obtained The node set R -1 (θ) of the node set N -1 (θ) that does not contribute to the element; S4,根据节点集合P-1(θ)、R-1(θ)和N-1(θ),分布式算出对每个元素θ,一个大小为k的节点的集合C对元素θ的贡献信息,在图中广播C对元素θ的贡献信息,使得图中的每个节点已知其它节点对所有元素的贡献信息;S4, according to the node sets P -1 (θ), R -1 (θ) and N -1 (θ), distributedly calculate the contribution information of a node set C with a size of k to the element θ for each element θ , broadcast the contribution information of C to element θ in the graph, so that each node in the graph knows the contribution information of other nodes to all elements; S5,根据每个节点对每个元素的贡献信息以及对每个节点分布式计算团体的贡献信息,团体为从其它节点中选取k个节点的集合,得到每个节点对团体的贡献变化,进而得到每个节点的博弈中心度。S5, according to the contribution information of each node to each element and the contribution information to each node's distributed computing community, the community is a set of k nodes selected from other nodes, and the contribution change of each node to the community is obtained, and then Get the game centrality of each node. 2.如权利要求1所述的一种分布式博弈中心度求解方法,其特征在于,所述传统中心度为度数中心度、介数中心度或者紧密中心度。2. A method for solving distributed game centrality as claimed in claim 1, wherein said traditional centrality is degree centrality, betweenness centrality or closeness centrality. 3.如权利要求2所述的一种分布式博弈中心度求解方法,其特征在于,所述传统中心度为度数中心度或者紧密中心度,所述步骤S1的具体实现方式为:根据度数中心度或者紧密中心度的定义,将图划分为节点的集合,并且将每个节点视为一个元素θ。3. A method for solving distributed game centrality as claimed in claim 2, wherein said traditional centrality is degree centrality or compact centrality, and the specific implementation of said step S1 is: according to degree centrality The definition of degree or close centrality divides the graph into a collection of nodes and treats each node as an element θ. 4.如权利要求2所述的一种分布式博弈中心度求解方法,其特征在于,所述传统中心度为介数中心度,所述步骤S1的具体实现方式为:根据介数中心度的定义,将图划分为元素θ的集合,每个元素为一个节点对。4. A kind of method for solving distributed game centrality as claimed in claim 2, is characterized in that, described traditional centrality is betweenness centrality, and the concrete realization mode of described step S1 is: according to betweenness centrality Definition, divide the graph into a set of elements θ, each element is a node pair. 5.如权利要求1或2所述的一种分布式博弈中心度求解方法,其特征在于,所述步骤S3包括:5. a kind of distributed game centrality solution method as claimed in claim 1 or 2, is characterized in that, described step S3 comprises: S3.1,根据每个节点对每个元素的贡献信息,在图中分布式构建一棵广度优先搜索树;S3.1, according to the contribution information of each node to each element, a breadth-first search tree is distributed in the graph; S3.2,从图中随机选定一个节点作为广度优先搜索树的根节点,根节点分布式收集每个节点对每个元素的贡献信息;得到对元素有正贡献的节点集合P-1(θ),对元素有负贡献的节点集合R-1(θ),对元素无贡献的节点集合N-1(θ)。S3.2, randomly select a node from the graph as the root node of the breadth-first search tree, and the root node distributedly collects the contribution information of each node to each element; obtain the node set P -1 ( θ), the node set R -1 (θ) that has a negative contribution to the element, and the node set N -1 (θ) that does not contribute to the element. 6.如权利要求1所述的一种分布式博弈中心度求解方法,其特征在于,所述每个节点对团体的贡献变化为:6. a kind of distributed game centrality solution method as claimed in claim 1, is characterized in that, described each node changes to the contribution of group: 当节点i对元素θ为正贡献,而团体对元素θ为无贡献,则节点对团体的贡献变化为正贡献;When the node i contributes positively to the element θ, but the group makes no contribution to the element θ, then the contribution of the node to the group becomes a positive contribution; 当节点i对元素θ为负贡献,而团体对元素θ为正贡献,则节点对团体的贡献变化为负贡献;When node i makes a negative contribution to the element θ, and the group contributes positively to the element θ, the contribution of the node to the group changes as a negative contribution; 当节点i对元素θ为正贡献或无贡献,而团体对元素θ为正贡献,则节点对团体的贡献变化为无贡献。When node i makes a positive contribution or no contribution to the element θ, and the group makes a positive contribution to the element θ, the contribution of the node to the group changes to no contribution. 7.如权利要求1或6所述的一种分布式博弈中心度求解方法,其特征在于,所述博弈中心度为:7. a kind of distributed game centrality solution method as claimed in claim 1 or 6, is characterized in that, described game centrality is: 其中,ν为传统中心度的定义,为节点i的博弈中心度,k表示节点数量,β(k)表示一个与k大小有关的函数,Ck代表一个大小为k的团体,代表Ck的期望,MC(Ck,i)表示节点i对团体Ck的贡献变化,V表示图中节点的集合。Among them, ν is the definition of traditional centrality, is the game centrality of node i, k represents the number of nodes, β(k) represents a function related to the size of k, C k represents a group of size k, represents the expectation of C k , MC(C k , i) represents the contribution change of node i to group C k , and V represents the set of nodes in the graph.
CN201711069407.XA 2017-10-31 2017-10-31 A Method for Solving the Centrality of Distributed Game Active CN107800797B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711069407.XA CN107800797B (en) 2017-10-31 2017-10-31 A Method for Solving the Centrality of Distributed Game

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711069407.XA CN107800797B (en) 2017-10-31 2017-10-31 A Method for Solving the Centrality of Distributed Game

Publications (2)

Publication Number Publication Date
CN107800797A true CN107800797A (en) 2018-03-13
CN107800797B CN107800797B (en) 2019-08-30

Family

ID=61549078

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711069407.XA Active CN107800797B (en) 2017-10-31 2017-10-31 A Method for Solving the Centrality of Distributed Game

Country Status (1)

Country Link
CN (1) CN107800797B (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150278366A1 (en) * 2011-06-03 2015-10-01 Google Inc. Identifying topical entities
CN105007583A (en) * 2015-07-28 2015-10-28 华中科技大学 Energy efficiency improving method based on game playing in heterogeneous cellular network
CN105120468A (en) * 2015-07-13 2015-12-02 华中科技大学 Dynamic wireless network selection method based on evolutionary game theory

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150278366A1 (en) * 2011-06-03 2015-10-01 Google Inc. Identifying topical entities
CN105120468A (en) * 2015-07-13 2015-12-02 华中科技大学 Dynamic wireless network selection method based on evolutionary game theory
CN105007583A (en) * 2015-07-28 2015-10-28 华中科技大学 Energy efficiency improving method based on game playing in heterogeneous cellular network

Also Published As

Publication number Publication date
CN107800797B (en) 2019-08-30

Similar Documents

Publication Publication Date Title
CN111222029B (en) Method for selecting key nodes in network public opinion information dissemination
CN106951524A (en) Overlapping community discovery method based on node influence power
CN104050245B (en) A kind of social network influence power maximization approach based on liveness
CN108073944A (en) A kind of label based on local influence power propagates community discovery method
CN105337773B (en) Micro blog network influence power node discovery method based on ReciprocityRank algorithms
CN106972952B (en) A method for extracting leader nodes of information dissemination based on network degree correlation
CN106533778A (en) Method for identifying key node of command and control network based on hierarchical flow betweenness
CN103561047A (en) P2P network trust cloud model calculating method based on interest groups
CN106789338B (en) Method for discovering key people in dynamic large-scale social network
CN108965287A (en) It is a kind of temporarily to delete the viral transmission control method on side based on limited
Zhang et al. Skeleton of weighted social network
CN114494643A (en) Disease propagation control method based on network division
CN111667373A (en) Evolution community discovery method based on neighbor subgraph social network dynamic increment
CN109190807B (en) Cost minimization propagation optimization method for target group
CN106909619A (en) It is a kind of based on offset adjusted and the mixing social networks clustering method bidded and system
CN107800797B (en) A Method for Solving the Centrality of Distributed Game
Min et al. Searching for influencers in big-data complex networks
Huang et al. Identify influential social network spreaders
CN103051476B (en) Topology analysis-based network community discovery method
CN107018027B (en) Link prediction method based on Bayesian estimation and common neighbor node degree
JP5761759B2 (en) Node participation processing apparatus, method, and program
CN112579831A (en) Network community discovery method and device based on SimRank global matrix smooth convergence and storage medium
Wang et al. Automated allocation of detention rooms based on inverse graph partitioning
CN114817653A (en) Unsupervised community discovery method based on central node graph convolutional network
CN112256756A (en) Influence discovery method based on ternary association diagram and knowledge representation

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant