理论分析点格棋的致胜策略

02/03563 浏览攻略
这是笔者在结合自身大量实验,以及3×3棋盘下的攻略后总结的。一家之言,或有疏漏,请多指教。
先说结论,这个游戏,在对手计算量足够强的情况下,先手必败。但是由于内置人机过于拉胯,因而我们可以很轻松的取得胜利。
正篇开始前先定义一下用词。“区域”是指当一方在特定范围内的格子上占领任意一边时,这一范围的格子可以被另一方连续占领。连通的格子≠区域,反例是存在只有一条边被占领的格子,连续占领会在这个格子上中断,这种我会把它视作两个区域。“三连”是指一个格子的三条边被占领。
这个游戏可以分为两个阶段。第一个阶段划分区域,即在不出现三连的情况下,尽可能的下棋。第二个阶段进行兑现,即先手方为一个区域送上三连的格子,后手方收获这片区域并在另一个区域上造成三连,如此反复直至结束。
一阶段在3×3中可以进行更加精确的分析,但在5×5中人脑比较难计算(后面会提到具体要计算什么),我算力不够,一阶段也只能随便下。但是在3×3中,存在必胜策略使得后手占优,所以我也相信5×5也可以做的100%后手占优。
二阶段中,初学者和人机的下法都会是,优先让送小区域给对面,那么获得区域的先后手就显得非常重要。在一阶段乱下的情况下(一般而言先手方是进攻方,先手方乱下基本不可能获得优势),形成区域数为偶数时,先手方先获得区域;形成区域数为奇数时,先手方后获得区域。也就是说,先手在上述策略下必败。
那么转机是什么?等着!假设在一个1×3的区域中,对面送了你一个三连,你可以接受三连的那个格子,并走一步闲招,把剩下两个格子“退还”给对面(也就是说你退还的两个格子是两个三连,你走的那一步是第二个三连),从而可以进行先后手的交换,最终取得胜利。人机不懂这些,所以次次入坑。
值得注意的是,所有面积更大的区域都可以进行如此操作但只应该送给对面两个格子(两个三连),不然对面可以复制你的操作,主动权就交给对面了。所有面积为1的格子均无法完成该操作,面积为2的格子在对手下法正确下的情况下(图1正确,图2错误,人机不会这个)也无法进行该操作。
所以在一阶段结束之后你就可以知道你有没有赢了。首先,不用等着就一定是输;然后,双方使用等着的总次数=“区域面积>3”的格子数,若为偶数则你输,奇数则你赢(和3×3的结论一样)。3×3中一阶段的博弈就是先手方想要制造偶数个区域,后手方则要阻挠,感兴趣的可以上b站搜搜,不难。
要超字了,后面还有一点放在评论区。
TapTap
TapTap
17
3
10