五子棋对电脑怎么下才有效
第十六手,两个活三,然后什么都没有
第三行一个活三,斜线上还有一个。困难档挡掉第三行那个,你把斜线接上去,它也挡了,到第二十二手,你手上剩四颗死子,中间空出一块本来该有棋形的地方。
第一反应是「它算得比我深」。这个阶段的局面它并没有比你算得深多少,它做的是每一手都把整盘重新评一遍,完全不记得你两手前在搭什么。你有计划,一个回合就用完了。
先数有几颗子没干活
15×15 打困难,胜负通常落在第十八到第二十六手之间。定局之前你大概能下二十颗子,其中两颗可以闲着,三颗就已经超预算。
数子在第十二手数,别等输了再数。我这十二颗里,有几颗正在威胁、正在挡、或者占着一条我还打算用的线。十二颗中五颗算正常,四颗就是问题,而这个问题最后的表现形式,就是第二十二手那一下崩。
同一笔账也能解释为什么把子堆在一条线上会输。六颗连成一串、两头都堵死的子,价值低于两条交叉线上的两颗。机器的评估从第三手就知道这件事,下棋的人往往不知道。
挡点是你送出去的那一手
每个逼着走的棋都有一个应手,那个应手就是你递给对手的一颗子。先看它落在哪,再决定要不要下这手威胁。
第八行上你有个冲四,左边被他一颗子堵住,只剩 L8 一个赢点,而他的子都在第十到十二行。他必须去 L8。这颗子在他那边什么也做不了,你用一手四换了一个先手。
再找另一手四,赢点正好落在他跳二要走的那条线上。他去挡,这一挡是他两手后本来就要下的那颗子。同样是逼着走,这一手你是在付钱给他。
所以要点不是「多做威胁」,而是:手上能凑出的两手里,下那一手应手落在废点上的。他的活线、中路、他跳二要去的那个点,这三处挡一下等于送他东西;边线、你已经放弃的线、他够不到的角,这三处才是让他付代价的地方。
他不会去应的那一挡
逼着走之间还夹着另一种棋,也是机器处理得最差的一种:在没有威胁的时候先去挡。
第九手,他在第十行有两颗子,一个跳二,没有任何威胁。你下在他活三会起来的那个点上,离他的子隔一步。这手棋本身不成威胁,它那边没有东西要应,于是它回去走自己的计划。这颗子留下了。到第二十二手,第十行没有出口,而他整个右翼是建立在「第十行还有出口」这个前提上的。
两个条件。必须落在他已经投入的那条线上,而且离他的子要够远,远到不像进攻。贴着他的两颗子下,那是挡,他会应;同一条线上隔三个点,那是没有。
这也是攻守转换问题的防守一半,什么时候值得花一手去补,攻与守的切换时机那一篇讲的就是这个判断。
它是确定性的,那就拿它做实验
困难档对同一个局面给出同一手。不是大致相同,是完全相同。全站只有它,能把同一盘棋跑两遍。
前六手照抄两遍,第二盘只在第五手换一颗子。看应手从哪里开始分叉。如果他第七手就变了,说明你那颗子被直接应了,它是个威胁。如果一路到第十五手都一样、之后才分叉,说明那颗子是悄悄改了评分,分叉的那一手,就是他计划里需要那块空间的时刻。
这种晚分叉的子才贵,多数人找不到,因为他们只看下一手发生了什么。这个测试在简单和中等档做不了,这两档是故意加随机的,同一个局面给出不同应手,比了也没意义。这也是那套三十五分钟练法只在困难档以上成立的原因。
链断了就停手
连四的链走不通,不是「白走一趟」。每一手四都把他的子拉到你的线旁边。走到第三手四断掉,你花了三颗子,还把他三颗子请进了你正要用的那块地方。
所以开链之前先数:我手上能连几手四,够不够走到五。数出来三手、而你需要四手,这条链现在不存在,不管它在盘上看起来多像。
断了之后,正确的一手很闷,就是他最好那条线上的防守点。这时候再甩一个威胁出去,等于再送他一颗子进你的棋形,一手输掉的进攻,就是这么在六手里变成一盘输掉的棋。各档对断链的处理差别,逐档拆解那篇写得更细。
一盘棋,三步
- 第一到第六手:两条线,一个交点。 从 H8 起,然后下两颗将来会碰上的子。第三颗子落之前,把交点坐标说出来。说不出来,你是在摆子,不是在搭棋。
- 第七到第十四手:一手应手落在废点上的威胁。 活三要做在两端都是你不需要的点的那一侧,然后再加第二个威胁,让同一个应手同时管住两个。
- 第十五手以后:能收就收,收不了就重搭。 数过的链够到五,就走完;不够,就先补那一手预防性的挡,从还站得住的局面开第二个计划。
那个你该说得出口的点
第十手停下来,写下你两条线的交点坐标。多数人写不出来,缺的就是这一个点,而它正是第二十二手崩掉的原因,尽管每一手单看都还算合理。
算得深救不了这个。你可以沿着一条通向虚无的线算十二手。计划只有一句话,而且要在落子之前写。
今晚就试:打开棋盘,15×15,困难档,一盘。第十手把交点记下来,然后把棋下完,看自己到底有没有在那一点上落过子。