下落四子棋导论(一)基础篇
一、简介
欢迎来到下落四子棋导论(一),该文章由本人原创。该篇为基础篇,我们会介绍一些基础概念和理论。
下落四子棋在7列,6行的棋盘上进行,与五子棋不同,棋子会下落。规则:率先连成四子的一方胜,横、竖、斜皆可。
棋盘十分小巧,且每次落子仅有7种选择,使得其博弈树很小,甚至AlphaBeta搜索都可以找出最优解。
这是一个先手必胜的游戏。但持先手想赢也并不容易,难度大于无禁手的五子棋。
二、在线对弈平台
可以在GooglePlay获取。
注:华为手机由于不支持谷歌,需要在Gspace容器下运行。
个人的在线平台战绩:
三、四子棋网页版
https://connect4.gamesolver.org/
在网页版中,可以自己和自己下,也可以和AI下。
该AI基于Alpha-Beta Search,遵循快赢慢输原则,可以认为每一步都是最优解。
但是因为下法太过经典,不会变招,所以AI持后手时的棋力较弱。(换句话说,AI的下法都是被玩烂的定式~)
四、记号与约定
约定红色为先手方。从左到右依次为a~g列,从下到上为1~6。高度为奇数的格子称为奇格,否则为偶格。
例如,棋盘最右下角的位置是g1。
五、获胜的方法
(1)同时创造出两个需要拦截的点。
轮到红方,读者可以思考一下以下局面如何落子。
很显然,红应该下e1。
四子棋的活三相当于五子棋的活四。所以,看见活二就应该去堵。
轮到红方,读者可以思考一下以下局面如何落子。
这是一个经典的定式,此时红显然应该下g3(最右边一列)。
轮到黄方,读者可以思考一下以下局面如何落子。
这又是一个很常见的定式。很显然,黄只能下第一列。
否则,红下第三列,后果很严重。
请读者评估以下局面,黄方为什么会很快输掉?
红只要得到f3或f4,就能连成四子。
因此,之后红只需要在f列不断填子,即胜。
轮到红,应该怎么下?
答:只能下b列或d列,否则黄下b4,后果很严重。
(实际上正解是下b列,下d列其实并不好。当然,这里涉及到棋感、还有一些后边章节的内容,就不过多展开了。)
(2)VCT
VCF相信大家都不陌生,该术语在五子棋中非常常见,为Victory of Continuous Four的缩写,是利用连续不断冲四这种绝对先手,直至最终成五而取得胜利的一种技巧。
那么VCT就是Victory of Continuous Three。
这块我认为没什么好讲,取决于你的经验以及大脑的算力。
轮到红方,下哪可以赢的最快?
答:f列或g列,大家可以在网页动手验证。(棋盘已经摆好)
https://connect4.gamesolver.org/?pos=4543533744
六、迫手理论
实际上,只要对手稍微有些水平,前两种办法都很难奏效。
迫手理论是下落四子棋的核心理论,之后所有进阶内容都是该理论的延伸。
(1)迫手是什么?
迫手就是即将形成四连的最后一格。
迫手的奇偶性很重要。如果迫手的高度为奇数,则为奇格迫手。如果迫手的高度为偶数,则为偶格迫手。
下图是刚刚讲过的经典定式,请读者回答:
1.黄方有哪些迫手?它们是奇格迫手吗?
2.红方有哪些迫手?它们是奇格迫手吗?
答:黄目前有b4,f4两个迫手,两个迫手的高度都为4,因此都是偶格迫手。
红目前有f3一个迫手,高度为3,因此是奇格迫手。
(2)跟进策略
跟进策略就是:对手下哪列,我就下哪列。
这个策略听起来很蠢,但跟进策略有一个好处:无论对方怎么下(以什么顺序下),最后得到的局面都相同。
当然,一些特殊情况需要放弃跟进。比如对方下了a6,那么a列被填满了,我就无法在a列继续跟进。又比如对方弄出了一个冲三,强迫我去堵他,我也将无法继续跟进。我们暂不考虑这些情况。
(3)迫手如何决定胜负(一)
现在请你回答,在(1)中的局面,AI显示红方必胜。那么红方为了获胜,应该怎么做?
首先,我们可以肯定黄不会下f列,否则黄直接输了。
其实,红方最简单的应对,就是利用(2)提到的跟进策略。也就是黄下哪,红就下哪。
于是,不管黄怎么下,最后得到的盘面一定如下图所示。
此时轮到黄方,可以看到即使黄不想下f列,也不得不下,最终红胜。
这就是利用迫手获胜的大致原理。
(4)无效迫手
若己方有一个迫手,记为α。
某个迫手β与α在同一列,且高度大于α。
① 第一类无效迫手:β为己方迫手,且奇偶性与α相同,则β为第一类无效迫手。
例如黄方有迫手a2、a4、a6,则只有a2是有效迫手。
② 第二类无效迫手:β为对方迫手,且奇偶性与α相反,则β为第二类无效迫手。
例如红方有迫手e3,黄方有迫手e4,则只有e3是有效迫手。
下图中,双方有哪些迫手,哪些是有效迫手?
黄方有b4、b6。f2、f4、f6迫手,红方有b3、b5、f3、f5迫手。
其中只有红方的b3,黄方的f2是有效迫手。
黄方有b3迫手,红方有b5迫手,那么b5是无效迫手吗?
答:不是,不满足奇偶性相反。
(5)迫手如何决定胜负(二)
之后提到迫手的时候,默认都是有效迫手。
一般来说,后手方偏好偶格迫手,先手方偏好奇格迫手。另外,如果后手方有2个奇格迫手,也是必胜。当然,实际的组合要复杂一些,我们列在下面。
①先手方有0个奇格迫手,此时:
后手方有偶格迫手:后手方胜。
后手方有2个奇格迫手:后手方胜。
否则,和棋。
②先手方有1个奇格迫手α,此时:
后手方有1个奇格迫手β(且α和β不在同一列):和棋。
后手方有2个奇格迫手:后手方胜。
否则,先手方胜。
③先手方有2个奇格迫手,此时:
后手方有2个奇格迫手:后手方胜。
否则,先手方胜。
总结:先手方想取胜仅有一种方案:①造出奇格迫手,同时避免对方形成任何奇格迫手;后手方想取胜有两种方案:①造出偶格迫手,同时避免对方形成任何奇格迫手。②造出两个奇格迫手。
另外,对于后手方,有无偶格迫手很关键,但有多少个偶格迫手不关键。但奇格迫手却是越多越好。
下图双方有哪些有效迫手?请写出这些迫手的奇偶性。为什么红方会输?
红方有偶格迫手b2、f2。黄方有偶格迫手b6、f6。
根据①,先手方(红)有0个奇格迫手,后手方(黄)有偶格迫手,故后手方胜。
下图双方有哪些有效迫手?请写出这些迫手的奇偶性。为什么黄方会输?
红方有偶格迫手a4、奇格迫手b5。黄方有偶格迫手g6。
根据②,先手方(红)有1个奇格迫手,后手方(黄)没有奇格迫手,故先手方胜。
下方这个局面,你猜测谁会赢?
此时后手方(黄)有两个奇格迫手c3、g3,因此后手方很容易赢。
下图双方有哪些有效迫手?请写出这些迫手的奇偶性。为什么可以打和?
先手方(红)有1个奇格迫手f3,后手方(黄)有1个奇格迫手d5,故打和。
根据刚才的讲述,先手方有1个奇格迫手α,后手方有1个奇格迫手β(与α不同列),是和棋。但若先手方有2个奇格迫手,则变成先手方胜。
你能讲出其中的原因吗?
答:先手方可以抛弃与β不同列的那个奇格迫手。则局面会退化成:先手方1个奇格迫手γ,后手方1个奇格迫手β(且γ与β在同一列),则先手胜。下图展示了这种情况:
先手方(红)有2个奇格迫手a5、e3,后手方(黄)有1个奇格迫手e3。
此时红想取胜,可以下第一列,主动将自己的一个奇格迫手a5抛弃。
(6)特殊情况
一些迫手并不能达到预期的效果,请看下例。
读者可以思考,此时红方有奇格迫手b5,黄方没有迫手,但为何红方只能打和。
该例说明,部分迫手会在填子过程中被破坏。根据下一章所要讲到的剩余子原理,剩余子为奇数,代表黄方可以夺取奇格(含a5),因此红的b5迫手无效。我们可以称这类迫手为第三类无效迫手。
另一种特殊情况就是相邻迫手,得到相邻迫手的一方可以轻松取胜。
此时红方的迫手g3、g4是同列、相邻的,红只需要在g列填子即可获胜。
(7)小测&尾声
轮到黄方,应下哪里?
答:e4,避免红方形成奇格迫手d3取胜。
轮到黄方,应下哪里?
答:只能下c1。
①若黄下b1,则红下b2,形成奇格迫手c3,黄必输。
②若黄下b、c以外的列,红可以下b1(或c1),形成冲三。黄堵上后,红再下b2,形成奇格迫手c3,黄必输。
若能熟练掌握迫手理论,那么恭喜,你已经成功入门四子棋啦。
高手对弈的核心就是争夺迫手。为了得到迫手,需要在起始阶段就开始布局。下一章我们会讨论这一点。
七、迫手理论的延伸:潜在迫手
(1)连续子原理
连续子原理:同一列相邻的两格,一般能获取其中一格。
该局面下,红方为何必胜?
根据连续子原理,红能得到a3、a4的其中一格。无论得到哪一格,都能形成奇格迫手b3,从而获胜。
(当然,黄可以下b2来破坏这个潜在迫手,但之后红下b3,形成相邻迫手,对黄更加不利。)
(2)潜在迫手
潜在迫手:即将形成有效迫手的最后一格。
下图双方有哪些潜在迫手?
黄有b1、f5潜在迫手。因为黄若得到b1(或f5),则可以形成d3奇格迫手。
同理,红有b3、b5、d3、f1、f3、g4潜在迫手。
在(1)中所示局面,有哪些潜在迫手?c6是潜在迫手吗?f3是潜在迫手吗?
答:对于红方,a3、a4、b3是潜在迫手。
c6不是潜在迫手,因为红即使得到c6,产生的奇格迫手f3并不是有效迫手。
(另外,按照定义,f3是潜在迫手。然而,红方是不可能夺取f3的,因为f列有黄方的偶格迫手f2。所以,也可认为f3不是潜在迫手。)
对于黄方,a4、c5是潜在迫手。
(另外,按照定义,f4是潜在迫手,因为黄方夺取f4后,可形成奇格迫手g5。然而,若黄方夺取了f4,那红方很可能夺取了f3,此时在g列的有效迫手将是红方的偶格迫手g4。所以,也可认为f4不是潜在迫手。)
(3)破坏潜在迫手的方法
(一)直接堵。
轮到黄方,黄方如何打和?
一种办法是下g4,直接把d1-e2-f3-g4这个潜在的红方四连堵上,防止红方得到奇格迫手f3.
(二)在迫手下面那格填子。
在上面的例子中,黄还可以下哪里?
答:f2。
轮到黄方,怎么下才能赢?
只能下f2。
①黄下f、g以外的列。则红可以下g3形成奇格迫手f3获胜。
②黄下g3。则红可以下g4形成奇格迫手f3获胜。
③黄下f2。红不能下f3。下f4也无法对黄方造成威胁。
可在下面的网址验证。
https://connect4.gamesolver.org/?pos=444444533353556755337
(4)小测&尾声
红能否获取奇格迫手g3?(注:黄不会选择输的太快的走法)
根据连续子原理,红能获取e4、e5中的一个。
①若得到e4,则红直接胜。
②若得到e5,将形成奇格迫手g3。
③如果黄通过占领g2的方式破坏潜在迫手,则红下g3,在e列形成相邻迫手e4、e5取胜。
情况①③只会让黄输的更快。因此,红可以得到奇格迫手g3。
这个例子告诉我们,很多时候,偶格迫手可以帮助我们获取奇格迫手。
难度较大的形势判断题。该局面谁会赢?
根据连续子原理,红可以获得a5、a6中的一个。
①情况1:红得到a5,形成奇格迫手c3胜。
②情况2:红得到a6,形成偶格迫手c4。而偶格迫手c4让f3成为了隐性的奇格迫手。这是什么意思呢?
c2格未落子时:红得到f3,那么会产生奇格迫手c3
。
c2格已落子时:红得到f3,那么会产生冲四,逼迫黄堵c3,然后红下c4胜利。
因此,无论何种情况,红得到f3就会胜利,因此可以称f3为隐性的奇格迫手。
因此,红胜。
可能不好理解,可在下方网页验证。(棋盘已摆好)
https://connect4.gamesolver.org/?pos=45212241154454252453111
根据上题,你认为此时黄应该怎么走?
答:b5。
此时红怎么走?
答:b4,红的偶格迫手c2确保其能获取c3。红下b4后,一定能得到奇格迫手a5。
这一章以讲述基础概念为主。
一些进阶内容,包括剩余子原理、填子竞争等,将在下一章介绍。