四子棋 - 历史、规则与策略
四子棋(荷兰语:Vier op 'n rij)是一款经典的双人策略游戏。玩家把棋子投入一个七列六行的竖立棋盘,率先连成四子者获胜。它也是一款已被解决的游戏:正如 James D. Allen 和 Victor Allis 在 1988 年所证明的,在完美对弈下,先手从中间列开始总能获胜。
历史
在格子上连成四子的游戏由来已久,但带有竖立框架的版本由 Howard Wexler 和 Ned Strongin 设计,并于 1974 年由 Milton Bradley 以 Connect Four 之名出版。在框架中,棋子靠重力落下,因此一步棋只是选择一列。这款游戏在全世界都很畅销,并有许多名字,例如荷兰的 Vier op 'n rij、德国的 Vier gewinnt 和法国的 Puissance 4。
规则
标准棋盘有七列六行。两名玩家,一方执红子,一方执黄子,轮流把一枚棋子投入尚未填满的列。棋子会落到最低的空位。率先用自己颜色的四枚棋子在横向、纵向或斜向组成不间断直线的玩家获胜。如果 42 个空位全部填满仍没有四连线,则为平局。
策略
多下中间:中间列所属的四连线比其他任何列都多,因此那里的棋子作用最大。寻找威胁,也就是能让你的四枚棋子连成一线的空位,并尽量同时制造两个,因为对手只能挡住一个。注意威胁下方的空位,因为填上它会让棋子落到威胁位置上。高手还会考虑自己的威胁位于哪一行:随着棋盘填满,剩余着法的顺序往往决定了谁会被迫在谁的威胁下方落子。
已被解决的游戏
四子棋是一款已被解决的游戏。1988 年 10 月,James D. Allen 证明了,在完美对弈下,先手从中间列开始总能获胜;几周后,Victor Allis 也独立得出了同样的结论。Allis 在阿姆斯特丹自由大学(Vrije Universiteit)的论文中描述了这一证明,他使用了一个名为 Victor 的程序,将策略规则与搜索相结合。如果第一枚棋子落在中间列旁边的列,后手可以逼出平局;而第一枚棋子落在外侧四列中的任何一列,在完美对弈下都会输。
游戏背后的数字
在标准棋盘上,对局中可以出现 4,531,985,219,092 种局面。1995 年,John Tromp 计算出了所有八子开局的结果;而结合 alpha-beta 搜索、位棋盘和大型表格的现代求解器,能在不到一秒内完美对弈。
在 PictorX 中试试
打开四子棋,点击某一列即可投下棋子。可以和朋友在同一屏幕上对战,也可以选择简单、中等或困难难度与电脑对战。提示会显示困难难度会选择的列,撤销和重做可以逐步浏览对局,保存则会下载棋盘的 PNG 图片。你也可以选择“电脑对战电脑”,观看电脑自己和自己对战。
常见问题
是谁解决了四子棋?
James D. Allen 和 Victor Allis,他们在 1988 年各自独立完成。两人都证明了,在完美对弈下,先手从中间列开始即可获胜。
四子棋在荷兰语中叫什么?
Vier op 'n rij,意思是“四子连成一排”。
先手总能获胜吗?
只有在完美对弈下,并且从中间列开始才行。如果第一枚棋子落在中间列旁边,最佳对弈会导致平局;如果第一枚棋子落在更靠外的列,后手获胜。
四子棋有多少种局面?
在七列六行的标准棋盘上,可以出现 4,531,985,219,092 种局面。
PictorX 会上传任何内容吗?
不会。游戏在你的浏览器中运行,棋盘绘制在画布上。保存会下载一张 PNG 图片,编辑则会在 PictorX 编辑器中打开这张图片。
准备好尝试了吗?
在浏览器中打开 PictorX — 无需安装,无需信用卡即可启动。
玩四子棋