A kind of method that initial user is chosen in product distribution on line
Technical field
The invention belongs to complex network field, in particular to the method for product distribution selection initial user on a kind of line.
Background technique
The target of maximizing influence is to select one group of user in an online social networks.With biggest impact
Subset, i.e., in information propagation, the anticipated number by the affected user of subset is maximized.Influence power is maximum
The well-known application changed is viral marketing, and a company may want to through the social activity link between user, will be new
The use of product blazes abroad from some adopters initially selected.Since maximizing influence is that a NP-hard is asked
Topic, existing work concentrates in approximate solution, and the emphasis of these maximizing influence algorithm researches is greedy
Frame.We look back greedy frame and propose a classification method, existing to be based on emulation mode, based on agency and sketch side
Different desired targets are realized in method, the algorithm design based on them.
Greedy algorithm is all put into seed set using currently most influential node as both candidate nodes in each step
In, it is then constantly iterated until all seed nodes are selected.However the local optimum strategy of this algorithm can not
Guarantee the global optimum of final result, and the efficiency of algorithm is relatively low, time complexity is higher, is not suitable for large-scale
Real network.On this basis, Tsai et al. improves greedy algorithm, proposes GNG algorithm (Genetic
NewGreedy, GNG).Experiment shows to propose the performance of greedy algorithm after the algorithm combines some characteristics of genetic algorithm
It is high by 10% or so.Cheng et al. mentions to solve the accuracy rate of maximizing influence algorithm and the double-barreled question of scalability
Heuristic SG algorithm (StaticGreedy, SG) is gone out.The submodule characteristic of maximizing influence objective function is utilized in the algorithm
For selecting current most influential node, the time it takes is chosen to reduce both candidate nodes with this.Gong et al. is mentioned
Maximizing influence PTMA algorithm (the Probability Transfer Matrix based on probability transfer matrix is gone out
Algorithm, PTMA), which obtains the influence probability between a certain moment node by the method for matrix product, and nothing
The marginal benefit of all inactive nodes need to be calculated at each moment to improve efficiency when algorithm operation.Cao et al. is proposed
Heuritic approach based on nucleus number level characteristics and the radius of influence-kernel covering algorithm CCA (Core Covering
Algorithm, CCA).The algorithm is firstly introduced into K- core concept, the nucleus number of each node is found out based on K- nuclear decomposition, then root
According to the hierarchy that nucleus number is distributed, the radius of influence parameter of node is introduced, two attributes of nucleus number and degree is finally integrated, finds out shadow
Ring power node set.Chen Hao et al. proposes the concept of a potential impact number of nodes PIN based on threshold value, by considering node
The preliminary examination activation threshold of itself, node it is activated enter side neighbours to its influence power and node to the shadow of its neighbor node
Ring power.It selects PIN maximum in the first stage as seed node, seed node is selected by greedy algorithm in second stage,
The algorithm complexity is small, and the range of influence power is big.The algorithm design of such maximizing influence is all based on model-driven,
On the basis of given influence power propagation model, the selection of seed node is carried out using didactic method.
Traditional selection product distribution initial user is by artificial selection, and the method for artificial selection is due to consuming people
Power resource, and there are certain one-sidedness, can not be selected according to the feature of product and object, cause to select initially to use
The effect at family is not considerable.
Summary of the invention
Goal of the invention: in view of the above-mentioned problems, the present invention provides a kind of saving time and human cost, and when reducing
Between complexity line on product distribution choose initial user method.
Technical solution: the present invention proposes a kind of method that initial user is chosen in product distribution on line, includes the following steps:
Step 1: the data set of product on line being handled, true topology diagram G (V, E) is obtained;Wherein, V table
Show the node set in G, E indicates the set on the side in G, inputs P, and P is that the node v that is activated swashs in independent cascade model
The probability of its unactivated out-degree neighbor node living, inputs S, and S is the number of selected seed node, method particularly includes:
Step 1.1: true topology diagram G (V, E) is obtained from ring present in the data set of product on strikethrough,
G is adjacency matrix;
Step 1.2: the gesture of node is exactly how many node in G, while gesture be exactly in G how many while, acquire node
Gesture m and side gesture n;
Step 1.3: independent cascade is a kind of probabilistic model, when a node v is activated, it can with probability P to it not
The side neighbor node w out of activation attempts activation, and this trial only carries out once, and is mutually indepedent between these trials
, i.e. v not will receive the influence of other nodes to the activation of w.Probability P is tested to be defined at the beginning, therefore according to social activity
User neighbours choose in maximizing influence start node in network, P=1/degree.Degree is the degree of node, is calculated adjacent
The sum for connecing every a line of matrix G is denoted as matrix D egree, is the corresponding degree of node.
Step 2: calculating the t rank neighbours of each node, the t rank neighbours of each node acquired are placed on a big collection
In SubList, t=1,2,3,4,5,6,7,8,9,10, method particularly includes:
Step 2.1: the row/column of the adjacency matrix G in step 1.1 being numbered, the first row/column is 1, the second row/column
The successively label that is 2 ...;
Step 2.2: asking 1 rank neighbours of node i, the empty matrix D, m for setting m row m column are acquired in step 1.2
The gesture of node.0 that the i-th row i-th of matrix D is arranged is changed to 1, calculating matrix D*G, and what is acquired is the son of 1 rank neighbours of node i
Figure, is defined as J1;
Step 2.3: asking 2 rank neighbours of node i, take the i-th row of adjacency matrix G, be set as matrix A, i-th of matrix A
Number is changed to 1, generates a matrix B, diagonal line is matrix A, remaining is all 0;Calculating matrix B*G, what is acquired is 2 ranks of node i
The subgraph of neighbours, is defined as J2;
Step 2.4: asking 3 rank neighbours of node i, first calculating G+G*G, be denoted as matrix F 1, not being 0 in matrix F 1
Number is all set to 1, and the number on diagonal line is all set to 0;The i-th row for taking matrix F 1, is set as Matrix C 1, the i-th of Matrix C 1
Number is changed to 1, generates a matrix E1, and diagonal line is Matrix C 1, and remainder is all 0;Calculating matrix E1*G, what is acquired is section
The subgraph of the 3 rank neighbours of point i, is defined as J3;
Step 2.5: asking 4 rank neighbours of node i, first calculating G+G2+G3, it is set as matrix F 2, not being 0 in matrix F 2
Number be all set to 1, and the number on diagonal line is all set to 0;The i-th row for taking matrix F 2, is set as Matrix C 2, Matrix C 2
I-th of number is changed to 1, generates a matrix E2, and diagonal line is Matrix C 2, and remainder is all 0;Calculating matrix E2*G, what is acquired is
The subgraph of 4 rank neighbours of node i, is defined as J4;
Step 2.6: asking 5 rank neighbours of node i, first calculating G+G2+G3+G4, be set as matrix F 3, in matrix F 3 not
It is that 0 number is all set to 1, and the number on diagonal line is all set to 0;The i-th row for taking matrix F 3, is set as Matrix C 3, Matrix C 3
I-th of number be changed to 1, generate a matrix E3, diagonal line is Matrix C 3, and remainder is all 0;Calculating matrix E3*G, is acquired
It is the subgraph of 5 rank neighbours of node i, is defined as J5;
Step 2.7: asking 6 rank neighbours of node i, first calculating G+G2+G3+G4+G5, it is set as matrix F 4, matrix F 4
In be not that 0 number is all set to 1, and the number on diagonal line is all set to 0;The i-th row for taking matrix F 4, is set as Matrix C 4, square
I-th of number of battle array C4 is changed to 1, generates a matrix E4, diagonal line is Matrix C 4, and remainder is all 0;Calculating matrix E4*G, is asked
What is obtained is the subgraph of 6 rank neighbours of node i, is defined as J6;
Step 2.8: asking 7 rank neighbours of node i, first calculating G+G2+G3+G4+G5+G6, it is set as matrix F 5, matrix
It is not that 0 number is all set to 1, and the number on diagonal line is all set to 0 in F5;The i-th row for taking matrix F 5, is set as Matrix C 5,
I-th of number of Matrix C 5 is changed to 1, generates a matrix E5, and diagonal line is Matrix C 5, and remainder is all 0;Calculating matrix E5*G,
What is acquired is the subgraph of 7 rank neighbours of node i, is defined as J7;
Step 2.9: asking 8 rank neighbours of node i, first calculating G+G2+G3+G4+G5+G6+G7, it is set as matrix F 6, square
It is not that 0 number is all set to 1, and the number on diagonal line is all set to 0 in battle array F6;The i-th row for taking matrix F 6, is set as Matrix C 6,
I-th of number of Matrix C 6 is changed to 1, generates a matrix E6, diagonal line is Matrix C 6, and remainder is all 0;Calculating matrix E6*
G, what is acquired is the subgraph of 8 rank neighbours of node i, is defined as J8;
Step 2.10: asking 9 rank neighbours of node i, first calculating G+G2+G3+G4+G5+G6+G7+G8, it is set as matrix F 7,
The number in matrix F 7 not being 0 is all set to 1, and the number on diagonal line is all set to 0;The i-th row for taking matrix F 7, is set as square
I-th of number of Matrix C 7, is changed to 1, generates a matrix E7, diagonal line is Matrix C 7, and remainder is all 0 by battle array C7;It calculates
Matrix E7*G, what is acquired is the subgraph of 9 rank neighbours of node i, is defined as J9;
Step 2.11: asking 10 rank neighbours of node i, first calculating G+G2+G3+G4+G5+G6+G7+G8+G9It is set as matrix
The number in matrix F 8 not being 0 is all set to 1, and the number on diagonal line is all set to 0 by F8;The i-th row for taking matrix F 8, is set as
I-th of number of Matrix C 8 is changed to 1, generates a matrix E8 by Matrix C 8, and diagonal line is Matrix C 8, and remainder is all 0;Meter
Matrix E8*G is calculated, what is acquired is the subgraph of 10 rank neighbours of node i, is defined as J10.
Step 2.12: the subgraph of the 1 rank node of all node i ∈ V is all in J1In, the 2 rank nodes of all node i ∈ V
Subgraph is all in J2In, the subgraph of the 3 rank nodes of all node i ∈ V is all in J3In, the subgraph of the 4 rank nodes of all node i ∈ V
All in J4In, the subgraph of the 5 rank nodes of all node i ∈ V is all in J5In, the subgraph of the 6 rank nodes of all node i ∈ V all exists
J6In, the subgraph of the 7 rank nodes of all node i ∈ V is all in J7In, the subgraph of the 8 rank nodes of all node i ∈ V is all in J8In,
The subgraph of the 9 rank nodes of all node i ∈ V is all in J9In, the subgraph of the 10 rank nodes of all node i ∈ V is all in J10In,
J1、J2、J3、 J4、J5、J6、J7、J8、J9、J10It is placed in matrix SubList.
Step 3: each node is treated as initial user, it is a network that the t rank neighbours of each node, which are treated as,
It allows each node to carry out R independent cascade model to his t rank neighbours to propagate, R is the positive integer of oneself definition, is calculated each
Average influence of the node to his t rank neighbours, t=1,2,3,4,5,6,7,8,9,10, method particularly includes:
Step 3.1: defining a positive integer R, empty matrix In;
Step 3.2: the sum of every a line of calculating matrix G is placed in matrix degree, and what is stored in matrix degree is
The degree of each node;Define cyclic variable m, m ∈ [1, R];
Step 3.3: if m≤R, jumping to step 3.4, not so jump to step 3.10;
Step 3.4: node i being treated as live-vertex, its neighbor node v is had an impact, the probability for activating v is
P, and chance is once;P=1/degree, degree are the degree of the node i acquired in step 302;V belongs to the t of node i
Rank neighbours, t=1,2,3,4,5,6,7,8,9,10;
Step 3.5: the success if node v is activated, node v switch to active state, and inactive section will be abutted to it
Point has an impact;Otherwise, node v does not change;
Step 3.6: repeating step 3.3 and 3.4, until being unable to the new node of reactivation, communication process terminates;
Step 3.7: the number for the node that each node activates in t rank neighbours is exactly its influence power;
Step 3.8: influence power of each node in its 1 rank neighbours is there are in matrix In1, in its 2 rank neighbours
Influence power there are in matrix In2, influence power in its 3 rank neighbours is there are in matrix In3, in its 4 rank neighbours
Influence power is there are in matrix In4, and there are the shadows in matrix In5, in its 6 rank neighbours for the influence power in its 5 rank neighbours
Power is rung there are in matrix In6, and there are the influences in matrix In7, in its 8 rank neighbours for the influence power in its 7 rank neighbours
Power is there are in matrix In8, and there are the influences in matrix In9, in its 10 rank neighbours for the influence power in its 9 rank neighbours
There are in matrix In10 for power;
Step 3.9:m=m+1;
Step 3.10: the influence power that R times is acquired being added up, then divided by R, asks each node in its t rank neighbour
Average influence, be placed in matrix In.
Step 4: node t rank neighbours being ranked up from big to small according to influence power, choose in every rank neighbours influence power most
50 big nodes find that the t' rank neighbours influence power of node is maximum by comparing, t=1,2,3,4,5,6,7,8,9,10,
And t' ∈ t, method particularly includes:
Step 4.1: to matrix In1, In2, In3, In4, In5, In6, In7, In8, In9, the value inside In10 carry out from
Small sequence is arrived greatly;
Step 4.2: choosing matrix In1, In2, In3, In4, In5, In6, In7, In8, In9, preceding 50 numbers in In10
Value, is placed on matrix Z1, Z2, Z3 in order, Z4, Z5, Z6, Z7, Z8, Z9, in Z10;
Step 4.3: it draws, it is 10 numbers that horizontal axis, which is 1 to 10, and the longitudinal axis is matrix Z1, Z2, Z3, Z4, Z5, Z6, Z7, Z8,
Number in Z9, Z10 finds that in t=t', the number on the longitudinal axis is maximum, that is, t' neighbours' influence power of node is maximum;
Step 5: K independent cascade model is carried out to node all in the rank neighbours of node in the entire network and is propagated,
T' is the value that step 5 is asked, and K is the positive integer of oneself definition, chooses maximum S node in the t' rank neighbours of node
As initial user, method particularly includes:
Step 5.1: a positive integer M is defined, from taking out matrix SubList in step 2.12, and from matrix SubList
Middle taking-up matrix Jt', t' ∈ [1,10];
Step 5.2: defining cyclic variable n, n ∈ [1, M], calculating matrix Jt'The sum of every a line is denoted as matrix D e, matrix
What is stored in De is the degree of node t' rank neighbours;
Step 5.3: if n≤M, jumping to step 5.4, not so jump to step 5.9;
Step 5.4: matrix Jt'In node treat as live-vertex, its neighbor node w is had an impact, w is activated
Probability be p, and chance is only once;P=1/degree, degree are the numbers in the matrix D e acquired in step 5.2;
Step 5.5: the success if node w is activated, node w switch to active state, and inactive section will be abutted to it
Point has an impact;Otherwise, node w does not change;
Step 5.6: repeating step 5.4 and 5.5, until being unable to the new node of reactivation, communication process terminates;
Step 5.7: the number for the node that each node activates in the data set of product on line is exactly its influence power,
It is denoted as matrix IN;
Step 5.8:n=n+1;
Step 5.9: the influence power that M times is acquired being added up, then divided by M, seeks each node in the entire network
Average influence is all placed in matrix L IN;
Step 5.10: the value in matrix L IN being ranked up, selected value maximum S, corresponding node is just
Beginning user.
The present invention by adopting the above technical scheme, has the advantages that the present invention is mentioned for maximizing influence problem
The method of t rank neighbours' fast selecting seed node based on node out, by the t rank neighbours of calculate node, (t=1,2 ... n)
Influence power of the calculate node in its neighbours' subgraph selects so that influence power is higher, effect is preferable by comparing.It determines
Afterwards, select entire effect power maximum as seed node in the rank neighbours of node.This method can greatly reduce calculating
Expense and storage overhead reduce time complexity so that the time of selection seed node is greatly lowered.
Detailed description of the invention
Fig. 1 is overview flow chart of the invention
Fig. 2 is the specific flow chart that Product Data Set on line is handled in Fig. 1;
Fig. 3 is the specific flow chart of calculate node t rank neighbours in Fig. 1;
Fig. 4 is the specific flow chart of calculate node average influence in Fig. 1;
Fig. 5 is the specific flow chart that optimal node t ' rank neighbours are chosen in Fig. 1;
Fig. 6 is the specific flow chart that product distribution initial user on the maximum line of influence power is selected in Fig. 1;
Specific embodiment
Combined with specific embodiments below, the present invention is furture elucidated, it should be understood that these embodiments are merely to illustrate the present invention
Rather than limit the scope of the invention, after the present invention has been read, those skilled in the art are to various equivalences of the invention
The modification of form falls within the application range as defined in the appended claims.
As described in Fig. 1-6, the method that initial user is chosen in product distribution on a kind of line of the present invention, specific steps
It is as follows:
Step 1: the data set of product on line being handled, true topology diagram G (V, E) is obtained;Wherein, V table
Show the node set in G, E indicates the set on the side in G, inputs P, and P is that the node v that is activated swashs in independent cascade model
The probability of its unactivated out-degree neighbor node living, inputs S, and S is the number of selected seed node, specific as shown in Figure 2:
Step 1.1: true topology diagram G (V, E) is obtained from ring present in the data set of product on strikethrough,
G is adjacency matrix;
Step 1.2: the gesture of node is exactly how many node in G, while gesture be exactly in G how many while, acquire node
Gesture m;
Step 1.3: independent cascade is a kind of probabilistic model, when a node v is activated, it can with probability P to it not
The side neighbor node w out of activation attempts activation, and this trial only carries out once, and is mutually indepedent between these trials
, i.e. v not will receive the influence of other nodes to the activation of w.Probability P is tested to be defined at the beginning, therefore according to social activity
User neighbours choose in maximizing influence start node in network ,=1/degree.Degree is the degree of node, is calculated adjacent
The sum for connecing every a line of matrix G is denoted as matrix D egree, is the corresponding degree of node.
Step 2: calculating the t rank neighbours of each node, the t rank neighbours of each node acquired are placed on a big collection
In SubList, t=1,2,3,4,5,6,7,8,9,10, specific as shown in Figure 3:
Step 2.1: the row/column of the adjacency matrix G in step 1.1 being numbered, the first row/column is 1, the second row/column
The successively label that is 2 ...;
Step 2.2: asking 1 rank neighbours of node i, the empty matrix D, m for setting m row m column are acquired in step 1.2
The gesture of node.0 that the i-th row i-th of matrix D is arranged is changed to 1, calculating matrix D*G, and what is acquired is the son of 1 rank neighbours of node i
Figure, is defined as J1;
Step 2.3: asking 2 rank neighbours of node i, take the i-th row of adjacency matrix G, be set as matrix A, i-th of matrix A
Number is changed to 1, generates a matrix B, diagonal line is matrix A, remaining is all 0;Calculating matrix B*G, what is acquired is 2 ranks of node i
The subgraph of neighbours, is defined as J2;
Step 2.4: asking 3 rank neighbours of node i, first calculating G+G*G, be denoted as matrix F 1, not being 0 in matrix F 1
Number is all set to 1, and the number on diagonal line is all set to 0;The i-th row for taking matrix F 1, is set as Matrix C 1, the i-th of Matrix C 1
Number is changed to 1, generates a matrix E1, and diagonal line is Matrix C 1, and remainder is all 0;Calculating matrix E1*G, what is acquired is section
The subgraph of the 3 rank neighbours of point i, is defined as J3;
Step 2.5: asking 4 rank neighbours of node i, first calculating G+G2+G3, it is set as matrix F 2, not being 0 in matrix F 2
Number be all set to 1, and the number on diagonal line is all set to 0;The i-th row for taking matrix F 2, is set as Matrix C 2, Matrix C 2
I-th of number is changed to 1, generates a matrix E2, and diagonal line is Matrix C 2, and remainder is all 0;Calculating matrix E2*G, what is acquired is
The subgraph of 4 rank neighbours of node i, is defined as J4;
Step 2.6: asking 5 rank neighbours of node i, first calculating G+G2+G3+G4, be set as matrix F 3, in matrix F 3 not
It is that 0 number is all set to 1, and the number on diagonal line is all set to 0;The i-th row for taking matrix F 3, is set as Matrix C 3, Matrix C 3
I-th of number be changed to 1, generate a matrix E3, diagonal line is Matrix C 3, and remainder is all 0;Calculating matrix E3*G, is acquired
It is the subgraph of 5 rank neighbours of node i, is defined as J5;
Step 2.7: asking 6 rank neighbours of node i, first calculating G+G2+G3+G4+G5, it is set as matrix F 4, matrix F 4
In be not that 0 number is all set to 1, and the number on diagonal line is all set to 0;The i-th row for taking matrix F 4, is set as Matrix C 4, square
I-th of number of battle array C4 is changed to 1, generates a matrix E4, diagonal line is Matrix C 4, and remainder is all 0;Calculating matrix E4*G, is asked
What is obtained is the subgraph of 6 rank neighbours of node i, is defined as J6;
Step 2.8: asking 7 rank neighbours of node i, first calculating G+G2+G3+G4+G5+G6, it is set as matrix F 5, matrix
It is not that 0 number is all set to 1, and the number on diagonal line is all set to 0 in F5;The i-th row for taking matrix F 5, is set as Matrix C 5,
I-th of number of Matrix C 5 is changed to 1, generates a matrix E5, and diagonal line is Matrix C 5, and remainder is all 0;Calculating matrix E5*G,
What is acquired is the subgraph of 7 rank neighbours of node i, is defined as J7;
Step 2.9: asking 8 rank neighbours of node i, first calculating G+G2+G3+G4+G5+G6+G7, it is set as matrix F 6, square
It is not that 0 number is all set to 1, and the number on diagonal line is all set to 0 in battle array F6;The i-th row for taking matrix F 6, is set as Matrix C 6,
I-th of number of Matrix C 6 is changed to 1, generates a matrix E6, diagonal line is Matrix C 6, and remainder is all 0;Calculating matrix E6*
G, what is acquired is the subgraph of 8 rank neighbours of node i, is defined as J8;
Step 2.10: asking 9 rank neighbours of node i, first calculating G+G2+G3+G4+G5+G6+G7+G8, it is set as matrix F 7,
The number in matrix F 7 not being 0 is all set to 1, and the number on diagonal line is all set to 0;The i-th row for taking matrix F 7, is set as square
I-th of number of Matrix C 7, is changed to 1, generates a matrix E7, diagonal line is Matrix C 7, and remainder is all 0 by battle array C7;It calculates
Matrix E7*G, what is acquired is the subgraph of 9 rank neighbours of node i, is defined as J9;
Step 2.11: asking 10 rank neighbours of node i, first calculating G+G2+G3+G4+G5+G6+G7+G8+G9It is set as matrix
The number in matrix F 8 not being 0 is all set to 1, and the number on diagonal line is all set to 0 by F8;The i-th row for taking matrix F 8, is set as
I-th of number of Matrix C 8 is changed to 1, generates a matrix E8 by Matrix C 8, and diagonal line is Matrix C 8, and remainder is all 0;Meter
Matrix E8*G is calculated, what is acquired is the subgraph of 10 rank neighbours of node i, is defined as J10;
Step 2.12: the subgraph of the 1 rank node of all node i ∈ V is all in J1In, the 2 rank nodes of all node i ∈ V
Subgraph is all in J2In, the subgraph of the 3 rank nodes of all node i ∈ V is all in J3In, the subgraph of the 4 rank nodes of all node i ∈ V
All in J4In, the subgraph of the 5 rank nodes of all node i ∈ V is all in J5In, the subgraph of the 6 rank nodes of all node i ∈ V all exists
J6In, the subgraph of the 7 rank nodes of all node i ∈ V is all in J7In, the subgraph of the 8 rank nodes of all node i ∈ V is all in J8In,
The subgraph of the 9 rank nodes of all node i ∈ V is all in J9In, the subgraph of the 10 rank nodes of all node i ∈ V is all in J10In,
J1、J2、J3、 J4、J5、J6、J7、J8、J9、J10It is placed in matrix SubList.
Step 3: each node is treated as initial user, it is a network that the t rank neighbours of each node, which are treated as,
It allows each node to carry out R independent cascade model to his t rank neighbours to propagate, R is the positive integer of oneself definition, is calculated each
Average influence of the node to his t rank neighbours, t=1,2,3,4,5,6,7,8,9,10, specific as shown in Figure 4:
Step 3.1: defining a positive integer R, empty matrix In;
Step 3.2: the sum of every a line of calculating matrix G is placed in matrix degree, and what is stored in matrix degree is
The degree of each node;Define cyclic variable m, m ∈ [1, R];
Step 3.3: if m≤R, jumping to step 3.4, not so jump to step 3.10;
Step 3.4: node i being treated as live-vertex, its neighbor node v is had an impact, the probability for activating v is
P, and chance is once;P=1/degree, degree are the degree of the node i acquired in step 302;V belongs to the t of node i
Rank neighbours, t=1,2,3,4,5,6,7,8,9,10;
Step 3.5: the success if node v is activated, node v switch to active state, and inactive section will be abutted to it
Point has an impact;Otherwise, node v does not change;
Step 3.6: repeating step 3.3 and 3.4, until being unable to the new node of reactivation, communication process terminates;
Step 3.7: the number for the node that each node activates in t rank neighbours is exactly its influence power;
Step 3.8: influence power of each node in its 1 rank neighbours is there are in matrix In1, in its 2 rank neighbours
Influence power there are in matrix In2, influence power in its 3 rank neighbours is there are in matrix In3, in its 4 rank neighbours
Influence power is there are in matrix In4, and there are the shadows in matrix In5, in its 6 rank neighbours for the influence power in its 5 rank neighbours
Power is rung there are in matrix In6, and there are the influences in matrix In7, in its 8 rank neighbours for the influence power in its 7 rank neighbours
Power is there are in matrix In8, and there are the influences in matrix In9, in its 10 rank neighbours for the influence power in its 9 rank neighbours
There are in matrix In10 for power;
Step 3.9:m=m+1;
Step 3.10: the influence power that R times is acquired being added up, then divided by R, asks each node in its t rank neighbour
Average influence, be placed in matrix In.
Step 4: node t rank neighbours being ranked up from big to small according to influence power, choose in every rank neighbours influence power most
50 big nodes find that the t' rank neighbours influence power of node is maximum by comparing, t=1,2,3,4,5,6,7,8,9,10,
And t' ∈ t, it is specific as shown in Figure 5:
Step 4.1: to matrix In1, In2, In3, In4, In5, In6, In7, In8, In9, the value inside In10 carry out from
Small sequence is arrived greatly;
Step 4.2: choosing matrix In1, In2, In3, In4, In5, In6, In7, In8, In9, preceding 50 numbers in In10
Value, is placed on matrix Z1, Z2, Z3 in order, Z4, Z5, Z6, Z7, Z8, Z9, in Z10;
Step 4.3: it draws, it is 10 numbers that horizontal axis, which is 1 to 10, and the longitudinal axis is matrix Z1, Z2, Z3, Z4, Z5, Z6, Z7, Z8,
Number in Z9, Z10 finds that in t=t', the number on the longitudinal axis is maximum, that is, t' neighbours' influence power of node is maximum.
Step 5: K independent cascade model is carried out to node all in the rank neighbours of node in the entire network and is propagated,
T' is the value that step 5 is asked, and K is the positive integer of oneself definition, chooses maximum S node in the t' rank neighbours of node
It is specific as shown in Figure 6 as initial user:
Step 5.1: a positive integer M is defined, from taking out matrix SubList in step 2.12, and from matrix SubList
Middle taking-up matrix Jt', t' ∈ [1,10];
Step 5.2: defining cyclic variable n, n ∈ [1, M], calculating matrix Jt'The sum of every a line is denoted as matrix D e, matrix
What is stored in De is the degree of node t' rank neighbours;
Step 5.3: if n≤M, jumping to step 5.4, not so jump to step 5.9;
Step 5.4: matrix Jt'In node treat as live-vertex, its neighbor node w is had an impact, w is activated
Probability be p, and chance is only once;P=1/degree, degree are the numbers in the matrix D e acquired in step 5.2;
Step 5.5: the success if node w is activated, node w switch to active state, and inactive section will be abutted to it
Point has an impact;Otherwise, node w does not change;
Step 5.6: repeating step 5.4 and 5.5, until being unable to the new node of reactivation, communication process terminates;
Step 5.7: the number for the node that each node activates in the data set of product on line is exactly its influence power,
It is denoted as matrix IN;
Step 5.8:n=n+1;
Step 5.9: the influence power that M times is acquired being added up, then divided by M, seeks each node in the entire network
Average influence is all placed in matrix L IN;
Step 5.10: the value in matrix L IN being ranked up, selected value maximum S, corresponding node is just
Beginning user.
By on 10 lines in Product Data Set calculate node t rank neighbours, then ask node in t rank neighbours
Influence power assigns 1,2,3,4,5,6,7,8,9,10 as horizontal axis, indicates the rank neighbours from 1 to 10 of node;Every single order neighbours are corresponding
Influence power as the longitudinal axis, carry out picture comparison.It can be found that each data set has an optimal value, it is most optimal
Value is 3.Therefore 3 rank neighbours of node are calculated the influence power of each node, chooses maximum S as seed node
It is a to be used as initial user.The time complexity and computing cost of algorithm are reduced, effect is also fine.