社会网络,生态网络,贸易网络,复杂网络边介数蓄意和随机攻击

news2024/9/21 19:09:56

​边介数(Edge Betweenness)

# ”

边介数(Edge Betweenness)

1

边介数(Edge Betweenness)

Summer IS HERE

边介数(Edge Betweenness)是一种度量边在网络中重要性的指标。它定义为通过某条边的最短路径的数量与网络中所有最短路径数量的比值。具体来说,边介数表示在所有节点对之间的最短路径中,有多少条路径通过该边。边介数越高,表示该边在网络中越关键。

边介数的定义公式如下:

设  是一个图,其中  是节点集合, 是边集合。对于图中的每一条边 ,其边介数  定义为:

其中:

  •  表示节点  到节点 的所有最短路径的数量。

  •  表示节点 到节点  的所有最短路径中通过边 的路径数量。

边介数的计算步骤通常如下:

  1. 对于图中的每一对节点,找到它们之间的所有最短路径。

  2. 统计每条边在这些最短路径中出现的次数。

  3. 对每条边的出现次数进行归一化处理,以得到边介数值。

这种方法可以有效地识别网络中对信息流动或连通性至关重要的边。

2

边介数的计算步骤:

  1. 对于图中的每一对节点,找到它们之间的所有最短路径。

  2. 统计每条边在这些最短路径中出现的次数。

  3. 对每条边的出现次数进行归一化处理,以得到边介数值。

这种方法可以有效地识别网络中对信息流动或连通性至关重要的边。

针对网络中的边进行蓄意和随机攻击是研究网络韧性和稳定性的重要方法。边介数(Edge Betweenness)在这种分析中扮演了关键角色,因为它可以帮助识别网络中的关键边和潜在的脆弱点。以下是对边介数进行蓄意和随机攻击的意义:

蓄意攻击

蓄意攻击(Intentional Attack)是指有针对性地攻击网络中具有高边介数的边。这样做的目的是最大化对网络连通性的破坏。以下是蓄意攻击的意义:

  1. 识别关键边:通过移除具有高边介数的边,可以识别网络中对连通性和信息流动至关重要的边。

  2. 评估网络韧性:观察网络在蓄意攻击下的反应,可以评估网络的韧性和容错能力。如果移除少量高介数边就能导致网络分裂,说明网络韧性较差。

  3. 提高网络设计:通过识别和保护这些关键边,可以设计更健壮的网络结构,增强网络的抗攻击能力。

Summer

随机攻

随机攻击(Random Attack)是指随机选择网络中的边进行移除,而不考虑它们的边介数。随机攻击的意义包括:

01

测试网络的随机容错性:通过随机移除边,测试网络在面对非针对性攻击时的表现,评估网络的随机容错性。

02

对比蓄意攻击的影响:通过对比随机攻击和蓄意攻击的结果,可以更清晰地了解高介数边在网络中的重要性。

03

模拟现实场景:在实际应用中,网络可能会遭受随机故障或非恶意的边断裂。模拟这种情况可以帮助预测网络在实际运行中的表现。

Summer

实验步骤

  1. 计算边介数:首先计算网络中每条边的边介数。

  2. 蓄意攻击

    • 按边介数从高到低的顺序移除边。

    • 观察每次移除后的网络连通性变化,如巨量连通分量的大小和数量变化。

  3. 随机攻击

    • 随机选择并移除边。

    • 观察每次移除后的网络连通性变化,进行统计分析。

  4. 比较分析

    • 对比两种攻击方式下网络连通性的变化。

    • 评估网络的韧性和脆弱性。

3

实现

Summer IS HERE

求网络的边介数代码

Summer

代码

 
import pandas as pd
import networkx as nx

# 文件名列表
file_names = ['11.xlsx', '22.xlsx', '33.xlsx', '44.xlsx', '55.xlsx', '66.xlsx', '77.xlsx', '88.xlsx']

# 定义处理函数
def process_file(file_name):
    # 读取 Excel 文件
    file_path = f'{file_name}'
    df = pd.read_excel(file_path)
    
    # 从 DataFrame 构建无向图
    G = nx.from_pandas_edgelist(df, 'from', 'to')
    
    # 计算边介数中心性
    edge_betweenness = nx.edge_betweenness_centrality(G)
    
    # 将边作为无序对处理,以确保可以处理无向图的边
    df['edge_betweenness'] = df.apply(lambda row: edge_betweenness.get((row['from'], row['to']), edge_betweenness.get((row['to'], row['from']))), axis=1)
    
    # 保存修改后的 DataFrame 到新的 Excel 文件
    output_path = f'{file_name.split(".")[0]}_with_edge_betweenness.xlsx'
    df.to_excel(output_path, index=False)
    
    return output_path

# 处理所有文件
output_files = [process_file(file_name) for file_name in file_names]

# 输出处理后的文件路径列表
output_files

 
['11_with_edge_betweenness.xlsx',
 '22_with_edge_betweenness.xlsx',
 '33_with_edge_betweenness.xlsx',
 '44_with_edge_betweenness.xlsx',
 '55_with_edge_betweenness.xlsx',
 '66_with_edge_betweenness.xlsx',
 '77_with_edge_betweenness.xlsx',
 '88_with_edge_betweenness.xlsx']

Summer

网络格式

| from | to   |
| ---- | ---- |
| 1    | 2    |
| 1    | 4    |
| 1    | 5    |
| 1    | 7    |
| 2    | 4    |
| 2    | 7    |
| 2    | 12   |
| 2    | 16   |
| 3    | 61   |

输出的结果

 
| from | to   | edge_betweenness |
| ---- | ---- | ---------------- |
| 1    | 2    | 0.001700281      |
| 1    | 4    | 0.026619318      |
| 1    | 5    | 0.008927579      |
| 1    | 7    | 0.011732577      |
| 2    | 4    | 0.01920632       |
| 2    | 7    | 0.011669551      |
| 2    | 12   | 0.005642587      |
| 2    | 16   | 0.005974664      |
| 3    | 61   | 0.011695906      |
| 4    | 6    | 0.000565324      |
| 4    | 9    | 0.059238643      |

社会网络、生态网络、复杂网络指定节点蓄意攻击客户端

社会网络、生态网络、复杂网络脆弱性分析(随机、蓄意攻击)工具-指标公式

社会网络、生态网络、复杂网络脆弱性分析(随机、蓄意攻击)工具(增加了边攻击策略)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1715037.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

安卓手机玩Switch-YUZU模拟器

不需要傻乎乎地去买Switch了! 不是Switch不好,等什么时候任天堂升级硬件,出了Switch2之后我再来支持吧! Yuzu Yuzu 按照官网给的教程下载

OrangePi AIpro测评

文章目录 1、外观部分2、系统初探3、AI性能体验4、总结 首先非常感谢csdn以及香橙派能够提供这样一个平台,可以测试OrangePi AIpro这样一块开发板,这块板子给我的感觉还是非常不错的,非常适合用来作为嵌入式学习的板子,性能也达到…

OpenMV学习笔记2——颜色识别

目录 一、打开单颜色识别实例代码 二、代码基础部分 三、阈值选择 四、给识别到的颜色画框 五、多颜色识别 一、打开单颜色识别实例代码 如图,双击打开对应文件即可进入实例代码。 二、代码基础部分 # Single Color RGB565 Blob Tracking Example # # This e…

JavaWeb基础(一)-IO操作

Java I/O工作机制: 注:简要笔记,示例代码可能较少,甚至没有。 1、Java 的 I/O 类库的基本架构。 ​ Java 的 I/O 操作类在包 java.io 下,大概有将近80个类,这些类大概可以分为如下四组。 基于字节操作的…

mysql中InnoDB的统计数据

大家好。我们知道,mysql中存在许多的统计数据,比如通过SHOW TABLE STATUS 可以看到关于表的统计数据,通过SHOW INDEX可以看到关于索引的统计数据,那么这些统计数据是怎么来的呢?它们是以什么方式收集的呢?今…

LLAMA3==shenzhi-wang/Llama3-8B-Chinese-Chat。windows安装不使用ollama

创建环境: conda create -n llama3_env python3.10 conda activate llama3_env conda install pytorch torchvision torchaudio cudatoolkit11.7 -c pytorch 安装Hugging Face的Transformers库: pip install transformers sentencepiece 下载模型 ht…

海尔智家牵手罗兰-加洛斯,看全球创牌再升级

晚春的巴黎西郊,古典建筑群与七叶树林荫交相掩映,坐落于此的罗兰加洛斯球场内座无虚席。 来自全球各地的数万观众,正与场外街道上的驻足者们一起,等待着全世界最美好的网球声响起…… 当地时间5月26日,全球四大职业网…

大模型时代的具身智能系列专题(五)

stanford宋舒然团队 宋舒然是斯坦福大学的助理教授。在此之前,他曾是哥伦比亚大学的助理教授,是Columbia Artificial Intelligence and Robotics Lab的负责人。他的研究聚焦于计算机视觉和机器人技术。本科毕业于香港科技大学。 主题相关作品 diffusio…

代码随想录-Day23

669. 修剪二叉搜索树 方法一&#xff1a;递归 class Solution {public TreeNode trimBST(TreeNode root, int low, int high) {if (root null) {return null;}if (root.val < low) {return trimBST(root.right, low, high);} else if (root.val > high) {return trimBS…

爪哇,我初学乍道

>>上一篇&#xff08;学校上课&#xff0c;是耽误我学习了。。&#xff09; 2016年9月&#xff0c;我大二了。 自从我发现上课会耽误我学习&#xff0c;只要我认为不影响我期末学分的&#xff0c;我就逃课了。 绝大多数课都是要签到的&#xff0c;有的是老师突击喊名字…

YOLO-10更快、更强

YOLO-10简介 主要贡献&#xff1a; 无NMS的一致双分配 YOLOv10提出了一种通过双标签分配而不用非极大值抑制NMS的策略。这种方法结合了一对多和一对一分配策略的优势&#xff0c;提高了效率并保持了性能。 高效的网络设计 轻量化分类头&#xff1a;在不显著影响性能的情况下&a…

618数码产品怎么选?四大必看推荐,自费无广测评

6.18盛宴即将开启&#xff0c;你是否已摩拳擦掌&#xff0c;准备在电商海洋中乘风破浪&#xff1f;然而&#xff0c;在繁多的商品和错综复杂的优惠面前&#xff0c;你是否感到些许迷茫&#xff1f;团团这位网购小能手&#xff0c;特地为大家梳理了一份精选购物清单。这些宝贝不…

搭建YOLOv10环境 训练+推理+模型评估

文章目录 前言一、环境搭建必要环境1. 创建yolov10虚拟环境2. 下载pytorch (pytorch版本>1.8)3. 下载YOLOv10源码4. 安装所需要的依赖包 二、推理测试1. 将如下代码复制到ultralytics文件夹同级目录下并运行 即可得到推理结果2. 关键参数 三、训练及评估1. 数据结构介绍2. 配…

2024.05.29学习记录

1、css面经复习 2、代码随想录二刷 3、rosebush upload组件初步完成

【芯片验证方法】

术语——中文术语 大陆与台湾的一些术语存在差别&#xff1a; 验证常用的英语术语&#xff1a; 验证&#xff1a;尽量模拟实际应用场景&#xff0c;比对芯片的所需要的目标功能和实现的功能 影响验证的要素&#xff1a;应用场景、目标功能、比对应用场景、目标功能&#xff…

OpenAI新模型开始训练!GPT6?

国内可用潘多拉镜像站GPT-4o、GPT-4&#xff08;更多信息请加Q群865143845&#xff09;: 站点&#xff1a;https://xgpt4.ai0.cn/ OpenAI 官网 28 日发文称&#xff0c;新模型已经开始训练&#xff01; 一、新模型开始训练 原话&#xff1a;OpenAI has recently begun training…

性能大爆炸!为你的Matomo换一个高性能的环境!

随着我的 Matomo 越来越大&#xff0c;功能需求的增多&#xff0c;插件也变得越来越多&#xff0c;使用传统的LNMP架构或者LAMP架构都会发现性能正在急剧下级&#xff0c;为此&#xff0c;我们发现了使用FrankenPHP&#xff08;以下简称FPHP&#xff09;的方案 首先&#xff0…

【本地运行chatgpt-web】启动前端项目和service服务端项目,也是使用nodejs进行开发的。两个都运行成功才可以使用!

1&#xff0c;启动web界面 https://github.com/Chanzhaoyu/chatgpt-web#node https://nodejs.org/en/download/package-manager # 使用nvm 安装最新的 20 版本。 curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash source /root/.bashrc n…

攀爬二叉树,发现新的美

二叉树 什么是二叉树? 二叉树的基础概念? 性质? 问题? 文章目录 二叉树一、二叉树的概念(一)认识二叉树(二)二叉树的性质 二、遍历二叉树1.前序遍历2.中序遍历3.后序遍历4.层序遍历 三丶创建二叉树总结 一、二叉树的概念 (一)认识二叉树 二叉树是一种非线性的数据结构,…

一篇文章讲透排序算法之快速排序

前言 本篇博客难度较高&#xff0c;建议在学习过程中先阅读一遍思路、浏览一遍动图&#xff0c;之后研究代码&#xff0c;之后仔细体会思路、体会动图。之后再自己进行实现。 一.快排介绍与思想 快速排序相当于一个对冒泡排序的优化&#xff0c;其大体思路是先在文中选取一个…