第二章:随机网络Erdős-Rényi Network (ER网络)

随机网络的两种定义形式:

\(G(N,L)\)模型:N个节点,L条边随机链接。

\(G(N,p)\)模型:N个节点,每个节点之间以p的概率连接。

随机网络恰好有L条链接的概率为:即 1)2)3)的乘积。是一个二项分布,所以二项分布的均值,矩,二阶矩等都很常用。

1)L个点对之间存在链接的概率 2)剩余\(N(N-1)/2 -L\) 个点对之间没有链接的概率 3)在所有点对中选择L个点对放置链接的选择方式。

\[p_L= {\frac{N(N-1)}{2} \choose L}p^L(1-p)^{\frac{N(N-1)}{2}-L}
\]

显然,我们能够算出期望链接数\(<L>=p\frac{N(N-1)}{2}\), 平均度 \(<k>=p(N-1)\)

度分布:\(p_k\)一个节点\(i\)有\(k\)个链接的概率。

对ER图而言,

\[p_k={N-1 \choose k}p^k(1-p)^{N-1-k}
\]

即ER图的度分布服从二项分布。(在\(N\gg <k>\)时,二项分布可以近似为泊松分布,它们的性质类似,但是二项分布有两个参数,泊松分布只有一个参数)

注意:大部分真实网络是稀疏的,所以网络的平均度远小于网络大小,即\(N\gg <k>\)。

\[p_k=e^{-<k>}\frac{{<k>}^k}{k!}
\]

由此,因为泊松分布不依赖于N,所以平均度相同但规模大小不同的随机网络的度分布几乎一样。

所以在大多数时候,我们使用泊松形式来刻画随机网络的度分布。

真实的网络不是泊松分布

事实上,在大的随机网络中,大多数节点的度分布在附近的狭窄范围内。随着k的增大,在ER图中观测到枢纽节点的概率比指数下降还快。

真实网络和随机网络的差异:

  1. 泊松分布低估了大度节点的个数。
  2. 真实网络中度的分布范围比随机网络中所预计的要宽得多。

随机网络的演化

考虑一个动态过程,从N个独立节点开始,链接被逐个放置在随机两个点之间。这一过程等价于逐渐增加p值。在p增加到一定程度时,巨连通块出现,其条件为\(<k>=1\).由此,网络越大,形成巨连通块所需的p就越小。(巨连通块:giant component)

上面这图详细的表现了随着的增大,巨联通块的变化。

注意在临界点状态的网络有很多性质和处于相变状态的物理系统的性质相似。(为什么会发生这样的改变呢????!!!!)

不同子图在随即图中的出现存在阈值概率。

真实网络是超临界的

随机网络理论对真实网络的两个预测:

  1. 当平均度达到=1后,巨联通块会出现,在超过1后节点才能自组织成一个网络。
  2. 当\(<k>> lnN\) 时,所有联通块都被巨连通块吸收,从而形成一个联通网络。

小世界网络

随机网络的直径为:

\[d_{max} \approx \frac{lnN}{ln<k>}
\]

小世界性质一般定义为:

\[<d> \approx \frac{lnN}{ln<k>}
\]

当\(d><d>\)时,和起始节点距离为d的节点数迅速减少。

集聚系数

随机网络中局部集聚系数为:

\[C_i=\frac{<k>}{N}
\]

这个公式给出了两个预测:

  1. 在给定的情况下,网络越大,节点的集聚系数越小
  2. 在随机网络中,节点的局部集聚系数和节点的度相互独立。

但是真实网络和预测2中描述的不符。随机网络不能刻画真实网络的集聚特性。在具有同样的N和L的情况下,真实网络的集聚系数比随机网络预测的集聚系数高得多。

WATTS-STROGATZ MODEL 解决了高集聚系数和小世界性质共存的问题。

小结:真实的网络不是随机的

定量的来判断随机网络能在多大程度上刻画真实网络:

1)度分布 2)连通性 3)平均路径长度(小世界现象) 4)集聚系数

  1. 度分布:真实系统中,大度节点的数量要比随机网络模型预测的多得多。
  2. 连通性:根据随机网络的预测,在网络满足\(<k> > 1\)但不满足\(<k> > lnN\)的条件时除了巨联通块,还包含一些独立的小联通块,而大多数真实的网络中不包含独立的小连通块。
  3. 平均路径长度:随机网络有不错的近似,能解释小世界现象。
  4. 集聚系数:随机网络中,局部集聚系数和节点的度无关,以1/N 依赖于网络大小N,但是真实网络中C(k) 随着节点度的增大而减小,且与网络大小基本无关。

WATTS-STROGATZ MODEL 解决了高集聚系数和小世界性质共存的问题,但没法解释度分布和C(k)。

随机网络的指南作用

每当观测到某种网络性质时,我们都会问,该性质是否只是偶然出现的。为此,我们可以使用随机网络模型作为指南:如果该性质在随机网络中存在,则意味着它可以用随机性解释。如果该性质在随机网络中不存在,则它很有可能标志着某种秩序——需要更深入的解释。

最大度和最小度

网络的自然上界\(k_{max}\),使得网络中最多只有一个节点的度大于\(k_{max}\),数学上着意味着\(k>k_{max}\)的区域面积应该趋于0.

小世界的修正

Network Science:巴拉巴西网络科学学习笔记3——第二章随机网络的更多相关文章

  1. Stealth视频教程学习笔记(第二章)

    Stealth视频教程学习笔记(第二章) 本文是对Unity官方视频教程Stealth的学习笔记.在此之前,本人整理了Stealth视频的英文字幕,并放到了优酷上.本文将分别对各个视频进行学习总结,提 ...

  2. Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第二章:矩阵代数

    原文:Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第二章:矩阵代数 学习目标: 理解矩阵和与它相关的运算: 理解矩阵的乘 ...

  3. UNP学习笔记(第二章:传输层)

    本章的焦点是传输层,包括TCP.UDP和SCTP. 绝大多数客户/服务器网络应用使用TCP或UDP.SCTP是一个较新的协议. UDP是一个简单的.不可靠的数据报协议.而TCP是一个复杂.可靠的字节流 ...

  4. 【学习笔记】第二章 python安全编程基础---python爬虫基础(urllib)

    一.爬虫基础 1.爬虫概念 网络爬虫(又称为网页蜘蛛),是一种按照一定的规则,自动地抓取万维网信息的程序或脚本.用爬虫最大的好出是批量且自动化得获取和处理信息.对于宏观或微观的情况都可以多一个侧面去了 ...

  5. Linux学习笔记 一 第二章 Linux系统安装

    Linux系统安装 一.首先安装VMware 虚拟机 下载网址:https://www.vmware.com/cn/products/workstation-pro/workstation-pro-e ...

  6. JavaScript DOM编程艺术-学习笔记(第二章)

    1.好习惯从末尾加分号:开始 2.js区分大小写 3.程序界万能的命名法则:①不以,数字开头的数字.字母.下划线.美元符号 ②提倡以下划线命名法来命名变量,以驼峰命名法来命名函数.但是到了公司往往会身 ...

  7. ArcGIS API for JavaScript 4.2学习笔记[4] 第二章其余感兴趣的例子

    先马克,估计要用到的有: 视图存档 2D地图添加指南针 视图移动 鹰眼 2D3D视图同步.同视图不同数据同步 以后实战的时候再仔细研究研究.

  8. 流畅的python学习笔记:第二章

    第二章开始介绍了列表这种数据结构,这个在python是经常用到的结构 列表的推导,将一个字符串编程一个列表,有下面的2种方法.其中第二种方法更简洁.可读性也比第一种要好 str='abc' strin ...

  9. Python基础教程学习笔记:第二章 列表和元组

    1.序列中元素的索引: 第一个元素索引是0,第二个是1,依次递增 最后一个元素索引是-1,倒数第二个是-2,依次递减 2.序列(Sequence)的种类: 列表(list).元组(tuple).字符串 ...

  10. STL学习笔记(第二章 C++及其标准程序库简介)

    本章重点是介绍与C++标准程序库相关的几个最重要的语言新特性 template(模板) 程序库中几乎所有东西都被设计成template形式.所谓templates,是针对“一个或多个尚未明确的型别”所 ...

随机推荐

  1. RKO组——冲刺随笔(1)

    这个作业属于哪个课程 至诚软工实践F班 这个作业要求在哪里 第五次团队作业:项目冲刺 这个作业的目标 记录冲刺计划.要求包括当天会议照片.会议内容以及项目燃尽图(项目进度) 1.昨日进展 小组成员讨论 ...

  2. Realtek 平台一些乱七八糟的编译环境设置

    1. 129x 系列之后的就推荐用ubuntu 16.04了 省去一些GCC ,tar,quilt 等问题 Android 平台: sudo apt-get install u-boot-tools ...

  3. 第3章---数据探索(python数据挖掘)

    1.缺失值分析及箱型图 数据:catering_sale.xls(餐饮日销额数) 缺失值使用函数:describe()函数,能算出数据集的八个统计量 import pandas as pd cater ...

  4. lcd 驱动程序框架分析

    在嵌入式产品中,lcd的用途可谓很大,很多产品都会用到lcd作为人机交互的接口,在linux内核中当然也有lcd的驱动,内核中都是做好了框架,用平台设备来添加和管理不同的lcd驱动程序,因为每款arm ...

  5. api加密与校验

    一.函数代码 /** * 校验 * @data (请求的数组) * @salt (加密盐) * */ private function verify(array $data, $salt){ $sig ...

  6. 表单笔记-Antd(Form)

    antd表单使用笔记 import React, { useState, useEffect, useRef } from "react"; import { Form, Inpu ...

  7. 关于JDBC的学习

    一.JDBC简介 JDBC是连接java应用程序和数据库之间的桥梁. 什么是JDBC? Java语言访问数据库的一种规范,是一套API. JDBC (Java Database Connectivit ...

  8. python数据结构转字符串_python2中字符不显示问题_python2_递归

    # encoding:utf-8 def get_str(data): """将python数据转化为肉眼可见的字符串 :param data: str.dict.lis ...

  9. vue使用阿里oss上传

    1.首先用包管理工具 npm install ali-oss --S 下载oss依赖包 2.在util文件里创建util.js文件,在该文件写入 export default { getClient: ...

  10. 使用arcgis按掩膜批量处理MODIS.tif数据提取研究区.shp边界的python代码

    在输入代码之前,需要先用arcgis把需要处理的数据导入,再把研究区shp导入,然后定义投影,先掩膜处理一个数据,再进行下一步输入代码批量处理数据的步骤.如果 不先定义投影,可能会出现输入代码不执行的 ...