matlab实现随机攻击网络边+蓄意攻击网络连边(3)

其实在前面已经介绍过随机进攻节点和蓄意进攻节点的原理,今天和大家说一下边攻击。其实原理都是类似的,只要改动之前的一些代码就可以完成这个操作的。如果没有看过前两篇文章,那么建议你先看一下,有助于理解原理。

前两篇地址:

复杂网络函数分享

地址

matlab实现随机攻击网络节点+蓄意攻击网络节点(2)

我们首先应该了解删除连边和删除的节点的区别:

删除节点:删除该节点及与该节点所有相连的边。

删除连边:只删除该连边,而不改变节点的状态。

如果结合维度为N*N邻接矩阵A来说:

删除节点a:要删除A(a,:)和A(:,a)这一列一行,矩阵A变为(N-1)*(N-1)维度

删除节点a和节点b的连边:A(a,b) = 0;A(b,a) = 0;(邻接矩阵的对称性),矩阵A还是N*N维度。

知道了具体逻辑,那么下面就是代码实现了:

之前我们删除节点的代码片段为:

for i = 1:numDelete
    
    Con_Index_NetEff = testEglob( AA );

    Eglob(i) = Con_Index_NetEff.Net_Eff_Mymod;          
end

边攻击需要的数据准备:

邻接表:也就是网络中的所有连边关系 也就是下面的代码片段中的 biao(2*edge_number的矩阵)
边的排序关系:(可以是随机排序,可以是按某种参数进行的排序)下面的代码片段中的Node_edge_bet(1*edge_number的矩阵),就是根据边介数参数得到的边的排序

经过分析之后,我们可以得到一个推测或者说是结论:那就是边攻击每次只攻击一个边,对网络的影响较小(相对于节点攻击来说)。
给大家分享
复杂网络函数包 提取码:Xi6A

给大家推荐一个非常好的科研网站可以使用免费Web of Science、zhi网、IEEE、EI等账号。亲测好用。这个网站拥有众多的数据库,法律的、医学的、工科的,等等。
感谢大家的时间,并希望以上的内容会对大家有所帮助。

欢迎大家访问我的个人博客

同时也欢迎大家加入复杂网络交流群,大家一起交流,一起学习。

你可能感兴趣的:(复杂网络,复杂网络,鲁棒性,matlab,节点攻击,边攻击)