小世界网络 | NW小世界网络模型

耦合动力系统网络 (networks of coupled dynamical systems) 被广泛用于自组织系统 (self-organizing systems) 建模, 其连接拓扑结构常被认为是完全规则或完全随机的, 但事实证明大量生物、技术与社交网络的结构介于二者之间.

Watts & Strogatz (1998) 提出了一个对介于完全规则与完全随机之间的网络结构进行建模的简单模型, 即著名的WS小世界模型

Newman & Watts (1999) 认为该模型在分析上存在一些问题, 主要是平均距离的定义不明确. 因为边的随机化重连可能导致网络的不连通, 这会使得某些节点之间的距离变为无穷, 从而导致网络的平均距离也为无穷. 显然, 这无法保证生成的小世界网络具有较短的平均路径长度.

当然, 在技术上可以通过对节点数
与初始边数之间的关系进行约束来保证连通性, 但在模型层面, 网络的连通性仍然是无法保证的.
为此, 他们提出了新的小世界网络生成算法, 即NW小世界模型. 该模型的构造过程仍然是从规则网络开始的, 与WS模型一致, 不同之处在于它将WS模型的随机化重连变成了随机化加边. 具体来说, 该算法的步骤为:
构造规则网络: 从具有个节点的零图开始, 令其绕成一个环, 每个节点分别与左右两边相邻的个节点相连, 其中为偶数;
边的随机添加:对于规则网络的每一条边, 依概率随机选择一个节点, 并添加新边至网络中.
通过上述步骤, 便完成了NW小世界网络的构造. 相关研究表明, 当足够大时, NW模型与WS模型完全等价.
需要注意的是, NetworkX库中对NW模型的实现与原始文献是存在差别的, 原始文献明确表明, 允许自环和重边的存在以简化网络分析, 但NetworkX中仍然排除掉了自环与重边.

前言: 最近学Windows shell外壳,偶然发现了SHChangeNotifyRegister这个神奇的函数,于是便用它写了个例程。 本帖不少思想来自帖子:未公开Windows API SHChangeNotifyRegister实现文件监控 基本介绍: 在Windows实现文件监控有三种方法,第一种是“虚拟文件系统驱动”方法,如windows 下的filemon,网上有很多关于他的分析。第二种方法是“HOOK API”方法,钩子技术。第三种方法是“消息机制”,从windows的文件通知消息获取系统的文件操作。但是这是文件操作完成以后,才通知的。所以只能进行监视监视,不能进行完全的控制。而消息机制当中,也有三种方法,(1)通过使用“未公开API SHChangeNotifyRegister 实现”;(2)通过 FindFirstChangeNotification 实现;(3)通过 ReadDirectoryChangesW 实现。第(2)(3)种方法只能针对一个在指定目录或子目录下发生的更改符合过滤条件时,进行监视。 而现在,易语言 中大部分消息机制监视文件使用FindFirstChangeNotification或ReadDirectoryChangesW + 线程实现的(例如:文件监控精灵 - 监控目录文件新建删除重命名修改 ),该方法效率较低,而且如果很多文件在短时间内发生变更,则有可能会丢失部分通知,且监视的文件信息有限,所以,我写了一份使用SHChangeNotifyRegister来监视文件的例程。 特性: 代码几乎是全注释,清晰明了: 程序很多命令和常量是翻译自MSDN,规范程度高: 监视多种消息(比如USB接口信息),很多问题一个命令即可解决:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Matlab建模攻城师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值