位置: IT常识 - 正文

python和netlogo软件模拟病毒传播仿真模型(一)(net python)

编辑:rootadmin
python和netlogo软件模拟病毒传播仿真模型(一)

推荐整理分享python和netlogo软件模拟病毒传播仿真模型(一)(net python),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python和node,python和node,python和windows,python与.net,python和.net哪个发展前景好,python和.net哪个发展前景好,net python,python和.net哪个发展前景好,内容如对您有帮助,希望把文章链接给更多的朋友!

目前国内在网络舆情仿真建模中所使用的仿真平台主要有 Netlogo、Anylogic、Matlab、Vensim 等,netlogo软件是一款比较通用的。 但是他是由logo语言构成,语言逻辑很让人抓马。 这里python 中的mesa可以实现其中一部分,这里看一下病毒传播仿真模型。

NetLogo如何入门?有哪些学习交流渠道? 论文:国内网络舆情建模与仿真研究综述

文章目录1 netlogo:virus on a network 计算机病毒感染与传播1.1 它是什么?1.2 怎么运行的1.3 如何使用它1.4 注意事项1.5 尝试的事情1.6 扩展模型1.7 参数介绍2 python mesa1 netlogo:virus on a network 计算机病毒感染与传播

netlogo的网页版可以实现一些功能,还有页面介绍:

谷歌翻译一下大概的教程内容:

1.1 它是什么?

该模型演示了病毒通过网络传播。 虽然这个模型有些抽象,但一种解释是每个节点代表一台计算机,我们正在模拟计算机病毒(或蠕虫)通过这个网络的进程。 每个节点可能处于三种状态之一:易感、感染或抗性。 在学术文献中,这种模型有时被称为流行病的 SIR 模型。

1.2 怎么运行的

每个时间步(滴答),每个受感染的节点(红色)都会尝试感染其所有邻居。 易受感染的邻居(蓝色)将以病毒传播机会滑块给出的概率被感染。 这可能对应于易受感染系统上的某人实际执行受感染电子邮件附件的概率。 抗性节点(灰色)不能被感染。 这可能对应于最新的防病毒软件和安全补丁,使计算机免受这种特定病毒的侵害。 受感染的节点不会立即意识到它们已被感染。 节点只会每隔一段时间(由 VIRUS-CHECK-FREQUENCY 滑块确定)检查它们是否感染了病毒。 这可能对应于定期安排的病毒扫描程序,或者只是一个人注意到计算机的行为有问题。 检测到病毒时,有可能删除病毒(由 RECOVERY-CHANCE 滑块确定)。 如果一个节点确实恢复了,它有可能在未来对这种病毒产生抵抗力(由 GAIN-RESISTANCE-CHANCE 滑块给出)。 当一个节点变得有抵抗力时,它和它的邻居之间的联系就会变暗,因为它们不再是传播病毒的可能载体。

1.3 如何使用它

使用滑块,选择 NUMBER-OF-NODES 和 AVERAGE-NODE-DEGREE(每个节点的平均链接数)。 创建的网络基于节点之间的接近度(欧氏距离)。 一个节点被随机选择并连接到它尚未连接的最近节点。 重复此过程,直到网络具有正确数量的链接以提供指定的平均节点度。 INITIAL-OUTBREAK-SIZE 滑块确定有多少节点将开始模拟感染病毒。 然后按 SETUP 创建网络。 按 GO 运行模型。 一旦病毒完全消失,该模型将停止运行。 VIRUS-SPREAD-CHANCE、VIRUS-CHECK-FREQUENCY、RECOVERY-CHANCE 和 GAIN-RESISTANCE-CHANCE 滑块(在上面的“工作原理”中讨论)可以在按下 GO 之前或在模型运行时进行调整。 NETWORK STATUS 图显示每个状态(S、I、R)随时间变化的节点数。

1.4 注意事项

在运行结束时,在病毒消失后,一些节点仍然易感,而另一些节点则变得免疫。 免疫节点数与易感节点数的比值是多少? 改变网络的 AVERAGE-NODE-DEGREE 对这有何影响?

1.5 尝试的事情

将 GAIN-RESISTANCE-CHANCE 设置为 0%。 在什么情况下病毒仍会灭绝? 多久时间? 病毒存活需要什么条件? 如果 RECOVERY-CHANCE 大于 0,即使 VIRUS-SPREAD-CHANCE 很高,您认为如果可以永远运行模型,病毒是否可以存活?

1.6 扩展模型python和netlogo软件模拟病毒传播仿真模型(一)(net python)

病毒传播的真实计算机网络通常不是基于空间邻近性,就像在这个模型中发现的网络一样。 真实的计算机网络更经常被发现表现出“无标度”链接度分布,有点类似于使用优先依恋模型创建的网络。 尝试使用各种替代网络结构进行试验,看看病毒的行为有何不同。 假设病毒通过向计算机地址簿中的每个人发送电子邮件来传播。 由于在某人的地址簿中不是对称关系,因此将此模型更改为使用定向链接而不是无向链接。 你能同时模拟多种病毒吗? 他们将如何互动? 有时,如果计算机安装了恶意软件,它就更容易被更多恶意软件感染。 尝试制作一个与此类似的模型,但病毒具有自我变异的能力。 这种自我修改的病毒对计算机安全是一个相当大的威胁,因为传统的病毒签名识别方法可能无法对付它们。 在您的模型中,如果病毒已变异为与最初感染节点的变体明显不同,则变得免疫的节点可能会被重新感染。

1.7 参数介绍

必要滑块的含义: ● NUMBER-OF-NODES:节点数量 ● AVERAGE-NODE-DEGREE:每个节点的平均链接数 ● INITIAL-OUTBREAK-SIZE:初始化状态,染病的人数

其他参数项的含义: ● VIRUS-SPREAD-CHANCE:感染概率,a -> b 的感染概率 ● VIRUS-CHECK-FREQUENCY:可能不会立即意识到感染,这个滑块是间隔多久做“病毒检测”来进行确诊,只有检测了才能确诊 ● RECOVERY-CHANCE:感染之后的恢复几率 ● GAIN-RESISTANCE-CHANCE :二次感染的几率

输出结果: ● susceptible:易受影响的 ● infected:感染的 ● resistant:康复的

2 python mesa

Mesa is an Apache2 licensed agent-based modeling (or ABM) framework in Python. Mesa allows users to quickly create agent-based models using built-in core components (such as spatial grids and agent schedulers) or customized implementations; visualize them using a browser-based interface; and analyze their results using Python’s data analysis tools. Its goal is to be the Python 3-based counterpart to NetLogo, Repast, or MASON.

mesa的readdocs

virus_on_network的案例代码见github

需要安装:

pip install mesapip install -r requirements.txt

需要git clone代码,然后

mesa runserver

会额外生成一个网页:http://127.0.0.1:8521/

页面结构如下: 相对来说比较毛坯。。

不过其中遇到一个问题:

AttributeError: module 'numpy.typing' has no attribute 'NDArray'

numpy 需要升级到1.21以上才行

本文链接地址:https://www.jiuchutong.com/zhishi/297364.html 转载请保留说明!

上一篇:联邦学习(FL)+差分隐私(DP)

下一篇:【蓝桥杯Web】2022年第十三届蓝桥杯Web大学组国赛真题解析(蓝桥杯大赛官网试题)

  • 出差误餐补助是谁承担
  • 产品成本计算的基本方法和辅助方法的划分标准是
  • 上年营业收入是什么科目
  • 小规模纳税人开专票需要交税吗
  • 个人与公司交的税怎么算
  • 投资收益做什么
  • 资产申报是什么
  • 继续教育专项附加扣除可以扣几年
  • 拆装厂房
  • 出口产品报关单上保险费与实际不符可以丿退税吗
  • 小规模纳税人取得的专票转为一般纳税人之后能抵扣吗
  • 市场费用的账务处理
  • 个人怎么开增值税
  • 公司工会有税号吗
  • 电子税务局社保申报截止日期每月
  • 加计扣除两种情况
  • 个税按工资薪金未按时申报的处罚规定
  • 公司处置车辆税金怎么算
  • 兼营销售的销售额的确定
  • 兼职人员的工资怎么做账
  • 在win7系统中如何让电脑恢复出厂设置方法
  • 全民游戏盒子怎么卸载
  • 银行余额调节表例题和答案
  • 开具红字发票后所冲销的销项税应怎么处理?
  • 要约与要约邀请的主要区别
  • linux相关命令及用法
  • 拍卖获得收入个税
  • 固态硬盘什么牌子性价比高
  • nalntsrv.exe - nalntsrv是什么进程 有什么用
  • 农产品收购发票使用范围
  • 旺阿雷自然保护区里的旺阿雷瀑布,新西兰北岛 (© Nathan Kavumbura/Getty Images)
  • php java c#
  • 报个税时显示扣缴单位无有效的税费种认定信息
  • 报销差旅费凭证怎么做
  • 不锈餐具有几种材质
  • vue foreach is not a function
  • php正则表达式匹配,返回原因
  • 增值税的纳税时间是多久
  • spring boot整合hibernate
  • 前端页面设计
  • 蓝桥杯咋样
  • php 密码加密
  • php实现微信支付功能
  • mysqldump命令不存在
  • c语言内嵌汇编
  • 分公司可以分配利润吗
  • 织梦使用教程
  • 实收资本核算有哪些要求
  • 物业合并利润表怎么填
  • 固定资产折旧和无形资产摊销
  • mysql数据库的设计与实现
  • 小企业会计准则和企业会计准则的区别
  • 金税四期对企业影响
  • 工程外经证预缴税款计税方法
  • 私车公用的风险防范
  • 委托收款背书和质押背书都属于转让背书
  • 银行存款的收付应严格执行()的规定
  • 缴纳工会筹备金应该记什么科目
  • 建账在哪里完成
  • 2021年会计做账报税详细流程
  • 税收会计记账方法
  • 磁盘清理后文件还在吗?
  • 怎么在windows
  • linux怎么恢复数据
  • wind10应用商店
  • 持久化存储数据的方式
  • nodejs middleware
  • 厦门翔安到同安有多远
  • 可视化gradcam
  • node.js入门教程
  • NGUI学习笔记汇总
  • nodejs图片上传
  • python做开发
  • javascript用什么运行
  • javascript数组操作方法
  • 湖南税务局发票查询
  • 国家税务总局办税指南
  • 广东地税局领导班子
  • 车辆营运证去哪里审
  • 税务有哪些方面
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设