一个苏联数学家的逆袭
一个苏联数学家的逆袭
1975年10月的斯德哥尔摩音乐厅,一位穿着略过时西装、胸前别着红色小徽章的苏联人,和一位比他高半个头的荷兰人并肩站着,从瑞典国王手里接过同一份奖状。奖金一样多,数学语言也相通,但这两位得主在过去三十年里几乎从未在同一本学术期刊上同时出现过。一个在莫斯科的中央数学研究所里思考胶合板厂如何切割原木,一个在荷兰海牙的统计局里计算美国商船队的运力配置。他们用不同的政治体制、不同的研究路径,各自独立地回答了同一个经济学最古老的问题:当资源不够用时,究竟谁应该得到什么。
这一年63岁的康托罗维奇(Leonid Kantorovich),头发花白,戴一副圆框眼镜,西装外套在肩膀处微微鼓起,这显然不是为斯德哥尔摩深秋准备的衣服。库普曼斯(Tjalling Koopmans)显得更从容,毕竟他是当时已经成熟的英美学术圈里的一员。但真正的反差不在穿着,而在他们身后的体制:库普曼斯的研究发表在《Econometrica》上,被同行引用、被博士生讨论、被写进教科书;康托罗维奇的研究印在苏联科学院的小开本报告里,几乎从不被翻译,更从不被英美主流经济学讨论。
本章要回答的核心问题是:康托罗维奇到底是谁?他做了什么事情,让瑞典皇家科学院在1975年破例把诺贝尔经济学奖颁给一个苏联数学家?更重要的是,他为什么在21世纪、也就是我们写这本书的当下,重新变得重要?
1912-1986:一个苏联数学家的时代坐标
让我们从1912年1月开始。康托罗维奇出生在圣彼得堡,父亲是一位治疗肺病的医生。这一年沙俄帝国还剩下五年,距离第一次世界大战爆发还有两年,距离十月革命还有五年。一个中产阶级的犹太家庭,在彼得堡的冬天迎来新生命。他的父亲在他十岁时因病去世,母亲把他带大。少年时代他从母亲那里继承了精确、严格、近乎冷酷的理性习惯,这一点在他后来的数学风格里随处可见。
1926年,他14岁,进入列宁格勒大学数学力学系。这所大学的前身是彼得堡皇家大学,出过切比雪夫、利亚普诺夫、马尔可夫这些数学巨人,有一种特别的传统:数学不是用来装饰的,是用来解决具体问题的。年轻的康托罗维奇很快就注意到,这种"工具主义"的研究范式和德法那种纯粹的、抽象的数学传统非常不同。他后来的导师菲赫滕戈尔茨(Grigoriy Fichtenholz)是这种传统的代表人物,教他用数学去解题,而不是去证明定理的存在性。
18岁,1930年,他从列宁格勒大学毕业。这一年斯大林宣布"一五计划",苏联进入全面工业化。整个国家像一台突然启动的机器,到处都在建工厂、修铁路、开采矿山。年轻的数学家们被抽调去解决具体的工程问题,康托罗维奇也不能例外。22岁,他已经是列宁格勒大学的副教授,两年后获得博士学位,1938年成为全苏最年轻的教授之一,那年他26岁。
接下来的十年是康托罗维奇真正成为"康托罗维奇"的阶段。我们需要在这里特别停下来,因为1939年发生的那件事,后来会被称为线性规划(linear programming)的诞生。
1939年夏天,列宁格勒的一个胶合板托拉斯向列宁格勒大学的数学家们求助。他们的工厂在切割五毫米厚的胶合板时,遇到了一个看似简单的问题:给定若干订单,每张订单要求不同尺寸的胶合板若干张,如何从标准尺寸的胶合板原料上切割,使得废料最少?这是一个听起来非常具体的工业问题,胶合板厂的厂长每天都在和它打交道。
康托罗维奇看了这个问题几个小时,然后意识到它不是一个简单的几何问题,而是一个资源最优配置问题。具体来说,问题的核心在于:在多个生产任务、多种生产资源之间,如何安排才能让总产出最大(或总投入最小)?如果你只有有限的木材、有限的工人、有限的机器时间,你应该怎么安排切割方案?
他用了几个星期,把这个问题从胶合板厂的方言,翻译成了一种通用数学语言。这个语言后来叫做线性规划,核心工具叫做影子价格(shadow price)。这里的"影子"指的是那些不在市场上实际交易、但客观存在的"应该存在"的价格:一台机器被占用了,它没在市场上买卖,但它有它的机会成本。占用它意味着放弃了它能做的另一件事。这种机会成本不是市场价格,但在经济计算中必须被算进去。
同期,他还和扎尔加列尔(V.A. Zalgaller)、加夫林(M.K. Gavurin)一起,研究了一个更普遍的数学结构,后来被称为"希奇科克—康托罗维奇运输问题":把若干工厂的产出运到若干仓库,在满足所有需求的前提下,运输费用如何最小?这个问题本质上和胶合板问题是同一种结构:在多个供给点和多个需求点之间,寻找一种最优的分配方案。
1939年的秋天,康托罗维奇出版了一本不到100页的小书,《数学方法在组织和计划生产中的应用》(Математические методы организации и планирования производства)。这本书在当时苏联体制下印数很少,只在极少数的图书馆和研究所里能找到。它后来成为了线性规划领域的奠基文献之一,但它被翻译成英文,要等到1960年代。
为了帮助读者建立康托罗维奇一生的时代坐标,下面这张图把他的关键时间节点和苏联的重大历史事件对应起来:
```mermaid flowchart TD A1912["1912 圣彼得堡出生<br/>沙俄帝国"] A1926["1926 14岁入大学<br/>斯大林掌权"] A1930["1930 18岁毕业<br/>一五计划启动"] A1939["1939 胶合板问题<br/>线性规划诞生"] A1944["1944 卫国战争结束<br/>全苏正教授"] A1948["1948 参与原子弹项目<br/>冷战开端"] A1965["1965 获列宁奖<br/>赫鲁晓夫改革期"] A1975["1975 诺贝尔经济学奖<br/>冷战缓和"] A1986["1986 莫斯科逝世<br/>戈尔巴乔夫改革"]
A1912 --> A1926 --> A1930 --> A1939 --> A1944 --> A1948 --> A1965 --> A1975 --> A1986 ```
1941年,德国入侵苏联。康托罗维奇被征召入伍,但不是去前线,而是被安排在军事工程部门,负责弹道计算。他用数学方法分析炮弹的弹道、飞机的投弹命中率,在卫国战争的最艰难岁月里继续做他最擅长的事,把实际问题翻译成数学语言。1944年他从列宁格勒大学获得了正教授资格,那年他32岁。战后,苏联在数学物理领域突飞猛进,部分原因是战争催生了大量需要数学计算的实际问题。1948年前后,他参与了苏联原子弹项目的部分数学计算工作,具体贡献到现在都没有完全解密。这一阶段他做的不是他最擅长的事,而是国家需要他做的事。
到1950年代,他的处境发生了微妙的变化。一方面,他在数学界的地位不可动摇;另一方面,他1939年那本小书里提出的影子价格思想,在意识形态上遇到了一堵墙。在当时的苏联官方经济学里,"价格"是计划委员会定的,不应该由数学计算出来;"市场"则是资本主义的东西。康托罗维奇说他没有反对计划经济,他只是提供了一种更好的数学工具。即使是这样的温和立场,在斯大林晚期和赫鲁晓夫早期的政治气氛下,也很难被公开表达。
转折点发生在1959年。这一年他的另一本主要著作《经济资源最优利用的经济计算》(Экономический расчёт наилучшего использования ресурсов)终于正式出版,这是他的思想第一次系统化地进入公共讨论。1964年,他被调到西伯利亚分部的新西伯利亚科学城,在那里他建立了一个经济数学方法研究所,集中了一批和他类似的人,用数学解决经济问题。1965年,他获得列宁奖,这是苏联科学界的最高荣誉之一,在某种意义上比诺贝尔奖更难拿,因为它需要的不只是学术成就,还有政治上的清白。1971年他回到莫斯科,继续在国民经济的最优化计算上工作。
1975年10月,斯德哥尔摩音乐厅。
1986年4月,莫斯科。他没能看到苏联的解体。
1975年的诺贝尔奖:迟到三十年的胜利
康托罗维奇拿到的这个奖,有一段漫长的、迂回的历史。
按照诺贝尔奖委员会的官方说法,他和库普曼斯共享这一年的经济学奖,"因为他们在资源最优分配理论上的贡献"。但这个"贡献"的含义,在东西方两套学术体系里有完全不同的理解。库普曼斯在1950年代就已经在英语世界里成名,他的代表作《生产与配置的活动分析》(Activity Analysis of Production and Allocation, 1951)是英美经济学界的标准读物。康托罗维奇的同名思想,把生产视为多种活动的组合,在数学上寻找最优的组合,几乎在同期提出,但他的著作在1960年代之前都没被翻译。
更关键的是政治背景。1975年的诺贝尔经济学奖,是这个奖项历史上第一次,也是到目前为止唯一一次,颁给一个社会主义国家的学者。从冷战格局来看,这是一个非常微妙的信号:西方主流经济学界用这种方式承认了一个事实,苏联在数学化经济方法上的某些探索,并不比西方差。但这个"承认"本身也是一种"收编"。康托罗维奇的名字被写进了英美经济学的英雄谱系,但他原本的政治立场被悄悄抹去了。
在康托罗维奇的诺贝尔演讲(题目是"数学在经济学中的成就、困难和前景")里,他用俄语和英语混合的方式,反复强调一个主题,稀缺的可计算性。他坚信,稀缺,也就是"东西不够用"这件事,不只是一种市场现象,它是一种数学现象。只要一种资源相对于需求是稀缺的,它就有一种"内在的"最优价格,也就是影子价格,这个价格不依赖于任何具体的政治制度,但可以被数学计算出来。他在演讲里反复强调,数学方法"在不同的社会制度下都能发挥作用",这一点让他的西方听众颇为惊讶,他们没想到一个苏联科学家会如此强调方法的普适性。
但这里有一个关键的反讽:稀缺的可计算性这一思想,在苏联体制内从未被认真执行过。康托罗维奇算出了影子价格,但苏联的物价仍然由国家计划委员会决定,不取决于任何数学公式。数学家和计划者生活在两个平行的世界里:前者算出了"应该如何配置资源",后者决定"实际上怎么配置"。康托罗维奇的洞见被困在论文里,直到体制结束才获得意义。
被忽略的几十年:为什么主流经济学看不见他
康托罗维奇的工作,在他工作的核心时期几乎从未被英美主流经济学认真讨论过。这不是偶然的,而是有几个结构性的原因。
第一是语言屏障。1960年代之前,苏联的学术著作极少被翻译成英文,英美学者也没有动力去学俄文。库普曼斯这样的学者通过英文学术期刊讨论问题,康托罗维奇的研究却被锁在苏联科学院的论文集里。冷战早期,这种知识流通的隔离是物理性的。
第二是意识形态屏障。英美主流经济学在1950-1960年代经历了一次关键的转向,从凯恩斯宏观经济学转向新古典综合,再到后来的理性预期学派。这个转向的核心假设是"价格万能":只要市场自由,价格会自动调整,资源会自动达到最优配置。在这个框架里,苏联式的计划经济从原理上就是错误的,所以苏联人对最优配置的数学研究,从一开始就被认为是研究了一个不存在的问题。
第三是学科屏障。康托罗维奇的工作严格来说是运筹学和数学的交叉领域,而不是经济学。他的合作者是数学家,他发表论文的期刊是数学期刊,他引用的文献是数学文献。英美主流经济学的博士生训练计划里,数学(尤其是线性代数和实分析)是被低估的,直到1970年代以后才有显著改善。当一个苏联数学家拿着矩阵和单纯形法走进英美经济学的会议室,听众里大多数人不认识这些工具。
第四是范式屏障。即使在1960年代康托罗维奇的著作被翻译之后,英美主流经济学对他的回应也是选择性的:他们拿走他的数学工具(线性规划、单纯形法),但拒绝他的制度含义。乔治·丹齐格(George Dantzig)在1947年独立发展了单纯形法,成为线性规划的标志性算法;但丹齐格的版本服务于美国军方的后勤规划,服务于美国企业的资源配置,服务于资本主义的市场经济。康托罗维奇的版本服务于苏联的计划经济,同样的数学,完全不同的制度语境。
1975年诺贝尔奖的颁奖辞有意无意地回避了这种张力。颁奖辞说,康托罗维奇的贡献是"在经济学中发展了数学方法",而没有说他在计划经济体制下发展了这些方法。康托罗维奇在演讲里强调的方法普适性,反过来被西方听众解读为"他也支持市场"。这是又一次精心的语义重构。
结果是:康托罗维奇的名字,在他生前就已经被"翻译"成了一个西方主流经济学可以接受的版本。他被并入了"线性规划"和"资源配置理论"的系谱里,但他原本的政治背景、他对计划经济的改良信念、他对影子价格的制度含义,这些都被轻轻抹去了。
这也是为什么,如果你今天去翻英美主流经济思想史的教科书,翻到1950-1970年代那一章,你会在萨缪尔森、弗里德曼、卢卡斯这些名字之间,几乎看不到康托罗维奇。教科书会用一两段话提一下"苏联也有一个数学家独立地发展了类似的思想",然后就翻篇了。但这个轻视并不准确。康托罗维奇那条线索,虽然在冷战时期被冷战隔离了,但它在结构上比萨缪尔森和弗里德曼的线索更接近今天的世界,因为它直接处理的是"在多种约束下如何求最优"这个算法时代的核心问题,而新古典经济学关心的"市场如何出清"在今天反而变成了一个被算法自动求解的子问题。
稀缺的可计算性:被算法时代重新发现的洞见
跳过中间的几十年,我们直接跳到今天。
康托罗维奇的遗产之所以在21世纪重新变得重要,不是因为有人重新发现了他的论文,而是因为21世纪的世界,终于长得像他1939年想描述的那个世界了。
1939年康托罗维奇面对的问题是什么?他在处理苏联工业中遇到的现实问题:如何在多种约束条件下,让产出最大化。约束条件是稀缺的资源,有限的原料、有限的工时、有限的机器;目标是最大化产出,产量、利润、效用,或者其他衡量成功的指标。这种"在约束下求最优"的问题结构,正是当代算法经济的核心问题结构。
21世纪的大型互联网平台面对的核心问题,几乎都可以被写成这种形式。网约车平台面对的问题:在给定的车辆数量、给定的乘客需求分布下,如何匹配车辆和乘客,以最大化匹配数(或最小化等待时间)?外卖平台面对的问题:在给定的骑手数量、给定的订单分布下,如何分配订单,以最小化配送时间?广告平台面对的问题:在给定的广告位、给定的用户注意力下,如何匹配广告和用户,以最大化点击率(或广告主利润)?
这些问题的数学结构,和康托罗维奇1939年解决胶合板问题时的数学结构,是同构的。它们都是资源最优配置问题,只不过1939年的资源是胶合板和原木,21世纪的资源是司机的注意力和用户的耐心。
但21世纪比1939年多了两样东西:数据和算力。
数据让"稀缺"变得可观测。1939年的康托罗维奇只能拿到工厂报告里的静态数据;今天的算法平台可以实时观测每一笔交易、每一次拒绝、每一秒钟的等待时间。稀缺不再是月度报表里的一个数字,而是每一秒都在变化的实时信号。
算力让"计算"变得可执行。1939年的线性规划算法,即使是工业级的版本,也需要手工算几天;今天,同样的算法(或它的变种)可以在毫秒级的时间内求解上百万个变量。康托罗维奇的影子价格,从一种"理论上可以算出来但没人算"的概念,变成了一种"每一毫秒都在被算出来"的实际数值。
更关键的是,算法把影子价格变成了自动执行的机制。康托罗维奇原本提出影子价格,是希望计划者能据此做出更好的决策。但计划者是人,人不会每秒都重新计算;算法可以。21世纪的平台经济,把康托罗维奇的"建议"变成了"自动执行"。稀缺一旦被算出来,价格立刻调整;价格调整一旦被算法执行,供需立即重新平衡。
这就是为什么康托罗维奇在21世纪变得重要:他1939年提出的思想,经过半个世纪的沉默,终于获得了运行它所需要的硬件和软件。
案例:网约车调度系统里的康托罗维奇幽灵
让我们用一个具体的例子来说明这一点。打开你的手机上的滴滴、Uber或Lyft,叫一辆车。这一秒发生的事情,背后藏着康托罗维奇的影子。
你点开App,输入目的地。系统立刻要做几件事:第一,在地图上找到你附近的可派车辆;第二,在你的请求时间窗口内,匹配你和某辆具体的车;第三,在匹配过程中计算一条最优路线;第四,根据当前供需,确定你这趟车的价格。整个过程在几秒钟内完成。
这四步里的每一步,都是某种形式的资源最优配置问题。
第一步,"找到附近的车",本质上是一个空间索引问题。它的目的是把"你附近"这个模糊的描述,转换成可以快速计算的地理坐标。这一步的数学相对简单,但工程实现非常复杂。
第二步,"匹配你和某辆车",才是真正的康托罗维奇问题。这本质上是一个指派问题(assignment problem):把若干个司机分配给若干个乘客,在满足距离约束和时间约束的前提下,最大化匹配数(或最小化等待时间)。这个问题的数学结构,和康托罗维奇1939年解决的胶合板问题是同一种,都是"在多个供需点之间寻找最优匹配"。
滴滴的算法工程师在2018年前后公开过他们的匹配算法,大致是这样的:他们不是逐辆计算最优匹配,而是把整个城市分成几千个网格,在每个网格内做局部匹配;然后在不同网格之间做"调度",把车从过剩的网格调度到稀缺的网格。这种"网格化"是工程上的妥协,数学上不完美,但在计算上可行。它本质上是一种分治算法:把一个大问题分成许多小问题,每个小问题用线性规划或更简单的启发式算法求解。
第三步,"最优路线",是一个最短路径问题。这和康托罗维奇的运输问题直接相关:给定路网、给定起点和终点,找到一条最短(或最快、或最便宜)的路径。这个问题在1959年由迪杰斯特拉(Edsger Dijkstra)给出了经典算法,今天的高德地图、百度地图都在用。康托罗维奇的运输问题是这个问题的离散版本,它的精确解可以用单纯形法算出,但今天的平台用更高效的近似算法,因为数据量太大。
第四步,"动态定价"(surge pricing),才是康托罗维奇幽灵最显形的地方。
滴滴的"动态加价"或Uber的"surge multiplier",本质上是影子价格的实时版。在某个区域,如果乘客请求多、可用司机少,系统会自动提高价格;如果司机多、乘客少,价格会自动下降。表面上看,这是供需关系;数学上看,这是影子价格的实时计算:每一个被占用的司机,都有一个"机会成本"。他接下来一小时被分配给这个乘客,就意味着放弃下一个可能更愿意付费的乘客;这个机会成本,就是他此刻应该收取的价格。
康托罗维奇1939年写下"影子价格"这个概念时,他的本意是给计划者一个参考:如果你想让资源配置最优,就用这个价格来指导生产决策。但他没有预见到的是,21世纪的算法系统,把这种"指导"变成了"自动执行"。价格不再是建议,而是立即生效的数字;算法不需要计划者的同意,就直接调整供需。
更有意思的是,21世纪的网约车系统,和1939年的苏联胶合板厂,共享了一种意识形态上极为敏感的东西:用算法替代人的决策。在苏联,这叫"计划";在21世纪的平台经济里,这叫"算法治理"。两者的核心机制是一样的:用数学公式把稀缺资源的最优配置算出来,然后让决策(无论是谁做出的)遵循这个数学公式。
这种意识形态上的同构,在康托罗维奇的时