空着裁剪的形式很简单:比如红棋走完该黑棋走了,黑棋不走,让红棋继续走一步,然后黑棋再走...
那么原理是什么?
中局阶段,获取某一方的走法,约有40个左右。这其中顶多有两个,甚至只有一个是好的着法。大部分是无用甚至送死着法。这么多坏着,每个都要进行指定深度的搜索,确实是可惜了电脑的时间~
回到开头,假设红棋刚走了r1,黑棋不走,让红棋继续走,然后形成了r1,r2,b1,r3,b2,r4,b3的着法序列
在这个序列中,r1的好坏待定,假设r2-b3都是最佳应对着法。
【1】如果r1是步无用棋甚至送死棋,那么这个序列走下来,红棋并不能凭借多走了一步而扩大自己的分值(增大优势或缩小劣势)。
【2】如果r1是步好棋,那么经过这个序列,红棋几乎肯定能够扩大自己分值。
空步裁剪是缩减深度的搜索。如果通过前面序列红棋不能获得优势,那很大可能性r1就是步烂棋,即便是深度减小了,准确度依然足够高!这就是使用空步裁剪的原因:大幅提升性能,小幅降低准确度。