银行 社区服务 每日签到 会员排行 网站地图
  • 9052阅读
  • 35回复

原创绝妙象棋残局的数学解法

楼层直达
级别: 四级士官
[棋中红钻1级]发帖数量≥10篇 [棋中黄钻1级]金币数量≥100枚 [未点亮棋中蓝钻]乐币数量<10枚 [未点亮棋中粉钻]贡献值数量<1点 [未点亮棋中彩钻]精华帖数量<1篇
发帖
75
金币
150
威望
0
贡献值
0
乐币
0
主题
7
— 本帖被 棋中论坛 执行置顶操作(2017-06-03) —
  街头闲逛,偶遇象棋残局(图1)。此局并非常见的江湖残局,旁观良久,不得其解,遂记在心中。回家后在电脑上用象棋软件计算,结果竟然发现各种棋软都没法解开这个残局。于是人工加电脑反复演练,才知道这个貌似平淡的残局没有和棋。一般都会走成某一方子力被围困,一动就输掉的棋形(图2)。

  喜爱玩象棋的朋友都明白“先行之利”,尤其是残局,先走一步的优势就更明显了。有趣的是,这个残局的结果竟然是红先黑胜。换黑棋先走结果就是红胜。这是一个注定了谁先走谁输的象棋残局。通过改变炮的初始位置和对头兵的数量,我发现残局的胜负结果也会发生变化。反复研究后,一些似曾相识的规律在我的头脑中越来越清晰,没错!这些规律不但能给出残局正确的解法,也能够指引出决定局面胜负的最深奥义。因为我找到了描述这个棋局的数学原理。
  首先必须建立数学模型,这个说容易也不容易。我先来讲一个简单的游戏。把石子摆成四排,第一排1颗、第二排3颗、第三排5颗、第四排7颗(图3)。规则是这样的,两人轮流来拿石子,每次可以在同一排中拿走任意颗,至少拿走1颗,谁拿到最后一颗石子,谁就赢了。例如:我先来拿,我可以一次拿走第四排的全部7颗;或者在第二排拿走2颗,留下1颗,这都是规则允许的。但是在第二排拿1颗并且在第三排也拿1颗,这种不在同一排内拿石子的方法是违反规则的。因为石子的数量是有限的,每次拿都会造成数量减少,两人轮流拿,最后一个石子总是会被拿走。拿走最后一个石子的就是胜者。也就是说这个游戏一定能分出胜负,不会出现平局。

  下面来说一下这个游戏的求胜方法。首先把每一排的石子数量的十进制数转化成二进制数。我们会得到0001、0011、0101、0111。然后我们对这个数连续进行XOR运算(二进制逻辑异或运算),简单理解为不进位的二进制加法运算。即0001XOR 0011=0010,0010 XOR 0101=0111,0111 XOR 0111=0000。如果初始值为0000就注定谁先拿谁就要输了。
  例如,你先拿了第4排的1颗石子。剩余石子对应的数值分别为,0001、0011、0100、0111,XOR运算的结果为0001;轮到我拿了,我就拿走第1排的1颗石子,此时剩余石子对应的数值为0011、0100、0111,XOR运算的结果为0000;这样依次类推下去,只要你拿完了,XOR运算的结果就不会是0000,我只要再拿掉一些石子,使结果恢复到0000即可。当然,对于不同的局面,使XOR运算结果恢复到0000的方法是不同的,而且也可能同时存在多种恢复方法。反复使用这种过程,就可以保证我在最后一次拿光剩余的石子,也就是我赢了。数学证明略。如果你看懂了,再按照上述方法演示几次,就可以掌握这个游戏的取胜之道了。
  言书归正传,让我们回头来再看前面的象棋残局。把棋盘上一路的兵之间可走的步数看作1,把五路炮之间可走的步数看作4,把九路炮之间可走的步数看作5。转化成对应的二进制为0001、0100、0101,XOR运算结果为0000。这下明白为啥这个象棋残局注定是谁先走谁输了吧!这就是数学的魅力。
  当然,象棋的走法相比于石子游戏更复杂,规则也更多。但是只要抓住它们在逻辑上的共同点,也就可以把这两个看起来毫不相关的游戏当作同一个游戏来玩了。本文到此结束,因为已经“授人以渔”,所以我不会列出破解残局的棋谱,更无必要讲述此局中繁杂的变化。
本帖最近评分记录: 1 条评分 金币 +5
小小心心 金币 +5 2019-03-25 优秀文章
关键词: 残局 数学 解法
茫茫天数此中求
级别: 永久VIP
[棋中红钻1级]发帖数量≥10篇 [棋中黄钻5级]金币数量≥10000枚 [未点亮棋中蓝钻]乐币数量<10枚 [棋中粉钻2级]贡献值数量≥5点 [未点亮棋中彩钻]精华帖数量<1篇
发帖
43
金币
10038
威望
5
贡献值
5
乐币
0
主题
2
只看该作者 35楼 发表于: 2020-08-31
数学模型能解析出答案。真是非常有趣!

楼主的模型,真是令人震撼!有解奥数的水准!
10楼的回答,最具有操作性。复制如下:

一、边兵已挺时,保持两组炮的距离相同,即成4-4;3-3;2-2; 1-1;0-0;
二、边兵未挺时,红方保持两组炮的距离为 5-4;3-2;1-0;如此就战无不胜了。

级别: 列兵
[未点亮棋中红钻]发帖数量<10篇 [未点亮棋中黄钻]金币数量<100枚 [未点亮棋中蓝钻]乐币数量<10枚 [未点亮棋中粉钻]贡献值数量<1点 [未点亮棋中彩钻]精华帖数量<1篇
发帖
3
金币
-17
威望
0
贡献值
0
乐币
0
主题
0
只看该作者 34楼 发表于: 2020-08-27
回 楼主(并行运算) 的帖子
能用数学搞定,真是厉害
级别: 上等兵
[未点亮棋中红钻]发帖数量<10篇 [未点亮棋中黄钻]金币数量<100枚 [未点亮棋中蓝钻]乐币数量<10枚 [未点亮棋中粉钻]贡献值数量<1点 [未点亮棋中彩钻]精华帖数量<1篇
发帖
6
金币
22
威望
0
贡献值
0
乐币
0
主题
0
只看该作者 33楼 发表于: 2020-07-03
回 6楼(棋中剑神) 的帖子
厉害啊 就是这样的平行四边形 为啥啊
级别: 上等兵
[未点亮棋中红钻]发帖数量<10篇 [未点亮棋中黄钻]金币数量<100枚 [未点亮棋中蓝钻]乐币数量<10枚 [未点亮棋中粉钻]贡献值数量<1点 [未点亮棋中彩钻]精华帖数量<1篇
发帖
6
金币
22
威望
0
贡献值
0
乐币
0
主题
0
只看该作者 32楼 发表于: 2020-07-03
回 7楼(棋中论坛) 的帖子
这也太强了吧 我数学讨论已经迷茫在天上了 好深奥啊
级别: 上等兵
[棋中红钻1级]发帖数量≥10篇 [未点亮棋中黄钻]金币数量<100枚 [未点亮棋中蓝钻]乐币数量<10枚 [未点亮棋中粉钻]贡献值数量<1点 [未点亮棋中彩钻]精华帖数量<1篇
发帖
24
金币
24
威望
0
贡献值
0
乐币
4
主题
0
只看该作者 31楼 发表于: 2018-06-24
这种残棋最好不要诺,别在这里摆什么石子,制成棋谱什么的,你试坐下去看,要你连家产老婆都要输光,这种棋深奥无比,人看多了看久了,他在右边的“兵”移上一步,再看久了,他又把“兵”移下来一步,别小看移这个兵一步,这里大有文章,你不注意总认为是一样的棋,不管你棋水平有多高,一但下注动棋几多都要你输光,就好象扑克牌的“十三太保斗四大金刚”一边十三张牌,一边是四张牌,你要那边都要你输,一但下注拿牌,就是武大郎的药吃也死不吃也死。
级别: 四级士官
[棋中红钻2级]发帖数量≥100篇 [未点亮棋中黄钻]金币数量<100枚 [未点亮棋中蓝钻]乐币数量<10枚 [未点亮棋中粉钻]贡献值数量<1点 [未点亮棋中彩钻]精华帖数量<1篇
发帖
166
金币
13
威望
0
贡献值
0
乐币
0
主题
0
只看该作者 30楼 发表于: 2017-11-01
关键是兵还可以走一步,所以不是很简单!!!对位:对称性的先后手!!!
级别: 三级士官
[棋中红钻1级]发帖数量≥10篇 [棋中黄钻1级]金币数量≥100枚 [未点亮棋中蓝钻]乐币数量<10枚 [未点亮棋中粉钻]贡献值数量<1点 [未点亮棋中彩钻]精华帖数量<1篇
发帖
85
金币
327
威望
0
贡献值
0
乐币
0
主题
0
只看该作者 29楼 发表于: 2017-09-21
解残局的这个方法很新颖,领教了。
级别: 四级士官
[棋中红钻1级]发帖数量≥10篇 [棋中黄钻1级]金币数量≥100枚 [未点亮棋中蓝钻]乐币数量<10枚 [未点亮棋中粉钻]贡献值数量<1点 [未点亮棋中彩钻]精华帖数量<1篇
发帖
75
金币
150
威望
0
贡献值
0
乐币
0
主题
7
只看该作者 28楼 发表于: 2017-06-06
好久没来了。因为阿尔法狗赢了围棋,我又想起象棋来了。
发现版主将我的帖子置顶了,十分感谢!
经得起时间沉淀的文章才是好文章,我一直是这样认为的。刚刚写好发过来,版主说我不是原创,我还和版主辩论一下,说我是原创。甚至在都市茶馆的帖子上也发言说,我就是棋中论坛的并行运算,以此证明我就是此文作者。现在觉得没有必要了。能从文章中获得知识,甚至产生新的思路和灵感是最重要的,你们应该也不会在意作者是谁。
数学之美,应该所有人都能感受到。我写这篇文章的起因是想和一位作家朋友讨论一下数学的重要性。反而被这位作家一口咬定我就是一名工程师,不能成为一个墨客。大致是因为我总喜欢用数学语言描述生活,虽然逻辑性很强,但是缺少文学应有的东西。比如,两难结构什么的。。。。。。
级别: 上等兵
[未点亮棋中红钻]发帖数量<10篇 [未点亮棋中黄钻]金币数量<100枚 [未点亮棋中蓝钻]乐币数量<10枚 [未点亮棋中粉钻]贡献值数量<1点 [未点亮棋中彩钻]精华帖数量<1篇
发帖
7
金币
2
威望
0
贡献值
0
乐币
0
主题
0
只看该作者 27楼 发表于: 2014-11-28
不过居然有人能 想到用数序模型来解,真的是非常佩服,学到了新东西,感谢!
级别: 上等兵
[未点亮棋中红钻]发帖数量<10篇 [未点亮棋中黄钻]金币数量<100枚 [未点亮棋中蓝钻]乐币数量<10枚 [未点亮棋中粉钻]贡献值数量<1点 [未点亮棋中彩钻]精华帖数量<1篇
发帖
7
金币
2
威望
0
贡献值
0
乐币
0
主题
0
只看该作者 26楼 发表于: 2014-11-28
这个还列出了方程,所有解都对。可惜,并不包含x或y等于零的解。
级别: 二级士官
[棋中红钻1级]发帖数量≥10篇 [未点亮棋中黄钻]金币数量<100枚 [未点亮棋中蓝钻]乐币数量<10枚 [未点亮棋中粉钻]贡献值数量<1点 [未点亮棋中彩钻]精华帖数量<1篇
发帖
56
金币
82
威望
0
贡献值
0
乐币
0
主题
0
只看该作者 25楼 发表于: 2014-10-01
转载???我就是原创作者,首发于百湖论坛茶馆
级别: 列兵
[未点亮棋中红钻]发帖数量<10篇 [未点亮棋中黄钻]金币数量<100枚 [未点亮棋中蓝钻]乐币数量<10枚 [未点亮棋中粉钻]贡献值数量<1点 [未点亮棋中彩钻]精华帖数量<1篇
发帖
1
金币
11
威望
0
贡献值
0
乐币
0
主题
0
只看该作者 24楼 发表于: 2014-09-27
这残局是谁先走谁胜。红先红胜,黑先黑胜。只是看对方的棋力而已。
级别: 一级士官
[棋中红钻1级]发帖数量≥10篇 [未点亮棋中黄钻]金币数量<100枚 [未点亮棋中蓝钻]乐币数量<10枚 [未点亮棋中粉钻]贡献值数量<1点 [未点亮棋中彩钻]精华帖数量<1篇
发帖
20
金币
0
威望
0
贡献值
0
乐币
0
主题
0
只看该作者 23楼 发表于: 2014-09-17
厉害 呀  真的不从 学位高
级别: 四级士官
[棋中红钻1级]发帖数量≥10篇 [棋中黄钻1级]金币数量≥100枚 [未点亮棋中蓝钻]乐币数量<10枚 [未点亮棋中粉钻]贡献值数量<1点 [未点亮棋中彩钻]精华帖数量<1篇
发帖
75
金币
150
威望
0
贡献值
0
乐币
0
主题
7
只看该作者 22楼 发表于: 2014-08-17
哈哈,在茶馆。我是首发。结果茶馆的人说我是转载
哈哈,在茶馆。我是首发。结果茶馆的人说我是转载。
我刚才在百度文库也看到一篇文章,和我写的内容一模一样,哈哈哈
级别: 少尉
[棋中红钻2级]发帖数量≥100篇 [棋中黄钻1级]金币数量≥100枚 [未点亮棋中蓝钻]乐币数量<10枚 [未点亮棋中粉钻]贡献值数量<1点 [未点亮棋中彩钻]精华帖数量<1篇
发帖
340
金币
170
威望
0
贡献值
0
乐币
0
主题
2
只看该作者 21楼 发表于: 2012-11-24
文章数量太多,看看这个残棋了,走人
级别: 四级士官
[棋中红钻1级]发帖数量≥10篇 [棋中黄钻1级]金币数量≥100枚 [未点亮棋中蓝钻]乐币数量<10枚 [未点亮棋中粉钻]贡献值数量<1点 [未点亮棋中彩钻]精华帖数量<1篇
发帖
75
金币
150
威望
0
贡献值
0
乐币
0
主题
7
只看该作者 20楼 发表于: 2012-11-24
回 18楼(hanchuan) 的帖子
100%谁先走谁输,这个可以用数学证明的
级别: 四级士官
[棋中红钻1级]发帖数量≥10篇 [棋中黄钻1级]金币数量≥100枚 [未点亮棋中蓝钻]乐币数量<10枚 [未点亮棋中粉钻]贡献值数量<1点 [未点亮棋中彩钻]精华帖数量<1篇
发帖
75
金币
150
威望
0
贡献值
0
乐币
0
主题
7
只看该作者 19楼 发表于: 2012-11-24
转载???我就是原创作者,首发于百湖论坛茶馆
级别: 少尉
[棋中红钻2级]发帖数量≥100篇 [棋中黄钻1级]金币数量≥100枚 [未点亮棋中蓝钻]乐币数量<10枚 [棋中粉钻2级]贡献值数量≥5点 [未点亮棋中彩钻]精华帖数量<1篇
发帖
348
金币
196
威望
0
贡献值
5
乐币
0
主题
0
只看该作者 18楼 发表于: 2012-11-12
楼主能肯定这个棋是红先黑胜? ? ?
级别: 少尉
[棋中红钻2级]发帖数量≥100篇 [棋中黄钻1级]金币数量≥100枚 [未点亮棋中蓝钻]乐币数量<10枚 [棋中粉钻2级]贡献值数量≥5点 [未点亮棋中彩钻]精华帖数量<1篇
发帖
348
金币
196
威望
0
贡献值
5
乐币
0
主题
0
只看该作者 17楼 发表于: 2012-11-12
楼主能肯定这个棋是红先黑胜? ?
快速回复

限56 字节
请不要在回贴只采用字母:“ PP、asdfhjkl、HAO、OK、ddddddd ......”。  请不要在回贴过于简单的内容:“不错、顶、支持、厉害、呵呵、靠、晕........”
 
验证问题: 我们的论坛名字是?
上一个 下一个