52ky 发表于 2022-9-22 10:10:44

中G象棋源代码

本人机对弈程序采纳了多种搜索算法.以下是本程序首要的类说明:
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搜索引擎.
本程序还具有悔棋,复原功能,还可以记录走法.

(My computer game program adopts a variety of search algorithms. The following is the main class description of this program:
1. CEveluation class: Valuation class, which evaluates a given chessboard.
2. CMoveGenerator class: move generator, search for all possible moves for a given chessboard situation.
3.CSearchEngine class: Search engine base class.
4. CNegaMaxEngine class: negative large value method search engine.
5.CAlphaBetaEngine class: a search engine that adopts Alpha-Beta pruning technology.
6. CFAlphaBetaEngine class: fail-softalpha-beta search engine.
7. CHistoryHeuristic class: historical revelation class.
8.CAlphabeta_HHEngine class: Alpha-Beta search engine with historical inspiration.
9.CAspirationSearch class: eager search engine.
10.CIDAlphabetaEngine class: Iterate deep into the search engine.
11.CMTD_fEngine class: MTD(f) search engine.
12.CTranspositionTable class: replacement table.
13.CAlphaBeta_TTEngine class: Alpha-Beta search engine with substitution table.
14. CPVS_Engine class: very small window search engine.
15. CNegaScout_TT_HH class: NegaScout search engine using permutation table and historical revelation.
This program also has the function of repentance and recovery, and can also record the moves.)




页: [1]
查看完整版本: 中G象棋源代码