程序之间的博弈:竞争的规则学
文章摘要
Stephen Wolfram 研究了不同的计算机程序在重复博弈中如何相互竞争。他没有挑选少数人为设计的策略,而是系统性地穷举某些计算类型下的所有可能程序——这是一种理解竞争的”规则学(ruliology)”路径。
基本设定是:两个智能体反复进行博弈,每方采取二元行动(红或绿),收益取决于双方的出招。每个智能体不使用概率策略,而是依据完整的历史出招记录、以确定性程序做决策。核心问题是:竞争究竟导向复杂,还是导向简单?
主要实验与发现:
- 有限状态机(2-3 状态):Wolfram 穷举了所有不同的状态机,并按竞争中的平均收益排序。出人意料的是,获胜策略与复杂度之间”没有强相关”——决定胜负的是”细节结构,而非整体特征”。
- 不同规模状态机的对比:三状态机在面对更广泛的对手池时系统性地胜过两状态机,因为它们能”展现不同的侧面”,与各类对手产生共鸣,相当于内含多种专门化的子策略。
- 自适应演化:当状态机经历变异与按收益选择时,演化能高效地找到强劲的竞争者,且尽管路径曲折,最终往往收敛到”简单解”。
- 元胞自动机 vs 有限状态机:换用不同程序类型测试时,元胞自动机略胜有限状态机,说明计算”基底”本身也有影响。
- 博弈变体:在不同收益结构(是否匹配、囚徒困境等)下结论依然成立,只是具体排名细节有所变化。
核心结论:计算不可约性占主导——”要知道程序之间的竞争会如何收场,基本别无选择,只能跑一遍看结果”;不存在能涵盖所有可能性的简单参数化,必须系统枚举;成功的演化策略通过”不可约的计算”而非可解释的逻辑运作,呼应了生物演化与机器学习中的模式;现实中的竞争(无论生物、经济还是数字领域)很可能同样不可约,因而实证研究比理论预测更为关键。
HN 评论精华
lioeters 称赞 Wolfram 借助计算笔记本系统性地探索数学空间,赞赏他”锲而不舍、全面地追寻一个直觉、一个问题”,并用自己的编程语言将结果可视化。
vessenes 认为观察不同规则集下相互竞争的策略很有价值,指出计算不可约性能带来竞争优势,而精巧的”以牙还牙”变体在面对可被诱导进入可预测行为的简单对手时,反而可能表现不佳。
drdeca 批评这篇文章缺乏明确方向,质疑没有形式化定理或假设检验的实验是否足够有价值,发问:”如果你连证明一个定理都不打算尝试,那意义何在?”
bitwize 则带着戏谑评论,暗示这项工作主要是在展示智力,而非推进可检验的知识,把 Wolfram 的做法比作”发明新领域,留给别人去做理论形式化”。
总体而言,评论区的主要张力在于:一边欣赏其探索式思维,一边对其严谨性与具体产出表示怀疑。