这个评价函数应该从什么角度来写,极大值和极小值叶子节点的评价函数是不是需要评价角度不同?
如果AI方是极大者,按照极大值叶子节点评价极大者方的落子利益,值取正;
极小值叶子节点评价极小值方的落子效益,值取负。
这样的思路来写,搜索深度使极小值为叶子节点时,就会出现AI评定里棋盘边角落子收益更大的情况,而且偏防守。
http://blog.csdn.net/lihongxun945/article/details/50625267
什么是棋盘边角收益?
评价函数就是AI方的角度来计算,有利于自己的落子分值就高,有利于对方的分值就低;
利弊情况再细分一下所有情况,按等级排序,并给予相应的分值;比如:
1.直接成五子的,直接赢了,分值当然就最高,给100。(进攻型)
2.可以连成四子的情况:
a.活四(两段都是空位,对方无法防御,下次直接成五),且对方没有连四子的情况,分值90;(进攻型)
b.活四,但对方已经有连四子,但不是活四,堵住它的空位一端,分值85;(防守型)
c.活四,但对方也是活四,一样进攻(这时防御已经没用,可以期望对方没发现自己已经活四);
。。。。。。
具体情况具体分析。
把评价函数设计的细致一些,与到分值一样的情况,可以用随机算法任取一种走法就可以了。(随机算法在AI中也是很重要的)