我有VB源码如果你要的话请留联系方式。
极大极小分析法,搜索深度两层,搜索方法如下:
假设先下的电脑(黑),人(白)后下。
程序先估计电脑自己棋盘的每一步可能性,然后在每一步可能性成立的条件下,再进一步估计人有可能下的步数,对人下完后的棋盘值进行值的分析,再进行倒推值的计算,倒推值最大的步即为最优化的步。
具体棋盘的状态估价如下:
想法:每一个棋子下完都会对其附近的棋子的功能产生影响,对自己方的可能增加权值(例如形成活三),也可能不增加,同时可能使对方的棋子的功能降低,(例如破坏对方的活三等),所以我在估价每一个棋子下完的优劣时,用该棋子下完后,自己颜色棋的值的总和减去对方颜色棋的值的总和代表该棋子的优劣值。即value=blackvalue-whitevalue;
所有黑色值子棋子的优劣值计算方法如下:
计算棋盘上每个黑色的棋子,对每个棋子(附近四个子)进行四个方向(右,右上,右,上)的估价之所以不包括(下,左下,左上,左)是因为估价是对整个棋盘进行估评,这样的话,会造成重复。然后把所有黑色的棋子加起来即得所有黑色棋子的优劣值(blackvalue).
同样的,所有白色棋子的优劣值也以同样的方法计算。
老师要求编写五子棋的程序可是我实在想不出该怎么设定估价函数啊帮帮忙啊?
老师要求编写五子棋的程序可是我实在想不出该怎么设定估价函数啊帮帮忙啊?