第二章:随机网络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. find命令排除指定目录搜寻文件

    Find 命令在指定路径中搜索筛选文件,并排除非期望目录. 第一种: 语法: find <path> [-path <path> -prune -o] [...] 中括号是可选 ...

  2. Vue 使用插件nprogress页面加载进度条

    下载 npm i nprogress 在main.js中引入: import App from './App' import VueRouter from 'vue-router' import ro ...

  3. 004Java的一些基本概念

    004Java的一些基本概念 1.Java特性和优势 Java至少具有以下特性: 简单性(没有头文件.没有指针运算.也没有分配内存等操作) 面向对象(万物皆对象) 可移植性(一次编写,到处运行 Wri ...

  4. Integer类自动拆箱,装箱解析

    1.自动拆箱 例1: int i1 = 10; Integer i2 = new Integer(10); System.out.println(i1 == i2); 这个结果是true i1为基本数 ...

  5. nginx配置权重,ip_hash....

    nginx为后端web服务器(apache,nginx,tomcat,weblogic)等做反向代理 几台后端web服务器需要考虑文件共享,数据库共享,session共享问题.文件共享可以使用nfs, ...

  6. Serverless 遇到 FinOps: Economical Serverless

    Serverless 遇到 FinOps: Economical Serverless 摘要:本文基于 FunctionGraph 在 Serverless 领域的 FinOps 探索和实践,提出业界 ...

  7. Python学习笔记W1

    今天正式开始学习Python语言,学习方式观看教学视频,完成作业.视频共计28周,争取每天2天完成一周教学内容,共计56天,预计完成日期:2019-2-28.     Owen写于2018-12-22 ...

  8. lua脚本概述

    1.lua脚本非常简单,轻量级,易于c/c++调用 2. 协程 是什么,与线程有啥区别 ??

  9. ServletConfig接口介绍

    前言: Servlet 容器初始化 Servlet 时,会为这个 Servlet 创建一个 ServletConfig 对象,并将 ServletConfig 对象作为参数传递给 Servlet .通 ...

  10. https加密过程!!! 这才是差不多非常详细的https双方获取共用的秘钥过程!!!!!

    前言 先说看了一天各种博客让我恶心的地方,恶心死了,发现每个人说的第一次发送的内容,数字证书里面包含啥,都有各种不一样!到了最后忽然想起来直接搜着报文就行了. 比如这个博客LS/SSL 协议详解 (9 ...