Commit Graph

467 Commits

Author SHA1 Message Date
CalciteM 556bb7b94f 新增 RANDOM_MOVE 宏用于随机摆棋
(中圈和外圈等效,和未开启此宏时的细分表现暂时不统一)

程序效率下降 1/3
2019-07-10 01:00:06 +08:00
CalciteM f700aa3d70 Enable IDS 2019-07-09 01:06:14 +08:00
CalciteM 3a62763653 因不稳定故关闭 DONOT_DELETE_TREE 2019-07-07 23:14:35 +08:00
CalciteM 54947bfe01 打开 DONOT_DELETE_TREE 宏时不删除子节点以用空间换时间
Release自对弈双方总耗时由33s缩短到20s
2019-07-07 22:27:23 +08:00
CalciteM 7d6631317a 去掉 addNode 中的 rand() 操作
Node 节点中的 rand 暂时未去除

Release自对弈一方: 15.551s->14.930s
2019-07-07 21:46:40 +08:00
CalciteM d32ff9bbff 优化 addNode 函数性能
Release 自对弈一方的时间从30s缩短到15s
某个着法深度为8时,从原来的 47.405 s 缩短到 34.072 s,节省 30 % 耗时
2019-07-07 21:41:46 +08:00
CalciteM 96e9ae565f sortLegalMoves 增加一段代码备用
目前启用后会出现打印的着法没有显示最优着法,待完善
2019-07-07 20:43:43 +08:00
CalciteM e8ee553d50 动态深度表上调深度 2019-07-07 17:18:18 +08:00
CalciteM 115cc3ab3c 修改水平线效应判断改为根据是否剪枝来决定是否加深 2019-07-07 17:08:08 +08:00
CalciteM cc522bff7f 摆子优先考虑占据斜线 2019-07-07 16:52:17 +08:00
CalciteM b0d2884dbf 打印是选择的最佳着法缩减到没有被剪枝的选择 2019-07-07 15:34:22 +08:00
CalciteM c55b10b129 不搜索翻转局面的HASH 2019-07-07 12:59:07 +08:00
CalciteM 86688629d7 hash 不更新 depth 2019-07-07 12:03:49 +08:00
CalciteM 564fb3677d 去除hash更新depth机制前的备份 2019-07-07 11:20:14 +08:00
CalciteM 15dd9b5891 增加hashf 未完善 2019-07-07 11:03:06 +08:00
CalciteM 42f6b5d0d2 增加 recordHash() 2019-07-07 10:48:19 +08:00
CalciteM 4d72e101d2 将搜索哈希放在叶子结点处理流程之前 2019-07-07 10:24:26 +08:00
CalciteM Team d38200dce5 每走一步棋更新 Hash 值以提升效率
已知问题:
棋力明显下滑,待调试
2019-07-07 03:27:29 +08:00
CalciteM Team ae247bad52 只对最优着法且为吃子的着法多搜索一层 2019-07-06 19:06:24 +08:00
CalciteM Team bae40a0360 AI: 更改函数名以更表意 2019-07-06 16:17:43 +08:00
CalciteM Team 22d450a193 招法改名为着法并添加更多注释 2019-07-06 15:32:19 +08:00
CalciteM Team 2366f8eae1 AI: 添加注释并删除无用代码 2019-07-06 08:27:21 +08:00
CalciteM Team ab8525f1a5 目前Hash算法会越下越慢故关闭 2019-07-06 02:48:35 +08:00
CalciteM Team d27485b06f AI时间上限改为120秒 2019-07-06 01:49:54 +08:00
CalciteM Team 7afa962ed9 即便超时时发生 Error 也返回首个招法 2019-07-06 01:49:25 +08:00
CalciteM Team 2c0ad67e23 AI超时时间改为30秒 2019-07-06 00:31:40 +08:00
CalciteM Team adda89c6b4 新建游戏时清空哈希表
否则除了首盘棋力正常,后面会变弱
2019-07-05 23:39:49 +08:00
CalciteM Team 1a196fe57f 棋未下完就新建游戏算投降 2019-07-05 01:45:01 +08:00
CalciteM Team 8dc56dfa21 棋未下完就新建游戏,算玩家2得分 2019-07-05 01:44:59 +08:00
CalciteM 1d122bd4cd Hash: Style: Refactor 2019-07-05 01:36:00 +08:00
CalciteM d65e79038d 解决 RANDOM_BEST_MOVE 未开启时编译不通过的问题 2019-07-04 23:36:28 +08:00
CalciteM Team b6fb08988b 动态搜索深度加深并10步才选1步次优着 2019-07-04 02:16:43 +08:00
CalciteM Team a2d1e2616f 右上角时间栏改造成计分栏 2019-07-04 02:05:45 +08:00
CalciteM Team 0e82b83941 20%概率下次优棋 2019-07-04 00:35:27 +08:00
CalciteM Team 1795357070 最优招法随机选最优的两步其中一步 2019-07-04 00:12:05 +08:00
CalciteM 619217a5eb 解决随机不生效的问题 2019-07-03 22:15:01 +08:00
CalciteM 84e937a8f2 修改 sortChildren 中的 Lambda 函数 2019-07-03 01:18:02 +08:00
CalciteM b7b11eb659 提升启用水平线效应时的搜索深度 2019-07-02 23:12:18 +08:00
CalciteM 7085a6cb09 AI: 若遇到吃子则搜索深度加1层 2019-07-02 00:46:20 +08:00
CalciteM 308cb5b9c8 调整动态深度表以提高前几着的速度 2019-07-01 22:44:36 +08:00
CalciteM 532994e96a 目前 AB_RANDOM_SORT_CHILDREN 宏开启后变得很弱故临时关闭 2019-07-01 22:44:23 +08:00
CalciteM aa0898b19d 对 value 相同的进行随机排序 2019-07-01 00:51:08 +08:00
CalciteM 2113b75206 IDS使用宏控制并打印计算时间 2019-06-30 23:51:48 +08:00
CalciteM 191e507600 VC: Release 编译时使用速度优先优化 2019-06-30 21:09:06 +08:00
CalciteM 2aa99e4bf3 使用深化迭代取代随机排序 2019-06-30 18:39:05 +08:00
CalciteM 5b474c2458 增加用于改变深度的 changeDepth() 函数并将动态调整和固定变为互斥 2019-06-30 16:43:24 +08:00
CalciteM f5a7f0ce22 让 rootNode 也通过 addNode() 构建 2019-06-30 16:13:13 +08:00
CalciteM c80759fe1e 剩余的 Data 改名为 Context 2019-06-30 15:39:25 +08:00
CalciteM ed5cf81712 DEBUG宏不开时也打开 GAME_PLACING_DYNAMIC_DEPTH 2019-06-30 14:41:09 +08:00
CalciteM bdf7d45a62 打印遍历过的结点个数和占总结点个数比例 2019-06-30 13:35:46 +08:00