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 |
CalciteM Team
|
0d5306514a
|
删除部分无用代码
|
2019-07-13 14:42:38 +08:00 |
CalciteM Team
|
4e43de6663
|
去除一处被反复调用的 setTips 以提高性能6%
|
2019-07-13 13:56:31 +08:00 |
CalciteM Team
|
87ff9a3927
|
Qt: 将 config.h 加入 Qt 工程
|
2019-07-13 11:07:23 +08:00 |
CalciteM Team
|
fe87db7666
|
调试完成故重新启用随机走子
|
2019-07-13 11:05:22 +08:00 |
CalciteM Team
|
30d458a76a
|
生成合法着法前先给 children 数组扩容到48
i7 CPU 上,自对战再提速 18%,耗时由 109s 缩短到 90s
|
2019-07-13 11:01:31 +08:00 |
CalciteM Team
|
bf26f291a1
|
Node子节点不用list改用vector使得提速20%
i7 CPU,自我对弈从 136s 缩短到 109s
sortLegalMoves CPU性能占用率从13%下降到2.3%
|
2019-07-13 10:34:08 +08:00 |
CalciteM Team
|
332f3c181b
|
Disable rand move
|
2019-07-13 09:05:13 +08:00 |
CalciteM
|
006a548d69
|
吃子优先级和摆子优先级相反
|
2019-07-12 01:15:46 +08:00 |
CalciteM
|
ff1d7dce84
|
优先级表调整为内圈十字架优先于外圈十字架
|
2019-07-10 23:16:58 +08:00 |
CalciteM
|
ffa742881a
|
自动生成的棋谱后缀改为 .txt
之前只能用命令
ls *.log | awk -F'.' '{print $1}'|xargs -i -t mv {}.log {}.txt
把 log 批量改为 txt
|
2019-07-10 23:02:41 +08:00 |
CalciteM
|
eb2121046d
|
每下一着之前才重新随机生成着法候选列表以提升效率
|
2019-07-10 02:05:33 +08:00 |
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 |