趁AlphaGo的热潮,发布十多年前造的国际象棋人机对弈程序, 供人机博弈爱好者们参考。
程序的UI是用那时流行的是VC6写的, 程序的原理和AlphaGo类似,有估值算法和博弈树搜索算法两部分。
这部分做的比较简单,主要考虑的因素:盘面棋子价值,棋子阵型,棋子位置等。
使用了Max-Min算法的各种变种: 负极大值搜索算法,极小窗口搜索算法,Alpha-Beta搜索算法。 结合历史搜索记录缓存和置换表加速搜索。 经过优化后,以目前PC的计算能力可以做到6-7步的深度搜索。
使用蒙特卡洛算法优化估值算法。