CN102819664B - Influence maximization parallel accelerating method based on graphic processing unit - Google Patents

Influence maximization parallel accelerating method based on graphic processing unit Download PDF

Info

Publication number
CN102819664B
CN102819664B CN201210248732.3A CN201210248732A CN102819664B CN 102819664 B CN102819664 B CN 102819664B CN 201210248732 A CN201210248732 A CN 201210248732A CN 102819664 B CN102819664 B CN 102819664B
Authority
CN
China
Prior art keywords
node
gpu
nodes
influence value
overlap
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.)
Expired - Fee Related
Application number
CN201210248732.3A
Other languages
Chinese (zh)
Other versions
CN102819664A (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.)
National University of Defense Technology
Original Assignee
National University of Defense 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 National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN201210248732.3A priority Critical patent/CN102819664B/en
Publication of CN102819664A publication Critical patent/CN102819664A/en
Application granted granted Critical
Publication of CN102819664B publication Critical patent/CN102819664B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The invention discloses an influence maximization parallel accelerating method based on a graphic processing unit. The purpose of the invention is to provide the influence maximization parallel accelerating method based on the GPU (graphic processing unit). Algorithm implementation is accelerated and the implementation time is shortened by parallel calculating ability of the GPU. The influence maximization parallel accelerating method is characterized by comprising the following steps: in each Monte Carlo simulation, firstly, finding out strong connectivity in a network diagram, merging all nodes in the same strong connectivity into a node, wherein the weight is the sum of the weights of all nodes in the strong connectivity; then calculating an influence value of each node in parallel by a strategy of traversing upwards from the bottom; using different threads by the GPU calculation cores to calculate in a parallel way the influence values of different nodes with the help of the parallel calculation capability of the GPU, and obtaining the K most influential nodes. According to the invention, a pattern is converted into a directed acyclic graph; the calculation quantity of an influence value can be obviously reduced, meanwhile, the overall operation time is shortened by scheduling parallel calculation of each node in the calculation core of the GPU to the maximal extent.

Description

A kind of having the greatest impact parallel acceleration method of graphic based processing unit
Technical field
The present invention relates to having the greatest impact of community network way to solve the problem in mass data excavation applications, the mass users especially for large scale community network is excavated, the parallel acceleration method of a kind of graphic based processing unit GPU of proposition.
Background technology
The fast development of Web2.0 technology has promoted the flourish of Social Media.All kinds of social network sites continues to bring out, and such as external Facebook, Twitter and website user's quantity such as domestic Renren Network, Sina's microblogging increase very rapid, and any active ues of current Facebook has exceeded 8.5 hundred million.Social network sites is not only people and is linked up and the bridge exchanged, and has also become the important medium of Information Communication and diffusion simultaneously.Research shows, the client of 68% can inquire the suggestion of its household, friend before buying product.Viral marketing (ViralMarketing) make use of the principle of oral marketing between user just, carries out the network multiple level marketing methods such as brand promotion.And maintaining sustained and rapid growth along with community network user, viral marketing has become the very efficient information propagation pattern of one.
Having the greatest impact problem is about the classical problem that impact is propagated in social network analysis.Imagine following scene: a company will carry out new product popularization, its Promotion Strategy is: select K name client free trial new product, utilizing this K name client to promote the publicity of product afterwards and affecting to propagate attracts more client to buy new product, thus reaches the object of interests optimum.Having the greatest impact problem can formalized description be: for community network figure G=(V, E, W), wherein V={v 0, v 1..., v n-1node set, V interior joint number is n; E is the directed edge set between node set V interior joint, namely in E, the number of directed edge is m; W is the set of G interior joint weight, characterizes the influence power (initial value is set as 1, namely only can affect node self) of each node.Given network chart G and the node number K initially enlivened in node set, having the greatest impact problem is from node set V, select K best node as initially enlivening node set S, is transmitted by impact, makes the final scope affecting diffusion maximum.Having the greatest impact the very corn of a subject is how the most influential K name member in fixer network, the leader of opinion namely in network, thus makes the number of users that is finally affected maximum by viral marketing.The research of having the greatest impact problem not only has very important realistic meaning to the marketing, also has very important application to aspects such as public sentiment early warning, epidemic situation discoveries simultaneously.Propose having the greatest impact problem in the article Mining the network value ofcustomers that Pedro Domingos and Matt Richardson announces in calendar year 2001 ACM SIGKDD meeting after, this problem receives the concern of more and more researcher.Demonstrate having the greatest impact problem in the article Maximizing tte Spread of Influence through a SocialNetwork that the people such as David Kempe announce ACMSIGKDD meeting in 2003 and be under the jurisdiction of NP-Hard problem, and propose one and climb the mountain greedy algorithm to obtain approximate optimal solution.Although climb the mountain, greedy algorithm can reach the best approximation (e is at the bottom of natural logarithm) of 1-1/e, but because David Kempe adopts Monte Carlo simulation (such as 20000 times) repeatedly to calculate the influence value of each node, therefore need to consume the plenty of time, and cannot be extended in large-scale network.
A lot of researchist is devoted to design the efficiency that new method solves having the greatest impact.The key problem of climbing the mountain in greedy algorithm is to need repeatedly Monte Carlo simulation to calculate the influence value of all nodes.In order to solve this problem, according to the new optimization method CELF of half module characteristics design affecting spread function in the article Cost-effective Outbreak Detection in Networks that the people such as Jure Leskovec announce in ACM SIGKDD2007, the calculated amount of Monte Carlo simulation can be reduced largely, thus decrease computing time.Afterwards, the people such as Wei Chen announce article Efficient Influence Maximization in Social Networks in ACM SIGKDD2009, propose greedy algorithm MixGreedy optimum at present in article.The improvement of this algorithm is to be all node calculate influence values in network when each Monte Carlo simulation, thus reduce further the complexity of algorithm.MixGreedy incorporates CELF algorithm simultaneously, greatly reduces algorithm execution time.But due to having the greatest impact computation complexity very high, even if at present optimum MixGreedy algorithm is still very consuming time when processing large scale community network; From 37154 community network nodes, such as select 50 to have most affect user's just needs more than 2 hours.Therefore, how from large scale community network mass users, quick excavation has affect user and become problem demanding prompt solution most.
On the other hand, the architecture of the Multi-core high bandwidth of Graphics Processing Unit (Graphics Processing Unit, GPU) makes GPU have superpower computation capability, is widely used in general-purpose computations.Many graph-theoretical algorithms, such as breadth-first search, minimum spanning tree etc., can utilize the parallel ability of GPU to accelerate to perform.How to make full use of the computation capability of GPU, excavate the concurrence performance potentiality of having the greatest impact problem, the having the greatest impact parallel acceleration method designed based on GPU architecture is the feasible program solving having the greatest impact problem in large scale community network.
In sum, the efficiency of having the greatest impact problem is the problem of extensive concern in social network analysis, current computing method accurately cannot orient the most powerful user within the rational time, and have very poor extensibility, cannot be applicable to large scale community network.Therefore, research is efficient and the having the greatest impact solution with good extendability is the technical matters that those skilled in the art very pay close attention to.Do not have open source literature to relate in existing having the greatest impact Study on Problems and utilize the computation capability of GPU to reduce the method for working time.
Summary of the invention
The technical problem to be solved in the present invention is: for the having the greatest impact problem in community network, a kind of novel parallel method of the having the greatest impact based on GPU is proposed, in abundant excavation greedy algorithm can parallel section utilize the computation capability of GPU, to reach the object that accelerating algorithm performs, reduces the execution time.
In order to solve the problems of the technologies described above, technical solution of the present invention is: in each Monte Carlo simulation, first the strong continune component in network chart is found, because in same strong continune component, the influence value of each node is identical, therefore all nodes in same strong continune component are merged into a node, its weight is each node weights sum in this strong continune component; Then the strategy of bottom-up traversal is adopted, the influence value of each node of parallel computation.Utilize the computation capability of GPU, calculate core by each GPU and adopt respective thread to calculate influence value to different nodal parallel.By farthest dispatching the parallel computation in the calculating core of GPU of each node, reduce the overall operation time.
Concrete technical scheme is:
The first step: having the greatest impact of initialization node set S is empty.
Second step: set current Monte Carlo simulation times N um=0.
3rd step: the Monte-carlo Simulation Method in the article EfficientInfluence Maximization in Social Networks adopting the people such as Wei Chen to announce at ACM SIGKDD2009 selects limit to figure, obtains figure G '.
4th step: find the strong continune component in figure G '.In digraph, if two node v eand v fbetween both had one from v eto v fdirected walk, have again one from v simultaneously fto v edirected walk, then claim v eand v fstrong continune.If every two nodes all strong continune in digraph, then this figure is a strongly connected graph.Adopt Robert Tarian to equal the Tarjan algorithm proposed in the article Depth-first search and linear graph algorithm of SIAM Journal on Computing magazine announcement in 1972, find strong continune component SCC all in figure G ' based on depth-first search i, i value is the number of the strong continune component in figure G ' from 0 to j-1, j.
5th step: according to each strong continune component SCC of figure G ' i, change figure G ' into directed acyclic graph G *, method is:
5.1: initialization i=0.
5.2: by strong continune component SCC iuse new node v n+ireplace, wherein n is the node number in figure G '.
Concrete grammar is:
5.2.1: for strong continune component SCC i, newly-increased node v n+i.Node v n+ienter limit set be set to SCC iin all nodes enter limit union of sets collection, go out limit set for SCC iin all nodes go out limit union of sets collection, weight is each node weights sum in this strong continune component.
5.2.2: by strong continune component SCC iin all nodes enter limit set and go out limit set put sky, weight zero setting.Method is:
5.2.2.1: initialization integer variable l is 0.
5.2.2.2: for strong continune component SCC iinterior joint v l, by node v lenter limit set and go out limit set be set to empty set weight is set to 0.
5.2.2.3:l=l+1。If l<n i, wherein n istrong continune component SCC inode number, then turn 5.2.2.2.If l>=n i, turn 5.3.
5.3:i=i+1。If i<j, turn 5.2.If i>=j, then illustrate that all strong continune components are replaced by new node all, now scheme G and change in order to directed acyclic graph G *, perform the 6th step.
6th step: from the node that out-degree is 0, bottom-up traversal directed acyclic graph G *in all nodes, utilize GPU to calculate the influence value of all nodes.Concrete grammar is:
6.1: the definition of variable and initialization.Method is:
6.1.1: use boolean array Visited [] to record each node whether accessed mistake, Visited [v p] equal true and represent node v paccessed, Visited [v p] equal fajse and represent node v pnot accessed, wherein 0≤p≤n-1.Array Visited [] is all initialized as false, represents that all nodes are all not accessed;
6.1.2: use integer array Count [] to record the accessed child node number of each node, wherein 0≤Count [v x]≤outdegree [v x], 0≤x≤n-1, outdegree [v x] be node v xout-degree.Array Count [] is all initialized as 0, represents all not accessed;
6.1.3: use integer array Inf [] to record the influence value of each node, wherein 0≤Inf [v x]≤n, 0≤x≤n-1.Array Inf [] is all initialized as 0;
6.1.4: use character string dimension Label [] to record the label of each node, label Label [v x] marked node v xthe position that may overlap with other nodes, its interior joint v aand node v bbe overlapped in node v cand if only if from node v aand v ball there is at least one path and can reach node v c, 0≤a, b, c≤n-1.Array Label [] is all initialized as NULL.
Whether 6.1.5: use Boolean variable Stop record thread to calculate and complete, Stop equals true and to represent in this simulation that all node influence values calculate and complete, and Stop equals false and represents and do not complete.Stop is global variable, and all GPU threads all can revise its content.Initialization Stop is false.
6.2: if stop mark Stop to be false, illustrate that this time simulation influence value calculates and remain unfulfilled, then turn 6.3 use GPU multithreads computings; If Stop is true, then illustrates that the influence value of all nodes in this time simulation has calculated complete all, turn the 7th step.
6.3:GPU adopts the executive mode of single instruction stream multiple data stream, with the influence value of the mode computing node of multi-threaded parallel, the mode of multi-threaded parallel refers to: GPU is each peer distribution thread computes influence value, GPU is once calculated the influence value of y node by y thread parallel, y is the stream handle number (stream handle number is different because GPU model is different) in GPU, after the influence value of the current y of a GPU node has calculated, if also have node influence value not calculate, then GPU calculates the influence value of residue node through GPU thread scheduling in the mode of multi-threaded parallel, until the influence value of all nodes calculates complete, GPU adopts the executive mode of single instruction stream multiple data stream, all stream handles in same stream handle unit share same instruction fetching component, instruction is launched in order, there is no branch prediction, namely different threads performs same instruction, but process different pieces of information, thus reach parallel computation.A thread computes node v of GPU pthe method of influence value is:
6.3.1: stopping mark Stop is set to true.
6.3.2: if Visited is [v p] equal false, perform 6.3.3; Otherwise node v is described paccessed mistake, turns 6.2.
6.3.3: if Count is [v p] equal node v pout-degree, then node v is described pall child nodes all accessed, perform 6.3.4 computing node v pinfluence value; Otherwise node v is described pchild node in still have untreated node, then by stopping mark Stop be set to false, turn 6.2.
6.3.4: computing node v pthe summation sum of all child node influence values, wherein out [v p] be node v pthe set of all child nodes.
6.3.5: computing node v plabel Label (v p).Node v plabel label (v p) equal node v pall child nodes to v pthe union of contribution, namely wherein Con (v q) be child node v qto node v pcontribution.Child node v qto node v pcontribution refer to: if child node v qin-degree be greater than 1, then overlap may betide v q, now v qto node v pcontribution be node v qself, i.e. Con (v q)=v q; If child node v qin-degree be less than or equal to 1, overlap can not betide v q, now v qcontribution be node v qlabel, i.e. Con (v q)=Label (v q).
6.3.6: computing node v pset out [the v of all child nodes p] overlapping influence value Overlap (out [v p]), method is:
6.3.6.1: initialization Overlap (out [v p]) be 0, initialization overlapping range set Range is out [v p].
6.3.6.2: for arbitrary node v a, if there is node v in ∈ Range b∈ Range and v b≠ v a, and from node v athere is path and can reach node v b, now overlap occurs in node v b, therefore Overlap (out [v p])=Overlap (out [v p]+Inf [v b], simultaneously by v bdelete from Range, i.e. Range=Range-v b.
6.3.6.3: use the crowded item in character string dimension Extra [] record Range, be initially Overlap (out [v by Extra [] p])=Overlap (out [v p])+(Overlap (Filter)-Overlap (Extra)).
6.3.7: computing node v pinfluence value Inf [v p], Inf [v p]=sum+weight (v p)-overlap (out [v p]), wherein weight (v p) be node v pweight.Totallnf [v p]=Totallnf [v p]+Inf [v p], wherein TotalInf [v p] be R Monte Carlo simulation node v ptotal influence value.R is total number realization, is generally set as 20000.
6.3.8: if node v pwithout father node, then turn 6.3.9; Otherwise, for node v pany father node v s, it has been accessed child node number Count [v s] add 1, i.e. Count [v s]=Count [v s]+1, and stopping mark Stop is set to false.
6.3.9: by node v pbe labeled as accessed, i.e. Visited [v p]=true, turns 6.2;
7th step: Monte Carlo simulation times N um is added 1.Judge whether Num is less than R, if Num<R, turn the 3rd step, otherwise perform the 8th step.
8th step: to all nodes in set V-S, selects the maximum node v of TotallnF [] to join in S set.
9th step: if the node number of S set | S| < K, turns second step, otherwise selected K node the most influential is described, terminates.
Compared with prior art, the present invention is adopted can to reach following beneficial effect:
1. the strong continune component in the present invention's four-step calculation figure, because the influence value of nodes all in strong continune component is identical, therefore in the 5th step, each strong continune component is replaced with individual node, thus figure is converted into directed acyclic graph, significantly can reduce the calculated amount of influence value.
2. the present invention the 6th step have employed bottom-up traversal method is each node calculate influence value.Influence value due to father node directly depends on the influence value of its all child node, therefore only can travel through the influence value that can obtain all nodes with a full figure by method, reducing assorted degree.
3. the present invention has fully excavated the concurrency of former greedy algorithm and the computation capability of GPU, especially calculates for each peer distribution GPU thread.Utilize the executed in parallel between GPU thread, drastically reduce the area the execution time of program, thus can process more massive community network, be with good expansibility.
Accompanying drawing explanation
Fig. 1 is optimum greedy algorithm MixGreedy process flow diagram;
Fig. 2 is overview flow chart of the present invention.
Embodiment
Fig. 1 is optimum greedy algorithm MixGreedy process flow diagram.
The first step: initialization node set S is empty.
Second step: set current Monte Carlo simulation times N um=0.
3rd step: adopt Monte-carlo Simulation Method to select limit to figure, obtain figure G '.
4th step: for each node carries out breadth-first search, calculate the influence value of each node.
5th step: Monte Carlo simulation times N um is added 1.Judge whether Num is less than R, if Num < is R, then turn the 3rd step, otherwise perform the 6th step.
6th step: select the node v that in set V-S, TotallnF [] influence value is maximum to join in S set.
7th step: if the node number of S set | S| < K, then turn second step, otherwise selected K node the most influential is described, EOP (end of program) exits.
Fig. 2 is overview flow chart of the present invention.
The first step: initialization node set S is empty.
Second step: set current Monte Carlo simulation times N um=0.
3rd step: adopt Monte-carlo Simulation Method to select limit to figure, obtain figure G '.
4th step: find the strong continune component in figure G '.
5th step: change figure G ' into directed acyclic graph G according to each strong continune component *.
6th step: from the node that out-degree is 0, bottom-up traversal directed acyclic graph G *in all nodes, utilize the influence value of all nodes of GPU different threads parallel computation
7th step: Monte Carlo simulation times N um is added 1.Judge whether Num is less than R, if Num < is R, then turn the 3rd step, otherwise perform the 8th step.
8th step: select the node v that in set V-S, TotallnF [] influence value is maximum to join in S set.
9th step: if the node number of S set | S| < K, then turn second step, otherwise selected K node the most influential is described, EOP (end of program) exits.

Claims (3)

1. a having the greatest impact parallel acceleration method for graphic based processing unit, comprises the following steps:
The first step: having the greatest impact of initialization node set S is empty;
Second step: set current Monte Carlo simulation times N um=0;
3rd step: adopt Monte-carlo Simulation Method to select limit to figure, obtain figure G ';
Characterized by further comprising following steps:
4th step: adopt Tarjan algorithm, finds strong continune component SCC all in figure G ' based on depth-first search i, i value is the number of the strong continune component in figure G ' from 0 to j-1, j;
5th step: according to each strong continune component SCC of figure G ' i, change figure G ' into directed acyclic graph G *, method is:
5.1: initialization i=0;
5.2: by strong continune component SCC iuse new node v n+ireplace, wherein n is the node number in figure G ';
5.3:i=i+1, if i < is j, turns 5.2; If i >=j, perform the 6th step;
6th step: from the node that out-degree is 0, bottom-up traversal directed acyclic graph G *in all nodes, utilize GPU different threads to calculate the influence value of all nodes, thread number is that the thread of p is responsible for computing node v pinfluence value, wherein 0≤p≤n-1, concrete grammar is:
6.1: definition and initializing variable, method is:
6.1.1: use boolean array Visited [] to record each node whether accessed mistake, Visited [v p] equal true and represent node v paccessed, Visited [v p] equal false and represent node v pnot accessed, array Visited [] is all initialized as false, represents that all nodes are all not accessed;
6.1.2: use integer array Count [] to record the accessed child node number of each node, wherein 0≤Count [v x]≤outdegree [v x], 0≤x≤n-1, outdegree [v x] be node v xout-degree; Array Count [] is all initialized as 0, represents all not accessed;
6.1.3: use integer array Inf [] to record the influence value of each node, wherein 0≤Inf [v x]≤n, 0≤x≤n-1, is all initialized as 0 by array Inf [];
6.1.4: use character string dimension Label [] to record the label of each node, label Label [v x] marked node v xthe position that may overlap with other nodes, its interior joint v aand node v bbe overlapped in node v cand if only if from node v aand v ball there is at least one path and can reach node v c, 0≤a, b, c≤n-1, is all initialized as NULL by array Label [];
6.1.5: use Boolean variable Stop record thread to calculate and whether complete, Stop equals true and represents that in this simulation, all node influence value calculating completes, Stop equals false and represents and do not complete, Stop is global variable, all GPU threads all can revise its content, and initialization Stop is false;
6.2: if stop mark Stop to be false, turn 6.3; If Stop is true, turn the 7th step;
6.3:GPU adopts the executive mode of single instruction stream multiple data stream, with the influence value of the mode computing node of multi-threaded parallel; The mode of multi-threaded parallel refers to: GPU is each peer distribution thread computes influence value, GPU is once calculated the influence value of y node by y thread parallel, y is the stream handle number in GPU, after the influence value of the current y of a GPU node has calculated, if also have node influence value not calculate, then GPU calculates the influence value of residue node through GPU thread scheduling in the mode of multi-threaded parallel, until the influence value of all nodes calculates complete, and a thread computes node v of GPU pthe method of influence value is:
6.3.1: stopping mark Stop is set to true;
6.3.2: if Visited is [v p] equal false, perform 6.3.3; Otherwise node v is described paccessed mistake, turns 6.2;
6.3.3: if Count is [v p] equal node v pout-degree, then node v is described pall child nodes all accessed, perform 6.3.4 computing node v pinfluence value; Otherwise node v is described pchild node in still have untreated node, then by stopping mark Stop be set to false, turn 6.2;
6.3.4: computing node v pthe summation Sum of all child node influence values, wherein out [v p] be node v pthe set of all child nodes;
6.3.5: computing node v plabel Label (v p), node v plabel label (v p) equal node v pall child nodes to v pthe union of contribution, namely wherein Con (v q) be child node v qto node v pcontribution, child node v qto node v pcontribution refer to: if child node v qin-degree be greater than 1, then v qto node v pcontribution be node v qself, i.e. Con (v q)=v q; If child node v qin-degree be less than or equal to 1, v qcontribution be node v qlabel, i.e. Con (v q)=Label (v q);
6.3.6: computing node v pset out [the v of all child nodes p] overlapping influence value Overlap (out [v p]), method is:
6.3.6.1: initialization Overlap (out [v p]) be 0, initialization overlapping range set Range is out [v p];
6.3.6.2: for arbitrary node v a, if there is node v in ∈ Range b∈ Range and v b≠ v a, and from node v athere is path and can reach node v b, now overlap occurs in node v b, therefore Overlap (out [v p])=Overlap (out [v p])+Inf [v b], simultaneously by v bdelete from Range, i.e. Range=Range-v b;
6.3.6.3: use the crowded item in character string dimension Extra [] record Range, Extra [] is initialized as empty set use in character string dimension Filter [] record Range and remove the remaining single item of crowded item, Filter [] is initialized as empty set for arbitrary node v a∈ range, for arbitrary element u ∈ Label (v a), if element u belongs to Filter, then element u is crowded item, to be added by u in Extra and its influence value Inf [u] is joined Overlap (out [v p]), i.e. Extra=Extra ∪ u, Overlap (out [v p])=Overlap (out [v p])+Inf [u]; If u does not belong to Filter, then u is joined in Filter array, i.e. Filter=Filter ∪ u;
: because the element in Extra [] and Filter [] array still may exist repetition, therefore finish node v 6.3.6.4 pthe eclipse effect value Overlap (out [v of all child nodes p]) need the difference adding both overlapping values, i.e. Overlap (out|v p])=Overlap (out [v p])+(Overlap (Filter)-Overlap (Extra));
6.3.7: computing node v pinfluence value Inf [v p], Inf [v p]=sum+weight (v p)-overlap (out [v p]), wherein weight (v p) be node v pweight; TotalInf [v p]=TotalInf [v p]+Inf [v p], wherein TotalInf [v p[be R Monte Carlo simulation node v ptotal influence value; R is total number realization, and R is positive integer;
6.3.8: if node v pwithout father node, then turn 6.3.9; Otherwise, for node v pany father node v s, it has been accessed child node number Count [v s] add 1, i.e. Count [v s]=Count [v s]+1, and stopping mark Stop is set to false;
6.3.9: by node v pbe labeled as accessed, i.e. Visited [v p]=true, turns 6.2;
7th step: Monte Carlo simulation times N um is added 1, judges whether Num is less than R, if Num < is R, turns the 3rd step, otherwise performs the 8th step;
8th step: to all nodes in set V-S, selects the maximum node v of TotalOnf [] to join in S set;
9th step: if the node number of S set | S| < K, K are the node number initially enlivened in node set, turn second step, otherwise selected K node the most influential is described, terminate.
2. the having the greatest impact parallel acceleration method of a kind of graphic based processing unit as claimed in claim 1, is characterized in that strong continune component SCC in described 5th step iuse new node v n+ithe method replaced is:
5.2.1: for strong continune component SCC i, newly-increased node v n+i, node v n+ienter limit set be set to SCC iin all nodes enter limit union of sets collection, go out limit set for SCC iin all nodes go out limit union of sets collection, weight is each node weights sum in this strong continune component;
5.2.2: by strong continune component SCC iin all nodes enter limit set and go out limit set put sky, weight zero setting, method is:
5.2.2.1: initialization integer variable l is 0;
5.2.2.2: for strong continune component SCC iinterior joint v l, by node v lenter limit set and go out limit set be set to empty set weight is set to 0;
5.2.2.3:l=l+1; If l < is n i, wherein n istrong continune component SCC inode number, then turn 5.2.2.2; If l>=n i, terminate.
3. the having the greatest impact parallel acceleration method of a kind of graphic based processing unit as claimed in claim 1, is characterized in that described total number realization R is 20000.
CN201210248732.3A 2012-07-18 2012-07-18 Influence maximization parallel accelerating method based on graphic processing unit Expired - Fee Related CN102819664B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210248732.3A CN102819664B (en) 2012-07-18 2012-07-18 Influence maximization parallel accelerating method based on graphic processing unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210248732.3A CN102819664B (en) 2012-07-18 2012-07-18 Influence maximization parallel accelerating method based on graphic processing unit

Publications (2)

Publication Number Publication Date
CN102819664A CN102819664A (en) 2012-12-12
CN102819664B true CN102819664B (en) 2015-02-18

Family

ID=47303774

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210248732.3A Expired - Fee Related CN102819664B (en) 2012-07-18 2012-07-18 Influence maximization parallel accelerating method based on graphic processing unit

Country Status (1)

Country Link
CN (1) CN102819664B (en)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103246554A (en) * 2013-04-10 2013-08-14 上海安路信息科技有限公司 Wiring method and wiring system on basis of graphics processing units
US9727942B2 (en) * 2013-10-29 2017-08-08 International Business Machines Corporation Selective utilization of graphics processing unit (GPU) based acceleration in database management
US9443034B2 (en) 2014-05-29 2016-09-13 Microsoft Technology Licensing, Llc Estimating influence using sketches
CN106681960A (en) * 2017-01-04 2017-05-17 中山大学 Acceleration method for solution of linear equation set with Monte Carlo method based on shared memory
CN106681927A (en) * 2017-01-09 2017-05-17 郑州云海信息技术有限公司 Method and device for generating test case
CN107958032B (en) * 2017-11-20 2020-11-13 北京工商大学 Effective dynamic network node influence measuring method
CN108596824A (en) * 2018-03-21 2018-09-28 华中科技大学 A kind of method and system optimizing rich metadata management based on GPU
CN110099003B (en) * 2018-06-11 2020-07-14 电子科技大学 Parallel routing optimization method under elastic optical network
CN111832714B (en) * 2019-04-19 2023-11-17 上海寒武纪信息科技有限公司 Operation method and device
CN110288507B (en) * 2019-05-06 2021-03-09 中国科学院信息工程研究所 GPU-based multi-partition strong connection graph detection method
CN110992442B (en) * 2019-12-18 2024-04-05 南京富士通南大软件技术有限公司 Urban traffic map planarization method based on greedy
CN112070223A (en) * 2020-08-17 2020-12-11 电子科技大学 Model parallel method based on Tensorflow framework
CN112651197A (en) * 2021-01-28 2021-04-13 国微集团(深圳)有限公司 Circuit division preprocessing method and gate-level circuit parallel simulation method
CN115374914B (en) * 2022-10-24 2023-04-07 北京白海科技有限公司 Distributed training method, parallel deep learning framework and electronic equipment

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101887573A (en) * 2010-06-11 2010-11-17 北京邮电大学 Social network clustering correlation analysis method and system based on core point
US20110264870A1 (en) * 2010-04-23 2011-10-27 Tatu Ylonen Oy Ltd Using region status array to determine write barrier actions

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110264870A1 (en) * 2010-04-23 2011-10-27 Tatu Ylonen Oy Ltd Using region status array to determine write barrier actions
CN101887573A (en) * 2010-06-11 2010-11-17 北京邮电大学 Social network clustering correlation analysis method and system based on core point

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Alhadi Bustamam等.A GPU implementation of Fast Parallel Markov Clustering in Bioinformatics using ELLPACK-R Sparse Data Format.《2010 Second International Conference on Advances in Computing,Control, and Telecommunication Technologies》.2010,第2010(年)卷第175-177页. *
Efficient influence maximization in social networks;Wei Chen等;《KDD"09 Proceedings of the 15th ACM SIGKDD international conference on Knowledge discovery and data mining》;20091231;第2009(年)卷;第199-208页 *
基于GPU的并行最小生成树算法的设计与实现;郭绍忠等;《计算机应用研究》;20110531;第28卷(第5期);第1682-1702页 *

Also Published As

Publication number Publication date
CN102819664A (en) 2012-12-12

Similar Documents

Publication Publication Date Title
CN102819664B (en) Influence maximization parallel accelerating method based on graphic processing unit
Jiang et al. Simulated annealing based influence maximization in social networks
Narayanam et al. A shapley value-based approach to discover influential nodes in social networks
Zhang et al. Exact solution for mean first-passage time on a pseudofractal scale-free web
Karrer et al. Random graph models for directed acyclic networks
CN108694469A (en) A kind of Relationship Prediction method of knowledge based collection of illustrative plates
CN104008163A (en) Trust based social network maximum influence node calculation method
CN103020267B (en) Based on the complex network community structure method for digging of triangular cluster multi-label
WO2016090877A1 (en) Generalized maximum-degree random walk graph sampling algorithm
CN105976048A (en) Power transmission network extension planning method based on improved artificial bee colony algorithm
CN105718716A (en) Physarum polycephalum-based ant colony pheromone updating method
Wang et al. A Bio‐Inspired Method for the Constrained Shortest Path Problem
Zhang et al. Convergence rate of the asymmetric deffuant-weisbuch dynamics
CN104484365B (en) In a kind of multi-source heterogeneous online community network between network principal social relationships Forecasting Methodology and system
CN106355091B (en) Propagating source localization method based on biological intelligence
CN109783696A (en) A kind of multi-mode index of the picture construction method and system towards weak structure correlation
Chen et al. A novel method of heterogeneous combat network disintegration based on deep reinforcement learning
CN104899283A (en) Frequent sub-graph mining and optimizing method for single uncertain graph
Liu et al. Social network node influence maximization method combined with degree discount and local node optimization
CN101695079A (en) Automatic service combination method capable of guaranteeing correction and system thereof
CN105488601A (en) Multi-target optimization method for solving complete Pareto frontier
Liu et al. Weight-dependent walks and average shortest weighted path on the weighted iterated friendship graphs
CN109948001B (en) Minimum community discovery method for sub-linear time distributed computing girth
Àlvarez et al. On the constant price of anarchy conjecture
Wang et al. On searching multiple disjoint shortest paths in scale-free networks with hyperbolic geometry

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150218

Termination date: 20210718

CF01 Termination of patent right due to non-payment of annual fee