基于异质网络的武器装备体系结构抗毁性研究 赵丹玲 主功能程序

clear;
%异质网络的生成
% n_S = 5;
% n_D = 1;
% n_I = 3;
% n_T = 1;

n_S = 20;
n_D = 10;
n_I = 15;
n_T = 15;
N = n_S + n_T + n_I + n_D;
P_SS = 0.2;
P_SD = 0.6;
%P_DS = 0.5;
P_DS = 0.1;
P_DD = 0.2;
P_DI = 0.5;
% P_IT = 0.8;
P_IT = 0.5;
P_TS = 0.5;


% n_S = 20;
% n_D = 10;
% n_I = 15;
% n_T = 15;
% N = n_S + n_T + n_I + n_D;
% P_SS = 0.2;
% P_SD = 0.6;
% P_DS = 0.1;
% P_DD = 0.2;
% P_DI = 0.5;
% P_IT = 0.5;
% P_TS = 0.5;

times = 30;
RA_Connection_Ave = zeros(n_S+n_D+n_I+n_T+1,1);
DA_Connection_Ave = zeros(n_S+n_D+n_I+n_T+1,1);
RA_LoopNum_Ave = zeros(n_S+n_D+n_I+n_T+1,1);
FA_LoopNum_Ave = zeros(n_S+n_D+n_I+n_T+1,1);
 
for i=1:times
    A_node = ProduceRandomTotalMatrix( n_T,n_S,n_D,n_I,P_SS,P_SD,P_DS,P_DD,P_DI,P_IT,P_TS );
    %随机攻击
    [RA_Connection RA_Order ] = RandomAttract(A_node );
    RA_Connection_Ave = RA_Connection + RA_Connection_Ave;
    %度大的优先攻击
    [DA_Connection DA_Order] = DegreeAttract(A_node);
    DA_Connection_Ave = DA_Connection_Ave + DA_Connection;
    %异质网络随机攻击
     [RA_LoopNum RA_LoopOrder] = RandomAttract_loop( A_node,n_T,n_S,n_D,n_I );
     RA_LoopNum_Ave = RA_LoopNum_Ave + RA_LoopNum;
    %异质网络中作战环数量最多的优先攻击
    [FA_LoopNum FA_LoopOrder] = FirstAttractLoop( A_node,n_T,n_S,n_D,n_I );
    FA_LoopNum_Ave = FA_LoopNum + FA_LoopNum_Ave;
end

RA_Connection_Ave = RA_Connection_Ave/times;
DA_Connection_Ave = DA_Connection_Ave/times;
RA_LoopNum_Ave = RA_LoopNum_Ave/times;
FA_LoopNum_Ave = FA_LoopNum_Ave/times;
%画图
 x_zhou=[];
 for i=1:N+1
     x_zhou(i)=i-1;
 end
 

%%
%  figure(1)
%  plot(x_zhou,RA_Connection_Ave,'r:*','LineWidth',2)
%  xlabel('减少的节点数量','FontSize',12)
%  ylabel('自然连通度','FontSize',12)
%  hold on;
%   plot(x_zhou,DA_Connection_Ave,'b-.v','LineWidth',2)
%    legend('随机攻击模式','度优先攻击模式')
%    title('两种攻击策略下的武器装备体系网络的自然连通度','FontSize',12)
%  
  figure(2)
   plot(x_zhou,RA_LoopNum_Ave,'r:*','LineWidth',2)
 xlabel('减少的节点数量','FontSize',12)
 ylabel('杀伤链数','FontSize',12)
  hold on;
  plot(x_zhou,FA_LoopNum_Ave,'b-.v','LineWidth',2)
   legend('随机攻击模式','链优先攻击模式')
   title('两种攻击策略下的武器装备体系网络的杀伤链数','FontSize',12)

   %对比
%  figure(1)
%  plot(x_zhou,RA_Connection_Ave/RA_Connection_Ave(1,1),'r:*','LineWidth',2)
%  xlabel('减少的节点数目','FontSize',12)
%  ylabel('网络抗毁性指标','FontSize',12)
%  hold on;
%   plot(x_zhou,DA_Connection_Ave/DA_Connection_Ave(1,1),'r-.v','LineWidth',2)
%  hold on;
%   plot(x_zhou,RA_LoopNum_Ave/RA_LoopNum_Ave(1,1),'b:*','LineWidth',2)
%  xlabel('减少的节点数目','FontSize',12)
%  ylabel('网络抗毁性指标','FontSize',12)
%   hold on;
%   plot(x_zhou,FA_LoopNum_Ave/FA_LoopNum_Ave(1,1),'b-.v','LineWidth',2)
%    legend('同质网络中随机攻击策略 ','同质网络中选择攻击策略','异质网络中随机攻击策略','异质网络中选择攻击策略')
%    title('同质网络和异质网络中两种攻击策略的比较','FontSize',11)
   
   
   %将邻接矩阵转换成gephi可读的数据
%    node_label = cell(1,N)
%    for i=1:n_S
%        b = ['S' ,int2str(i)]
%        node_label{1,i} = b;
%    end
%     for j=1:n_D
%        b = ['D' ,int2str(j)]
%        node_label{1,j+n_S} = b;
%     end
%      for k=1:n_I
%        b = ['I' ,int2str(k)]
%        node_label{1,k+n_S+n_D} = b;
%      end
%      for l=1:n_T
%        b = ['T' ,int2str(l)]
%        node_label{1,l+n_S+n_D+n_I} = b;
%      end
%      
%     [node1,edglist_final]=matlab_to_gephi(A_node,node_label)

%  A_node = ProduceRandomTotalMatrix( n_T,n_S,n_D,n_I,P_SS,P_SD,P_DS,P_DD,P_DI,P_IT,P_TS )
% temp_loop = A_node;
% [NumT,NumS,NumD,NumI] = NodeNumInPath( A_node,n_T,n_S,n_D,n_I );
% 
% loop_first_att_order = zeros(size(A_node,1)+1,1);
% loop_first_att_num = zeros(size(A_node,1)+1,1);
% loop_first_att_num(1,1) = OP_num( A_node,n_T,n_S,n_D,n_I)
% i=0;
% 
% Total_node_loop_num = [NumS' NumD' NumI' NumT'];
% temp_haha = Total_node_loop_num;
% while OP_num( A_node,n_T,n_S,n_D,n_I)>0
%         [MaxValue,position] = max(Total_node_loop_num);
%         i = i+1;
%         loop_first_att_order(i+1) = position;
%         A_node = Attract( A_node, position );
%        loop_first_att_num(i+1) = OP_num( A_node,n_T,n_S,n_D,n_I );
%          Total_node_loop_num(1,position) = 0;
%             
% end
% 
%  [RA_LoopNum RA_LoopOrder] = RandomAttract_loop( temp_loop,n_T,n_S,n_D,n_I );
%   for i=1:size(A_node,1)+1
%      x_zhou(i)=i-1;
%   end
%  plot(x_zhou,loop_first_att_num,'r:*','LineWidth',2);hold on;
%  plot(x_zhou,RA_LoopNum,'b-.v','LineWidth',2);


% A_node = ProduceRandomTotalMatrix( n_T,n_S,n_D,n_I,P_SS,P_SD,P_DS,P_DD,P_DI,P_IT,P_TS );
%  [RA_LoopNum RA_LoopOrder] = RandomAttract_loop( A_node,n_T,n_S,n_D,n_I );
%  [FA_LoopNum FA_LoopOrder] = FirstAttractLoop( A_node,n_T,n_S,n_D,n_I );
%  x_zhou=[];
%   for i=1:size(A_node,1)+1
%      x_zhou(i)=i-1;
%   end
%  figure(2)
%    plot(x_zhou,RA_LoopNum,'r:*','LineWidth',2)
%  xlabel('Decreasing node number','FontSize',12)
%  ylabel('Natural connectivity','FontSize',12)
%   hold on;
%   plot(x_zhou,FA_LoopNum,'b-.v','LineWidth',2)
%    legend('Random Attract Mode','Selective Attack Mode')
%    title('The effectivity of network structure in two attract modes','FontSize',14)

%%
 figure(5)
 names={'S1' 'S2' 'S3' 'S4' 'S5' 'S6' 'S7' 'S8' 'S9' 'S10' 'S11' 'S12' 'S13' 'S14' 'S15' 'S16' 'S17' 'S18' 'S19' 'S20' 'D1' 'D2' 'D3' 'D4' 'D5' 'D6' 'D7' 'D8' 'D9' 'D10' 'I1' 'I2' 'I3' 'I4' 'I5' 'I6' 'I7' 'I8' 'I9' 'I10' 'I11' 'I12' 'I13' 'I14' 'I15' 'T1' 'T2' 'T3' 'T4' 'T5' 'T6' 'T7' 'T8' 'T9' 'T10' 'T11' 'T12' 'T13' 'T14' 'T15'};
 G = digraph(A_node,names,'omitselfloops'); %异质网络矩阵的横坐标指向纵坐标
 plot(G);
 
D=indegree(G)+outdegree(G)     %攻击出度

 %%
 figure(1)
 num_nodes_to_remove=10;
G_random_attack=G;
for i=1:num_nodes_to_remove
    %随机选择一个节点进行删除
    node_to_remove=randi(numnodes(G_random_attack));
    G_random_attack=rmnode(G_random_attack,node_to_remove);
end

%可视化攻击后的网络
plot(G_random_attack)
G_random_attacked= full(adjacency(G_random_attack))
 

 
 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值