本人机对弈程序采用了多种搜索算法.以下是本程序主要的类说明:
1.CEveluation类:估值类,对给定的棋盘进行估值.
2.CMoveGenerator类:走法产生器,对给定的棋盘局面搜索出所有可能的走法.
3.CSearchEngine类:搜索引擎基类.
4.CNegaMaxEngine类:负极大值法搜索引擎.
5.CAlphaBetaEngine类:采用了Alpha-Beta剪枝技术的搜索引擎.
6.CFAlphaBetaEngine类:fail-softalpha-beta搜索引擎.
7.CHistoryHeuristic类:历史启发类.
8.CAlphabeta_HHEngine类:带历史启发的Alpha-Beta搜索引擎.
9.CAspirationSearch类:渴望搜索引擎.
10.CIDAlphabetaEngine类:迭代深化搜索引擎.
11.CMTD_fEngine类:MTD(f)搜索引擎.
12.CTranspositionTable类:置换表.
13.CAlphaBeta_TTEngine类:加置换表的Alpha-Beta搜索引擎.
14.CPVS_Engine类:极小窗口搜索引擎.
15.CNegaScout_TT_HH类:使用了置换表和历史启发的NegaScout搜索引擎.
本程序具有悔棋,还原功能,可以记录走法,还可以进行布局.
注:本程序编写时参考了王小春的<>,他的书真是好.
2021-11-18 11:45:08
168KB
象棋
1