在人工智能的星空中,有一颗最早被点亮的星辰,它并非耀眼的现代深度学习模型,而是一段关于跳棋、关于学习、关于人机对抗的传奇故事。故事的主人公亚瑟·塞缪尔(Arthur Samuel)并非计算机科学家出身,却在无意间开启了机器学习的大门。从IBM 7090的隆隆机箱到PDP-10的磁芯存储,从WAITS系统的终端命令到VideoBrain家用机的1KB内存,塞缪尔的跳棋程序穿越半个世纪的技术迭代,成为人工智能发展史上不可磨灭的里程碑。**从真空管到跳棋梦想:一个教授的计算机情结**亚瑟·塞缪尔的职业生涯始于20世纪30年代的贝尔实验室,彼时电子计算机尚未诞生,他专注于真空管技术的研究。然而,真空管的复杂性与不可靠性让他对电子设备的未来充满疑虑。1946年,塞缪尔离开贝尔实验室,成为伊利诺伊大学的教授。
在这里,他萌生了一个大胆的想法:建造一台计算机,并让它学会下跳棋。这个看似简单的构想背后,蕴含着对机器智能的深刻思考 - - 计算机能否像人类一样通过经验改进自身?塞缪尔的计划在纸面上逐渐成形。他设想中的计算机将采用真空管逻辑电路,并配备一个能够下棋的程序。然而,现实远比设想复杂。1949年,塞缪尔离开伊利诺伊大学前往IBM工作,他的跳棋计划也随之搁浅。但跳棋的种子已然埋下,在IBM的日子里,他无法抑制对这一项目的执念。
**IBM 704的突破:自学习跳棋程序的诞生**1952年,塞缪尔在IBM 701上完成了跳棋程序的初版。然而,这台机器缺乏高级编程语言,塞缪尔不得不直接用机器码编写程序。直到1954年IBM 704问世,情况才出现转机。704配备了浮点运算单元和更强大的存储能力,使得塞缪尔能够实现更复杂的算法。他引入了**最小化算法(minimax)**和**α-β剪枝(alpha-beta pruning)**,这些时至今日仍是游戏AI的基础技术。但塞缪尔的真正创举,是为程序添加了**学习能力**。
在传统的跳棋程序中,计算机仅能根据预设规则进行对弈,无法从对局中获取经验。塞缪尔的突破在于让程序能够通过**对局记忆(rote learning)**和**评估函数优化**来提升自身水平。程序会记录每一步棋的结果,并根据输赢调整棋子的价值评估。例如,如果某个棋子的移动导致失败,程序会降低该棋子的权重。这种机制让跳棋程序能够在与人类对弈中不断进化,而无需人工干预。1956年,塞缪尔的跳棋程序在电视上进行了公开演示,轰动一时。
观众惊讶地看到一台机器能够与人类棋手对抗,并通过学习提升实力。塞缪尔在《IBM研究与发展期刊》上发表的论文《使用跳棋游戏的机器学习研究》成为人工智能领域的奠基之作。1960年,他的工作被收录在《计算机与思想》一书中,与图灵、香农等先驱并列,奠定了他在AI历史上的地位。**从IBM到SAIL:PDP-10上的跳棋传承**1966年,塞缪尔从IBM退休,加入斯坦福人工智能实验室(SAIL)。这里汇聚了麦卡锡、明斯基等AI先驱,是人工智能研究的圣地。塞缪尔带来了他的跳棋程序,并将其从IBM 7090的汇编语言移植到PDP-10的架构上。
PDP-10是DEC公司于1960年代推出的大型计算机,采用分时系统(time-sharing),能够同时为多个用户提供服务。塞缪尔的跳棋程序在PDP-10上焕发了新生,成为WAITS操作系统中的经典应用。WAITS(Wide Area Information Transfer System)是SAIL开发的分时操作系统,运行在PDP-10上。它不仅支持多用户同时登录,还提供了丰富的编程工具和文件管理功能。塞缪尔的跳棋程序被命名为CHECKE,用户可以通过终端命令与之对弈。程序支持多种操作,包括设置棋局、调整难度、甚至让计算机自行对弈。
最令人叹为观止的是,CHECKE能够实时显示搜索的棋局数量、评估函数值和计算时间,让用户直观地感受到AI的思考过程。在WAITS上运行CHECKE的体验颇为独特。用户通过终端输入命令,例如"R CHECKE"启动程序,"BD"显示棋盘,"HELP"查看帮助文档。程序会根据用户的移动计算最佳回应,并输出类似以下的信息:MOVE # OF BDS PIECE EVAL TIME2 23-19 219956. 0 35 13567```这意味着计算机选择了23-19的移动,搜索了219,956个棋局,评估值为0(表示中性局面),耗时13.567秒。在PDP-10的时代,这样的计算速度已经相当惊人,但与现代AI相比,仍显得缓慢而珍贵。CHECKE的代码至今保存在SAIL的WAITS系统中,文件名如CKP2.MAC[2,ALS]和[CH2,ALS]等,见证了塞缪尔从1971年到1977年间的持续改进。
**与杜克大学的世纪对决:AI对抗的早期挑战**1976年,塞缪尔的跳棋程序再次引起学术界的关注。杜克大学的研究团队开发了一套新的跳棋AI程序,运行在IBM System/360上。塞缪尔决定与之进行对抗,两场比赛随即展开。然而,由于计算资源的限制,比赛未能完成。塞缪尔在事后分析中指出:"研究团队认为杜克程序在两场比赛中都有可能获胜。进一步分析显示,其中一场比赛可能仍有和棋的可能。
"这场对决虽然未能分出胜负,却展现了早期AI在计算能力和算法设计上的局限性。塞缪尔的跳棋程序虽然基于简单的评估函数和搜索算法,但在与人类顶尖棋手的对抗中,仍能展现出惊人的竞争力。这证明了即使在硬件资源有限的情况下,优秀的算法设计也能创造出令人印象深刻的智能行为。**VideoBrain的家用机奇遇:1KB内存中的跳棋梦**1977年,塞缪尔与VideoBrain公司合作,开发了一款面向家用机的跳棋程序。VideoBrain Family Console是一款早期的8位家用电脑,配备仅1KB的RAM和4KB的ROM。在如此有限的硬件条件下,塞缪尔的团队成功移植了跳棋AI,并提供了四种难度级别供玩家选择。
这段合作并非一帆风顺。塞缪尔在与VideoBrain的通信中多次表达对开发硬件的不满,称其"极不可靠"。然而,他仍然完成了跳棋和黑白棋(Reversi/Othello)的AI开发。VideoBrain的跳棋程序采用了更简化的算法,以适应有限的内存和处理能力。即便如此,它仍然能够展现出基本的学习能力,并为玩家提供有挑战性的对手。VideoBrain的跳棋程序和说明手册至今仍保存在互联网档案馆中,成为早期家用机AI的珍贵遗产。
MAME模拟器也提供了VideoBrain的仿真环境,让后人能够体验这段历史。**塞缪尔的遗产:从跳棋到强化学习**亚瑟·塞缪尔的跳棋程序不仅是一项技术成就,更是人工智能发展的重要里程碑。他的工作奠定了**强化学习(Reinforcement Learning)**的基础。在强化学习中,智能体通过与环境的交互(如下棋)学习最优策略,而无需预先提供大量标注数据。塞缪尔的"对局记忆"和"评估函数优化"正是强化学习的雏形。理查德·萨顿和安德鲁·巴尔托在其经典著作《强化学习导论》中,将塞缪尔的跳棋程序作为案例研究,详细分析了其算法设计和学习机制。
塞缪尔的工作也直接影响了日后的TD-Gammon(由杰拉尔德· Tesauro开发的西洋双陆棋AI),后者通过时序差分学习(Temporal Difference Learning)在无监督的情况下达到超人类水平。塞缪尔本人在1990年去世,但他的遗产仍在延续。现代AI系统如AlphaGo和AlphaZero,虽然采用了深度神经网络和蒙特卡洛树搜索,但其核心理念 - - 通过自对弈学习最优策略 - - 与塞缪尔的跳棋程序一脉相承。可以说,没有塞缪尔的开创性工作,现代AI的辉煌成就或许要推迟数十年。**WAITS系统与PDP-10:被遗忘的计算机文明**塞缪尔的跳棋程序在WAITS系统上的运行,是PDP-10时代计算机文化的一个缩影。WAITS不仅是一个操作系统,更是一个充满创造力和实验精神的平台。
在SAIL实验室,研究人员们使用WAITS进行人工智能、计算机图形学、自然语言处理等前沿研究。PDP-10强大的分时能力让多个用户能够同时访问计算资源,极大地提高了研究效率。然而,随着计算机技术的快速发展,PDP-10和WAITS逐渐被历史淘汰。1980年代,UNIX系统和个人电脑兴起,分时系统的需求下降,PDP-10系列最终停产。WAITS也被更现代的操作系统所取代。今天,我们只能通过模拟器和历史档案来重温这段辉煌的岁月。
值得庆幸的是,塞缪尔的跳棋程序代码和WAITS系统的部分文件被保存在saildart.org等在线档案中。通过这些遗留的代码片段,我们能够窥见早期计算机科学的智慧结晶。CKP2.MAC和CH2.MAC等文件记录了塞缪尔从1971年到1977年间的开发轨迹,而CH3.MAC和CH4.MAC则保存了对局数据。这些文件不仅是技术档案,更是一段被尘封的计算机文明的见证。**重温CHECKE:在模拟器中体验历史**对于现代读者而言,亲身体验塞缪尔的跳棋程序或许是最生动的方式。虽然PDP-10和WAITS早已退出历史舞台,但模拟器技术让我们能够重温那段时光。
通过模拟器运行CHECKE,我们可以感受到1970年代计算机用户的交互体验。在模拟环境中,用户通过终端输入命令与CHECKE对弈。程序会显示棋盘、计算最佳移动,并提供详细的搜索统计。这种交互方式虽然原始,却充满了历史的厚重感。它提醒我们,早期的计算机科学家们是在何等简陋的条件下,创造出了改变世界的技术。**塞缪尔的跨时代贡献:为什么跳棋程序如此重要?**塞缪尔的跳棋程序之所以重要,不仅在于它是第一个具有学习能力的AI程序,更在于它展示了机器智能的可能性。
在塞缪尔的时代,许多人认为计算机只能执行预设的指令,无法"学习"或"进化"。塞缪尔的工作证明了机器能够通过经验改进自身,这一理念直接启发了日后的机器学习和深度学习。此外,塞缪尔的跳棋程序还是**人机交互**的早期实践。它让普通用户能够与计算机进行对话,体验到AI的智能行为。这种交互模式在今天的智能助手和游戏AI中仍然广泛应用。从CHECKE到AlphaGo,从WAITS终端到智能手机,人类与AI的对话方式在不断演进,但核心理念依然如一。
**结语:一段永不磨灭的AI传奇**亚瑟·塞缪尔的跳棋程序是人工智能发展史上的一座丰碑。从IBM 7090的隆隆机箱到PDP-10的磁芯存储,从WAITS系统的终端命令到VideoBrain的1KB内存,塞缪尔的工作跨越了半个世纪的技术迭代,却始终保持着对机器智能的执着追求。今天,当我们谈论深度学习和大语言模型时,或许很难想象最初的AI程序是如此简单而纯粹。塞缪尔的跳棋程序没有复杂的神经网络,没有海量的数据,有的只是对棋局的深刻理解和对学习机制的天才构想。正是这种对基础问题的执着追求,让人工智能从一门实验科学成长为改变世界的技术力量。在重温塞缪尔的传奇之际,我们不禁思考:在AI的下一个篇章中,又会有哪些新的奇迹等待我们去发现?或许,答案就藏在下一段被遗忘的历史中,等待着有心人去发掘。
。