Calcitem
|
f2a164979a
|
build: qt: android: Fix build failed
Reference: https://bugreports.qt.io/browse/QTBUG-76293
|
2019-10-02 19:58:56 +08:00 |
Calcitem
|
8e54962233
|
ai: tt: 使用更新年龄机制来取代每次全部清空置换表
memset 大块内存效率较低, 故在哈希表中增加年龄纪录,
当年龄不一致时即认为哈希表项过时, 就更新它.
如果年龄一致则从中读取数据.
年龄增长到255时才清空一次置换表, 这样自对弈一盘棋只需要清2次.
修改使用 TRANSPOSITION_TABLE_FAKE_CLEAN 宏控制.
代价是会增加哈希表的体积, 空间换时间.
自对弈时长由 63s 缩短到 54s, 提速 15%.
|
2019-10-02 19:23:52 +08:00 |
Calcitem
|
2918b9a23d
|
stack: 增加 Stack 类取代 std::stack 并且在拷贝时使用 memcpy 提高效率
自对弈时长由66秒缩短到63秒, 提速 4.5%.
|
2019-10-02 11:36:17 +08:00 |
Calcitem
|
306373371c
|
refactor: 增加 doMove() 和 undoMove()
|
2019-10-02 10:25:14 +08:00 |
Calcitem
|
d4407e80ea
|
refactor: TranspositionTable 简写为 TT
|
2019-10-02 09:59:21 +08:00 |
Calcitem
|
40971cb3fa
|
ai: window: 细分摆子阶段和走棋阶段的窗口
|
2019-10-02 09:43:40 +08:00 |
Calcitem
|
57dd0a2929
|
ai: IDS 时使用期望窗口
IDS前期期望窗口定为 301 时,才不会改变摆子阶段自对弈棋谱. 原因未知.
但定为301则性能没有可见的提升.
IDS 最后一次迭代期望窗口定为 179. 性能提升主要依靠这个.
最终自对弈时长由 70s下降到65s, 提速7%.
参考: https://www.xqbase.com/computer/advanced_aspiration.htm
|
2019-10-02 01:46:34 +08:00 |
Calcitem
|
41abab1756
|
type.h 增加几个定义备用
|
2019-09-30 01:58:42 +08:00 |
Calcitem
|
e0b78a9ad9
|
启用 square_t 类型并设置为32位 (原来用8位表示 square)
|
2019-09-30 01:37:59 +08:00 |
Calcitem
|
be82dbf1b5
|
新增 index_t 类型并设置为8位 (原来用32位表示 index)
|
2019-09-29 23:19:52 +08:00 |
Calcitem
|
0d6f4edd52
|
refactor: location 作下标时改为 index
|
2019-09-29 23:01:16 +08:00 |
Calcitem
|
d3a79d8e19
|
location 由32位改为8位并新建 location_t 类型
|
2019-09-29 00:15:48 +08:00 |
Calcitem
|
fd0ce863b0
|
refactor: 新增 location 模块
|
2019-09-29 00:01:01 +08:00 |
Calcitem
|
7551dbb9e3
|
Game::update() 取消 inline 以解决 gcc-7.3 编译失败问题
|
2019-09-28 23:26:24 +08:00 |
Calcitem
|
f125654427
|
refactor: 增加 countPieces 系列函数
|
2019-09-28 22:47:47 +08:00 |
Calcitem
|
6c4693cd73
|
book: 修改自动保存棋谱的日期时间格式为年月日时分秒
|
2019-09-28 13:09:41 +08:00 |
Calcitem
|
dd669091a0
|
refactor: 新建 saveBook() 函数
|
2019-09-28 11:39:45 +08:00 |
Calcitem
|
9612c014cd
|
refactor: Rename PHASE_NOTSTARTED to PHASE_READY
|
2019-09-28 11:08:24 +08:00 |
Calcitem
|
a02cdd9778
|
rule: 配置 rule 时配置 maxStepsLedToDraw 和 maxTimeLedToLose
|
2019-09-28 11:06:18 +08:00 |
Calcitem
|
d6574b0fcb
|
refactor: 去掉成员变量结尾的下划线
第三方库不处理.
|
2019-09-28 10:48:19 +08:00 |
Calcitem
|
4b0569ea65
|
refactor: 增加 phase 的成员
|
2019-09-28 02:09:00 +08:00 |
Calcitem
|
e0601e8fa0
|
refactor: 改写 getDepthTime 函数
|
2019-09-28 02:09:00 +08:00 |
Calcitem
|
9515b7c687
|
refactor: getElapsedTime() 减少参数
|
2019-09-28 02:09:00 +08:00 |
Calcitem
|
c37fd4e37e
|
position: Initialize some members
|
2019-09-27 23:56:54 +08:00 |
Calcitem
|
cd6f8a6a77
|
refactor: 减少 setPosition() 的参数个数到3
|
2019-09-26 01:10:47 +08:00 |
Calcitem
|
0f6ae7163a
|
refactor: 更改时间相关变量命名
将毫秒改为秒以对应之前的逻辑修改.
|
2019-09-26 00:58:43 +08:00 |
Calcitem
|
77881f817c
|
refactor: 减少 time_p 传参
|
2019-09-26 00:41:46 +08:00 |
Calcitem
|
919d990517
|
refactor: currentRule 重命名为 rule 并减少函数传参
|
2019-09-26 00:10:12 +08:00 |
Calcitem
|
f90c608b45
|
refactor: 将 currentRule 改为全局变量
|
2019-09-25 23:52:12 +08:00 |
Calcitem
|
3d2c2503b9
|
endgame: 默认关闭自学习残局库功能
|
2019-09-25 22:36:51 +08:00 |
Calcitem
|
5768c6db45
|
sln: Remove Qt5NetworkAuth.lib
|
2019-09-22 20:24:21 +08:00 |
CalciteM Team
|
39b2df094b
|
endgame: 每次开局时保存残局库
|
2019-09-20 01:48:29 +08:00 |
CalciteM Team
|
d65acac9a5
|
option: 新增残局库自学习的菜单并默认打开
|
2019-09-20 01:38:33 +08:00 |
CalciteM Team
|
75ea71b3ea
|
option: RandomMoveEnabled 转移到 options
|
2019-09-20 01:38:33 +08:00 |
CalciteM Team
|
3fee6da533
|
option: 将 giveUpIfMostLose 转 到 options
|
2019-09-20 01:38:33 +08:00 |
CalciteM Team
|
08cd2d97bb
|
gitignore: ignore compressed files etc.
|
2019-09-20 01:37:33 +08:00 |
CalciteM Team
|
5adaa2cc91
|
options: 新增 option 模块并将 auto restart 配置移到其中
|
2019-09-20 01:37:13 +08:00 |
CalciteM Team
|
a2d6a222a0
|
ui: lcd: 比分位数改为4位
|
2019-09-19 23:24:27 +08:00 |
CalciteM Team
|
671882c760
|
endgame: 搜索到必胜值再加上层数且修复缺少 break 的问题
|
2019-09-18 00:39:28 +08:00 |
CalciteM Team
|
cf2fdb360b
|
endgame: 记录的阈值改为400并不需要勾选自动认输就可以启用
|
2019-09-17 23:44:31 +08:00 |
CalciteM Team
|
c9ec23603a
|
endgame: 以残局库代码取代开局库代码
* 目前残局库依赖于自动认输开启.
|
2019-09-17 23:13:25 +08:00 |
CalciteM Team
|
c4ba910072
|
depth: 双方子力相差3时才从11层开始下降
原因是刚开始走棋时差对手3颗子还有翻盘的可能.
此修改对自对弈结果无影响.
|
2019-09-17 00:11:30 +08:00 |
CalciteM Team
|
a85c707e2a
|
depth: 调整摆棋深度并加入走棋阶段动态调整深度
* 摆棋阶段倒数第4着深度改回17, 为了避免走棋没多久就被闷杀;
* 行棋阶段当双方棋子数量较多时增加搜索深度;
* 行棋阶段如果双方子力相差悬殊则降低深度;
* VC 当使用 Debug 时将深度降低4层.
修改对自对弈的着法无影响, 耗时增加 1/3.
|
2019-09-16 01:05:15 +08:00 |
CalciteM Team
|
3e47a5963b
|
depth: 去除深度相关的编译宏
|
2019-09-15 21:57:45 +08:00 |
CalciteM Team
|
0d931e4877
|
refactor: 简化部分函数和参数变量命名
|
2019-09-15 21:38:18 +08:00 |
CalciteM Team
|
4a6b8963f7
|
rootNode -> root
|
2019-09-15 20:23:37 +08:00 |
CalciteM Team
|
38fd3ef062
|
dummyGame -> tempGame
|
2019-09-15 19:31:52 +08:00 |
CalciteM Team
|
3cc120e8fc
|
MillGameAi_ab -> AIAlgorithm
|
2019-09-15 19:18:33 +08:00 |
CalciteM Team
|
551bff5860
|
setContext -> setPosition
|
2019-09-15 19:03:29 +08:00 |
CalciteM Team
|
4cb10cf184
|
contextStack -> positionStack
|
2019-09-15 19:03:29 +08:00 |