方泓堃 宋涵
摘 要:本文主要解决如何在二维棋盘上取走最少的棋子,使剩余棋子五子不相连的问题。模型灵感来源于五子棋中最强防守策略“马步跳”形成的“八卦阵”。这里将棋盘建立在一个二维坐标系内,并将“马步跳”法转化为二维坐标系下的一个数学关系式,并设计了一个基准棋盘,并证明该棋盘可对任意m×n棋盘均满足最少取子个数和五子不连珠的要求。
关键字:五子不相连;马步跳;基准棋盘
1 引言
五子棋中有一个“八卦易守,成角易攻”的概念,八卦就是由象棋四个马步形成的一种棋形,如果摆满全盘,则对方没有取胜的可能,即不可能产生五子连珠。下图1中四个黑子便互成马步跳,形成一个八卦。
2 将“马步跳”其转化为数学模型
以图1黑子1为原点(0,0)建立平面直角坐标系xoy,每个方格就对应一个独特坐标(x,y),其中其他三个黑子的坐标分别为(2,-1)(3,1)(1,2)。根據“马步跳”特性,及总结分析得在这个坐标系下,所有“马步跳”点满足(x+2y)都能将5整除,
即: 我们暂且将这些点称为“马步点”
可以证明,在一个任意一个二维棋盘上,确定一个坐标原点,拿去所有去所有的“马步点”,剩余的所有棋子不可能形成五连珠。(模型验证部分有证明)
3 构建基准棋盘Ω
假设有一个可以向下,向右无限增长的棋盘,该棋盘上刚开始开始布满棋子,以棋盘上左上角为(1,1)点,如下图2建立坐标系ioj,每个方格就对应一个坐标(i,j)。以标记为1,坐标为(1,3)的棋子为原点,如(2)所述建立坐标系xoy,则该棋盘上所有“马步点”坐标(i,j)满足:
将所有的“马步点”的棋子拿去后形成的棋盘如上图2所示,
这里我们称其为基准棋盘Ω。
基准棋盘性质:
1、由上2分析得,基准棋盘上不存在五五连珠的情况
2、从(1,1)点开始向下,向右任取一个规模为m×v的二维棋盘,其上取下的棋子为
4 模型的证明
4.1首先证明当m≥5,n≥5时,其上取下的棋子为
注意到,在棋盘的每一个5k×1的子棋盘上,每一列至少需要取出k枚棋子。否则,会出现5枚棋子在该列依次相连,因而,至少要取出k×l枚。同理,在每一个l×5k的子棋盘上也至少要取出l×k枚。
设m、n除以5的余数分别是u、v。
接下来对u、v分情形讨论,为简化讨论,不妨设0≤u≤v<5。
u×v<5的情形。如图3,把棋盘划分成(m-u)×n、u×(m-v和u×v三块在前两块中分别至少要取出
5 模型的优点
针对一般二维棋盘,借鉴并运用了五子棋中的八卦阵,依据“马步跳”思想设计出了一种通用的取子算法,建立了一个基准棋盘Ω,从此此基准棋盘上可以取任意规模的最简五子不连珠的棋盘。此基准棋盘模型,可靠易行,基本可以用来解决二维棋盘上所有问题。
参考文献
[1] 丁龙云,从“五子棋”到“马步跳”,南开大学数学科学学院,300071
[2] 赵东方,数学模型与计算,北京:科学出版社,2007
作者简介
方泓堃(1996-),西北工业大学 动力与能源学院,自动化专业。