中国象棋软件最大的问题,不在于漏算了坏棋,而是在于错过了许多好棋。
中国象棋软件很多亏分的棋算到高层却是得高分的
举个很常见的例子。 来看看电脑是如何错过好棋的吧 。
假设,一个局面下,名手引擎算到红棋走兵三进一不错。
名手引擎从第一层到第5层,算到红的走这步棋是,得150分。
从第6层开始,算到黑棋有强烈的反击手段,第6层分数得90分。
虽然分数有所下降。但程序依然按线性思维往这条路上继续试探着算下去。
第7层开始,局面得70分。
第8层得 59分。(貌似还不错)
第9层得 -145分(发现黑棋的反击强烈而有力,变成负分)
第10层 -175分
第11层 引擎就不会在兵三进一这条路继续算下去。而去寻找其他棋步。
他会回到初始,找到车四进五这步棋。
第12层算到车四进五,得50分。勉强凑合,继续使用
于是第13层,车四进五
第14层,车四进五
第15层,车四进五
第16层,车四进五
第17层,车四进五。。。。。
于是下面算到25层,都是走车四进五这步,不好也不坏的棋。
问题出来。 兵三进一这步棋,就像是被遗弃的坏孩子。象棋引擎已经放弃他了。
但实际上,当我们强行让软件走兵三进一,再让引擎强行算下去(虽然下面黑棋有强烈反击手段)当引擎算第19层时,发现峰回路转。红棋顶住了黑棋的反击,分数从 -175分,慢慢变成正的200分。
可惜的是引擎在第11层就放弃研究这步好棋了。 于是不少的好棋就这样错过了。
所以目前中国象棋软件最大的问题,不在于漏算了多少坏棋,而是在于错过了许多好棋。
中国象棋软件很多亏分的棋算到高层却是得高分的。
如果电脑强大到可以允许用更多层数去在坏棋中去寻找好棋。 也许会发现更多的妙手,象棋软件会更上一层楼。