Commit Graph

278 Commits

Author SHA1 Message Date
CalciteM Team 2aaa3d276b search: 调整部分语句位置
对性能优化极为轻微
2019-07-20 21:19:18 +08:00
CalciteM Team 922206b3ab node->children vector 预留空间由48改为24,
节省了空间,但对效率几乎没有影响。
2019-07-20 20:56:33 +08:00
CalciteM Team 284c1c29cb msvc: 连接器添加 /LTCG 选项提升链接性能 2019-07-20 20:42:29 +08:00
CalciteM Team 19d23eb7b8 HASH: 哈希结点个数由128M下调到64M
提速6%,并且无冲突出现。
实测 64M/32M 相差不大,16M会出现冲突影响计算结果。
2019-07-20 20:34:53 +08:00
CalciteM Team 28096b97c2 HASH: HashValue 中无需保存 hash 值,去除后提速 3% 2019-07-20 20:18:04 +08:00
CalciteM Team 6744c31a1f 下完棋后左下角信息栏的信息加上比分 2019-07-20 19:32:05 +08:00
CalciteM Team 87ba471531 代码清理 2019-07-20 19:19:28 +08:00
CalciteM Team 5aff5d8d29 Merge branch 'book'
合并开局学习相关提交,但暂不开启宏,因未完善 (棋力越下越弱)
2019-07-20 17:36:04 +08:00
CalciteM Team 3c24f6bce2 因开启哈希故将走子阶段深度提升 2019-07-20 17:02:36 +08:00
CalciteM Team 75fa2f83c7 HASH: 哈希返回的结果会决定结点是否是剪枝过 2019-07-20 17:02:36 +08:00
CalciteM Team a6a1923163 HASH: 把最优着法插入首位而非和首位交换 2019-07-20 17:02:36 +08:00
CalciteM Team 081342bd89 HASH: 记录最优着法并在排序时将最优着法换到首位 2019-07-20 17:02:36 +08:00
CalciteM Team 7bb69cc561 HASH: 同样深度或更深时才替换 2019-07-20 17:02:36 +08:00
CalciteM Team a77f6b6c95 HASH: 棋力和非HASH相当了但是效率无提升 2019-07-20 17:02:36 +08:00
CalciteM Team d200ccad55 HASH: 记录哈希时不再记录 alpha/beta 2019-07-20 17:02:15 +08:00
CalciteM Team 7c1aec240f IDS: 只有启用迭代深化时才有必要排序子节点 2019-07-19 23:15:41 +08:00
CalciteM Team 7fd982c1fc book: 完成开局库学习的初版 2019-07-17 02:02:10 +08:00
CalciteM Team d75feb9eea 实现开局库 2019-07-16 23:57:41 +08:00
CalciteM Team 98522a8267 加入 Book Learning 和 hash 相关的代码
Book Learning 功能待后续添加
2019-07-16 22:39:05 +08:00
CalciteM Team 7cfda4a015 增加 BOOK_LEARNING 宏 2019-07-16 21:55:30 +08:00
CalciteM Team 89476b6de3 Revert "HASH: 临时 提交"
This reverts commit 14e9d68288.
2019-07-16 02:03:42 +08:00
CalciteM Team bcda7d77fd HASH: 每次做AB搜索前都清空哈希表 2019-07-16 02:02:21 +08:00
CalciteM Team 14e9d68288 HASH: 临时 提交 2019-07-15 00:55:00 +08:00
CalciteM Team 0ec8aa77f3 HASH: 先确保自我对战结果和未开HASH相同 2019-07-15 00:26:48 +08:00
CalciteM Team ab06ad7716 HASH: 新增 probeHash 函数 (相关代码未完成) 2019-07-15 00:23:19 +08:00
CalciteM Team 3e0c23a669 HASH: 仅当从hashmap中读取的为确切值才应用value
棋力恢复回关闭hash的水平但耗时约大一倍
2019-07-14 22:51:46 +08:00
CalciteM Team 4a60435a38 目前HASH棋力弱存在Bug故关闭 2019-07-14 22:35:45 +08:00
CalciteM Team 3bf5381afd HASH: 下第二盘时不明原因变慢故新开局时清除哈希表 (WAR) 2019-07-14 21:53:12 +08:00
CalciteM Team e4ea2851c2 HASH: 哈希表扩大到128M
效率看不出差异
2019-07-14 21:45:35 +08:00
CalciteM Team ecebd39347 HASH: 彻底去除哈希桶 2019-07-14 21:03:20 +08:00
CalciteM Team 35df7d3e6c HASH: 去掉next指针以清理更多哈希桶代码 2019-07-14 20:11:53 +08:00
CalciteM Team dfcbc2283e HASH: key 直接转换为地址而非经过 std:hash 换算 2019-07-14 20:04:33 +08:00
CalciteM Team 08f50641df HASH: 计算哈希地址时 % 改为 & 运算
实测效率几乎没有影响
2019-07-14 19:46:04 +08:00
CalciteM Team 86b9443c2f HASH: 哈希表大小调整为16M 2019-07-14 19:35:24 +08:00
CalciteM Team 850738d529 HASH: 新增 DISABLE_HASHBUCKET 宏供用于禁用哈希桶 2019-07-14 19:35:02 +08:00
CalciteM Team d602a1df10 HASH: 哈希表大小上调到 1M 2019-07-14 17:31:23 +08:00
CalciteM Team acda6db11b HASH: alphaBetaPruning 基本修改完成 2019-07-14 17:03:28 +08:00
CalciteM Team 6a7c8d1d59 pro文件增加哈希头文件 2019-07-14 15:10:16 +08:00
CalciteM Team 4b1f3bba48 updateHash和revertHash函数完成调用 2019-07-14 14:49:01 +08:00
CalciteM Team 30fabb7a4c 完成 updateHash 函数 2019-07-14 13:56:36 +08:00
CalciteM Team 113aca04b5 部分适配 findHash 和 recodeHash 2019-07-14 11:17:15 +08:00
CalciteM Team e89be5e883 hashmap cpp 换为 h 2019-07-14 11:04:51 +08:00
CalciteM Team e55eee77a6 哈希模块替换为 kshk123/hashMap 但还未适配 2019-07-14 10:06:15 +08:00
CalciteM Team 8faa9baa38 去除部分语句的方式链接通过,暂时先这样处理 2019-07-14 02:01:38 +08:00
CalciteM Team 0421fa0494 HASH: 编译通过链接仍失败 2019-07-13 21:39:06 +08:00
CalciteM Team a3301d19d0 IDS: 深化迭代步长由1改为2 (WAR)
原因:
对于以下棋局
r2 s000 t00
(2,4) 00:00.000
(2,8) 00:00.487
(2,6) 00:46.657
(2,5) 00:00.976
(2,2) 00:49.176
(2,3) 00:02.488
(3,6) 00:55.784
(1,6) 00:03.387
(1,4) 01:09.749
(3,5) 00:03.758
最后一步 (3,5) 而非封堵 (3,4) 最终输棋
调试时发现在迭代深度为5时 之前  (3,4) 排第1的顺序被打乱
故迭代为偶数以跳过5
和原来的程序对战结果 2:5-3.5, 所以这种改法为 WAR 方案
2019-07-13 21:12:32 +08:00
CalciteM Team 527fec2856 添加未完成的Hash代码但暂时关闭宏 2019-07-13 19:47:30 +08:00
CalciteM Team 702a562bbd 添加哈希表部分代码
编译通过,链接不通过
2019-07-13 18:09:07 +08:00
CalciteM Team 03294e1557 临时调整 config.h 以后续调试 Hash 用 2019-07-13 15:04:03 +08:00
CalciteM Team 88fec0b8bf hash改名为hashCheckCode以免和后面添加的真正的hash值名称冲突 2019-07-13 14:59:22 +08:00