综合比分析更难

Hacker News Top 新闻

摘要

这篇博客文章将微分学(分析)视为算法化且容易,而将积分学(综合)视为非算法化且困难,并与数学、计算机科学以及通过自动微分进行人工智能训练的广泛主题进行类比。

暂无内容
查看原文
查看缓存全文

缓存时间: 2026/07/04 06:37

# 综合比分析更难 来源:https://surfingcomplexity.blog/2026/07/03/synthesis-is-harder-than-analysis/ 多年来,数学家、逻辑学家和计算机科学家发展出了各种**演算**。如果你有计算机科学背景,你很可能听说过λ演算,这是阿隆佐·丘奇提出的一种计算模型。如果你更熟悉数据库,那么你其实在不知不觉中已经接触过关系演算,因为SQL正是基于关系演算。如果你涉足形式化方法,那么你一定用过谓词演算,也就是人们更常说的**一阶逻辑**。最后,如果你喜欢阅读编程语言方向的学术论文,那你几乎肯定遇到过**相继式演算**。然而,当有人不加修饰地说“演算”这个词(比如,“我下学期要学演算”)时,他们指的是哪一门演算毫无歧义:总是那一门特定的演算。或者更准确地说,是两门紧密相关的演算:微分学和积分学。 从视觉上看,你可以把微分学理解为计算函数在某一点的斜率。例如,看下面这张图: [](https://surfingcomplexity.blog/wp-content/uploads/2026/07/image-6.png) 你可能会问:“当 x=6 时,这条曲线的变化有多快?” 换句话说,这个函数在 x=6 附近的一个很小的邻域内的斜率是多少? [](https://surfingcomplexity.blog/wp-content/uploads/2026/07/image-7.png) 微分学让你能够计算函数在某一点的斜率 而积分学则关注的是函数图像在某个区间上的面积。例如,你可能会问:“这条曲线在 x=2 和 x=7 之间的面积是多少?” [](https://surfingcomplexity.blog/wp-content/uploads/2026/07/image-5.png) 积分学让你能够计算函数在给定区间上的面积 如果你学习微积分,你会先学微分学(有时称为“微积分1”或“Cal 1”),然后再学积分学(“Cal 2”)。学习微分学时,你会学到计算函数导数(某点斜率)的规则。事实证明,无论函数是什么类型,计算导数都非常直接。它只是一个算法,也就是说,如果你愿意,你完全可以编写一个程序让计算机自动计算导数。(顺便提一句,自动计算导数是训练大语言模型过程中的一个基本要素。如果你感兴趣,可以查查**自动微分**。) 然后你到了微积分2,你开始学习如何计算积分(曲线下的面积)。你很快会发现,与微积分1不同,计算任意函数的积分并没有统一的算法。相反,你学到的是针对不同类型函数的各种技巧。你还会了解到,对于某些函数,其积分根本没有**闭式解**!例如,正态分布中出现的高斯函数。当均值为零、方差为1时,它看起来是这样的: \[\frac{1}{\sqrt{2\pi}} e^{-\frac{x^2}{2}}\] [](https://surfingcomplexity.blog/wp-content/uploads/2026/07/gaussian.png) 著名的钟形曲线 如果在微积分1的期末考试中让学生计算这个函数的导数,那是一个完全合理的题目,答案如下: \[-\frac{x}{\sqrt{2\pi}} e^{-\frac{x^2}{2}}\] 但如果在微积分2的期末考试中让学生计算这个函数的积分,那就不公平了,因为用课堂上学到的技巧是无法完成的(至少我学到所需技巧是在微积分3)。因为该积分没有闭式解,你需要用无穷级数来表示解,例如: \[\frac{1}{\sqrt{2\pi}} \sum_{n=0}^{\infty} \frac{(-1)^n}{2^n n!(2n+1)} x^{2n+1} = \frac{1}{\sqrt{2\pi}} \left( x - \frac{x^3}{6} + \frac{x^5}{40} - \frac{x^7}{336} + \frac{x^9}{3456} - \cdots \right)\] (注:我问了AI高斯函数的积分,希望它没算错!) 微分学和积分学之间的关系并不显而易见(至少对我来说不是)。然而,事实证明这两门演算就像一枚硬币的两面,因为积分是反导数。也就是说,如果 \(f(x)\) 是 \(F(x)\) 的导数,那么 \(F(x)\) 就是 \(f(x)\) 的积分。这个结果被称为**微积分基本定理**。 微分与积分之间的这种联系引出了一个近乎哲学的问题:为什么计算导数比计算积分容易得多?2011年,有人在数学 Stack Exchange 上问过这个问题:**为什么积分比微分难那么多?**(https://math.stackexchange.com/questions/20578/why-is-integration-so-much-harder-than-differentiation) 得票最高的回答来自 Qiaochu Yuan(https://qchu.wordpress.com/),其核心思想如下(重点为我所加): > 微分是一种“局部”操作:要计算一个函数在某一点的导数,你只需要知道它在该点邻域内的行为。但积分是一种“全局”操作:要计算一个函数在一个区间上的定积分,你必须知道它在整个区间上的行为(而要计算不定积分,你需要知道它在所有区间上的行为)。这需要概括大量信息。**一般来说,局部事物比全局事物容易得多。** 从某种意义上说,“局部事物比全局事物容易”是一句陈词滥调。人人都知道,比如局部优化比全局优化容易得多。但这同时也是非常深刻的一句话。它引出了本文的标题:**综合比分析更难**。 我之前在《缝隙中的恶魔》(https://surfingcomplexity.blog/2026/06/06/the-demon-of-the-gaps/)一文中写到过分析与综合的区别。在分析中,我们将一个大问题分解成多个彼此清晰分离的小问题。这些小问题更加局部化,因此更容易解决。这就是为什么我们提倡诸如**封装**和**关注点分离**这样的原则,以确保我们的小问题是局部的。 而综合的工作则涉及将多个事物整合(!)在一起。这朝着相反的方向推进:我们在创造一个更不局部的问题。而全局事物比局部事物难得多。我们所面临的挑战是,某些类型的问题本质上是综合问题。正如我在之前那篇文章中写到的,事件响应就是一个经常面对综合问题的领域:我们必须理解各个部分通常是如何组合在一起的,才能理解当前出了什么问题。 这就是为什么我认为这种综合工作对SRE(站点可靠性工程师)很重要。现在,因为综合比分析难,又因为SRE并不拥有超人的认知能力,这意味着他们对系统中任何给定组件的理解深度是有限的。但他们越了解不同组件之间的交互方式,就越能在解决棘手的事件中发挥作用。 不幸的是,在我们的行业里,我们尚未将建立综合专长视为一等一的事情。这可以理解,因为这种工作非常依赖环境,它取决于SRE所在组织中具体系统的杂乱细节。另一方面,我们可以提高**学习方法的能力**,更好地学习一个系统的运营细节。而这正是我希望看到更多的东西。

相似文章

AI驱动的高科技系统设计合成:自动化创新

arXiv cs.AI

本文提出了一种设计自动化(AiD)方法,利用计算设计综合与深度学习及生成式AI,自动创建新颖的高科技系统,并通过两个案例研究(电驱动系统和空间尺寸问题)进行了演示。

过去很困难

Hacker News Top

作者反思AI如何让软件开发变得更容易,将其比作DJ取代摇滚吉他手,并思考自动化艰苦工作对社会的影响。