茉莉花新闻网

中華青年思想與行動的聚合地

怎么让不懂数学的人体会到抽象代数的魅力?

抽象代数可以用来解决很多游戏问题,特别是单人解谜游戏。很多单人解谜游戏可以抽象为棋盘状态的置换(Permutation),这些置换通常可以组成一个群或者有限域。

以下介绍一个可以使用抽象代数来解决的解谜游戏。

独立钻石棋(Peg Solitaire)

该游戏又名“孔明棋”。游戏道具是这样一个棋盘:

v2 acb367c93aba276a027ef9b79dd53e28 720w

规则是,每次移动一个棋子,跳过另一个棋子并落入空格中,移除被跳过的棋子。以下是一组从开始状态之后,可能的移动过程:

v2 13bb3c277ba6506e26f7d690bf3b9a9e 720w

v2 52de2e76f1b1670c481bdc5d4ae89b19 720w

v2 4d334410ce393b4808162b2ee20efe94 720w

v2 d792eaa4b9da557b1d13aeaa0d584535 720w

游戏目标是使得最终棋盘上只剩一个棋子,且这个棋子恰好位于棋盘中央为最佳。据说最短的玩法是 18 步(连续移动同一个棋子算 1 步)。

本文不考虑最短的玩法,只论证这个结论:

独立钻石棋中,如果最终只剩 1 个棋子,则该棋子只可能位于如下 5 个红色五角星位置之一:

v2 cb87e39a57479adf1c901521c17a180a 720w

此结论用有限域(Finite Field)理论证明相当简单。唯一需要的准备知识是克莱因四元域

克莱因四元域是四个元素构成的集合,其中有加法和乘法两种运算,运算规则如下:

v2 db1ba0169c3c21d8cec5c444d83e0a15 720w
v2 006a3fdab5b72641e69d971ddca2fc9d 720w

此处无需关心

的具体含义,仅仅是两个符号。可以验证,在以上运算规则下,我们熟悉的加法和乘法的交换律,结合律和分配律等都成立。

现在来证明之前关于独立钻石棋的结论。首先将棋盘上的位置标上坐标:

v2 d0b309442f79397efe52b17c7d70518a 720w

定义这样两个函数,定义域是棋盘上一组棋子位置 X,每个棋子的坐标用(x,y)表示;值域是克莱因四元域:

equation?tex=B%28X%29%3D%5Csum %7B%28x%2Cy%29%5Cin+X%7D+%5Calpha%5E%7Bx y%7D+%5C%5C

此时的妙处在于,如果按钻石棋的规则移动棋子,使棋局从 X 局面变化为 Y 局面时,以下等式总是成立(请自行验证):

而游戏初始局面时,

。所以当终局时,如果只剩一个棋子,其坐标值(x,y)必须满足:

equation?tex=%5Calpha%5E%7Bx%2By%7D%3D%5Calpha%5E%7Bx y%7D%3D1+%5C%5C

根据之前的运算表,

,所以

equation?tex=x y

必须是 3 的倍数,因此最终棋子坐标值只能是以下 5 种之一:

equation?tex=%28 3%2C0%29%2C%280%2C 3%29%2C%280%2C0%29%2C%280%2C3%29%2C%283%2C0%29+%5C%5C

结论得证!(严格来说,以上只是证明了这些位置的必要性,充分性还未证明,不过通过实践,可以证明这些位置都是可达的。)

希望这篇文章能让你感受到一些抽象代数的魅力。

参考链接:https://alexandria.tue.nl/repository/freearticles/598441.pdf


2025.3.14 更新:

看到有人问具体解法的,随便(让 AI)写了个程序,找了一个解法,做成了 manim 动画,给大家看看:

v2 68a4d3ed3582c7358d92bc9b49d0a3ef https://www.zhihu.com/video/1884180859336242410

由于这个游戏的每一步的合法选择与当前状态有关,所以我没有想到什么好的,可以用数学快速求解的方法。

同类信息

查看全部

茉莉花论坛作为一个开放社区,允许您发表任何符合社区规定的文章和评论。

茉莉花新闻网

        中国茉莉花革命网始创于2011年2月20日,受阿拉伯之春的感召,大家共同组织、发起了中国茉莉花革命。后由数名义工无偿坚持至今,并发展成为广受翻墙网民欢迎的新闻聚合网站并提供论坛服务。

新闻汇总

邮件订阅

输入您的邮件地址:

linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram