第一章 引论
1.1 引言
- 网络分类: I n t e r n e t Internet Internet和移动通信网络, W W W WWW WWW,交通网络,电力网络,经济网络,社会关系网络,神经网络,生物网络,生态网络等等
1.2 网络时代的网络研究
1.2.1 Internet
-
实际网络的重要特征:随时间 t t t演化。
-
鲁棒性:控制系统在一定的参数摄动下,维持其他性能的能力。
-
I n t e r n e t Internet Internet的拓扑结构
- I P IP IP地址层次;
- 路由器层次;
- 自治系统层次。
1.2.2 W W W WWW WWW
-
W W W WWW WWW:一个有向网络。
-
P a g e R a n k PageRank PageRank算法
- 页面重要性
(a)指向页面的数量;
(b)权重。
- 页面重要性
1.2.3 电力与交通网络
- B r a e s s Braess Braess悖论:在个人独立选择路径的情况下,为某路网增加额外的运输能力,反而会导致整个路网的运动水平的降低。
1.2.4 生物网络
1.2.5 金融与经济网络
1.2.6 社会网络
-
M i l g r a m Milgram Milgram小世界实验
地球上任意两个人之间的平均距离是6 -
K e v i n B a c o n 游戏 Kevin Bacon游戏 KevinBacon游戏
-
E r d o s Erdos Erdos数
-
I n t e r n e t Internet Internet上的小世界实验
-
弱连带的强度
- 人际之间亲密的关系成为强连带
- 一般的关系成为弱连带
1.2.7 科研与教育的网络化
1.3 网络时代的网络科学
1.3.1 为什么需要网络科学
- 网络科学试图在已有的各种与研究网络相关的学科之间架起沟通的桥梁,是的对于某一个网络的研究也有可能对于另一个网络的研究起到借鉴作用。
1.3.2 网络科学的研究内容
- 结构复杂性;
- 节点复杂性;
- 结构与节点之间的相互影响;
- 网络之间的相互影响。
- 研究内容步骤:
发现 → \rightarrow →建模 → \rightarrow →分析 → \rightarrow →设计 → \rightarrow →网络工程。
1.4 本书内容简介
-
第一部分:网络基本概念(第2章)
-
第二部分:网络拓扑性质(第3-5章)
- 第3章:介绍了网络的连通性
- 第4章:网络的二阶度分布特性(度相关性)
- 第5章:判断节点重要性的几个重要指标
-
第三部分:网络拓扑模型(第6-8章)
- 第6章:介绍了几类典型的网络随机模型
- 第7章:小世界网络模型
- 第8章:无标度网络模型
-
第四部分:网络动力学(第9-11章)
- 第9章:传染病模型的基本知识与结果
- 第10章:介绍几个经典的网络博弈模型
- 第11章:同步判据;同步化能力与拓扑性质间的关系;介绍复杂网络的前置控制和可控性
第二章 网络与图
2.1 引言
- 图提供了一种用抽象的点和线来表示各种实际网络的统一方法
- 网络的拓扑性质:指拓扑性质只与网络中有几个节点以及哪些节点之间的直接相连这些基本特征有关
- 七桥问题:
2.2 网络的图表示
2.2.1 图的定义
- 一个具体的网络可以抽象为一个由点集 V V V和边集 E E E组成的图 G = ( V , E ) G =(V,E) G=(V,E)。顶点数记为 N = ∣ V ∣ N = \lvert V\rvert N=∣V∣,边数记为 M = ∣ E ∣ M = \lvert E\rvert M=∣E∣,网络中的点通常称为节点 ( N o d e ) (Node) (Node),在图中的点称为顶点 ( V e r t e x ) (Vertex) (Vertex)。
2.2.2 图的类型
-
类型
-
1.加权有向图
- 有向边( i , j i,j i,j):起始点 i → i\rightarrow i→终点 j j j。
- 边上赋有权值,表示两个节点之间的强度关系
-
2.加权无向图
边:无向,有权
-
3.无权有向图
边:有向,无权( w i j = 1 w_{ij}=1 wij=1)
-
4.无权无向图
边:无向,无权( w i j = 1 w_{ij}=1 wij=1)
2.2.3 简单图(无权无向无自环)
-
在图论中,没有重边和自环的图称为简单图。
-
假设图 G = ( V , E ) G =(V,E) G=(V,E)是一个顶点数为 N N N,边数为 M M M的简单图。有如下关系:
0 ≤ M ≤ C n 2 = N ( N − 1 ) 2 , (2.1) 0\leq M\leq C_n^2=\frac{N(N-1)}{2},\tag{2.1} 0≤M≤Cn2=2N(N−1),(2.1)-
两种极端情形
- (1)空图:无节点,无连边,只有孤立节点
- (2)完全图 K N K_N KN:边数 C n 2 C_n^2 Cn2
-
-
如果图 G G G是有向图:完全图边数为 2 C n 2 2C_n^2 2Cn2
- 取值:
0 ≤ M ≤ N ( N − 1 ) , (2.2) 0\leq M\leq N(N-1),\tag{2.2} 0≤M≤N(N−1),(2.2)
完全图中的边是与 N 2 N^2 N2同阶,边很稠密。然而在实际网络中相同规模的完全图一般与 N N N同阶,这样的网络通常称为稀疏网络。
- 取值:
2.3 图的计算机表示
- 表示图的最基本的方式为:邻接矩阵与邻接表。
2.3.1 邻接矩阵
-
图G的邻接矩阵 A = ( a i j ) N × N A = (a_{ij})_{N\times N} A=(aij)N×N
- (1)加权有向图
- (2)加权无向图
- (3)无权有向图
- (4)无权无向图
- (1)加权有向图
-
无向图的邻接矩阵是对称矩阵。
2.3.2 邻接表与三元组
-
邻接表:稀疏、无权
( i ∣ 与 i 连接的顶点 ) (i\lvert 与i连接的顶点) (i∣与i连接的顶点)
-
三元组
( i , j , 权值 ) (i,j,权值) (i,j,权值)
2.4 共引与文献耦合
有向网络 → \rightarrow →无向网络:共引与文献耦合
2.4.1 共引文献(引用 → \rightarrow →被引用)
- 被引用两个节点 i i i与 j j j(两篇文章)之间有无向边
- 一般来讲,一个有向网络中两个节点 i i i和 j j j的共引:同时有出边指向节点 i i i与节点 j j j的数量。
- 如果节点
k
k
k同时有两条出边指向节点
i
i
i与节点
j
j
j,那么
a
k
i
a
k
j
=
1
a_{ki}a_{kj}=1
akiakj=1,否则
a
k
i
a
k
j
=
0
a_{ki}a_{kj}=0
akiakj=0,于是节点
i
i
i与节点
j
j
j的共引指数
c
i
j
c_{ij}
cij可以为:
c i j = ∑ k = 1 N a k i a k j , (2.7) c_{ij} = \sum_{k=1}^N a_{ki}a_{kj},\tag{2.7} cij=k=1∑Nakiakj,(2.7)
所以共引矩阵 C = ( c i j ) N × N = A T A C = {(c_{ij})}_{N\times N} = A^TA C=(cij)N×N=ATA,对角元为
c i i = ∑ k = 1 N a k i 2 = ∑ k = 1 N a k i , (2.8) c_{ii} = \sum_{k=1}^N{a_{ki}^2} = \sum_{k=1}^N a_{ki},\tag{2.8} cii=k=1∑Naki2=k=1∑Naki,(2.8)
c i i c_{ii} cii等于有向网络中指向 i i i的节点数量,即节点 i i i的入度。如果 c i j > 0 , ( i ≠ j ) c_{ij}>0,(i\neq j) cij>0,(i=j),那么节点 i i i与节点 j j j之间就有一条边。
2.4.2 文献耦合网络
- 引用同一篇文章 k k k的两个节点 i i i与 j j j(两篇文章)之间有无向连边。
- 如果节点
i
i
i与节点
j
j
j同时指向节点
k
k
k,那么
a
k
i
a
k
j
=
1
a_{ki}a_{kj}=1
akiakj=1,否则
a
i
k
a
j
k
=
0
a_{ik}a_{jk}=0
aikajk=0,于是节点
i
i
i与节点
j
j
j的文献耦合
b
i
j
b_{ij}
bij可以为:
b i j = ∑ k = 1 N a i k a j k , (2.9) b_{ij} = \sum_{k=1}^N a_{ik}a_{jk},\tag{2.9} bij=k=1∑Naikajk,(2.9)
如果 b i j > 0 , ( i ≠ j ) b_{ij}>0,(i\neq j) bij>0,(i=j),那么节点 i i i与节点 j j j之间就有一条权值为 b i j b_{ij} bij的边。
所以共引矩阵 B = ( b i j ) N × N = A A T B = {(b_{ij})}_{N\times N} = AA^T B=(bij)N×N=AAT,对角元为
b i i = ∑ k = 1 N a i k 2 = ∑ k = 1 N a i k , (2.10) b_{ii} = \sum_{k=1}^N{a_{ik}^2} = \sum_{k=1}^N a_{ik},\tag{2.10} bii=k=1∑Naik2=k=1∑Naik,(2.10)
b i i b_{ii} bii等于有向网络中节点 i i i指向其他节点数量,即节点 i i i的出度。
2.5 路径与连通性
2.5.1 路径
-
无向图 G = ( V , E ) G = (V,E) G=(V,E),两个节点相关联=两个节点之间是否有路径。
-
(1)路径: v 1 − v 2 − ⋯ − v k v_1-v_2-\cdots -v_k v1−v2−⋯−vk。一条路径的长度=此路径所包含的边的数目;
-
(2)回路:起点与终点重合;
-
(3)简单路径: 各个顶点互不相同;
-
(4)圈:路径 P = v 1 v 2 v 3 ⋯ v k P = v_1v_2v_3\cdots v_k P=v1v2v3⋯vk
- k > 2 k>2 k>2;
- 前 k − 1 k-1 k−1个节点互不相同;
- v 1 = v k v_1 = v_k v1=vk;
-
一个圈一定是一个回路。但一个回路可能包含多个圈。
2.5.2 连通性
-
一个无向图连通的:每一对顶点之间至少存在一条路径,否则是不连通的。
-
不连通图:多个连通片组成。
-
连通片:
- 连通性:该子图任意两个节点之间都有路径;
- 孤立性:不属于该子图的任一顶点与该子图中任一个顶点之间都不存在路径。
- 包含顶点最多的称为最大连通片。
-
不连通网络的矩阵表示:
所有的非零元都在沿着对角线排列的一些方块中,其余部分元素均为0。
2.5.3 路径与连通性的邻接矩阵表示
- 邻接矩阵 A = ( a i j ) N × N A = (a_{ij})_{N\times N} A=(aij)N×N:表示一个网络中两个节点之间的路径的数量。
- 如果 v i − v j v_i-v_j vi−vj,则 a i j = 1 a_{ij}=1 aij=1,那么节点 i i i与 j j j之间就存在一条长度为1的路径。
- 同理,如果长度为2,则表明意味着中间还有一个节点
k
k
k,使得
a
i
k
a
k
j
=
2
a_{ik}a_{kj}=2
aikakj=2,所以两个节点之间长度为2的路径数量为:
N i j ( 2 ) = ∑ k = 1 N a i k a k j = ( A 2 ) i j , (2.11) N_{ij}^{(2)} = \sum_{k=1}^N a_{ik}a_{kj} = (A^2)_{ij},\tag{2.11} Nij(2)=k=1∑Naikakj=(A2)ij,(2.11)
同理:长度为 r ( ≥ 1 ) r(\geq1) r(≥1),路径数目为:
N i j ( r ) = ( A r ) i j , (2.12) N_{ij}^{(r)} = (A^{r})_{ij},\tag{2.12} Nij(r)=(Ar)ij,(2.12) - 距离:两个节点之间最短路径的长度。
(???)节点 i i i和 j j j之间的距离(最短路径)不大于当 r ≥ 1 r\geq1 r≥1,当且仅当:
( I + A 1 + A 2 + ⋯ + A r ) i j ≥ 0 , (2.13) (I+A^1+A^2+\cdots+A^r)_{ij}\geq0,\tag{2.13} (I+A1+A2+⋯+Ar)ij≥0,(2.13)
网络连通性的判据:一个网络是连通的当且仅当 I + A 1 + A 2 + ⋯ + A N − 1 I+A^1+A^2+\cdots+A^{N-1} I+A1+A2+⋯+AN−1是正矩阵(即所有元素都是正数)。
2.5.4 割集与门杰定理
-
门杰定理
- 不相邻的:两个顶点之间没有边直接相连;
- 独立的:指两条路径之间的公共顶点只有公共顶点 s s s和 t t t;
- 不相交的:连接顶点 s s s和 t t t的两条简单路径,之间没有共同的边(但可以有共同的顶点)。
-
割集
2.5.5 有向图的连通性
- 强连通的:对顶点 u u u和 v v v,都既存在一条 u u u到 v v v,又存在一条 v v v到 u u u的路径。
- 弱连通的:把有向边看做无向边后得到的无向图是连通的。
2.6 生成树与最小生成树
2.6.1 树
- 包含 N N N个节点的连通图 G G G至少含有 N − 1 N-1 N−1条边,如果恰好只有 N − 1 N-1 N−1条边,则看做最简单的连通图,这就是树。
- 满足任一条件都为树:
2.6.2 广度优先算法
- 以图2-17为例:
2.6.3 最小生成树
-
生成树:在树的基础上添加一些边而形成的。
τ ( k N ) = N N − 2 . (2.14) \tau(k_N) = N^{N-2}.\tag{2.14} τ(kN)=NN−2.(2.14)
推广到加权无向图:权值最小的生成树就是最小生成树。
-
(???)最小生成树的构造算法(贪心算法):基于最小生成树的割性质和圏性质,
-
经典有效的贪心算法
假设 G = ( V , E , W ) G = (V,E,W) G=(V,E,W)是一个具有 N N N个顶点的连通图( W W W为边权值的集合),构造最小生成树 T = ( U , T E ) T = (U,TE) T=(U,TE)- P r i m Prim Prim算法:适合计算稠密的最小生成树
- K r u s k a l Kruskal Kruskal算法:适合稀疏网络的最小生成树
2.7 二分图与匹配问题
2.7.1 二分图的定义
- 图 G = ( V , E ) G = (V,E) G=(V,E),顶点集 V V V可分成互不相交的非空子集 X X X和 Y Y Y,且边的两个端点分属两个非空子集,就称之为二分图,记为 G = ( X , E , Y ) G = (X,E,Y) G=(X,E,Y)。
- 如果子集
X
X
X中的任一个顶点
i
i
i和子集
Y
Y
Y中的顶点均有连边,就称之为完全二分图。
2.7.2 二分图的实际例子
- 人员合作网络
- 学生选课网络
- 用户推荐网络
- 在线社区网络
2.7.3 二分图的匹配
2.8 稳定匹配
2.8.1 稳定分配的定义
-
G
−
S
G-S
G−S算法