游戏史 · 数独

数独的来历:一位瑞士数学家、一份报纸专栏和 1980 年代的日本杂志

今天你在手机上百玩不厌的数独,往前追是 18 世纪的拉丁方,再往前是 1979 年一份报纸专栏,和一本给它起了名字的日本杂志。

一、源头:18 世纪的拉丁方

数独的祖先不是游戏,是一道数学题:拉丁方(Latin square)。规则只有一句——在 n×n 的格子里填 n 个符号,每行、每列、每个符号各出现一次。

18 世纪的瑞士数学家约翰·海因里希·鲁多尔夫系统整理过这类方阵,把它们当成正经的数学对象来研究。那时的研究者关心的是「这样的方阵一共能排出多少种」,用的是组合数学的办法。

数独是拉丁方的 9×9 变体:多加两条限制——格子按 3×3 分成九宫,每宫也得 1~9 各一次;题面再预置一些已知数字。正是这两条限制,让它从数学题变成了可以每天出一道的大众谜题。

二、定型:1979 年《纽约时报》上的一篇专栏

1979 年,美国的谜题设计者霍华德·冈本(Howard Garnes)把自己设计的一道 9×9 数字填空题投给《纽约时报》,登在它的休闲数学专栏上。他给这类题起了个名字,叫 Number Place——数字的位置。

报纸专栏这个载体很关键:读者是通勤路上顺手翻两眼的人,题目必须一眼看完就想试。冈本未必想到,这道题会在十几年后出现在全世界的候机厅和手机屏幕上。

也是从这一年开始,数独有了一个稳定的形状:题目在报纸上连载,读者在纸上解,答案也刊登在报纸上。

三、传到日本,与「sudoku」这个名字

1980 年,这道题被引入日本,刊登在一本杂志《马利昂日向》上。编辑部看中的是它的「新」:不是已有智力游戏的一个小变种,而是一道全新的填格题,配上专属的名字。

日本杂志有个传统:靠连载题目留住读者。一种全新的填格题正好适合连载——一期一道,读者天天有得做。

名字也在这里换掉了:sudoku。通行说法是日语里「数(su)」和「单独(doku)」拼在一起,短、好记、念起来顺口——这个名字后来跟着数独走遍了世界。

四、走向世界:从新西兰的锦标赛到脑力运动会

1986 年 7 月,第一届世界数独锦标赛在新西兰举行。此时数独在英语世界和日语世界都已站稳脚跟,这场比赛只是把「大家都在解」这件事正式化了。

2004 年起,数独成为国际智力运动联盟(World Mind Sports Games,也就是后来人们常说的「脑力运动会」)的正式项目,和围棋、国际象棋、桥牌并列。

从一份报纸专栏到一个正式比赛项目,这条路走了二十五年。数字谜题在大众文化和智力运动之间完成了一次完整的对接。

五、八条冷知识与彩蛋

1. 数独的作者差点把报社告了

1988 年,霍华德·冈本对《纽约时报》提起诉讼,指控报社剽窃了他的创意。官司最终没有打成,但「数独到底是谁的」这个问题被反复讨论了很多年。

比较流行的结论是:数独没有单一作者,它是报纸专栏和杂志连载两种形态叠在一起的结果。

2. 数独有两个「生日」

一边是 1979 年《纽约时报》专栏的诞生,一边是 1980 年日本杂志《马利昂日向》的传播。因为它在两种形态里各定型了一次,有人干脆说数独有两个生日:一个是「被发明」的日期,一个是「被命名并走向世界」的日期。

3. 名字里的 su 和 doku,可能是后来补上的解释

「sudoku = 数字 + 单独」是今天最通行的拆法,也出现在几乎所有介绍里。但也有研究者认为,这个解释是当年改名时附会的——原本的词源并没有这么工整。

谜题叫什么其实没那么要紧,能被记住、被传开才是关键。

4. 它不需要任何数学运算

数独从头到尾只做一件事:排除。没有加减乘除,没有公式,用上的只有「这格不能是 7,因为本行已经有 7」。

这正是它适合通勤和睡前的原因——不用算,但要求脑子一直在线。

5. 出版界叫它「可以发表的谜题」

对报纸杂志来说,数独几乎是理想的连载内容:出题成本几乎为零,却能让读者每天买报纸、每天有新的东西看。它同时是内容生产工具和读者留存工具,这是它在出版业铺开得那么快的关键。

6. 难度分级的真实含义是「要拐多少个弯」

Easy / Medium / Hard / Insane 这些标签看着神秘,实质衡量的是唯一解需要多少步推理——从光靠排除就能推完,到必须动用更高级的技巧。难度不是靠把题目弄难实现的,是靠换一种解法实现的。

7. 它是约束满足问题的经典例子

把数独翻译成计算机语言:每个空格是一个变量,每个变量的取值范围是 1~9,「行、列、宫不重复」就是约束。求解器做的事,就是不断传播这些约束,必要时再回溯。

本站的 Solve 按钮跑的就是这套逻辑。

8. 这一版把「算」的三件事都做成了按钮

本站玩的是开源网页 demo:上游项目 robatron/sudoku.js,MIT 协议,作者 Rob McGuire-dale,页面脚注署着 2013 年 2 月。它把一个解题库的三个能力——生成题目、求解、算候选数——全部做成了按钮:顶部是难度标签,棋盘旁边是 Solve! 和 Show Candidates。

想看它到底怎么算,去项目主页读源码,比玩十局都直接。

六、现在就玩

打开数独在线版:本站镜像的开源 demo,打开即玩,不用下载、不用注册,顶部切难度,棋盘旁边就是求解和候选数两个按钮。

想知道怎么玩,看 数独怎么玩;想看懂显式数、隐性数这些进阶技巧,看 数独进阶攻略;全部攻略 都在这儿。

本站为第三方镜像,上游开源项目是 robatron/sudoku.js,采用 MIT 协议。游戏本体版权归原作者所有。