Calcitem
|
9c1c071f46
|
depth: 白方第5步深度由14上调到16
顺带也提升下一着黑方到16.
对于以下用例:
19 23
21 20
27 11
29 13
28 -23
此时白方积极成三,走12,后续会陷入明显劣势。
故提升这步的深度,避免走12.
自对弈时长为 30s.
|
2020-04-05 00:20:39 +08:00 |
Calcitem
|
1406b98421
|
Sound: 新增腾讯AI开放平台合成的语音 (千千音乐转换为 wav)
原有语音进行替换,新增语音暂未应用。
链接:
https://ai.qq.com/product/aaitts.shtml
|
2020-04-04 22:14:33 +08:00 |
Calcitem
|
945ce69940
|
修正 buildRoot() 中 assert 位置
|
2020-04-04 13:59:18 +08:00 |
Calcitem
|
3c64e6468a
|
opening: 新增开局库的菜单项但暂无相关处理逻辑
|
2020-04-03 00:09:41 +08:00 |
Calcitem
|
c8b1fee7a5
|
ext: 深度延伸默认启用并且改为做成菜单选项
|
2020-04-02 23:53:06 +08:00 |
Calcitem
|
91aea3c003
|
Depth: 将白方前2着深度也7/9下调到2/4
调整后自对弈26714盘结果:
7128 : 18849 : 737
26.68% : 70.56% : 2.76%
即白方胜率上升15%。
但如何和黑方第2/3着深度依然是7/9对战,胜率相当。
可以认为,假设白方先下调深度,胜率大幅上升。
此时黑方如果也下调深度,也没有帮助。
|
2020-03-29 08:56:41 +08:00 |
Calcitem
|
c0f4423535
|
depth: 将黑方第2/3着的深度由7/9下调到2/4
自对弈时长由8秒增加到30秒,因为没有很早被闷杀。
黑对白自对弈13000盘,胜率为 42%:55%:3%
即黑方胜率上升约3%。
|
2020-03-29 01:18:03 +08:00 |
Calcitem
|
0dbce7591c
|
depth: placingDepthTable 修改为黑白每回合单独控制深度
|
2020-03-27 01:04:59 +08:00 |
Calcitem
|
95c2e0f9b8
|
horizon: 水平线效应支持仅一步可走时延伸一层的机制
暂不开启。若开启:
无论是执黑还是执白,相对原来都提升5%胜率。
执黑 6291 盘
3253 44.61% *
3799 52.10%
239 3.27%
执白 8103 盘
2674 33.00%
5152 63.58% *
277 3.41%
自对弈 3225 盘,黑白胜率和未开启时相当。
1266 39.25%
1833 56.83%
126 3.90%
|
2020-03-26 01:04:22 +08:00 |
Calcitem
|
dc3ca524bb
|
build: Fix gcc build warnings
|
2020-03-22 23:59:26 +08:00 |
Calcitem
|
b0594698ad
|
IDS: 将迭代加深开关做到界面菜单中而不再用宏控制
|
2020-03-22 23:09:53 +08:00 |
Calcitem
|
e5ee9ca7be
|
board: 清理不需要的函数
也清除已注释的代码。
|
2020-03-22 22:38:17 +08:00 |
Calcitem
|
d4d187958a
|
board: 减少一个 isAllSurrounded() 函数即不再重载
|
2020-03-22 22:27:52 +08:00 |
Calcitem
|
3f299c8f2b
|
board: 新增 locationToPlayer() 函数
|
2020-03-22 22:22:53 +08:00 |
Calcitem
|
907534d0c8
|
board: 构造和析构函数中不需给变量清零
|
2020-03-22 21:43:45 +08:00 |
Calcitem
|
e22f189f67
|
ai: 如果结点有孩子就不重复生成
|
2020-03-21 02:38:38 +08:00 |
Calcitem
|
df5750d54c
|
ids: 修复 IDS 因为 children 没有清除而 childrenSize 累加超大而崩溃的问题
|
2020-03-21 02:24:29 +08:00 |
Calcitem
|
2642f8f46b
|
Fix Kritika notes
|
2020-03-21 00:25:45 +08:00 |
Calcitem
|
c84db35655
|
refactor: inHowManyMills() 函数由重载改为单一函数
|
2020-03-20 23:34:50 +08:00 |
Calcitem
|
d47be83ae5
|
Fix build warnings
|
2020-03-20 22:31:46 +08:00 |
Calcitem
|
2f5380f58a
|
如果定义了 FIRST_MOVE_STAR_PREFERRED 则黑方首步强制走星位
暂不开启,但是当前星位的 rating 值高所以通常还是走星位。
|
2020-03-20 22:22:19 +08:00 |
Calcitem
|
3138424e97
|
depth: 如果定义了 FIX_DEPTH 宏则深度就定为这个宏的 值
|
2020-03-20 01:10:49 +08:00 |
Calcitem
|
7cafc9d9af
|
ai: 如果只有一种走法可走就直接走而无需计算
加4级depth后,自对弈时长由 1477s 减少到 1452.
|
2020-03-20 01:03:49 +08:00 |
Calcitem
|
b0d3584b61
|
refactor: Rename Game to StateInfo
|
2020-03-16 00:48:54 +08:00 |
Calcitem
|
7da2d0416c
|
mcts: 新增分段线性分布相关代码
使用 MCTS_PLD 宏控制,暂不启用。
若启用,棋力反而比均匀分布弱。
|
2020-03-06 00:17:10 +08:00 |
Calcitem
|
9014a4d949
|
mcts: 每下一步前分段随机打乱着法表
和 alpha-beta 类似。
|
2020-03-04 23:50:42 +08:00 |
Calcitem
|
1e73efc556
|
mcts: refactor: 变量名移除 UCT
|
2020-03-04 23:16:03 +08:00 |
Calcitem
|
a61df6e7d6
|
mcts: refactor: computeTree 和 computeMove 改放在 AIAlgorithm 类中
|
2020-02-29 08:40:18 +08:00 |
Calcitem
|
1e6456b902
|
refactor: 让 NODE_CHILDREN_SIZE 直接等于 MOVE_COUNT
顺带加了一段 MCTS 相关的双方棋盘上棋子数相差4则算负的代码但未启用。
|
2020-02-29 00:13:07 +08:00 |
Calcitem
|
1748dbef70
|
调整 class Node 的成员变量顺序以使得 Node 大小从392降低到376字节
Stack 成员变量也调整但在8字节对齐情况下无影响。
|
2020-02-27 00:33:23 +08:00 |
Calcitem
|
6cc306c386
|
mcts: maxIterations 改为 10000
Debug 下自对弈时长 30370ms
最后一步 (1,8) -> (1,1)
|
2020-02-26 23:43:06 +08:00 |
Calcitem
|
57f5a0d3ba
|
mcts: 移除 Node 类中和 MCTS 无关而仅和 AB 有关的成员变量
|
2020-02-26 02:28:09 +08:00 |
Calcitem
|
560f4e38be
|
movegen: 去除一处 assert 否则 MCTS 自对弈会触发
|
2020-02-26 02:12:11 +08:00 |
Calcitem
|
ac18becf93
|
mcts: MCTS 在本游戏中可用
开启 MCTS_AI 宏即可。
|
2020-02-26 02:02:39 +08:00 |
Calcitem
|
9fe69de293
|
refactor: 调整部分成员变量为 public 以及调整顺序
|
2020-02-26 01:26:20 +08:00 |
Calcitem
|
ce42e04ca3
|
修改 Game 类拷贝/初始化/析构时对 position 的处理
Game 类拷贝构造函数中不是将 position 的 指针赋值,而是拷贝整个内容;
Game 类初始化时先把 position delete 掉才重新申请;
Game 类析构时将 position delete 掉并将 cmdlist clear 掉;
|
2020-02-26 01:06:46 +08:00 |
Calcitem
|
039ffea016
|
millList 清空时只需将 millListSize 设置为0即可而不需要 memset 清零
|
2020-02-26 00:40:46 +08:00 |
Calcitem
|
4aefae4926
|
消掉部分多余空格
|
2020-02-26 00:29:24 +08:00 |
Calcitem
|
e39cd7eb5a
|
为了捕捉着法生成的异常增加一些 assert
|
2020-02-26 00:29:02 +08:00 |
Calcitem
|
aff0f498db
|
millList 由 vector 改为数组
重复性代码较多,待优化。
|
2020-02-26 00:04:26 +08:00 |
Calcitem
|
814ed29689
|
movegen: 新增 generateChildren() 函数而原有的 generateMoves() 只负责输出到 moves 数组
|
2020-02-05 12:30:25 +08:00 |
Calcitem
|
4ce999a8d5
|
movegen: 当抢占星位时去除给结点赋值为大数值的操作因为没有必要
|
2020-02-05 00:20:25 +08:00 |
Calcitem
|
c678376785
|
Release: SubSystem 改为 Console 以使得运行时也显示控制台
|
2020-02-04 23:45:34 +08:00 |
Calcitem
|
b6fc768317
|
MobileUI: 修复编译不通过的问题
|
2020-02-04 17:10:31 +08:00 |
Calcitem
|
cb73f8622f
|
refactor: AddChild() 将 move 调整为首个参数
|
2020-02-03 23:56:20 +08:00 |
Calcitem
|
3b206b1cd1
|
addChild() 去掉 value 和 rating 两个参数
|
2020-02-03 23:48:41 +08:00 |
Calcitem
|
ac88c9bdd0
|
mcts-demo: refactor: state 改名为 game
并删除无用的已注释的代码
|
2020-02-03 23:24:46 +08:00 |
Calcitem
|
8a4e44c94e
|
movegen: 去除 generateMoves() 中的 root 参数
|
2020-02-03 23:07:15 +08:00 |
Calcitem
|
ca580ecbdd
|
mcts-demo: 其余的 vector 也改为数组
Debug 下自对弈时长影响不大。
|
2020-02-01 13:27:01 +08:00 |
Calcitem
|
16ce8ce377
|
mcts-demo: 清理代码
|
2020-02-01 10:55:21 +08:00 |