程序代写代做代考 Java EZW

EZW

*
*

Java程序设计作业
—影响力最大化问题

*
*

在线社会网络

*
*

什么是信息扩散?
社会媒体的用户处在各种在线社会网络(Facebook的好友网络、微博的关注网络等)中,当接触到其周围用户发布或者传播的信息时,会受到网络中与其邻近的人的影响,或者受到信息本身的影响而继续传播某些信息,导致信息在网络上逐渐扩散,影响越来越多的人。

*
*

影响力最大化问题定义
给定一个社会网络、一个扩散模型和一个数值k,任务就是如何在社会网络上获取一个规模为k的节点集合,使得这个节点集合可以达到影响力最大化的效果。 主要应用于病毒式市场营销、谣言控制等实际场景。
单独选择具有较大影响力的节点无法达到最佳效果。
两个关键问题
信息扩散模型
种子节点选择策略

*
*

信息扩散模型
初始的激活状态节点集合A。
在时刻t ,新近被激活的节点u对它的邻接节点v产生影响,成功的概率为Pu,v。若v有多个邻居节点都是新近被激活的节点,那么这些节点将以任意顺序尝试激活节点v。如果其中一个成功,其他节点将不再尝试。
如果节点v被激活成功,那么在t+1时刻,节点v转为激活状态,将尝试激活其非激活状态的邻居节点;否则,节点v在t+1时刻状态不发生变化。
该过程不断进行重复,直到网络中不存在有新近激活状态节点时,传播过程结束。

*
*

信息扩散模型

影响力:被激活节点的数量。

*
*

节点选择策略

*
*

从文件读取内容

*
*

从文件读取内容

注:修改文件路径

*
*

容器类
Vector vec = new Vector();
Node node1 = new Node(); vec.add(node1);
Node node2 = (Node)vec.get(i);
for(int i=0;i

模拟次数和模型每次运行的时刻不要混淆。
使用队列(Queue) 类,存放“初始激活状态节点”,队列为空,模型运行结束。

*
*

注意事项
三人一组,第八周两次课做报告,每组5分钟
获取影响力最大的规模为10(k=10)的节点集合

程序设计:包括几个类、各自功能、相互关联等。
结果展示:所选出的10个节点,节点规模从1到10各自的影响力、运行时间等。
方法比较:贪心算法和出度。
课题报告成绩+源代码

*
*

11

11

10

10

8

8

7

7

9

9

6

6

3

3

5

5

4

4

t时刻

t+1时刻

1

1

2

2

5

6

9

8

4

2

7

3

1

时刻1

激活状态

未激活状态

0.1

0.2

0.15

0.3

0.4

0.2

0.1

0.3

0.1

0.35

5

6

9

8

4

2

7

3

1

时刻2

激活状态

未激活状态

0.1

0.2

0.15

0.3

0.4

0.2

0.1

0.3

0.1

0.35

5

6

9

8

4

2

7

3

1

时刻3

激活状态

未激活状态

0.1

0.2

0.15

0.3

0.4

0.2

0.1

0.3

0.1

0.35

5
6
9
8
4
2
7
3
1
时刻1
激活状态未激活状态
0.1
0.2
0.15
0.3
0.4
0.2
0.1
0.3
0.1
0.35

5
6
9
8
4
2
7
3
1
时刻2
激活状态未激活状态
0.1
0.2
0.15
0.3
0.4
0.2
0.1
0.3
0.1
0.35

5
6
9
8
4
2
7
3
1
时刻3
激活状态未激活状态
0.1
0.2
0.15
0.3
0.4
0.2
0.1
0.3
0.1
0.35

11
11
10
10
88
7
7
9
9
66
33
5
5
4
4
t时刻t+1时刻
11
22