OpenAI三项科学发现拆解:3-SAT亚指数算法挑战ETH,AI科学声明的验证流水线怎么搭

10 月 26 日,OpenAI 宣布了一件事:自家模型在数学、计算机科学、物理学三个领域各产出一项新发现,并且同步公开了模型的原始输出。

第一项是数学:给出欧几里得波动方程局部光滑性猜想(Sogge local smoothing)在所有空间维度下的证明,由此可以直接推出 Kakeya 维数猜想与 Stein 球面限制估计。

第二项是计算机科学:给出一个确定性算法,声称可以在亚指数时间、多项式空间内,精确计数固定宽度 CNF 公式的可满足赋值个数------其中 3-SAT 情形直接顶撞指数时间假设 ETH。

第三项是物理学:声称对含规范场与费米子的四维相互作用量子场论给出了数学上严格的存在性证明,覆盖量子色动力学 QCD 以及标准模型的统一完备化。

剧情还没完。Anthropic 随后公布了针对同一个 3-SAT 问题的证明,两家实验室围绕同一结果上演了学界所称的「对打证明」(dueling proofs)。

截至发稿,这三项结果都没有通过同行评审,也没有完成完整的形式化验证。但这不妨碍拆解三件事:每一项声明的技术含量到底有多高、验证阵容是怎么搭的、以及当 AI 开始批量产出科学声明时,验证流水线应该怎么建。

一、事件还原:一次宣布,三个战场

The Verge 于北京时间 10 月 27 日晨报道了这次宣布。OpenAI 的原始公告附带了模型的原始输出,并说明了一个不同寻常的安排:每一项发现都配置了外部专家担任「向导」(shepherds),负责组织团队理解研究结果。

OpenAI 对参与者给出了四条承诺:不签保密协议、可以自由讨论相关工作、可以分享中间成果并发表结论、参与自愿且无报酬。OpenAI 同时表示,不会为内部模型产生的这些发现寻求学术署名。

审查阵容本身值得列一张表:

领域 声明核心 外部验证阵容
调和分析 Sogge 局部光滑性全维度证明,推出 Kakeya 维数猜想 未公开完整名单
复杂性理论 固定宽度 CNF 精确计数的确定性亚指数算法,3-SAT 情形推翻 ETH Ramamohan Paturi(ETH 提出者之一)、Russell Impagliazzo、MIT 的 Ryan Williams 组成独立小组
量子场论 四维相互作用 QFT(含 QCD)的严格存在性证明 诺奖得主 David Gross 领衔,Michael Douglas、Arthur Jaffe、Igor Klebanov、Nikita Nekrasov 任向导

值得注意一个时间线细节:OpenAI 的数学顾问小组在宣布前一天刚建议 AI 公司不要采用「指定专家优先接触」的做法,主张改为在学术仓库发布 Lean 形式化证明。OpenAI 没有采纳这条路线,而是走了向导制。

OpenAI 还发布了一封公开信,向学界征求三个问题的意见:AI 生成结果的早期访问规范、发现者与验证者之间的署名信用如何分配、以及如何支持学生在方法变革中保持批判性判断。

这次宣布的传播路径也值得记录:先由 The Verge 与 The Decoder 等媒体披露,再由各家日报汇总扩散;Anthropic 的对打证明则由 Scientific American 报道。从宣布到形成公共讨论只用了一天------这个速度本身就是 AI 科学时代的新常态,验证体系的建设速度被迫跟上产出的速度。

二、调和分析:Sogge 猜想为什么牵动一串百年问题

局部光滑性猜想由 Christopher Sogge 在 1991 年提出,研究对象是欧几里得空间上波动方程的解。

直观地说,波在传播过程中会形成焦散(caustics)------振幅在某些时刻、某些位置聚集出尖峰。局部光滑性猜想断言:如果把解在时空上做 L^p 平均,这些尖峰会被摊平,解能获得大约 1/p 阶的额外正则性增益。

焦散不是抽象概念:阳光穿过水杯在桌面上投出的亮纹、雨后彩虹的主虹,都是焦散。波动方程的解在这些位置失去逐点的正则性,局部光滑性猜想下的赌注是:单点会坏,平均意义下仍然可控。

这个猜想的分量在于它的推论链。Sogge 猜想一旦成立,可以直接推出两个级别的结果:Kakeya 维数猜想------R^n 中包含每个方向单位线段的集合,其豪斯多夫维数必须是 n;以及 Stein 球面限制估计------傅里叶分析限制性理论的核心命题之一。

限制性理论问的是另一个方向的问题:一个函数的傅里叶变换,在球面这样的低维曲面上还有没有意义。Stein 在上世纪七十年代开启这条线,Tomas-Stein 估计给出第一块基石。局部光滑性、限制性估计、Kakeya 维数,三条线共享同一套振荡积分技术,这就是为什么一个猜想能撬动一整串问题。

三维 Kakeya 维数问题在 2025 年初由 Hong Wang 与 Joshua Zahl 解决,当时就引发了数学界的轰动。而 OpenAI 模型这次声称的是全维度------从局部光滑性入手,一次性覆盖所有空间维度。

如果证明成立,这不是单点突破,而是把限制性理论、Kakeya 问题、局部光滑性这条纠缠了三十多年的问题链整体打通。调和分析近半个世纪的很多工作,都是在「假设局部光滑性成立」的前提下展开的,前提一旦被证明,大量条件性结果会直接升级为定理。

验证的难点同样明显:这类证明动辄上百页,充满技术性估计,全世界能独立审读的学者数量有限。这解释了为什么第一项发现的验证阵容至今没有公开完整名单------能审的人本来就少,而这些人手里还都有自己的工作。

三、复杂性理论:亚指数算法与 ETH 的正面冲突

三项声明里,计算机科学这一项对工业界冲击最直接,值得重点拆。

先补背景。指数时间假设(ETH)由 Russell Impagliazzo 与 Ramamohan Paturi 在世纪之交提出,核心断言是:3-SAT 问题不存在 2^{o(n)} 时间的算法,其中 n 是变量个数,小 o 表示增长阶严格低于线性。

换句话说,ETH 宣布暴力枚举的指数墙不可逾越------你可以优化常数、可以把底数从 2 压到 1.4 甚至更低,但运行时间的指数部分必须保留一个正比例于 n 的项。

ETH 是精细复杂性理论(fine-grained complexity)的基石之一。过去二十年,研究者基于 ETH 和它的加强版 SETH,为数百个问题建立了条件下界:编辑距离、最长公共子序列、正交向量、最近邻搜索的精确版本,都在这张网里。

作为参照,公开文献里 3-SAT 判定问题的最好随机算法(PPSZ 一族)运行时间约为 1.308^n,Hertli 证明了这个指数常数在某种意义上对这类算法已经最优;确定性算法还要更慢。把这些底数翻译成 2 的幂,指数部分都是正比例于 n 的------ETH 允许的正是这个量级,禁止的是把指数压到比 n 低阶。

再看 OpenAI 模型声称的算法,三个形容词每一个都刺眼。

第一,确定性。这比随机算法更强------没有拉斯维加斯式的随机性托底,每一步都有据可查。

第二,亚指数时间。这直接违反 ETH:连 3-SAT 的判定版本有亚指数算法都是 ETH 禁止的,计数版本的亚指数算法只会更强。

第三,多项式空间。这排除了「用指数级内存换时间」的常见路线,说明算法不是靠预计算表硬存中间结果。

还有一个细节容易被忽略:声明针对的是计数问题 #SAT,即数出满足赋值的精确个数,而不是判定问题。计数版本是 #P 完全的,复杂性上比 NP 完全的判定版本更硬。目前公开文献里固定宽度 CNF 的精确计数算法,运行时间都在 2^{cn} 量级,c 是正常数。

计数比判定难在哪里?判定只需要找到一条满足赋值、或者宣布不存在,计数却要对整个解空间做精确审计,任何一个角落的解都不能漏。#P 这个类由 Valiant 在 1979 年定义,它被普遍认为严格难于 NP------Toda 定理甚至表明,整个多项式层级的判定问题都能被一次 #P 查询支配。

如果这个算法成立,连锁反应是:基于 ETH 的整张下界网络需要逐条重估;SETH 不会自动倒下,但如果证明技术可以迁移,正交向量猜想、编辑距离的二次下界都要重新审视。

社区保持谨慎的理由也很充分。Paturi 本人参与独立审查是双刃剑:ETH 提出者之一坐镇,增加了审查的严肃性;但在完整证明公开之前,任何人都无法判定这是不是又一次「看起来接近实则不然」的尝试------复杂性理论史上从不缺这类案例。

四、量子场论:千禧年问题隔壁的存在性证明

第三项声明涉及构造性量子场论(constructive QFT)的终极目标之一:在四维时空中,为含规范场与费米子的相互作用理论建立数学上严格的存在性。

这里的标杆是 Yang-Mills 存在性与质量间隙------Clay 数学研究所七个千禧年问题之一。OpenAI 模型声称的范围更大:覆盖量子色动力学 QCD,以及标准模型的统一完备化。

Yang-Mills 问题的另一半是质量间隙:理论的最轻激发态质量必须严格大于零。这对应着夸克禁闭的物理事实------你从未见过单独游离的夸克。一个同时覆盖存在性与质量间隙的四维构造,等于为粒子物理标准模型补上缺失了半个世纪的数学地基。

构造性 QFT 的历史可以追溯到上世纪六十年代的 Glimm 与 Jaffe 计划:在 Wightman 或 Osterwalder-Schrader 公理体系下,真正把量子场论作为数学对象构造出来。二维和三维的超可重整理论在上世纪七八十年代被解决,而四维相互作用理论六十年来无人能碰。

二维和三维的胜利靠的是同一套策略:先把时空离散化成格点,在格点上把理论构造出来,再证明格点趋于连续时极限存在。四维的困难在于重整化群流的性质完全变了------理论在紫外端的行为从可控变成失控,格点逼近的每一步都要和发散搏斗。

向导名单里的 Arthur Jaffe 正是这段历史的核心人物之一。让构造性 QFT 的奠基者来「领养」一份 AI 产出的四维证明,这个安排本身就传递了信号:OpenAI 知道这一关有多难过。

向导制度和传统审稿不是一回事。审稿是裁判:读完论文,判断对错。向导是领养:诺奖得主带队组织团队,把 AI 产出的证明拆开、理解、补全、必要时修正,最后由人类团队对结果负责。

OpenAI 的四条承诺------不签保密协议、自由讨论、可发中间成果、不寻求署名------本质上是在为这种新分工定规矩:AI 出草稿,人类出责任。

五、验证流水线:dueling proofs 与 Lean 之争

这次事件里最值得工程界关注的,不是三项声明本身,而是围绕它们长出来的验证结构。

第一块拼图是对打证明。Anthropic 在 OpenAI 宣布后不久,公布了针对同一个 3-SAT 问题的证明。两家实验室的模型独立产出同一结果的证明------如果两份证明细节公开且确实相互独立,这就是一种交叉验证:两个独立生成过程在数学事实上收敛,比任何单方的自信声明都有分量。

第二块拼图是 Lean 之争。OpenAI 数学顾问小组主张的路线是:把证明直接形式化为 Lean 代码,发布到学术仓库,让定理证明器来做机器检查。Lean 是交互式定理证明器,其社区维护的 mathlib 数学库已经完成过多个重大定理的形式化。

形式化路线的意义在于改变验证的成本结构:人肉审读一份百页证明需要顶级专家数周,而机器检查一份 Lean 证明只需要编译器几小时。验证从稀缺的专家劳动,变成可无限复制的计算。

这条路线有成功先例。2021 年的 Liquid Tensor Experiment 里,数学家 Peter Scholze 把自己最不放心的一段证明交给 Lean 社区,约半年后机器检查完成,Scholze 公开表示关键性质已被完全验证。那次实验证明形式化可以承载最前沿的数学,代价是半年的社区协作------比人肉审读可控,但仍远慢于一次编译。

OpenAI 实际选择的向导制则是另一条路线:先让顶级专家理解证明,再谈形式化。两条路线不矛盾,但顺序之争反映了真实分歧------顾问小组担心「指定专家优先接触」会造成信息垄断,让少数机构控制谁能先看到 AI 的产出。

把这次暴露出的四层验证结构列出来,会发现它和软件工程的 CI 流水线惊人地同构:

验证层 科学发现场景 软件工程对应物
产出公开 OpenAI 公开模型原始输出 公开构建产物与日志
独立复现 Anthropic 的对打证明 独立 CI 环境复跑
机器检查 Lean 形式化(目前缺位) 类型系统与静态分析
人工终审 同行评审(尚未开始) code review

注意第三层是空的:三项声明目前都没有形式化版本。这意味着整个验证流水线里成本最低、最该先转起来的一环------机器检查------还没有转,现在消耗的全是最贵的专家时间。

六、动手验证:一个 #SAT 精确计数器告诉你指数墙有多厚

纸面讨论不如亲手跑一遍。下面是一个完整可运行的 Python 程序:用 DPLL 算法加单元传播与缓存,精确计数 3-CNF 公式的满足赋值个数,然后在相变点附近生成随机实例,观察耗时随变量数的增长曲线。

相变点指子句数与变量数之比约 4.26 的区域------这里的随机 3-SAT 实例最难,正好用来感受 ETH 所说的指数墙。

python 复制代码
import sys
import time
import random

def simplify(clauses, lit):
    """按文字 lit 化简子句集;返回 None 表示出现空子句(冲突)"""
    out = []
    for c in clauses:
        if lit in c:
            continue
        nc = tuple(l for l in c if l != -lit)
        if not nc:
            return None
        out.append(nc)
    return out

def unit_propagate(clauses):
    """反复单元传播,返回 (化简后子句集, 绑定变量数);冲突返回 None"""
    clauses = list(clauses)
    bound = 0
    while True:
        unit = None
        for c in clauses:
            if len(c) == 1:
                unit = c[0]
                break
        if unit is None:
            return clauses, bound
        clauses = simplify(clauses, unit)
        if clauses is None:
            return None
        bound += 1

def count_sat(clauses, n_free, memo):
    """精确计数满足赋值个数,n_free 为尚未被绑定的变量数"""
    key = (frozenset(clauses), n_free)
    if key in memo:
        return memo[key]
    res = unit_propagate(clauses)
    if res is None:
        memo[key] = 0
        return 0
    clauses, bound = res
    n_free -= bound
    if not clauses:
        ans = 1 << n_free
        memo[key] = ans
        return ans
    freq = {}
    for c in clauses:
        for l in c:
            freq[abs(l)] = freq.get(abs(l), 0) + 1
    v = max(freq, key=freq.get)
    ans = 0
    for lit in (v, -v):
        nxt = simplify(clauses, lit)
        if nxt is not None:
            ans += count_sat(nxt, n_free - 1, memo)
    memo[key] = ans
    return ans

def random_3cnf(n_vars, ratio, rng):
    """在相变点附近生成随机 3-CNF"""
    m = int(ratio * n_vars)
    clauses = []
    for _ in range(m):
        vs = rng.sample(range(1, n_vars + 1), 3)
        clauses.append(tuple(x if rng.random() < 0.5 else -x for x in vs))
    return clauses

if __name__ == "__main__":
    sys.setrecursionlimit(1000000)
    rng = random.Random(20261026)
    print(f"{'变量数':>8} {'子句数':>8} {'满足赋值数':>16} {'耗时秒':>10}")
    for n in range(8, 23, 2):
        clauses = random_3cnf(n, 4.26, rng)
        t0 = time.perf_counter()
        cnt = count_sat(clauses, n, {})
        dt = time.perf_counter() - t0
        print(f"{n:>8} {len(clauses):>8} {cnt:>16} {dt:>10.3f}")

在普通开发机上跑这段程序,你会看到两个现象。第一,满足赋值数是精确值------不是采样估计,每一个都是数出来的,这就是 #SAT 计数问题的含义。第二,耗时列可能出乎你的意料:直到 n=22,每个实例都在毫秒级完成。

把变量数继续推到 24、26、28、30,实测耗时仍然只有十几毫秒。这不是指数墙不存在,而是单元传播加分支启发式加缓存,把墙向远处推了一大截:暴力枚举 n=30 需要检查约 10 亿种赋值,而这台机器上的 DPLL 只花了十几毫秒。工程化算法对指数墙的压缩能力,本身就是这行输出里最值得看的东西。

墙会在哪里现身?把子句比率调离相变点、换成编码组合优化问题的结构化实例,或者干脆删掉缓存,耗时的指数指纹立刻显现:n 每增加一个常数,耗时乘上一个常数因子,这就是 2^{cn} 型增长的手感。

现在对照 OpenAI 模型声称的结果:亚指数算法要求连那个乘数因子本身都随 n 收缩------n 越大,每增加一个变量的边际代价增长得越慢。ETH 断言这样的算法对 3-SAT 不存在。两者只有一个能对。

还有一个值得亲手验证的点:代码里的缓存字典 memo 是拿内存换时间的典型手段,删掉它,同样的实例耗时会明显膨胀。而声明中的算法被宣称满足多项式空间约束------连大规模缓存这条路都不需要。这个约束之所以刺眼,原因就在这里。

如果想亲手摸到墙,可以把程序里的变量数上限逐步调到 40 以上,或者把随机实例换成编码组合优化问题的结构化实例。机器会用自己的速度告诉你:墙一直都在,只是工程化手段把它推得比直觉更远。

七、对开发者的工程启示

跳出三项声明的真假之争,这次事件给工程实践留下三条可执行的启示。

第一条:验证能力正在成为稀缺资源。生成成本在归零,验证成本不降反升。设计 AI 工作流时,让模型产出可机检的中间产物------测试用例、类型标注、证明义务、可执行的规格------比让模型直接产出结论重要得多。中间产物能被机器接住,专家时间才花在刀刃上。

第二条:dueling proofs 是一个便宜的安全网。两个相互独立的模型对同一结论给出证明,其可靠性高于任何单模型的自信分数。落地版本就是多模型交叉验证:关键结论让两个不同来源的模型独立推导,只有收敛才放行。成本翻倍,但远低于人工复核。

具体到工程实践,多模型交叉验证可以这样落地:把要核验的结论写成独立规格,分别交给两个训练谱系不同的模型独立推导,再写一个几十行的比对脚本检查两边结论是否等价。比对脚本必须完全独立于两个模型------验证器自己不引入第二份智能,这是整个结构成立的支点。

第一条里说的中间产物,清单也可以很具体:让代码模型同时产出单元测试与属性测试,让分析模型同时产出数据来源与推导链条,让写作模型同时产出事实核查清单。每一份中间产物都是一个机检挂钩,挂钩越多,人审的成本越低。

第三条:关注向导制度的扩散。AI 出草稿、持证人类出责任,这个结构不会停留在数学界。法律意见、医疗诊断、金融审计、工程签章,任何「责任必须落实到人」的领域,都会演化出各自的向导制度。提前想清楚自己所在领域的向导是谁、怎么担责,比争论 AI 能力边界更有实际价值。

向导制度里还藏着一个容易被低估的激励问题:顶级专家的时间极其昂贵,让他们为 AI 的产出投入数周,需要的不只是学术好奇心。OpenAI 给出的无报酬、自愿、可发中间成果三件套,本质上是把参与者的回报从金钱换成学术优先权与公共声誉------这个交换能不能长期成立,取决于第一批向导最终拿到什么样的结果。

至于三项发现本身,接下来的观察点很清晰:完整证明是否公开、Lean 形式化版本是否出现、Paturi 小组与 Gross 团队的结论何时落地。在这些证据就位之前,把每一项声明当作「高强度的待验证假设」------这既是对科学的尊重,也是对坐在审查席上的 ETH 提出者们的尊重。

相关推荐
梦帮科技1 小时前
基于幺正李代数连续归一化流的混合量子生成模型 (HQNN-Flow) 完整技术指南(上部分)
网络·人工智能·算法·量子计算
青少儿编程课堂1 小时前
蓝桥杯青少组 + 全国青少年信息素养大赛 + 电子学会图形化考级|校园推箱子大挑战解析
c++·python·算法·bfs·信息学竞赛
JavaPub-rodert1 小时前
王仕宇分享:把 MySQL 排障做成 AI Agent,慢 SQL、锁等待、连接数和主从异常都能自动查
人工智能·sql·mysql
热文新讯1 小时前
从内在愿望到现实创造——奇迹30《原元源·愿》探索AI时代的个体成长新路径
人工智能
武子康1 小时前
批量设备任务显示 COMPLETED,为什么还有设备失败?
人工智能·后端·agent
宿州派大星1 小时前
目标检测:YOLOv1架构原理与损失函数全解析
人工智能·yolo·目标检测
vivo互联网技术1 小时前
KDC 全景:从现实到反馈的完整工程模型 |KDC 系列 05
人工智能·架构
TMT星球1 小时前
重构私域经营范式,梦饷科技“AI豆“荣获首届上海“人工智能+消费“创新大赛优胜奖
人工智能·科技·重构
Multipath7121 小时前
上车即入院,链路先到院——乾元通多链路聚合,为智慧救护车守住移动中的生命线
网络·人工智能·网络协议·udp·无人机