import networkx as nx
import matplotlib.pyplot as plt
from pylab import *
import random
mpl.rcParams['font.sans-serif'] = ['SimHei']
def star(n): #生成n个节点的星形网络
G = nx.Graph()
for i in range(1,n):
G.add_edge(i,n)
return G
def all_connect(n): #生成n个节点的全连接网络
G = nx.Graph()
for i in range(1, n):
for j in range(i+1,n+1):
G.add_edge(i, j)
return G
def circle(n): #生成n个节点的环状网络
G = nx.Graph()
for i in range(1, n+1):
if(i!=n):
G.add_edge(i, i+1)
else:
G.add_edge(i,1)
return G
def attack(G):#生成按照某规则依次去除点后的最大联通子图点数量
s = G.copy()
p = G.copy()
list1 = sorted(nx.degree_centrality(G).items(),key=lambda x:x[1],reverse=True)
list_one = [] #按度大小去除点
list_two = [] #随机去除点
list_three = [] #按特征向量去除点
for i in range(len(list1)-1):
data = list1[i]
node =
社交网络分析之网络攻击模拟
最新推荐文章于 2024-08-01 23:29:23 发布
该博客通过Python实现了对星型、全连接和环状网络的攻击模拟,包括度中心性、随机和特征向量中心性三种攻击方式,并展示了攻击后的网络状态。内容覆盖网络分析和Python编程技巧。
摘要由CSDN通过智能技术生成