首页 > 其他分享 >m随机网络,无标度网络,小世界网络以及NS小世界网络在网络攻击中的性能仿真

m随机网络,无标度网络,小世界网络以及NS小世界网络在网络攻击中的性能仿真

时间:2023-05-26 23:45:53浏览次数:47  
标签:end adjmatrix degree 网络 网络攻击 choose NS 节点

1.算法仿真效果

matlab2022a仿真结果如下:

 

 

 

 

 

 

 

2.算法涉及理论知识概要

        1.随机网络(random network)

 

         2.无标度网络 (scale-free network)

 

         3.小世界 network

 

         4.NS小世界network

 

 

 

首先,通过随机攻击和刻意攻击对上述几种传统的网络模型进行攻击测试,分析其相应的鲁棒性,主要分析网络的各种性能指标的稳定性,

 

然后,提出一种改进型的网络结构模型,并进行随机攻击和刻意攻击测试,分析其鲁棒性。

 

最后,将提出的改进模型应用到实际场景中,解决具体的实际问题。

 

1.无标度网络

 

        无标度网络具有严重的异质性,其各节点之间的连接状况(度数)具有严重的不均匀分布性:网络中少数称之为Hub点的节点拥有极其多的连接,而大多数节点只有很少量的连接。少数Hub点对无标度网络的运行起着主导的作用。从广义上说,无标度网络的无标度性是描述大量复杂系统整体上严重不均匀分布的一种内在性质。

 

       scale - free network, 现实世界的网络大部分都不是随机网络,少数的节点往往拥有大量的连接,而大部分节点却很少,一般而言他们符合zipf定律,(也就是80/20马太定律)。将度分布符合幂律分布的复杂网络称为无标度网络。

 

2.小世界网络

 

        我们需要了解小世界网络是一种数学图。在这种图中,绝大多数节点之间并不相邻,但任一给定节点的邻居们却很可能彼此相邻,并且大多数任意节点,都可以用较少的步或跳跃访问到其他节点。在社交网络中,这种网络属性意味着一些彼此并不相识的人,可以通过一条很短的熟人链条被联系在一起,这也就是小世界现象。许多经验网络图都展示出了小世界现象,例如社交网络、互联网的底层架构、诸如Wikipedia的百科类网站以及基因网络等等。

 

 

 

3.NS小世界网络

 

       小世界网络的概念是随着对复杂网络的研究而出现的。“网络”其实就是数学中图论研究的图,由一群顶点以及它们之间所连的边构成。在网络理论中则换一套说法,用“节点”代替“顶点”,用“链接”代替“边”。复杂网络的概念,是用来描述由大量节点以及这些节点之间错综复杂的联系所构成的网络。这样的网络会出现在简单网络中没有的特殊拓扑特性。

 

       自二十世纪60年代开始,对复杂网络的研究主要集中在随机网络上。随机网络,又称随机图,是指通过随机过程制造出的复杂网络。最典型的随机网络是保罗·埃尔德什和阿尔弗雷德·雷尼提出的ER模型。ER模型是基于一种“自然”的构造方法:假设有{\displaystyle n}个节点,并假设每对节点之间相连的可能性都是常数{\displaystyle 0<p<1}。这样构造出的网络就是ER模型网络。科学家们最初使用这种模型来解释现实生活中的网络。

 

3.MATLAB核心程序

 

%产生稀疏矩阵,邻接矩阵
adjmatrix = sparse(Size1,Size1);
for i=1:Size1
    for j=1:Size1
        if j~=i
           adjmatrix(i,j) = 1;
        end
    end
end
adjmatrix = sparse(adjmatrix);
 
%定义节点度
Ddegree = zeros(1,Size1+1) ;  
for p = 2:Size1+1
    Ddegree(p) = sum(adjmatrix(1:Size1,p-1));
end
 
for Js = Size1+1:Num
    %迭代之前的网络各个节点的度数之和
    total_degree = 2*Size2*(Js-4)+6;
    cum_degree   = cumsum(Ddegree/total_degree);
    choose       = zeros(1,Size2);
    %第一个和新点相连接点
    r1           = rand();
    choose(1)    = min(find((cum_degree>=r1)==1));
    %第二个和新点相连接点
    r2           = rand();
    choose(2)    = min(find((cum_degree>=r2)==1));
    while choose(2)==choose(1)
          r2        = rand();
          choose(2) = min(find((cum_degree>=r2)==1)) ;
    end
      
    %第三个和新点相连接点
    r3          = rand();
    choose(3)   = min(find((cum_degree>=r3)==1));
     
    while(choose(3)==choose(1))|(choose(3)==choose(2))
          r3 = rand();
          choose(3) = min(find((cum_degree>=r3)==1));
    end
     
     %第四个和新点相连接点
     r4         = rand();
     choose(4)  = min(find((cum_degree>=r4)==1));
     
     while(choose(4)==choose(1))|(choose(4)==choose(2))|(choose(4)==choose(3))
           r4        = rand();
           choose(4) = min(find((cum_degree>=r4)==1));
     end
 
     for k=1:Size2
         adjmatrix(Js,choose(k)) = 1;
         adjmatrix(choose(k),Js) = 1;
     end
     Ddegree         = zeros(1,Js+1);
     Ddegree(2:Js+1) = sum(adjmatrix);
end
%稀疏矩阵转换为标准矩阵
matrix = full(adjmatrix);

 

  

 

标签:end,adjmatrix,degree,网络,网络攻击,choose,NS,节点
From: https://www.cnblogs.com/51matlab/p/17436068.html

相关文章

  • m基于负价环N算法的无线传感器网络性能matlab仿真
    1.算法仿真效果matlab2022a仿真结果如下:2.算法涉及理论知识概要负环的定义:负环是指权值和为负数的环。负环会使图的最短路径计算陷入死循环,因此,存在负环的图不存在最短路。负环的计算方法:负环有两种计算方法,都是基于Bellman-Ford算法或者SPFA算法。第一种算法是:统计每个点的......
  • LongRunnigTask TaskCreationOptions.LongRunning 参数
    这样在C#使用LongRunnigTask是错的 Task.Factory.StartNew有一个重载,是支持TaskCreationOptions.LongRunning参数来指定Task的特征的。但是可能在没有注意的情况下,你就使用了错误的用法。那么本文我们来简单阐述一下这个参数的作用,和使用的注意要点。这样其实是错......
  • 十、Jenkins流水线集成Sonar
    Jenkins安装在阿里云主机上,SonarQube安装在腾讯云主机上。所使用的地址都是外网ip。一、Jenkins配置Sonar安装SonarQubeScannerforJenkins插件:  我这里已经安装了。 配置SonarQubeServer,在系统管理->ConfigureSystem中:  注意:这里的SonarQube的凭据选择Sec......
  • End-to-End Object Detection with Transformers论文阅读笔记
    摘要作者提出了一种新的基于Transformer的目标检测模型DETR,将检测视为集合预测问题,无需进行nms以及anchorgeneration等操作。同时,对模型进行简单的修改就可以应用到全景分割任务中。方法ObjectdetectionsetpredictionlossDETR给出的是N个预测,N为预先设定的远大于GT目标框......
  • 五月学习之Ansible ad-hoc和常用模块
    一、Ansiblead-hoc1、ad-hoc是什么ad-hoc简而言之就是临时命令,执行完即结束,并不会保存应用场景1:查看多台节点的进程是否存在应用场景2:拷贝指定的文件至本地2、ad-hoc命令使用ansible'groups'-mcommand-a'df-h'3、ad-hoc执行过程1.加载ansible配置文件,默认/etc/ansible/a......
  • 自动化工具ansible的部署和使用
    (文章目录)前言Ansible是一种自动化工具,可用于部署、配置和管理计算机系统。它是基于Python的开源软件,具有易于使用、可靠、灵活和可扩展等特点,被广泛应用于IT管理领域。Ansible提供了一个简单而强大的语言,用于描述系统如何配置和管理,称为“Playbook”。它使用SSH协议作为通信......
  • 128. Longest Consecutive Sequence刷题笔记
    取巧用了python自带的排序算法,该算法为Timsort,复杂度为nlog(n)classSolution:deflongestConsecutive(self,nums:List[int])->int:ifnotnums:return0nums.sort()res=0length=1foriinrange(len(nu......
  • 1658. Minimum Operations to Reduce X to Zero刷题笔记
    用累加和的方法解决,参考该题解classSolution:defminOperations(self,nums:List[int],x:int)->int:cumsum=[0]+list(accumulate(nums))dic={c:ifori,cinenumerate(cumsum)}goal=cumsum[-1]-xans=-float("inf"......
  • 52. N-Queens II刷题笔记
    回溯算法,参考该题解classSolution:deftotalNQueens(self,n:int)->int:diag1=set()diag2=set()usedCols=set()returnself.helper(n,diag1,diag2,usedCols,0)defhelper(self,n,diag1,diag2,usedCols,......
  • 1192. Critical Connections in a Network刷题笔记
    参考这个题解,用的dfsimportcollectionsclassSolution:defcriticalConnections(self,n:int,connections:List[List[int]])->List[List[int]]:defmakeGraph(coonections):graph=collections.defaultdict(list)forconnincon......