目录
1. 简介:世界是相互连接的
图论通常被认为是数学的一个抽象分支,诞生于 1736 年,当时莱昂哈德·欧拉(Leonhard Euler)解决了著名的柯尼斯堡七桥问题。然而,在今天,它可以说是离散数学中最具实际应用价值的领域。
从核心上讲,图只是由线(称为 边)连接的点的集合(称为 节点 或顶点)。虽然这听起来很简单,但这种结构具有建模复杂关系的独特能力。只要你能定义实体以及它们之间的关系,你就可以将其建模为一个图。
因为现实世界是高度互连的,传统的图表关系型数据库(带有行和列的表格)通常难以捕捉这些连接的细微差别。图恰恰在传统数据库失败的地方大放异彩。让我们探索图论在数字生活中悄然运行的 5 种主要方式。
2. 搜索引擎:PageRank 算法
在 20 世纪 90 年代末,搜索引擎难以提供相关的结果。它们主要依赖于关键字密度(一个词在页面上出现的次数)。这很容易被操纵,导致糟糕的用户体验。
然后 Google 出现了。拉里·佩奇(Larry Page)和谢尔盖·布林(Sergey Brin)意识到万维网从根本上说是一个巨大的有向图。在这个图中:
- 节点 是各个网页。
- 边 是将一个页面连接到另一个页面的超链接。
他们发明了 PageRank 算法,该算法利用这个图的结构来衡量网站页面的重要性。其核心思想简单而革命性:如果其他重要的页面链接到一个页面,那么该页面就被认为是重要的。来自高度权威网站(如维基百科或 BBC)的超链接比来自不知名个人博客的链接具有大得多的“权重”。
工作原理: PageRank 计算一个人随机点击链接到达任何特定页面的概率。它在数十亿个节点上执行大规模矩阵乘法,以获得整个网络图的稳态概率。
虽然现代搜索算法复杂得多,并结合了数以千计的机器学习信号,但 PageRank 的图论基础仍然是互联网时代最重要的发明之一。
3. 社交网络:映射人际关系
像 Facebook、LinkedIn 和 X(前身为 Twitter)这样的公司本质上是庞大的图数据库。社交媒体的整个前提都依赖于对人类关系进行建模。
在社交图中:
- 节点 代表用户、群组、页面或位置。
- 边 代表诸如“是朋友”、“关注”、“喜欢”或“居住在”等关系。
图算法被广泛用于增强用户体验:
“你可能认识的人”
你有没有想过 LinkedIn 是如何准确推荐同事的,或者 Facebook 是如何推荐失散多年的高中同学的?他们使用图算法来寻找 三元闭包(triadic closures)。如果节点 A 和节点 B 是朋友,节点 B 和节点 C 是朋友,算法会根据他们共同的联系来计算节点 A 和节点 C 也应该成为朋友的概率。
社区检测
像 Louvain 方法或 Girvan-Newman 算法这样的算法被用来识别网络中的簇。通过分析边密度,社交网络可以将用户分组到不同的社区(例如,“技术爱好者”、“本地体育迷”、“校友”),即使这些用户从未明确声明过这些兴趣,从而实现高度针对性的广告。
4. GPS 和导航系统
也许图论最直接、最直观的应用是在路线规划和导航中。像 Google Maps、Waze 以及亚马逊和联邦快递等公司的物流软件完全依赖于图算法。
在道路网络图中:
- 节点 是十字路口或特定地址。
- 边 是连接它们的道路。
- 边上的 权重 代表在这一段路程上的时间、距离或成本。
寻找最短路径
当你向你的 GPS 询问回家的方向时,它并没有查看所有可能的路线。它使用诸如 Dijkstra 算法 或 A* (A-Star) 搜索 之类的算法。A* 是 Dijkstra 的优化版本,它使用启发式方法(例如到目的地的直线距离)将搜索“拉”向正确的方向,忽略明显背离目标的道路。
动态边权重
现代导航令人难以置信的地方在于,边权重不是静态的。Waze 和 Google Maps 会根据实时交通数据、事故和道路封闭情况不断更新边的权重。如果一条边的权重(交通时间)突然飙升,图算法会立即重新计算最短路径,为你提供绕行方案。
5. 电子商务推荐系统
“购买了此商品的顾客也购买了……”
无论你是在 Amazon、Netflix 还是 Spotify 上,推荐引擎都驱动了极高比例的用户参与度和收入。虽然构建这些引擎有许多方法(如协同过滤),但基于图的方法是最强大的方法之一。
这些系统通常使用 二分图 (Bipartite Graphs)。二分图有两组不同的节点,边只连接来自不同组的节点。
- 集合 A: 用户
- 集合 B: 产品(或电影、或歌曲)
- 边: 代表交互(例如,用户 1 “购买”了产品 X,或用户 2 给电影 Y “评了” 5 星)。
通过遍历这个图,算法可以找到与你具有相似连接模式的用户。如果图表显示你和用户 B 对一组电影有高度相似的连接,算法会找到与用户 B 相连但尚未与你相连的边(电影),并将它们推荐给你。
6. 机器学习:图神经网络 (GNN)
人工智能的最前沿目前正以 图神经网络 (Graph Neural Networks, GNNs) 的形式与图论产生交集。
传统的神经网络(如用于图像的 CNN 或用于文本的 RNN)期望数据被整齐地格式化为网格或序列。然而,世界上大部分数据都是非结构化的关系型数据(如分子结构或金融交易网络)。GNN 被设计为直接在图结构上运行。
药物发现和化学
在分子图中,节点是原子,边是化学键。GNN 可以通过分析图结构来“学习”分子的性质。这使得制药公司能够快速筛选数以百万计的化合物,以预测哪些可能成为有效的药物,从而大大加速了药物发现过程。
欺诈检测
银行使用图数据库来建模金融交易。一个节点是一个银行账户,一条有向边是一笔资金转移。欺诈团伙经常通过数百个账户转移资金来掩盖资金来源,从而创建复杂的交易网络。图算法可以轻松检测到这些循环交易模式或异常密集的活动集群,而传统的表格数据库会完全遗漏这些。
常见问题
图论如何帮助社交网络分析?
它将用户建模为节点,将好友关系或互动建模为边,从而能够进行社群检测、影响力分析和推荐算法。
图论是如何应用在搜索引擎中的?
像 Google 的 PageRank 算法将网页视为节点,将超链接视为有向边。通过分析链接结构,评估网页权威度并对搜索结果进行排序。
图论在路线规划和物流中扮演什么角色?
它将配送中心和路口表示为节点,将道路表示为带权重的边。最短路径算法被用来优化配送路线,缩短运输时间。