Arthur Samuel 的跳棋程序

让机器自己改进的早期证明

在 IBM 702 上,Arthur Samuel 编写了一个会下跳棋的程序,并让它通过与自己对弈持续改进棋力。他后来把这项工作称为「机器学习」的一个早期实例,这个术语也由此进入公共词汇。

时间1952 年 级别B · 领域级 组织 状态已核验 · 1 个来源
1950 年代电脑下跳棋的复古插画
Samuel 的跳棋程序让机器第一次通过自我对弈学会下棋,「机器学习」由此得名。 AI Chronicle

1952 年,IBM 的实验室里出现了一个不写账单、不搞统计的程序。Arthur Samuel 在 IBM 702 上写了一套下跳棋的规则,然后让这套程序自己做一件事:和自己对弈,越下越好。机器的内存小得可怜,程序只能用一套很朴素的思路——把棋局的形势压缩成几个数字,再让这些数字的权重随着对局结果慢慢变化。

Samuel 没有给程序背棋谱,也没有把高手的经验手工写成每一步的决策表。他给了程序一个评估函数,让它判断「当前局面大概对我方有利几分」,再让对局结果反过来调整这个函数里的权重。程序输了一局,就把导致输局的那些判断往反方向拧一点。这种「靠结果调整自己」的机制,在后来被起了正式的名字:强化学习,以及更宽泛的机器学习。

到 1955 年,这个程序已经学会了一些开局的小技巧。它没有比人更聪明,但它证明了「学习」可以不是人类写规则,而是程序从自己的经验里一点一点调整参数。Samuel 在 1959 年的论文里把这项工作称作 machine learning 的早期实例——这个词今天被印在无数产品页上,追根溯源,最早被这样叫的,就是这套和跳棋较劲的程序。

程序后来变得有多强?1959 年版本已经接近普通业余棋手,Samuel 还让它在一场公开演示里对弈。它赢过一些时候,也输过一些时候。真正被记住的,不是它赢了多少局,而是它第一次让旁观者意识到:程序可以「变聪明」,而不是只会老老实实执行每一步写死的指令。这个区分,今天依然是理解深度学习与普通软件差别的起点。

回头看,这套系统缺少后来的机器学习里很多东西:没有大规模数据,没有深层网络,没有 GPU。它甚至连搜索都很浅。但它的骨架已经完整:一个可调整的评估函数,一条把对局结果变成调整信号的路径,以及自我对弈来制造训练数据的办法。几十年后 AlphaGo 自我博弈训练、价值网络估计胜负,使用的核心思路在 1952 年的这台机器上已经有了雏形。

Samuel 的跳棋程序没有引发产业革命,也没能走出实验室成为产品。它在 AI 历史里占据的位置,更多是坐标意义上的:它把「机器学习」从一句口号变成一个可以运行的、可重复的实验。今天的语言模型、推荐系统、自动驾驶,都共享着同一个朴素的出发点——程序从经验中调整自己。这条路的第一个清晰脚印,踩在 1952 年的跳棋棋盘上。

In 1952 an unusual program appeared in an IBM lab: it did not bill customers or crunch statistics. Arthur Samuel wrote a checkers player on the IBM 702 and gave it one job—play against itself and get better. Memory was minuscule, so the program leaned on a plain idea: compress a board position into a few numbers, then let the weights of those numbers shift slowly with each game's outcome.

Samuel did not feed it grandmaster games or hand-code every move. He gave the program an evaluation function that judged "roughly how favorable is this position for me," then let game results adjust the weights of that function. Lose a game and nudge the judgments that led to it in the opposite direction. This mechanism of adjusting yourself by results later received formal names: reinforcement learning, and more broadly machine learning.

By 1955 the program had picked up a few opening tricks. It was not smarter than a person, but it demonstrated that "learning" need not mean a human writing rules—it could mean a program adjusting its own parameters from its own experience. Samuel's 1959 paper called this work an early instance of machine learning. The term now sits on countless product pages; its first serious use traces back to this checkers program.

How strong did it get? By 1959 the program played near casual amateur level, and Samuel demonstrated it in public matches. It won some and lost some. What stuck was not the record but the realization that a program could "get smarter" rather than dutifully execute every fixed instruction—a distinction still at the root of how deep learning differs from ordinary software.

In hindsight the system lacked almost everything modern machine learning has: no massive data, no deep networks, no GPUs, barely any search. But its skeleton was complete—an adjustable evaluation function, a path turning game outcomes into adjustment signals, and self-play to manufacture training data. When AlphaGo later trained through self-play and estimated win rates with a value network, the core idea already existed on that 1952 machine.

Samuel's checkers program did not spark an industry or become a product. Its place in AI history is more like a coordinate: it turned "machine learning" from a slogan into a running, repeatable experiment. Today's language models, recommendation systems, and self-driving stacks share the same plain starting point—a program adjusting itself from experience. The first clear footprint on that path sits on a 1952 checkers board.

展开完整事件档案人物、主题、模型与产品
人物
Arthur Samuel
模型
产品
来源

原始资料

  1. 01Some Studies in Machine Learning Using the Game of CheckersIBM Journal of Research and Development · paper

试试搜索