图 (数学)

来自中文百科,文化平台
跳转至: 导航搜索
一个有6个顶点,7条边的图

英语:Graph),在离散数学中,用于表示物体与物体之间存在某种关系的结构。数学抽象后的“物体”称作节点顶点(Vertex,node或point),节点间的相关关系则称作。在描绘一张图的时候,通常用一组点或小圆圈表示节点,其间的边则使用直线或曲线。

图中的边可以是有方向或没有方向的。例如在一张图中,如果节点表示聚会上的人,而边表示两人曾经握手,则该图就是没有方向的,因为甲和乙握过手也意味着乙一定和甲握过手。相反,如果一条从甲到乙的边表示甲欠乙的钱,则该图就是有方向的,因为“曾经欠钱”这个关系不一定是双向的。前一种图称为无向图,后一种称为有向图

图是图论中的基本概念。1878年,詹姆斯·西尔维斯特首次使用“图”这一名词:他用图来表示数学和化学分子结构之间的关系(他称为“化学图”,chemico-graphical image)。

定义

在图论中,图的定义有很多。下面是一些比较基本的定义方式以及与它们相关的数学结构

无向图

一张有3个节点和3条边的图

一张图(为了和有向图区分,也称无向图;为了和多重图区分,也称简单图)是一个二元组G = (V, E),其中集合V中的元素称为节点,集合E中的元素是两个节点组成的无序对,称为。集合V称为点集,E称为边集

一条边{ x , y } 上的两个节点xy称作这条边的顶点端点;也说这条边连接了节点xy,或这条边与xy关联(incident)。一个节点可以不属于任何边,即它不与任何节点相连。由于{x, y}是无序对,{x, y}和{y, x}表示的是同一个元素。

更一般地,多重图的定义中允许同一对节点之间存在多条不同的边。在特定语境中,多重图也可以直接称作图。此时,在上面的定义中,集合E应该为多重集

有时,图的定义中允许自环(简称,loop),即一条连接一个节点和其自身的边。允许自环的图也称为自环图

点集V一般是有限集;这意味着边集E也是有限集(不考虑多重图)。相对地,无限图(infinite graph)中的点集可以是无限的。然而,由于有限图中的结论大多不能延伸到无穷图,无穷图通常更被视为一种特殊的二元关系

一个点集为空集的图称为空图(因此边集也是空集)。图的(order)是指其中节点的数量,即|V|。图的边数是指其边的数量,即|E|。图的大小(size)一般也指图的边数。但在一些语境中,例如描述算法复杂度的时候,图的大小是指|V|+|E|(否则非空图的大小也有可能是0)。节点的(degree或valency)是指连接到该节点的边的数量;对于允许自环的图,环要算做两条边(因为两端都连接到这个节点)。

如果一个图的阶是n,则其节点的度最大可能取n-1(对于允许自环的图则是n),而边最多可能有n(n − 1)/2条(对于允许自环的图则是n(n + 1)/2)。

在图的定义中,边的概念定义了节点上的一个对称关系,即“邻接”关系(adjacency relation)。具体地说,对于两个节点xy,如果{x, y}是一条边,则称它们是邻接的。一张图因此可以用其邻接矩阵A来表示,即一个n×n的矩阵,其中每个元素Aij表示节点ij之间的边的数量。对于一个简单图,总有图 (数学).png,分别表示“不相连”和“相连”,而Aij=0(即一条边的两个顶点不能相同)。允许自环的图Aij的取值可以是非负整数,而多重图则允许任何Aij的取值都是非负整数。无向图的邻接矩阵是对称阵(Aij=Aij)。

有向图

一张3个节点和4条边组成的有向图(双向箭头表示两个方向上各有一条边)

边为有方向的图称作有向图directed graphdigraph)。

有向图的一种比较严格的定义是这样的:一个二元组G=(V,E),其中

  • V是节点的集合;
  • 图 (数学)2.png(也称为有向边directed edgedirected link;或arcs)的集合,其中的元素是节点的有序对。

为了和多重图区分,这样的有向图也称为有向简单图

在从x到y的边(x,y)上,节点x和y称作这条边的顶点,其中x是起点(tail),y是终点。也说这条边连接了节点x和y、这条边与节点x和y关联。一张有向图中的节点可以不属于任何一条边。边(y,x)称为边(x,y)的反向边

节点的出度(out-degree)是指起点为该节点的边的数量;节点的入度(in-degree)是指终点为该节点的边的数量。

更一般地,如果一张有向图允许多条头尾都分别相同的边,则称这样的图为有向多重图,这样的边称为多重边。一种允许多重边的的有向图定义方法如下:一个有向图是这样的三元组三元组.png

  • V是节点的集合;
  • E是边的集合;
  • 关联函数.png是一个关联函数,将每条边映射到一个由顶点组成的有序对上(即一条边被按顺序关联到两个顶点)。

自环是指一条起点和终点相同的边。前面的两个定义都不允许自环,因为若节点x上有一个自环,则边(x,x)存在;但这样的边不在图 (数学)3.png中。因此,如果要允许自环,则上面的定义要做修改:对于有向简单图,E的定义应该修改为图 (数学)4.png;对于有向多重图,ϕ的定义应该修改为图 (数学)5.png。为了避免定义不清,这样的图分别称作允许自环的有向简单图允许自环的有向多重图(quiver)。

在允许自环的有向简单图G中,边是V上的一个齐次关系(homogeneous relation),称作G上的邻接关系。 对于顶点是x和y的边(x,y),我们说x和y是彼此邻接的,记作x~y。

混合图

边既可以有向、也可以无向的图称作混合图混合简单图是一个多元组G = (V, E, A),而混合多重图则是多元组G = (V, E, A, ϕE, ϕA),其中VE(无向边集)、A(有向边集)、ϕEϕA的定义可以参考前面的无向图和有向图定义。在此定义下,有向图和无向图是混合图的特殊情况。

赋权图

一张有10个节点和12条边的赋权图

赋权图(weighted graph,也称加权图网络(network)),是指每条边都对应有一个数字(即“权重”,weight)的图。根据具体问题,权重可以表示诸如费用、长度或容量等意义。这样的图会出现在最短路径问题旅行商问题等问题中。

基本术语

  • 子图(subgraph):对于图G和图G',若V(G') ⊆ V(G) 且 E(G') ⊆ E(G),则称G'是G的子图。
  • 生成子图(spanning subgraph):指满足条件V(G')=V(G)的G的子图G'。
  • (chain或walk)、轨迹(trail)、路径(path):链是顶点vi和边ei交替出现的序列W=vi0ei0vi1...eikvik称作一个长度为k的链,其中vi0和vik为其端点,其余顶点为内部点。所有边都不相同的链称为轨迹(简称迹)。所有顶点都不相同的轨迹称为路径(简称路)。在有向图中,若链(迹、路)的方向和其中每条边的方向一致,则称其为有向链(迹、路)。
  • 两端点相同的链和迹分别称为闭链(或环,cycle)、闭迹(或回路,circuit)。
  • 距离(Distance): 从顶点u出发到顶点v的最短路径若存在,则此路径的长度称作从u到v的距离。

特殊的图

正则图

正则图是指每个节点的邻居(neighbor)数量都相同的图,即每个节点的度都相同的图。节点的度为k的正则图也称作k-正则图。

完全图

一张有5个节点和10条边的完全图,其中每个节点都和所有其它节点相连。

完全图(complete graph)是指每对节点之间都有一条边相连的图。一张完全图包含简单图所有可能出现的边。

有限图

有限图(finite graph)是指点集和边集是有限集的图。否则,则称为无限图。在不加说明的情况下,图论中讨论的图大多是有限图。

连通图

在无向图中,如果存在xy之间的路径,则称此两节点的无序对{x, y}是连通的;否则,则称此两点是非联通的。

连通图是指每对节点都连通的无向图。否则,则称图是非连通图

在有向图中,如果存在xy之间的有向路径,则称此两节点的有序对{x, y}是强连通的。此外,若将图中的所有边都换为无向边,得到的无向图中存在xy之间的路径,则称此两节点是弱连通的。否则,则称此两点是非联通的。

强连通图是指每对节点都强连通的有向图。此外,弱连通图是指每对节点都弱联通的有向图。否则,则称图是非连通图

对于一张图,若不存在大小为k − 1的点集或边集,使得从图中移除该集合后,图就变为非连通图,则称该图是k-点连通图k-边连通图k-点连通图通常也简称k-连通图。

二分图

二分图(bipartite graph)是指这样的简单图:其点集可以被划分称两个集合WX,其中W中的任意两个节点之间没有边相连,X中的任意两个节点之间也没有边相连。二分图是点着色色数为2的图。

若一张图的点集是两个集合WX无交并,使得W中的任意节点都和X中的所有节点邻接,且WX之内没有边,则称此图是完全二分图

平面图

平面图是指可以将其节点和边画在平面上,而没有两边相交的图。

循环图

阶为n≥3的循环图(cycle graph)或环形图(circular graph)是指其节点可以列为v1, v2, …, vn,使得图中的边为{vi, vi+1,其中i=1, 2, …, n − 1,以及{vn, v1}。循环图的另一种定义是所有点的度都为2的连通图。如果循环图是另一个图的子图,则它是那个图中的一个

树和森林

是指任意两点之间都有且仅有一条路径的无向图。等价地,是一个连通无环无向图。

森林是指任意两点之间至多仅有一条路径的无向图。等价地,森林是一个无环无向图,或一组树的无交并

其它特殊的图

一些进阶的特殊图包括:

  • 佩特森图
  • 完美图(perfect graph);
  • 弦图
  • 强正则图(strongly regular graph)。

例子

一张6个节点和7条边的图
  • 右边的图示是一个点集为V = {1, 2, 3, 4, 5, 6}、边集为E = {{1, 2}, {1, 5}, {2, 3}, {2, 5}, {3, 4}, {4, 5}, {4, 6}}的图。
  • 任意集合X上的二元关系R都可定义一个有向图。X中的元素xy有一条边,当且仅当xRy
  • 有向图可以用于表示信息网络。例如,在推特上,用户之间的关注关系可以用有向图表示。

图运算

图上可以进行一些运算或变换,使一个图变为另一个图:

  • 一元运算,将一个图变换为另一个图,例如:
  • 二元运算,结合两个图为一个新图,例如:
    • 图的无交并(disjoint union of graphs),
    • 图乘积,包括图的笛卡尔乘积(cartesian product of graphs)、图的张量积(tensor product of graphs)、图的强乘积(strong product of graphs)、图的字典积(lexicographic product of graphs)等,
    • 图的串并联(series–parallel graph)等。

图的推广

超图中,允许一条边连接多于两个节点。

无向图可以看作是由1-单纯形(边)和0-单纯形(节点)组成的单纯复形。由此,复形成为图的推广,其中允许维度更高的单纯形。

图可以看作是一种拟阵

模型论中,图是一个结构。这样一来,边的数量可以是任意基数。参见图极限

计算生物学中,幂图(power graph analysis)推广了无向图的定义。

地理信息系统中,为了进行道路网络或电网的时空分析而提出的几何网络(geometric networks)的定义参考了图,并借用了许多图论的概念。

参见