香农论计算机下棋
Claude Shannon 发表《Programming a Computer for Playing Chess》,开创计算机博弈论。
事件概述
1950年,信息论之父 Claude Shannon 发表了具有开创意义的论文《Programming a Computer for Playing Chess》。他系统性地分析了计算机下棋的问题,提出了两种策略:"A型"(暴力搜索)和"B型"(启发式搜索)。Shannon 还引入了评估函数的概念,用于量化棋局的优势。这篇论文不仅奠定了计算机博弈的理论基础,也为后来的人工智能搜索算法提供了重要框架。Shannon 的思想深刻影响了从深蓝到 AlphaGo 的一系列博弈 AI。
深度学习笔记
背景、原理、影响与要点,一次读懂这个事件
背景与脉络
1950 年,数学家 Claude Shannon 在《哲学杂志》发表《计算机下棋程序》。彼时数字计算机刚起步,国际象棋因规则明确、信息完全,成为检验机器“智能”的理想试验场。Shannon 的动机并非造出世界冠军,而是证明“用机械搜索加评估函数”足以让机器下出有水平的棋。他首次把对弈形式化为博弈树,并指出穷举整局不现实,必须借助搜索与启发式剪枝。该文在尚无会下棋的程序之前,就预言了后来主导计算机棋类数十年的两条路线:暴力搜索(A 型)与选择性搜索(B 型)。
核心要点
- 1论文 1950 年发表于《哲学杂志》,题为《计算机下棋程序》,比任何实际象棋程序都早。
- 2Shannon 把对弈建模为博弈树:节点是局面,边是合法走法,双方交替落子。
- 3提出极小化极大(minimax)原则:假设对手最优,自叶向根回传局面估值。
- 4A 型策略穷举固定层数的所有走法,简单但受组合爆炸制约。
- 5B 型策略用棋理启发式只展开“像样”的走法,更接近人类,但易剪错好棋。
- 6给出以子力、机动性、兵形等加权求和的评估函数雏形。
原理与技术细节
Shannon 的核心思路是把“下棋”变成“在博弈树上做有界搜索”。每个局面是一个节点,每步合法走法是边;程序自当前局面向下展开若干层,到预设深度后用评估函数给叶节点打分,再按 minimax 自底向上回传:我方取最大、对手取最小。评估函数为加权求和——以子力价值为主,叠加机动性、王的安全、中心控制与兵形(叠兵、孤兵)等项。A 型搜索把每个分支展开到同一深度,简单稳妥,却因分支因子约 30 而指数膨胀(Shannon 估算只看三步就约 10^9 局面)。B 型先用启发式筛掉“不像样”的走法(强制着法、吃子、兑子),只深挖少数主线,并对激变局面补做“静止搜索”以免在交换中途误判。
影响与后续
Shannon 的框架——状态表示、评估、搜索与启发式控制——成为一切博弈 AI 的基石,其 minimax 思想后来被 α-β 剪枝极大强化。但 A 型暴力搜索的算力需求随硬件缩放,反而长期压倒了更聪明的 B 型启发式;直到深蓝时代,纯搜索才战胜人类冠军。局限在于:固定深度评估会触发“地平线效应”,且下棋远未触及真正的理解。尽管如此,该文所确立的“以可观察行为而非内在意识衡量智能”的工程取向,与图灵测试一脉相承。
学习要点
- 智能任务可拆解为“搜索 + 评估”,二者解耦是工程上的关键一步。
- 组合爆炸无法靠蛮力解决,必须用知识与剪枝来引导搜索。
- 给机器设定“打分标准”比手写每一步规则更具扩展性。
术语表
在零和博弈中,我方最大化、对手最小化同一估值,自叶向根回传以选最优着法。
对仍在吃子交换等激变中的局面继续展开,直到局面稳定再评估,避免地平线效应。
用子力、机动性等特征加权求和,给棋局一个衡量“谁占优”的数值分数。