方泓堃 宋涵
摘 要:本文主要解決如何在二維棋盤上取走最少的棋子,使剩余棋子五子不相連的問題。模型靈感來源于五子棋中最強(qiáng)防守策略“馬步跳”形成的“八卦陣”。這里將棋盤建立在一個(gè)二維坐標(biāo)系內(nèi),并將“馬步跳”法轉(zhuǎn)化為二維坐標(biāo)系下的一個(gè)數(shù)學(xué)關(guān)系式,并設(shè)計(jì)了一個(gè)基準(zhǔn)棋盤,并證明該棋盤可對(duì)任意m×n棋盤均滿足最少取子個(gè)數(shù)和五子不連珠的要求。
關(guān)鍵字:五子不相連;馬步跳;基準(zhǔn)棋盤
1 引言
五子棋中有一個(gè)“八卦易守,成角易攻”的概念,八卦就是由象棋四個(gè)馬步形成的一種棋形,如果擺滿全盤,則對(duì)方?jīng)]有取勝的可能,即不可能產(chǎn)生五子連珠。下圖1中四個(gè)黑子便互成馬步跳,形成一個(gè)八卦。
2 將“馬步跳”其轉(zhuǎn)化為數(shù)學(xué)模型
以圖1黑子1為原點(diǎn)(0,0)建立平面直角坐標(biāo)系xoy,每個(gè)方格就對(duì)應(yīng)一個(gè)獨(dú)特坐標(biāo)(x,y),其中其他三個(gè)黑子的坐標(biāo)分別為(2,-1)(3,1)(1,2)。根據(jù)“馬步跳”特性,及總結(jié)分析得在這個(gè)坐標(biāo)系下,所有“馬步跳”點(diǎn)滿足(x+2y)都能將5整除,
即: 我們暫且將這些點(diǎn)稱為“馬步點(diǎn)”
可以證明,在一個(gè)任意一個(gè)二維棋盤上,確定一個(gè)坐標(biāo)原點(diǎn),拿去所有去所有的“馬步點(diǎn)”,剩余的所有棋子不可能形成五連珠。(模型驗(yàn)證部分有證明)
3 構(gòu)建基準(zhǔn)棋盤Ω
假設(shè)有一個(gè)可以向下,向右無限增長的棋盤,該棋盤上剛開始開始布滿棋子,以棋盤上左上角為(1,1)點(diǎn),如下圖2建立坐標(biāo)系ioj,每個(gè)方格就對(duì)應(yīng)一個(gè)坐標(biāo)(i,j)。以標(biāo)記為1,坐標(biāo)為(1,3)的棋子為原點(diǎn),如(2)所述建立坐標(biāo)系xoy,則該棋盤上所有“馬步點(diǎn)”坐標(biāo)(i,j)滿足:
將所有的“馬步點(diǎn)”的棋子拿去后形成的棋盤如上圖2所示,
這里我們稱其為基準(zhǔn)棋盤Ω。
基準(zhǔn)棋盤性質(zhì):
1、由上2分析得,基準(zhǔn)棋盤上不存在五五連珠的情況
2、從(1,1)點(diǎn)開始向下,向右任取一個(gè)規(guī)模為m×v的二維棋盤,其上取下的棋子為
4 模型的證明
4.1首先證明當(dāng)m≥5,n≥5時(shí),其上取下的棋子為
注意到,在棋盤的每一個(gè)5k×1的子棋盤上,每一列至少需要取出k枚棋子。否則,會(huì)出現(xiàn)5枚棋子在該列依次相連,因而,至少要取出k×l枚。同理,在每一個(gè)l×5k的子棋盤上也至少要取出l×k枚。
設(shè)m、n除以5的余數(shù)分別是u、v。
接下來對(duì)u、v分情形討論,為簡化討論,不妨設(shè)0≤u≤v<5。
u×v<5的情形。如圖3,把棋盤劃分成(m-u)×n、u×(m-v和u×v三塊在前兩塊中分別至少要取出
5 模型的優(yōu)點(diǎn)
針對(duì)一般二維棋盤,借鑒并運(yùn)用了五子棋中的八卦陣,依據(jù)“馬步跳”思想設(shè)計(jì)出了一種通用的取子算法,建立了一個(gè)基準(zhǔn)棋盤Ω,從此此基準(zhǔn)棋盤上可以取任意規(guī)模的最簡五子不連珠的棋盤。此基準(zhǔn)棋盤模型,可靠易行,基本可以用來解決二維棋盤上所有問題。
參考文獻(xiàn)
[1] 丁龍?jiān)疲瑥摹拔遄悠濉钡健榜R步跳”,南開大學(xué)數(shù)學(xué)科學(xué)學(xué)院,300071
[2] 趙東方,數(shù)學(xué)模型與計(jì)算,北京:科學(xué)出版社,2007
作者簡介
方泓堃(1996-),西北工業(yè)大學(xué) 動(dòng)力與能源學(xué)院,自動(dòng)化專業(yè)。