Calcitem
|
da6696448e
|
sort: Remove compiling warnings
* size_t -> int
* Remove some functions
|
2019-11-18 00:30:39 +08:00 |
Calcitem
|
6126e883a2
|
.gitignore: Add *.diagsession
|
2019-11-17 23:32:33 +08:00 |
Calcitem
|
d55bc8e723
|
hash: 将其他的64位定义改为由参数决定
|
2019-11-16 22:14:28 +08:00 |
Calcitem
|
9c2b406d9b
|
refactor: 重构 board.cpp 以略微提升性能
|
2019-11-16 12:31:05 +08:00 |
Calcitem
|
61012820cd
|
memmgr: Refactor get_mem_from_pool()
|
2019-11-10 13:49:45 +08:00 |
Calcitem
|
f1d6edcf6c
|
perf: 将 cmdlist 由 list 切换为 vector
实际对性能影响很小.
|
2019-11-10 13:33:56 +08:00 |
Calcitem
|
a3f9059528
|
timestat: 增加 CYCLE_STAT 宏但仅为示例用故不启用
|
2019-11-10 12:36:31 +08:00 |
Calcitem
|
5a085560f3
|
timestat: Add stopwatch
|
2019-11-10 10:57:47 +08:00 |
方解石
|
b4984f5797
|
Update Readme.md
|
2019-11-03 23:14:14 +08:00 |
Calcitem
|
d247ce4db8
|
refactor: 用 BLACK/WHITE 替换 1/2
|
2019-11-03 23:07:06 +08:00 |
Calcitem
|
627d687652
|
GameController: 去除 if (&game == &(this->game)) 的判断
|
2019-11-03 22:38:25 +08:00 |
Calcitem
|
8a2c179d62
|
refactor: 使用 COLOR_COUNT 替换 3
|
2019-11-03 22:12:09 +08:00 |
Calcitem
|
48a92be7e6
|
thread: 删除 AiThread::pause() 函数
|
2019-11-03 21:37:19 +08:00 |
Calcitem
|
846a58eb32
|
thread: 删除 aiThread 的 waiting 变量
waiting 变量为线程等待标识,没用到,留着以后扩展用.
现在删除之.
|
2019-11-03 21:32:57 +08:00 |
Calcitem
|
22ffd83b19
|
去除 EMIT_COMMAND_DELAY
QTimer::singleShot(EMIT_COMMAND_DELAY, this, &AiThread::emitCommand);
改为:
emitCommand();
顺带将 i/id 重命名为 sideId/playerId.
|
2019-11-03 20:23:57 +08:00 |
Calcitem
|
9d2f548220
|
refactor: MIN/MAX 宏改为通过 numeric_limits::min/max 获取
|
2019-11-03 19:25:23 +08:00 |
Calcitem
|
dd22228856
|
refactor: checkGameOverCondition 去掉 forceDraw 参数
|
2019-11-03 17:59:04 +08:00 |
Calcitem
|
78f79652b6
|
refactor: win() 重命名为 checkGameOverCondition()
|
2019-11-03 17:58:16 +08:00 |
Calcitem
|
d6307b5c61
|
depth: 如果深度小于1则设置为1
为了调试需要, 新增 DEPTH_ADJUST 宏用于深度调整.
|
2019-11-03 17:43:27 +08:00 |
Calcitem
|
e90266d3e1
|
license: Change Licence to GPL 3.0
由 LGPL 协议切换为 GPL 协议.
|
2019-11-03 13:00:45 +08:00 |
Calcitem
|
c747b8b429
|
depth: 调整 movingDiffDepthTable 降深度更苛刻
实际对自对弈时长影响不大, 仅从 13s 增到 14s.
|
2019-10-29 00:41:58 +08:00 |
Calcitem
|
5e8fc4ddea
|
endgame: 关闭 ENDGAME_LEARNING 功能
内存占用从 570MB 下降到 433MB.
因为 movingDiffDepthTable 的切换, 自对弈时长由 18s 缩短到 13s.
|
2019-10-29 00:39:08 +08:00 |
Calcitem
|
9d6b3245ed
|
tt: value_t 由16位减少到8位
程序内存占用由 680MB 下降到 570MB.
|
2019-10-29 00:11:46 +08:00 |
Calcitem
|
c639c15235
|
evaluate: 将 VALUE_EACH_PIECE_INHAND 由 50 改为 100
调整前, 自我对战为:
比分 1256 851 82
百分比 57.38 38.88 3.75
黑方调整后和未调整的白方对战结果为:
比分 2324 1458 153
百分比 59.06 37.05 3.89
即胜率略微提升了 1.7%, 而数千盘百分比波动小于 0.7%.
|
2019-10-27 22:12:49 +08:00 |
Calcitem
|
a453c7b63e
|
trainer: 初步实现能走出第1步就停止了
|
2019-10-27 01:03:10 +08:00 |
Calcitem
|
583af3aaf3
|
stl: QList 切换为 std::list
|
2019-10-26 20:37:54 +08:00 |
Calcitem
|
816883ca8e
|
stl: QMap 切换为 std::map
|
2019-10-26 20:14:26 +08:00 |
Calcitem
|
128bae35ec
|
stat: 每盘棋结束时打印耗时 (ms)
|
2019-10-26 19:44:46 +08:00 |
Calcitem
|
25fa3e8dc7
|
rule: 新增 DEFAULT_RULE_NUMBER 宏
|
2019-10-26 19:03:18 +08:00 |
Calcitem
|
5b37ec783e
|
9nm: 默认选莫里斯九子棋
|
2019-10-26 18:57:36 +08:00 |
Calcitem
|
16f24caed4
|
console: 打印九子棋棋盘
|
2019-10-26 18:40:09 +08:00 |
Calcitem
|
2e69bd40a7
|
清理 countPiecesInHand() 函数即删除了不必要的取最小值操作
|
2019-10-26 18:40:09 +08:00 |
Calcitem
|
811ef6221d
|
9子棋: 取消白方第2着走星点的重要性和成三一样重要的策略
|
2019-10-26 18:40:09 +08:00 |
Calcitem
|
8dbc4c6ad7
|
movegen: 为九子棋定制候选着法排列顺序
|
2019-10-26 18:40:09 +08:00 |
Calcitem
|
31fa66f6da
|
mempool: 内存池大小增大到 4MB
|
2019-10-26 18:40:09 +08:00 |
Calcitem
|
af96aaba67
|
depth: 降低9子棋摆棋深度
|
2019-10-26 18:40:09 +08:00 |
Calcitem
|
0ec6cf9866
|
depth: 调整 placingDepthTable 数组排列顺序
|
2019-10-26 18:40:09 +08:00 |
Calcitem
|
5450ad9de9
|
refactor: 替换 MILL_FIRST 宏名为 SORT_MOVE_WITH_HUMAN_KNOWLEDGES
|
2019-10-23 00:22:15 +08:00 |
Calcitem
|
c702f873b5
|
rating: 在走棋阶段检测落子点是否能阻止对方成三
|
2019-10-22 01:10:56 +08:00 |
Calcitem
|
2569d72cb7
|
rating: 仅在摆棋阶段检测落子点是否能阻止对方成三
|
2019-10-21 01:09:15 +08:00 |
Calcitem
|
091a208fbe
|
AI: 关闭 IDS 并调整 rating 计算以提升性能
* 关闭IDS, 因为通过判断是否成三来排定走子顺序已经很有效;
* 仅在吃子时才统计各个点周围子类型分布;
* 仅在需要检测落子点是否能阻止对方成三时才统计点位于对手几个三连中;
* 去掉摆子阶段尽量往禁点旁边落子的策略;
* 不再判断吃子点处于我方的三连中, 因为可能正好也处于对方的三连中.
自对弈时长 2s, 但走棋阶段没多久就闷杀.
若开 IDS 则是 20s.
|
2019-10-21 00:09:51 +08:00 |
Calcitem
|
8611d4db8b
|
AI: 优化吃子优先级
|
2019-10-20 23:16:32 +08:00 |
Calcitem
|
c7fbc4b1bc
|
AI: 增强第2着的走法
* 仅当前2着时才认为星点的重要性, 以免摆棋阶段走到中途时选点优先级不合理.
* 上调第2着的深度由9变为10, 以当黑方走形如21->29时白方不会连续走两次星点造成被动.
自对弈时长: 31s
|
2019-10-20 14:47:30 +08:00 |
Calcitem
|
df31044caf
|
AI: 吃子时尽量吃和我方子形成三连的子
|
2019-10-20 12:10:58 +08:00 |
Calcitem
|
b229c07141
|
depth: 将加深的深度值用 HARD_LEVEL_DEPTH 宏控制并禁用
|
2019-10-20 11:27:39 +08:00 |
Calcitem
|
1789c25dac
|
ids: 因为杀棋探查异常故禁用窗口
|
2019-10-20 03:14:20 +08:00 |
Calcitem
|
d5486fb2cf
|
depth: 进一步提升摆子和走子的深度
|
2019-10-20 03:05:22 +08:00 |
Calcitem
|
7c2345537c
|
depth: 调高摆子阶段后段的深度以防止走棋阶段没多久就闷杀
|
2019-10-20 02:30:37 +08:00 |
Calcitem
|
969aee6c4c
|
AI: 摆子阶段将棋子摆放在星点和成三的优先级一样
|
2019-10-20 00:39:52 +08:00 |
Calcitem
|
95ea8a2c5d
|
AI: 吃子时尽量不吃对方三连中的子
|
2019-10-19 23:59:57 +08:00 |