图是一种最简单且直观的语言,它通过点和线的组合来表达复杂系统中的关系。点代表对象或位置,线代表它们之间的连接或交互。这种简洁的表达方式使得图在众多领域中具有强大的应用能力。无论是社交网络中的好友关系、城市中的交通系统,还是生物学中的基因网络,图都能通过简单的结构,呈现出直观而深刻的系统关系。相比于复杂的数学公式,图的优势在于它的可视化能力。通过图示,人们可以直观地观察事物的关联、路径和层级,从而迅速理解系统的全貌,发现潜在的问题或优化空间。因此,图不仅是科学研究中的强大工具,也是沟通和展示复杂信息的最有效模型之一。
哥尼斯堡七桥地理图 | 哥尼斯堡七桥图模型 |
---|---|
一、图模型的起源和发展
哥尼斯堡的地图上,七座桥将四片区域相互连接:两片河岸与两座岛屿。人们希望找到一种路径,能够不重复地走过每座桥。欧拉的聪明之处在于,他没有试图从物理地理上解决问题,而是从抽象的角度重新构建问题。他将地图简化为点和线的组合,分别代表区域和桥梁。这一简单的抽象就是图的雏形。哥尼斯堡七桥问题是图论与网络科学发展的一个经典起点。这个问题源自于普鲁士东部城市哥尼斯堡(现俄罗斯加里宁格勒)的地理结构。城市内普列格尔河分流,形成两块河中的小岛,被七座桥连接。18世纪时,著名数学家欧拉(Leonhard Euler)受邀解决一个简单的问题:能否从城市的某一点出发,走过这七座桥且每座桥只走一次,然后回到起点?
这个问题看似普通,却长期困扰着人们。欧拉在1736年发表的一篇论文中解决了这个问题,他通过此问题引入了一种全新的数学模型:图。这一成果不仅奠定了图论的基础,也标志着拓扑学的诞生。在欧拉的简化模型中,四片区域用四个顶点表示,桥用七条边表示,问题就转化为一个在图中找寻“欧拉回路”的问题,即是否存在一个遍历所有边的路径,并且每条边只经过一次。欧拉证明了,对于一个图来说,只有当图中的每个顶点都是偶数次连接时,才存在这样的路径。而在哥尼斯堡的模型中,每个顶点都是奇数次连接,因此不可能找到这样的路径。欧拉的这一结论标志着图论的正式诞生。
图是一种由顶点(点)和边(线)组成的数学结构。顶点通常表示事物或位置,边表示它们之间的关系或连接。在哥尼斯堡问题中,顶点表示城市的不同区域,边则表示它们之间的桥。更广泛地说,图可以用来表示任何涉及连接的系统,如社交网络、电网、互联网等。欧拉在哥尼斯堡七桥问题中的贡献不仅仅是解决了一个具体的数学难题,还为数学界提供了一种处理复杂系统的工具。这一工具迅速在多个领域得到了应用,并发展成为一门独立的学科:图论。图论研究的核心问题包括图的遍历、最短路径问题、匹配问题、着色问题等。随着时间的推移,图的概念不断扩展和深化。十九世纪末,数学家基尔霍夫(Gustav Kirchhoff)将图论应用到电路分析中,奠定了网络分析的基础。图的研究逐渐深入到化学、物理、计算机科学、经济学等多个领域。在这些领域,图被用来描述分子结构、分析物理系统的连接性、优化网络流量等。
二、图模型的有关概念
许多事物及其联系可以通过图形来描述。我们可以将研究对象视为点,用连线(带箭头或不带箭头)表示对象之间的特定关系。为了区分,我们称不带箭头的连线为边,带箭头的连线为弧。
无向图 | 有向图 | 赋权图 |
---|---|---|
2.1 图的结构与术语
一个图由以下两个部分组成:
- 一个非空集合 V(顶点集合)
- 顶点集合中元素的无序(或有序)点对组成的集合 E(边集合)或 A(弧集合)
由顶点集合 V 和边集合 E 构成的图称为无向图,记作 G = (V, E)。连接点 \(v_i\) 和 \(v_j\) 的边 \(e_{ij}\) 可以表示为 \(e_{ij} = [v_i, v_j]\) 或 \(e_{ij} = [v_j, v_i]\)。由顶点集合 V 和弧集合 A 构成的图称为有向图,记作 D = (V, A)。方向从 \(v_i\) 指向 \(v_j\) 的弧 \(a_{ij}\) 表示为 \(a_ij = (v_i, v_j)\)。边可以认为是双向的弧,从而有向图和无向图在不严格的应用场景中区别不大。
图的有关术语
- 环:如果图 G 中某个边的两个端点相同,则称该边为环。
- 多重边:如果两个点之间有多于一条的边,则称为多重边。
- 简单图:无环、无多重边的图称为简单图。
- 多重图:无环但允许有多重边的图称为多重图。
- 点数:图 G 或 D 中的点数记为 n = |V|。
- 边(弧)数:边(弧)数记为 m = |E| (对于有向图,m = |A|)。
- 阶:图的点数 n 称为图的阶。如果 n 是有限的,称为有限阶。
2.2 图的基本概念
概念 | 定义 |
---|---|
点数p | 图中顶点的数量。 |
边数q | 图中边的数量。 |
关联边 | 连接两个顶点的边,这两个顶点被称为关联的。 |
环 | 一个顶点到自身的边。 |
多重边 | 图中连接相同顶点对的多条边。 |
点的次(度)d(v) | 一个顶点关联的边的数量。在无向图中即为该顶点的度数;在有向图中,出度为从该顶点发出的弧数,入度为指向该顶点的弧数。 |
奇点 | 度数为奇数的顶点。 |
偶点 | 度数为偶数的顶点。 |
悬挂点 | 只有一条边连接的顶点,即度数为1的顶点。 |
孤立点 | 度数为0的顶点,与其他顶点没有连接。 |
悬挂边 | 连接悬挂点的边。 |
链 | 图中顶点和边交替出现的序列。 |
初等链 | 所有顶点都不相同的链。 |
简单链 | 所有边都不相同的链。 |
圈 | 两个端点相同的链。 |
中间点 | 链中除了两个端点以外的顶点。 |
连通图 | 图中任意两个顶点都有路径相连。 |
连通分图 | 图的一个子图,它是连通的。 |
生成子图 | 包含图中所有顶点且连通的子图。 |
基础图G(D) | 将有向图D中的所有弧去掉箭头后得到的无向图。 |
始点 | 有向图中弧的起点。 |
终点 | 有向图中弧的终点。 |
弧 | 有向图中连接两个顶点的有向边。 |
路 | 一条按照弧的方向前进的链。 |
回路 | 起点与终点相同的路。 |
初等路 | 路中各顶点都不相同的路。 |
三、图模型的一些应用
图论作为数学中的一个重要分支,已经深刻影响了现代社会中的许多领域。它通过顶点和边的简单结构,提供了一种极为直观且强大的工具,用于分析和解决各类复杂的现实问题。随着计算机科学和数据分析技术的发展,图论的应用不仅广泛扩展,还催生了许多新兴的研究领域。以下是图论在现代社会中的一些典型应用与发展:
- 社交网络分析
社交网络是图论最为直接且广泛的应用场景之一。像Facebook、Twitter、LinkedIn等社交平台,可以被视作巨大的图模型。在这些网络中,每个用户被看作是图的一个顶点,而用户之间的好友关系或关注关系则是图中的边。通过图论的工具,我们可以分析用户之间的社交结构,识别出那些在网络中处于关键位置的用户节点。
图论在社交网络中的一个重要应用是发现关键节点。这些关键节点往往是信息传播的枢纽,能够加速信息的扩散或控制信息的流动。例如,某些用户可能具有大量的连接,他们在信息传播链条中扮演着重要角色,若能影响这些节点,信息的传播将事半功倍。此外,社交网络的拓扑结构还可以揭示出不同用户群体的紧密程度,从而为广告投放、舆情分析等商业决策提供数据支持。
另一重要的应用是社交网络的社区检测。通过分析社交网络的图结构,图论算法可以将整个网络划分为不同的社区,揭示出用户之间的紧密关系。例如,基于模块度优化的社区检测算法可以帮助识别出特定兴趣或主题的小群体,为营销策略提供依据。
- 路径规划与导航
在现代交通和导航系统中,图论的应用同样无处不在。谷歌地图、百度地图等导航软件中的道路网络可以被建模为一个图,交叉路口或地标是顶点,而道路则是边。通过这种建模方式,导航算法能够快速计算出从一个地点到另一个地点的最优路径。
Dijkstra算法是图论中一个经典的最短路径算法。它能够高效地计算出给定节点间的最短路径,并广泛应用于现代的GPS导航系统。此算法在处理复杂的交通网络时具有极高的效率,可以实时响应用户需求,避免交通拥堵,并且根据实时路况调整导航路径。随着技术的进步,图论算法也融入了动态调整的能力,可以根据交通流量和天气等外部因素,重新计算和优化路径,为用户提供更加智能化的导航服务。
此外,图论在航空、铁路等大规模交通网络中的优化也是至关重要的。无论是规划航班路线、设计铁路线路,还是管理货运物流,图论都提供了有效的解决方案。这类网络通常具有多重约束和目标,而图论的灵活性使其可以应对这些复杂的要求。
- 电力网络与互联网
电力系统和互联网是现代社会最为复杂和重要的基础设施之一,它们同样可以被建模为图。在电力网络中,发电站、变电站等可以看作是顶点,而输电线路是图的边。通过图论的分析工具,工程师可以研究电力网络的稳定性,分析网络的弱点以及设计高效的电力分配方案。
图论在电力网络中的一个重要应用是研究网络的可靠性。如果某些关键的节点或边出现故障,整个系统可能会崩溃。通过图论中的“连通性”分析,可以找到系统中那些至关重要的节点,并采取措施加以保护。此外,图论还可以帮助优化电网的拓扑结构,减少能量损耗,提高输电效率。
互联网也是一种典型的图结构。路由器、服务器等设备是顶点,网络连接是边。通过图论,网络管理员可以分析互联网的结构,优化数据传输路径,提升网络的稳定性。尤其是在设计高效的路由协议时,图论的最短路径算法、流量优化模型发挥了巨大的作用。
- 生物网络
在生物学中,图论的应用日益广泛,尤其是在基因网络、蛋白质相互作用网络等复杂系统的分析中。生物网络可以看作是由大量的分子(如基因、蛋白质)组成的复杂图,每个分子是一个顶点,它们之间的相互作用则是边。
通过图论,生物学家可以研究疾病的传播路径。某些关键的基因或蛋白质在疾病的形成或传播中扮演着重要的角色,如果能够抑制这些关键节点,可能就能有效阻止疾病的扩散。例如,在癌症研究中,图论被用来分析基因之间的相互作用,帮助找到潜在的靶点基因,以进行靶向治疗。
此外,图论还被用于药物设计中。通过分析化学分子之间的相似性和相互作用,图论可以帮助研究人员预测某些化合物的生物活性,从而加速药物的研发过程。
- 市场与经济网络
图论在经济学中的应用也越来越受到关注。市场中的公司、产品和消费者之间的关系可以用图来表示。在这种图中,公司和产品是顶点,它们之间的关系是边。通过分析这些经济网络,经济学家可以揭示市场结构,分析竞争关系,预测产品的影响力等。
例如,经济学家可以通过图论分析公司之间的合作关系,识别出市场中的核心企业,这些企业往往是创新和资源集中的节点,对整个市场的发展起着重要的引领作用。此外,图论还可以用于供应链优化,通过分析供应商与消费者的网络结构,找到潜在的瓶颈并加以解决,从而提高整个系统的效率。
四、图的矩阵表示
图是一种数据结构和模型,在计算机中存储图的最简单有效方式就是矩阵。矩阵作为表达图有效工具和手段,也便于运用代数的方法研究图的性质(这才是重点!),例如,我们可以通过矩阵计算结果,判定图的连通性/可达性等问题。
4.1 邻接矩阵(adjacency matrix)
定义1 设 G = (V,E)是一个图,节点集合\(V = \{ v_1, v_2, \dots, v_n\}\),令 $ A(G) = [a_{ij}]_{n\times n}$,其中:
\[a_{ij} =\begin{cases} 1 \quad &若[v_i, v_j] \in E\\ 0\quad &若[v_i, v_j] \notin E \end{cases} \]则称A(G)为\(G\) 的邻接矩阵。
【例1】设G1 是有向图、G2 是无向图,分别如下图(a)和(b)所示,写出G1,G2 的邻接矩阵。
\(A(G_1)\) | \(A(G_2)\) |
---|---|
$\begin{bmatrix} 1 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0\\ 1 & 1 & 0 & 0 \\ 0 & 0 & 1 & 1 \end{bmatrix} $ | \(\begin{bmatrix} 1 & 1 & 1 & 1 \\ 1 & 0 & 1 & 0\\ 1 & 1 & 0 & 1 \\ 1 & 0 & 1 & 1 \end{bmatrix}\) |
当节点编号次序不同时,同一个图所得的邻接矩阵可能不同,但可以通过有限次的行、列变换而得到相同的邻接矩阵(同构的图?)。
通过图的邻接矩阵运算,可以判断图的一些性质。
4.2 可达矩阵
定义2 设G=(V,E)是一个图,节点集合\(V = \{ v_1, v_2, \dots, v_n\}\),令\(P(G) =[p_{ij}]_{n \times n}\) ,其中:
\[p_{ij} =\begin{cases} 1 \quad &若从 v_i可达 v_j\\ 0 \quad &若从 v_i不可达 v_j \end{cases} \]则称 \(P(G)\) 为G 的可达矩阵。
可达矩阵用于描述一个图中,任一节点到另一节点之间是否存在路。由于在图中「两个结点之间有路」,则「必存在长度小于等于 \(n−1\) 的通路」。另外,一般认为「同一个结点到自身可达」。因此,可用以下公式计算 $$P(G) = [p_{ij} ]_{n\times n} = A^0 \lor A^1 \lor \cdots \lor A^{n - 1}$$
其中,\(A^0\) 是$ n\times n$的单位矩阵, \(∨ \lor ∨\) 是析取(或逻辑加/并)运算。即「顶点 \(v_i\)到达\(v_j\)有长度为零的路、或有长度为1 的路、……、或有长度为 \(n−1\) 的路」,这些路可能是通路、可能不是,但其中至少存在一条通路。
【例2】设有向图D=(V,E),请回答下列问题。
(1)图 D 中\(v_1\)到\(v_3\) 长度为3的通路有多少条?
(2)图 D 是哪种类型的连通图?
解:
(1) D 的邻接矩阵及其幂次为:
\(A^0\) | \(A^1\) | \(A^2\) | \(A^3\) |
---|---|---|---|
$\begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} $ | \(\begin{bmatrix} 0 & 1 & 1 & 1\\\ 1 & 0 & 1 & 0\\ 0 & 0 & 0 & 1\\ 0 & 0 & 0 & 0 \end{bmatrix}\) | \(\begin{bmatrix} 1 & 0 & 1 & 1 \\ 0 & 1 & 1 & 2 \\ 0 & 0 & 0 & 0\\ 0 & 0 & 0 & 0 \end{bmatrix}\) | \(\begin{bmatrix} 0 & 1 & 1 & 2\\ 1 & 0 & 1 & 1\\ 0 & 0 & 0 & 0\\ 0 & 0 & 0 & 0 \end{bmatrix}\) |
由 \(A^3[1][4] = 2\) 知, $v_1 $ 到\(v_4\) 共有两条长度为3的路,计算过程如下:
\begin{aligned} A^3[1][4] &= A^2[1][1] \times A[1][4] + A^2[1][2] \times A[2][4] \\ &+ A^2[1][3] \times A[3][4] + A^2[1][4] \times A[4][4] \\ &= 1 \times 1 + 0 \times 0 + 1 \times 1 + 1 \times 0 = 2 \end{aligned}
\begin{aligned} A^2[1][1] &= A[1][1] \times A[1][1] + A[1][2] \times A[2][1] \\ &+ A[1][3] \times A[3][1] + A[1][4] \times A[4][1] \\ &= 0 \times 0 + 1 \times 1 + 1 \times 0 + 1 \times 0 = 1 \end{aligned}
\begin{aligned} A^2[1][3] &= A[1][1] \times A[1][3] + A[1][2] \times A[2][3] \\ &+ A[1][3] \times A[3][3] + A[1][4] \times A[4][3] \\ &= 0 \times 1 + 1 \times 1 + 1 \times 0 + 1 \times 0 = 1
\end{aligned}
即这两条长度为 3 的路为\((v_1,v_2, v_1, v_4)\)和\((v_1,v_2, v_3, v_4)\) 。其中\((v_1,v_2, v_3, v_4)\) 是一条通路,所以 D 中 \(v_1\)到\(v_4\)长度为 3的通路有一条。
(2)计算 D 的可达矩阵。显然D 不是强连通的,因为\(v_3\)到 $ v_1$是不可达的;D是单侧连通的(即对于任意顶点偶对,至少一个节点到另一个节点是可达的)。
\(P\) | \(P^T\) | \(P\or P^T\) |
---|---|---|
\(P = A^0 \lor A^1 \lor A^2 \lor A^3=\begin{bmatrix} 1 & 1 & 1 & 1 \\ 1 & 1 & 1 & 1 \\0 & 0 & 1 & 1 \\ 0 & 0 & 0 & 1 \end{bmatrix}\) | \(\begin{bmatrix} 1 & 1 & 0 & 0 \\ 1 & 1 & 0 & 0 \\ 1 & 1 & 1 & 0 \\ 1 & 1 & 1 & 1 \end{bmatrix}\) | \(\begin{bmatrix} 1 & 1 & 1 & 1 \\ 1 & 1 & 1 & 1 \\ 1 & 1 & 1 & 1 \\ 1 & 1 & 1 & 1 \end{bmatrix}\) |
4.3 赋权矩阵
若为有向图D=(V,E)的每条边赋予一个权数,则称D为加权有向图。
设D=(V,E)是一个简单加权有向图,\(V = \{ v_1, v_2, \dots, v_n\}\),则D的邻接矩阵 \(A=(a_{ij})_{n×n}\),其中
【例3】给出有向图D=(V,E)的赋权矩阵。
图D | 权矩阵 |
---|---|
2.4 关联矩阵
设 G=(V,E)是一个无向图,\(V=\{v_1,v_2,...,v_n\}\),\(E=\{e_1,e_2,...,e_m \}\),则 G的关联矩阵 \(M=(m_{ij})_{n×m}\),
其中
无向图的关联矩阵每一列的元素之和为2,且第\(i\)行的元素之和是\(ν_i\)的次数,简单图的关联矩阵是(0,1)矩阵。
【例4】给出无向图D=(V,E)的关联矩阵。
无向图 | 关联矩阵 |
---|---|
总结
哥尼斯堡七桥问题虽源自一个简单的地理结构,却揭示了隐藏在其背后的深刻数学原理。欧拉的创新思维将问题转化为图的形式,为现代图论奠定了基础。图论的简单结构蕴含着巨大的潜力,已成为解决现代社会中复杂问题的强大工具。无论是在社交网络分析、导航系统、电力网络管理,还是生物学和经济学中,图论都展现出其无可替代的作用。随着数据量的不断增加和计算能力的提升,图论的应用范围还将进一步拓展,为我们理解和优化复杂系统提供更加深入的洞见。今天,图论已经成为处理复杂网络问题的基础工具,通过分析和优化图的结构,我们能够更好地理解和应对现代社会中的复杂问题,图论的应用潜力几乎无处不在。