跳转到内容

computer-science / theory

计算理论

可计算性、P/NP、信息论、自动机、密码学——计算的数学骨架

23

当代

可计算性理论

Computability Theory

在第一台电子计算机被制造出来之前整整十年,数学家们已经严格地证明了:某些问题,无论计算机有多强大,永远无法被程序所解决。这不是工程的局限,而是数学的边界——一条永远不会因为技术进步而后退的线。 可计算性理论研究的正是这条边界:什么样的问题在原则上是可以被机械化地求解的,什么样的问题在原则上不行,以及这两者之间的区分意味…

可计算性 · 停机问题 · 邱奇-图灵论题

3 个领域引用哲学思想、宇宙学、宇宙物理

当代

计算复杂性理论

Computational Complexity Theory

1971 年,斯蒂芬·库克(Stephen Cook)在 ACM 会议上提出了一个问题,此后五十年没有人能够解决,而且极有可能在人类文明的有生之年都无法解决:P 是否等于 NP? 这不只是计算机科学的问题,它关系到密码学的根基、人工智能的边界,甚至哲学意义上"数学发现是否可以被机械化"的问题。克莱数学研究所在 2000…

P vs NP · NP完全 · 多项式规约

10 个领域引用数学、哲学思想、经济学、宇宙物理、化学、宇宙学、地球科学、人类历史、生命科学、政治学

当代

信息论

Information Theory

一个最基本的问题,直到 1948 年才有了精确答案:"信息"到底是什么,如何量化它? 在克劳德·香农发表《通信的数学理论》之前,"信息量"是一个直觉概念——人们知道长电报比短电报包含"更多信息",嘈杂线路会让通信"更不可靠",但这些描述都是定性的。香农做的事,是把这些直觉转化为严格的数学——由此诞生的信息论,成为数字通…

信息熵 · 信道容量 · 编码

10 个领域引用宇宙物理、生命科学、语言学、哲学思想、经济学、人类历史、宇宙学、医学与公共卫生、政治学、工程与技术

当代

自动机与形式语言

Automata and Formal Languages

任何一门编程语言——Python、C、Haskell——在被计算机"读懂"之前,都必须经过一个关键步骤:把源代码字符串解析为结构化的语法树。这个过程依赖的理论,是自动机与形式语言——一套把"什么是合法字符串"的问题变成精确数学的工具。 但这套理论的起点,是语言学而非编程,是一位研究人类语言结构的语言学家在 1956 年…

有限自动机 · 下推自动机 · 乔姆斯基谱系

2 个领域引用生命科学、语言学

当代

密码学基础

Foundations of Cryptography

1976 年,斯坦福大学的两位研究者惠特菲尔德·迪菲(Whitfield Diffie)和马丁·赫尔曼(Martin Hellman)发表了一篇论文,标题听起来平淡无奇:《密码学的新方向》(New Directions in Cryptography)。他们在其中解决了一个看似矛盾的问题:两个从未见过面、也没有秘密沟通…

公钥密码学 · 单向函数 · RSA

6 个领域引用数学、哲学思想、宇宙物理、经济学、政治学、法学

当代

λ演算与类型理论

Lambda Calculus and Type Theory

数学中的函数,在教科书里通常被写成 $f(x) = x^2 + 1$ 的形式——$f$ 有个名字,$x$ 是变量,结果是某个表达式。1936 年,阿隆佐·邱奇(Alonzo Church)提出了一种不需要函数名字的写法:把函数本身当作一个对象,写成 $\lambda x.\, x^2 + 1$。这个 $\lambda$…

lambda演算 · 类型系统 · Curry-Howard对应

2 个领域引用哲学思想、数学

当代

形式文法与乔姆斯基谱系

Formal Grammars and the Chomsky Hierarchy

1956 年,一位年轻的语言学家在 IRE《信息论汇刊》上发表了一篇论文:《语言描述的三个模型》("Three Models for the Description of Language")。他的问题是语言学的:如何用数学方法描述人类语言的结构?然而,他的答案成为了计算机科学的核心理论之一。 这位语言学家是诺姆·乔姆…

乔姆斯基谱系 · 形式文法 · 上下文无关文法

4 个领域引用哲学思想、语言学、心理学、人类历史

当代

量子计算理论

Quantum Computing Theory

1994 年,美国数学家彼得·肖尔(Peter Shor)发表了一个算法。这个算法可以在多项式时间内分解大整数——而人类目前已知最好的经典算法(普通计算机上运行的算法)需要次指数时间。 这个差距有多大?分解一个 2048 位的 RSA 密钥,最好的经典算法需要数百万年;肖尔算法在一台足够大的量子计算机上,理论上只需要数…

量子计算 · BQP · 肖尔算法

4 个领域引用宇宙物理、数学、化学、工程与技术

当代

柯莫哥洛夫复杂度

Kolmogorov Complexity

考虑两个字符串:

柯莫哥洛夫复杂度 · 算法信息论 · 随机性

4 个领域引用数学、哲学思想、经济学、生命科学

当代

纠错码理论

Error-Correcting Codes

1977 年,旅行者 1 号从地球出发驶向木星和土星。无线电信号穿越数亿公里的真空,抵达接收天线时已经微弱到几乎无法与宇宙背景噪声区分。然而,旅行者传回的木星大气图像是清晰的。1986 年,旅行者 2 号飞过天王星,仍然发回了清晰照片——此时信号飞越将近 30 亿公里。 这不是因为接收天线足够大,或者无线电功率足够强。…

纠错码 · 汉明码 · Reed-Solomon码

9 个领域引用哲学思想、生命科学、数学、政治学、宇宙物理、化学、宇宙学、经济学、工程与技术

当代

随机算法

Randomized Algorithms

一个算法,通常被认为是确定性的:给定相同的输入,它每次都执行相同的步骤,给出相同的输出。而随机算法(Randomized Algorithm)在执行过程中会抛硬币——使用随机数来做决策,使得同一输入在不同运行中可能走不同的路径。 这听起来像是在引入不可靠性。实际上,在很多问题上,随机化是到达正确答案最快、甚至唯一已知实…

随机算法 · 蒙特卡洛 · 拉斯维加斯

2 个领域引用数学、哲学思想

当代

逻辑与计算

Logic and Computation

1958 年,数学家哈斯凯尔·加里(Haskell Curry)注意到一件奇怪的事:某些组合子逻辑(combinatory logic)的类型,与命题逻辑中的公式在形式上一模一样。 1969 年,数学家威廉·霍华德(William Howard)将这个观察系统化为一个深刻的对应:类型与命题是同一件事,程序与证明是同一件…

Curry-Howard对应 · 程序验证 · 类型论

2 个领域引用哲学思想、生命科学

当代

计算几何

Computational Geometry

你每次用手机地图导航,都在隐式地使用计算几何。地图应用需要计算:你的位置附近有哪些餐厅(最近邻问题);沿地图的多边形区域裁剪(多边形裁剪);两条路是否交叉(线段相交);如何优化无人机的送货路径(运动规划)。 计算几何(Computational Geometry)研究的是几何问题的高效算法——不只是"能解决",而是"用…

计算几何 · 凸包 · Voronoi图

1 个领域引用数学

当代

分布式计算理论

Theory of Distributed Computing

一台计算机出错,你重启它就好了。 但当成千上万台计算机通过会延迟、会丢包的网络协同工作时,一个全新的难题出现了:它们怎么对"现在到底发生了什么"达成一致?某台机器是真的崩溃了,还是只是网络慢了一拍?没有任何一台机器能看到全局。

共识 · FLP不可能性 · 拜占庭容错

2 个领域引用经济学、政治学

当代

算法博弈论

Algorithmic Game Theory

1951 年,约翰·纳什证明了一件让经济学界震动的事:任何有限博弈,都至少存在一个均衡——一组策略,没有任何参与者能靠单方面改变策略而获益。这是博弈论的基石。 这个故事在纳什之前还有一章。1928 年,冯·诺依曼证明了二人零和博弈的极小极大定理——双方最优混合策略的存在性;1944 年他与摩根斯坦合著的《博弈论与经济行…

纳什均衡 · PPAD · 价格无政府

4 个领域引用哲学思想、经济学、生命科学、政治学

当代

近似算法理论

Approximation Algorithms

假设你证明了一个问题是 NP 难的——比如规划全国快递车队的最优路线。这意味着(如果 P $\neq$ NP)你永远找不到一个又快又总能给出最优解的算法。 那就放弃吗?现实不允许。快递公司明天就要发车。

近似比 · NP难 · PCP定理

2 个领域引用经济学、数学

当代

统计学习理论与 PAC 学习

Statistical Learning Theory and PAC Learning

机器学习最基本的问题不是"怎么把训练数据拟合好"——那件事平凡到可以用一张查找表完成。真正的问题是:为什么在训练集上表现好的模型,在没见过的数据上也会表现好? 这个问题看起来像哲学(休谟的归纳问题),但从 1984 年起它有了一个数学答案的框架。莱斯利·瓦利安特那一年提出可能近似正确(Probably Approxim…

PAC 学习 · VC 维 · 泛化界

3 个领域引用心理学、经济学、哲学思想

当代

在线算法与竞争分析

Online Algorithms and Competitive Analysis

绝大多数算法课教的是这样一个世界:输入摆在你面前,你可以从容读完再决定怎么做。 现实系统很少有这种奢侈。缓存要在不知道下一次访问什么的情况下决定淘汰谁;调度器要在不知道后续任务的情况下派活;云平台要在不知道明天流量的情况下决定扩不扩容;广告系统要在用户点击的那一瞬间决定投给谁,而预算是有限的。

在线算法 · 竞争比 · 缓存置换

当代

交互式证明与零知识

Interactive Proofs and Zero Knowledge

"证明"这个概念在 1980 年代被重新定义了两次,每一次都让它变得更强。 第一次是加入交互与随机:证明不再是一份可以静态检查的文书,而是验证者与证明者之间的一场提问游戏,验证者可以掷硬币,并且只要求"以极高概率不被骗"。第二次更反直觉:证明可以让你确信某件事为真,而不透露任何关于为什么为真的信息。

交互式证明 · 零知识 · PCP 定理

当代

为什么 P vs NP 这么难证:三道障碍

Why P vs NP Resists Proof: The Three Barriers

大多数关于 P 与 NP 的介绍会告诉你问题是什么、悬赏多少、以及"大家都相信 P ≠ NP"。很少有介绍讲这件事:我们不只是没证出来,我们还知道为什么整类看起来最自然的证明方法注定证不出来。 这三道被称为障碍的结果,是复杂性理论最独特的贡献之一——一门学科系统地研究自己的证明方法为何失效,并把结论写成定理。 它们让 …

P vs NP · 相对化 · 自然证明

当代

计算的物理极限

The Physical Limits of Computation

复杂性理论问"这个问题需要多少步"。本篇问一个更基础的问题:一步计算,最少要花多少能量? 答案不是零,而且它不取决于工艺、材料或聪明的电路设计——它由热力学第二定律给出。 这条边界对硅片、神经元和任何未来基底同样有效,它把"信息"与"熵"焊在了一起,顺带解决了一个困扰物理学近一个世纪的悖论。

兰道尔原理 · 可逆计算 · 麦克斯韦妖

当代

通信复杂度

Communication Complexity

这是一个把"计算需要多少步"换成"两个人需要说多少话"的模型,而这个换法出人意料地强大。 爱丽丝手里有 $x$,鲍勃手里有 $y$,两人都有无限的算力,但要合作算出 $f(x,y)$。唯一被计量的是他们之间传送的比特数。 姚期智在 1979 年提出这个模型时,目标是分布式计算;它后来的主要用途却在别处——它成了证明各种…

通信复杂度 · 集合不相交 · 下界方法

当代

平均情况复杂性与密码学的五个世界

Average-Case Complexity and the Five Worlds

NP 完全性说的是最坏情况:某个问题存在难解的实例。但最坏情况的难度对现实几乎没有承诺。 旅行商问题是 NP 完全的,而工业求解器每天处理着数万城市的实例;反过来,密码学需要的恰恰相反——它需要随机取一个实例就几乎必然难解。 "难"这个字在这两处指的不是同一件事,而这个区别决定了密码学能不能存在。

平均情况复杂性 · 单向函数 · 五个世界