复杂网络理论及其应用
1 基本概念
1.1.1 聚类系数:
某个顶点 i , 与之相连的三角形数量/与之相连的三元组的数量。
1.1.2 度及度的分布
完全随机网络的度的分布近似为Poisson分布。其中,Poisson分布近似的可以认为是二项分布nà∞,p很小, np ~λ时的近似,泊松分布的均值λ~np。这样的网络也称为均匀网络。
幂律分布,度的分布ln ( P(k) ) ~ -r ln (k)。又称为无标度分布。它是不均匀分布的网络。
函数的无标度性质,任意常数a,存在常数b,使 f (ax) = b f (x);
有适当的幂律形式的大规模无标度网络,大部分结点的度相对很低,但是存在少量度相对很高的节点,这些节点称为网络的hub。
(幂律分布不同于指数分布,它们分别在对数坐标系以及半对数坐标系下为一条直线)
2 网络拓扑基本模型及其性质
2.1 规则网络
全局耦合网络:平均路径为1且聚类系数为1
最近邻耦合网络:平均路径为∞,且聚类系数极限约为3/4
星形网络:平均路径为2 且聚类系数为0
(网络的结构是规则的)
2.2 随机图
边是完全随机的。有小的平均路径长度,没有高聚类特性
2.3 小世界网络模型
是从完全规则网络向随机网络的过渡。
小世界模型的构造算法
1、 构造规则图
2、 随机化重连:以概率p随机地重连网络中的每个边。(WS小世界)
P的值可以控制从规则网络到随机网络的过渡,当p=0时为完全规则,p=1时为完全随机。
P也决定了聚类系数以及平均路径长度。
2、 (2)随机化加边:(NW小世界)
p=0是最近邻耦合网络,p=1是全局耦合网络。
2.4 小波分析
小波分析的目的是干什么呢?
连接矩阵有什么特点?
2.5 无标度网络
度分布具有幂律特性。无标度网络模型
构造算法。
1、 增长:引入新的节点
2、 优先连接:连接的概率与已存在的节点的属性有关。
a) 适应度模型:引入适应度来表示节点的特性。
b) 局域世界演化模型:选取局域世界,优先连接概率与局域世界有关。
问题:什么是有限支撑和无限支撑。
幂律特性使网络同时具有鲁棒性和脆弱性。
2.6 模块性与等级网络
模体motif:复杂网络中的一些子图所占的比例明显高于同一网络完全随机化形式中这些子图所占的比例。
产生随机化网络的方法,是在原网络的基础上随机交换连接对,直至充分随机化。
判断实际网络中子图是否为模体的依据:
1、 子图在随机化网络中出现次数大于在实际网络中出现次数的概率小于某个阈值:在随机化网络中较少出现
2、 子图在实际网络中出现次数大于某个下限。:出现次数够多
3、 在实际网络中出现的次数明显高于在随机网络中出现的次数。:在实际网络明显多于随机网络出现。
重要性剖面:significance profile。
子图的统计重要性
相同类型的网络不仅具有相同的模体,而且各模体在网络中的相对重要性也相似。
2.7 自相似性
局部在某种意义上与整体相似。是分形的一个基本特性。
分数维:图形的维数。盒子计数法。
最少盒子集合的问题,类似于经典的图着色问题。
重整化网络(有点类似图论中的)
3 Internet拓扑特性及建模
幂律分布:讨论哪些参数之间有幂律关系,幂律的指数为多少。
层次性
富人俱乐部特性:有少量节点,具有大量的边,它们之间倾向于彼此之间相互连接。
异配性:
K核:反得去掉度小于等于k的节点后,所剩余的子图。
核数:若一个节点存在于k核中,而有k+1核中被移去,则此节点的核数为k。
介数:衡量通过网络占该节点的最短路径的数目。
分析了多种产生器,生成方法以及特征分析。(没仔细看)
层次性:表现为随机生成结点时,先按某种分布选择区域,再选择局域中的加边的方式。
4 复杂网络上的传播机理与动力学分析
(申注:讨论的是在一个固定的网络结构上,一些特性的传播特点,那么在软件系统中,这些可传染的东西是什么呢? Bug ?,还有可能是哪些特性)
很多公式见参考文献:Pastor-Satorras R, Vespignani A: Epidemic dynamics and endemic state in complex network.
4.1 传播临界值理论
应用平均场论中的一些公式,分析。并得到不同类型 的网络中传播临界值,并与实际中的数据进行分析。
4.1.1 均匀网络
基本假设:均匀性假设,均匀混合假设,结点的生命周期远高于传染时间尺度。
(申注:这个理论中值的确定后的结果与随机过程中的有些理论的结果看上去很相似,那么这个理论与随机过程中简单的传染模型有什么异同,该模型的特点是什么呢?)
4.1.2 无标度网络
去掉均匀网络的均匀性假设。根据均场方程。得到传播临界值。
传播临界值与节点度的均值以及分布有关。
无标度网络的传播临界值特性,反映了对病毒传播的脆弱性。
4.2 复杂网络的免疫策略
4.2.1 随机免疫
随机选取免疫节点,与节点的度以及其它特性无关。根据传播速率与节点度的特性,可以计算免疫的临界值,以保证可以最终消灭病毒。
4.2.2 目标免疫
根据网络的不均匀特性,选取少量度最大的节点进行免疫。
目标免疫需要知道网络的全局特性。
4.2.3 熟人免疫
随机选取一些节点,对这些节点的某些邻居节点进行免疫。
由于度比较高的节点,成为别人节点的邻居节点的可能性成很高,所以这种方法在不知全局信息的情况下,也能比较好的实现免疫。
4.3 复杂网络的传播动力学
临界值理论只考虑了传播的最终稳态。传播动力学研究传播过程中出现的如震荡等动态行为。
(这里的分形、混沌与分岔看不懂,不知是在说什么,从哪个角度说的。)
对传播过程会产生影响的因素包括:时滞,非线性摩擦等阻碍因素。
在传播方程中引入这些参数,对于不同的参数的取值,可能出现混沌、稳定、分岔等不同传播过程。
(这里的不动点是什么意思?)
5 复杂网络上的相继故障
部分节点或边发生故障,会根据节点之间的关系,引起其它节点发生故障。
5.1 动态模型分析
负荷 -容量模型:
节点上有负荷,并有容量的限制,当发成故障后,负荷分给相邻的节点,从而引起相继故障。
边上的负载过载引起的网络结构变化。
节点过载的情况下,相继故障发生以后,网络中只有互不相连的小规模的节点集团。
边过载的情况下,仍会有较大的节点集团,若网络增长采用随机连接方式,则网络对于边过载具有较强的抵抗性。
6 复杂网络上的搜索
最短路径:
定义搜索网络的模型,进行贪婪、发散式的搜索。
一个有效的分散式算法需要在绝对灵活性的适当的限制之间平衡。
特点是:每个节点只知道网络的局部结构,而无法掌握网络的全局结构,甚至不知道目标节点在网络中的位置。
6.1 广度优先搜索策略
在寻找节点之间的路径是很有效的,由于查询是并行的,所以搜索范围以几何级数增长,搜索速度很快,但是这样的处理方式会在网络中产生大量的查询消息量,使网络流量急增。
6.2 随机游走搜索策略
每次选择一个邻居节点来进行下一步的查询。
三种随机游走策略:无限制的随机游走,不返回上一步节点的随机游走,不重复访问随机游走。
6.3 最大度搜索策略
每个节点都认识自己的邻居,且知道每个邻居的度。
查看当前节点的邻居中有无目标节点。无的话,查询其度最大的节点,进行迭代。
可以多次访问同一节点,但是同一条边只能被访问一次。若当前节点相连的所有节点都被访问过,则返回上一节点。
6.4 P2P网络中的搜索
6.4.1 集中式P2P系统
存在集中式的目录服务器
6.4.2 分散式结构化P2P系统
结构化意味着,文件分布与网络拓扑紧密相关。
6.4.3 分散式的非结构化P2P系统
文件分布与网络拓扑松散相关,整个系统的拓扑结构服从一定的特性,但是节点的分布与拓扑结构无关。
通常采用广播或受限广播来进行资源定位,具有较好的自组织性的扩展性。但是对稀疏资源的召回率低。
Gnutella网络是用广播的方法实现广度优先搜索,速度比较快,但是网络上的查询数据流量过大。
改进算法:
1、 广度优先的改进
a) 迭代加深:每搜索了k层之后,停下来,看是否找到了目标,找到就不再进行迭代,否则再深k层。
b) 有向广度优先:源节点知道邻居节点的一些统计信息,向那些统计信息反映出的有可能有高质量返回结果的邻居,发查询信息。
2、 随机游走的改进
a) K遍历随机游走:每次将查询的消息传给k个邻居。流量与速度是广度优先以及随机游走的折中。
7 复杂网络中的社团结构
7.1 引言
分级聚类算法:基于各个节点之间连接的相似性或者强度,把网络自然的划分为各个子群。根据从网络中添加边还是从网络中移除边,又可分为凝聚方法和分裂方法。
凝聚方法的基本思想是用某种方法计算出各节点对之间的相似性,然后从相似性最高的节点对开始,往一个节点数为n而边数为0的原始空网络中加边。可以中止于任何一点。(那么,中止的这点就决定了分类的一些特性)
分裂算法,一般是从所关注的网络着手,试图找到已连接的相似性最低的节点对,然后移除连接它们的边。
7.2 Kernighan-Lin算法
一种试探优化法,基于贪婪算法原理。将网络划分为两个大小已知的社团的二分法。基本思想是为网络的划分引入一个增益函数Q:定义为两个社团内部的边数-连接两个社团之间的边数。寻找使Q最大的划分方法。
该算法要求网络的两个社团大小必须事先知道。
7.3 谱平分法
基本思想:构造Laplace矩阵L = K-A;其中A为网络的连接矩阵,K为一对角矩阵,对角线上的元素对应的网络中各个节点的度。(申注:这里的谱平分就是用的矩阵论中的谱分解理论).若网络可以完全分解为几个独立的社团,则L有非0的特征值。可以谱分解。
若网络具有较明显的社团结构,但是社团之间并不完全独立,则L不通进行谱分解。但是其特征值,是一些比0略大的值。当特征值越接近0则,谱平分法得到的结果越好。(最优化老师好象讲过一些特征值,分解矩阵的方法,近似方法)
谱平分法是指只取第二三小的特征值,来进行分解。它的缺点是每次只能把网络分为两个社团,且若不能明显的分为两个社团的话,则该算法未必很有效。
7.3.1 一种线性时间的物理方法
Wu&Huberman基于电阻网络电压谱的快束谱分割法。
已知网络社团数目:
两社团,且有两个节点A,B分属不同的社团。令A为源节点,设电压为1,B为目标节点电压为0,每条边对应一个值 为1的电阻,则由电压的相关性质,可以计算出所有节点的电压值。然后设定电压的阈值来进行分类。
也可 以随机选一个源节点,几个目标节点,多次分类之后,对结果进行比较。
阈值的设定与生成的电压谱有关。可以在某个范围中找合适的阈值 。
7.3.2 基于Normal矩阵的谱平分法
N=K-1A.分析N的特征向量,若社团比较明显,则特征向量里的元素成明显的阶梯状。
7.4 分裂方法
7.4.1 GN算法
基本流程:
1、 计算网络中所有边的介数
2、 找出介数最高的边并移除它。
3、 重复2,直到每个节点为一个退化的社团
求介数:对于每个节点,以之为源节点,生成最小生成树,计算每个节点最短路径的次数。把每个节点所有的这些次数相加,为所有节点对之间的最短路径的边介数。
当两点间的最短路径不唯一时,就给这些最短路径分配权重,使最后的介数的和为与节点数相关。
GN算法对网络的社团结构并没有一个量的定义。在不知社团数目的情况下,并不能知道分解要到哪一步终止。所以引入了模块度的概念(具体定义见书P173)。模块度Q表示了网络中连接两个同种类型的节点的边的比例与同样的社团结构下,任意连接 这两个节点的边的比例的期望值。
每分裂一次(社团个数加1)则计算一次Q,得到Q的局部峰值,峰值的位置与社团的划分位置相关,而峰值的高度则可以作为该社团划分方法的强度判断标准。
该算法耗时比较大,仅适用于中等规模的网络(节点数10000以下)
7.4.2 采用节点集的GN算法
可显著地提高计算速度,但是也降低了计算的准确性。
选取一个节点集为源节点,来计算边介数,这个节点集中的节点越多,得到的边介数就越接近真实的介数。但是当节点集中的节点数较小时,该算法也可以得到比较好的结果。从统计上来说,因为只需要找到最大介数的边,因此,这样做是有道理的。
7.4.3 自包含GN算法
GN算法中,需要一些附加的信息来判断所求的社团结构是否有实际意义。反得计算,因此,计算复杂度较大。
GN算法使用状图来保存其所得结果,
强社团结构:社团中任何一个节点与这个社团内部其它所有节点的连接,比它与该社团外部的所有节点的连接都要紧密。
弱社团结构:社团内部节点间的相互连接比这些节点与社团外部的节点的联系更加紧密。
自包含GN算法的基本流程:
1、 选择社团的强定义或弱定义
2、 计算边的介数,并移去介数最大的边。
3、 如果移除后没有新的子网被分解出来,则重复2
4、 产生新的子网,则判断分解出来的子网络中至少要有两个子网络满足社团定义。若是,则在树状图中添加相应的部分。
7.4.4 快速分裂算法
基本思想:用边聚类系数取代GN算法中的边介数来衡量连接两个不同社团的边。每次移除具有最小聚类系数的那条边。
7.4.5 基于相异性的算法
以距离矩阵为基础,定义节点间的相异性指数矩阵,得用相异性系数来描述网络的社团结构。
7.4.6 基于信息中心度的算法
7.4.7 总结(申)
结合本节提出的几种算法,它们的思想都是一致的,计算边的一些特定值(边介数、边聚类系数,相异性,信息中心度等),按照顺序,删除一些边,再判断生成的子网络是否是社团结构。
7.5 凝聚算法
7.5.1 Newman快速算法
适用于大规模的方法。
自底向上,每次合并使模块度增大最大的节点。是一种贪婪算法。
7.5.2 结合谱分析的凝聚算法
首先利用谱分析的laplace矩阵将网络中的各个节点在特征向量空间中表述出来,然后引入一种衡量节点间的相似性标准,并利用凝聚算法得到一个社团结构树状图,最后根据模块度的大小求取社团分解最佳情况。
引入社团之间距离:可以有多种定义方法:两社团节点对之间最短/最长距度,以及其它可以用的距离。
7.6 派系过滤算法
8 复杂网络中的同步
网络的拓扑结构与网络的同步化行为之间的关系。
每个节点有状态方程。其状态方程有与其它节点的耦合项。
(分析过于数学,看不懂,且没看出来有什么可以应用的地方,所以就没有看)
9 复杂网络中的控制
利用元标度网络结构的非均匀性,有针对地对网络中的少数关键节点施加反馈控制,就可以将规模庞大的复杂动态网络稳定到平衡点,获得很高的控制效率。
文章出处:http://blog.csdn.net/candysjf/article/details/3679043
文章最后发布于: 2015-11-22 10:18:59
相关阅读
在一台装了Windows Server 2003的操作系统上运行一个视频软件,提示“应用程序正常初始化(0x00000005)失败”。但是在某些Window
在单页应用中使用WebWork JS为了避免DOM渲染冲突,使用单线程运行代码。虽然浏览器通过事件循环队列延后处理耗时任务,但是在执行大
朴素贝叶斯是基于“特征之间是独立的”这一朴素假设,应用贝叶斯定理的监督学习算法。基于条件概率的贝叶斯定律数学公式朴素贝叶斯
C#中ref和out关键字的应用以及区别。refref的定义ref 的使用outout的定义:来自MSDNout的用法ref和out的区别Stack Overflow的解释:
HandlerThread是什么? 它就是一个线程,一个实现了Handler通信机制的线程,也就是说不用我们再去实现Looper的一系列工作了。实现了这