前面弱智版五子棋虽然实现了让电脑下棋,但是完全没有思考能力。下面我们就来为电脑提升智力,学会思考后再下棋。
计算机的思考能力体现在对盘面的分析上,通过分析可能形成的盘面,从中选择最优结果,形成这个最优结果的着法即为计算机本次的选择。盘面分析的过程就是查找能形成五连珠的棋形,每种棋形赋予一定的分数,分数最高的盘面即为最佳盘面。下面是我总结的一些基本棋形(X表示黑子O表示白子-表示空格:
成五:XXXXX,形成这种棋形时即可分出胜负,赋予极高值。
活四:-XXXX-、X-XXX-X,这种棋形一旦形成,将无法防守,先手必胜,后手除了对方立刻成五也必胜。
冲四:OXXXX- 、OXXX-X、OXX-XX,这种棋形形成,先手必胜,后手对方必须防守。
活三:-XXX-、-X-XX-,这种棋形形成后,先手可成活四,后手对方必须防守,除非对方已经有活四、冲四等棋形,否者必胜。
冲三:OXXX--、OXX-X-、OX-XX-,这种棋形可先手成冲四,虽然不是能立即获胜的棋形,但一次或多次冲四后极可能形成良好的局面。
活二:--XX--、--X-X--,这种棋形是获胜的开始,有赢棋始于活二的说法,活二对后续的发展非常关键。
后面还有冲二,活一等棋形,这里就不一一介绍了。对这些棋形赋予恰当的分数,可更加真实的反应出盘面的优劣。