Calcitem
|
a8d4fb74d9
|
hist: 移除未完成的 历史启发 相关代码
|
2020-11-01 10:45:50 +08:00 |
Calcitem
|
82c0539ec8
|
console: 在启用 UCI_DO_BEST_MOVE 的情况下执行完 go 局面才会变动
否则只是给 bestmove 结果,不会执行。
|
2020-10-25 00:54:01 +08:00 |
Calcitem
|
97cd4ec7bf
|
config: 去除 SELF_MOVE 宏并增加若干宏
//#define DISABLE_RANDOM_MOVE
//#define UCI_AUTO_RE_GO
//#define UCI_AUTO_RESTART
#define ANALYZE_POSITION
|
2020-10-25 00:15:18 +08:00 |
Calcitem
|
bd6396e459
|
build: 消除 make 编译警告 (GCC 10.2)
|
2020-10-24 01:34:29 +08:00 |
Calcitem
|
7594c6e31d
|
开启 TIME_STAT 宏
|
2020-10-23 00:32:57 +08:00 |
Calcitem
|
3f707ff5cd
|
refactor: 将网络对战模块从 Thread 类移到 GameController 类
并默认启用网络对战宏。
|
2020-10-17 22:13:58 +08:00 |
Calcitem
|
bb0c2f3a11
|
net: WAR: 通过 NET_FIGHT_SUPPORT 宏控制将网络对战功能禁用
因存在内存泄漏问题故暂时关闭。
|
2020-10-06 21:59:10 +08:00 |
Calcitem
|
7a99164111
|
加入 SELF_MOVE 宏相关代码
启用后一启动,再点开始按钮开始不开启随机的情况下自对弈。
|
2020-10-03 12:11:58 +08:00 |
Calcitem
|
051085beb9
|
config.h: PREFETCH_SUPPORT 宏改名为 DISABLE_PREFETCH
并反向宏控制。
|
2020-09-29 18:39:37 +08:00 |
Calcitem
|
63784b2995
|
config.h: 删除无用的 COMPARE_RATING_ONLY 宏
|
2020-09-29 18:36:11 +08:00 |
Calcitem
|
16d472ce43
|
config.h: 删除无用的 DEBUG_MODE_A 和 RANDOM_MOVE 宏
|
2020-09-29 18:34:16 +08:00 |
Calcitem
|
9cf8c7718a
|
删除残留的 ALPHABETA_AI 宏
并且把 SORT_MOVE_WITHT_HUMAN_KNOWLEDGES 改名为 SORT_MOVE_WITHOUT_HUMAN_KNOWLEDGES
并反向宏控制。
|
2020-09-29 18:30:57 +08:00 |
Calcitem
|
106d9f9cce
|
MCTS: 移除完 MCTS 相关代码
|
2020-09-20 23:04:22 +08:00 |
Calcitem
|
7486772fe6
|
删除未完成的 EVALUATE_ENABLE 相关代码
|
2020-07-11 23:59:31 +08:00 |
Calcitem
|
8e77d68a4d
|
将原来的 main.c 改名为 qt/winmain.c 并增加新的 main.c 给 UCI 使用
|
2020-07-11 23:48:09 +08:00 |
Calcitem
|
48358b0e99
|
rule: refactor: 修改规则相关变量名提高可读性
|
2020-06-26 22:20:13 +08:00 |
Calcitem
|
900aac636a
|
移除默认未启用的 IDS_WINDOW 相关代码
|
2020-06-26 21:27:43 +08:00 |
Calcitem
|
333641845a
|
replace key_t to hash_t to fix GCC build error
|
2020-05-16 02:16:00 +08:00 |
Calcitem
|
b69de7f09a
|
TT: 增加 TRANSPOSITION_TABLE_FAKE_CLEAN_NOT_EXACT_ONLY 宏但不启用
开启后,对于确切值的TT值,开始新的搜索前不会清除。
|
2020-05-13 00:46:36 +08:00 |
Calcitem
|
80bbec96a7
|
refactor: 部分变量和类型改名
启用 ring_t 和 seat_t
capture -> removePiece
choose -> selectPiece
|
2020-05-10 23:45:02 +08:00 |
Calcitem
|
a334e7ee8d
|
refactor: 清理代码
包括暂时删除 MCTS 大部分代码。
后续再加回来。
|
2020-05-10 00:35:25 +08:00 |
Calcitem
|
456613e750
|
pvs: 因单纯开 MTD(f) 略快故关闭 PVS 搜索
depth + 4 自对弈时长统计结果:
Alpha-Beta Only: 186.062s
PVS (win=1): 144s
PVS (win=5): 137s
MTDF (win=1): 126s
PVS + MTDF (win=5): 95s
MTDF (win=5): 93s 最快
|
2020-05-10 00:26:39 +08:00 |
Calcitem
|
e4973ce2d9
|
mtdf/pvs: 启用MTD(f) 并把 PVS 和 MTD(f) 的窗口由极小窗口1调整为5
即调整为一个棋子的价值。
修改后,自对弈棋谱不变,自对弈时长由8s缩短到6s以内。
深度+4 测算,耗时缩短到原来的 69%。
|
2020-05-10 00:26:39 +08:00 |
Calcitem
|
02380b64bd
|
pvs: PVS 相关代码用宏控制
|
2020-05-10 00:26:39 +08:00 |
Calcitem
|
335b218d85
|
mtdf: Support MTD(f)
|
2020-05-10 00:26:39 +08:00 |
Calcitem
|
36daf7bb4f
|
depth: 白方第4步深度上调到18
顺带将 ai.ttMove 修正为 ai.nextMove()
并且多加了几个 nodeCompare 的 策略但未启用。
自对弈时长 10s 多。对比2000盘自对弈结果,速度为修改前的90%。
自对弈棋谱改变,最后一着为 (2,7)->(2,6) 三次重复局面和棋。
|
2020-05-10 00:26:39 +08:00 |
Calcitem
|
4013b5bb7f
|
openingbook: 新增开局库部分代码 (未完成)
|
2020-05-10 00:26:39 +08:00 |
Calcitem
|
79c10960c8
|
hh: 实现历史启发
实测效果不明显,暂不启用
|
2020-05-10 00:26:39 +08:00 |
Calcitem
|
8d844cd919
|
BEST_MOVE_ENABLE 改为 TT_MOVE_ENABLE 并完善部分代码 (未完成)
目前在开启后,700盘自对弈显示速度为关闭时的 96.5%,
和关闭时对战600盘,胜率相差 0.8% 左右,可以认为相当。
暂未开启此宏。
|
2020-05-10 00:26:39 +08:00 |
Calcitem
|
c1957e7bee
|
ai: 增加空着向前裁剪部分代码 (未完成)
宏未开启。
|
2020-05-01 21:30:55 +08:00 |
Calcitem
|
7b566b1e71
|
tt: 修复和未开启置换表的对战,执黑胜率少3%,执白胜率少6%的问题
同时对于 alpha-beta 的函数传参形式进行修改:
search(depth - 1 + epsilon, alpha, beta, node->children[i]); 改为
-search(depth - 1 + epsilon, -beta, -alpha, node->children[i]); 的形式。
简化必败以及明显劣势的判断方式。只要判断 root 的值,不需要看其孩子。
并顺带:
删除 MIN_MAX_ONLY 宏相关代码;
删除 SORT_CONSIDER_PRUNED、CLEAR_PRUNED_FLAG_BEFORE_SEARCH 宏相关代码;
新的 TT 算法和修改前算法对战 6000 盘。
黑 22% : 10%, 白 86% : 74% 有 12% 的优势。
速度提升 1.5%, 可以认为无变化。
和未开TT对战1700盘,均为 11% : 83%,误差不超过1%,故可认为新TT已经不会
造成明显劣化。开TT和未开TT比,目前是4.6倍速度比。
自对弈棋谱会变化。自对弈时长 12s+, 最后一步是 -(1,8), 白方胜。
|
2020-05-01 21:29:41 +08:00 |
Calcitem
|
e27cbb367b
|
关闭 SORT_CONSIDER_PRUNED 宏
|
2020-04-25 08:49:59 +08:00 |
Calcitem
|
41bae6e6f2
|
prefetch: 实现不需要模拟走子的预取 (目前只实现了吃子) 并启用预取
自对弈时长由 22s 缩短到 20.5s。
|
2020-04-20 01:56:18 +08:00 |
Calcitem
|
3e01a0daf1
|
tt: zobrist 值改为 MISC 位放在高8位并将置换表哈希改为64位
禁用了 TRANSPOSITION_TABLE_CUTDOWN,内存占用由 272MB 升到 532 MB。
在不改为64位 hash 的情况下,会改变自对弈棋谱。
自对弈时长由32s缩短到25s。
|
2020-04-19 11:10:20 +08:00 |
Calcitem
|
e4ec6e22ee
|
prefetch: 增加置换表的预读取特性但暂不启用
对于自对弈,因为局面模拟走下一步,入栈出栈花了7s时间,
而 prefetch 预读置换表,节5s时间,总时间还是增加2s。
故暂不启用。
|
2020-04-19 02:53:04 +08:00 |
Calcitem
|
c8b1fee7a5
|
ext: 深度延伸默认启用并且改为做成菜单选项
|
2020-04-02 23:53:06 +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
|
b0594698ad
|
IDS: 将迭代加深开关做到界面菜单中而不再用宏控制
|
2020-03-22 23:09:53 +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
|
7da2d0416c
|
mcts: 新增分段线性分布相关代码
使用 MCTS_PLD 宏控制,暂不启用。
若启用,棋力反而比均匀分布弱。
|
2020-03-06 00:17:10 +08:00 |
Calcitem
|
57f5a0d3ba
|
mcts: 移除 Node 类中和 MCTS 无关而仅和 AB 有关的成员变量
|
2020-02-26 02:28:09 +08:00 |
Calcitem
|
ac18becf93
|
mcts: MCTS 在本游戏中可用
开启 MCTS_AI 宏即可。
|
2020-02-26 02:02:39 +08:00 |
Calcitem
|
1cd374512e
|
copyright: 更新版权年份为 2019-2020
|
2020-01-29 22:25:34 +08:00 |
Calcitem
|
f2e4f00a5a
|
ai: tt: 完全去除 bestMove 相关参数
内存占用由 409M 缩小到 285M。
自对弈时长几乎无变化。
|
2020-01-25 09:41:48 +08:00 |
Calcitem
|
4504801dc6
|
endgame: 若开启 ENDGAME_LEARNING_FORCE 宏,则不需要勾选菜单,就能生效残局库功能;
|
2019-12-23 00:26:02 +08:00 |
Calcitem
|
a067ccf0fd
|
mcts: 补充 cpp 文件
启用 UCT_DEMO 宏时可以运行一个四子棋程序。
只是添加四子棋 demo, 暂未和原有 AI 结合。
|
2019-12-15 23:58:19 +08:00 |
Calcitem
|
533c3e2d49
|
新增 TEST_MODE 宏
开启时,启动后进入对引擎对战友好的默认配置
|
2019-12-14 01:48:07 +08:00 |
Calcitem
|
cc2d80660e
|
Test: 增加引擎对战模式的选项
暂未添加图片;
选中后若双方都是AI会卡死,暂未处理。
|
2019-12-08 12:11:03 +08:00 |