Commit Graph

772 Commits

Author SHA1 Message Date
Calcitem c594cd908c 每次新建游戏时也保存得分和胜率到文件 2019-12-11 00:02:11 +08:00
Calcitem 08815c06d1 test: 共享内存增加1个 key: MillGame-Key-2 2019-12-10 23:06:12 +08:00
Calcitem 9e4510a589 evaluate: 将走子阶段 Need Remove 的分值由6下调到5即和摆子阶段分值一致
黑方比白方多的胜率从 21.26% 扩大到 28.93%,扩大了  7.67%;
白方比黑方少的胜率从 21.26% 缩小到  6.63%,缩小了 14.63%。

改进后和改进前对战:53.85% 比 42.70% 多 11.15%

(62.71% + 44.99%) / 2 = 53.85%
(51.62% + 33.78%) / 2 = 42.70%

改进前自对弈结果:

Sum	11333
Black	6677	58.92%
White	4268	37.66%
Draw	 388	 3.42%

改进后和改进前对战:

改进后执黑,改进前执白:

Sum	6997
Black	4388	62.71% (+3.79%)
White	2364	33.78% (-3.88%)
Draw	 245	 3.50% (+0.08%)

改进前执黑,改进后执白:

Sum	6623
Black	3419	51.62% (-7.30%)
White	2980	44.99% (+7.33%)
Draw	 224	 3.38% (-0.04%)
2019-12-10 00:17:09 +08:00
Calcitem 1f8a7fa485 Add Auto change 1st move (WIP)
功能未完成
2019-12-09 02:17:14 +08:00
Calcitem 0b4366b289 UI: 界面上增加胜率显示 (万分之几) 2019-12-08 19:46:52 +08:00
Calcitem ce6d9c2f2f Revert "Board: 简化 = 重载符函数"
This reverts commit be8b1d4baa.
2019-12-08 14:42:50 +08:00
Calcitem 502fc471de Test: 增加进程对战配置窗口可用于配置共享内存的 key 2019-12-08 14:40:10 +08:00
Calcitem cc2d80660e Test: 增加引擎对战模式的选项
暂未添加图片;
选中后若双方都是AI会卡死,暂未处理。
2019-12-08 12:11:03 +08:00
Calcitem c584ed6769 自动重新开局时保存分数和胜率比值到文件中 2019-12-08 11:32:13 +08:00
Calcitem 3182eff1ad test: 新增测试模块用于本地对战
使用共享内存实现,效率比 socket 高。
打开 TEST_MODE 宏才能生效。
2019-12-08 02:28:24 +08:00
Calcitem be8b1d4baa Board: 简化 = 重载符函数
* 删除自己赋值给自己的判断
* 删除  millList 的复制,只保留 locations 的复制
2019-12-07 00:49:37 +08:00
Calcitem 23cb1f4e91 addMills() 中减少 iter 重复赋值 2019-12-06 00:19:33 +08:00
Calcitem 0498c5ebc7 ai: NODE_CHILDREN_SIZE 由 64 下调到 40
按 4 * 4 + 3 * 4 * 2 计算
2019-12-05 23:16:12 +08:00
Calcitem 4c258d5391 search: 最后记录不一定确切的哈希值时省略对 node->children[0] 是否非 null 的判断 2019-12-05 00:55:35 +08:00
Calcitem 39274bb704 refactor: search: minmax 计算部分由 if 改 switch 2019-12-05 00:47:44 +08:00
Calcitem 578070d8f4 search: 将搜索到决胜局面与搜索第0层或需要退出合在一起处理 2019-12-05 00:40:03 +08:00
Calcitem 4c007940c9 evaluate: 补充 getValue() 中的 else if 2019-12-05 00:33:53 +08:00
Calcitem 526060e812 search: 搜索到第0层或需要退出时不再根据深度调整 value
搜索到第0层,深度肯定是0.
2019-12-05 00:25:18 +08:00
Calcitem 4ce85299db refactor: probeHash() 中 if 换 switch 2019-12-05 00:17:08 +08:00
Calcitem 5d658460a7 refactor: 简化 getHash() 2019-12-05 00:07:47 +08:00
Calcitem e0a017dbfe setGame() 中使用 memset 取代 root 的逐项赋值 2019-12-05 00:03:30 +08:00
Calcitem 99a18af8ce search: 删除 deleteTree() 中不必要的判断 2019-12-04 23:53:52 +08:00
Calcitem 42f774548a refactor: gamecontroller: Add thread functions 2019-12-01 22:40:52 +08:00
Calcitem f86c4585ad refactor calcXXX 函数重命名为 searchXXX 函数 2019-12-01 22:40:27 +08:00
CalciteM d7926aca9d thread: Add thread.cpp/h from Stockfish
暂时未用
2019-12-01 22:39:45 +08:00
CalciteM 1c03f00833 refactor: rename thread.* to aithread.* 2019-11-30 12:49:23 +08:00
Calcitem 9ac06bf94d movegen: 计算对手延迟到吃子再进行 2019-11-24 01:57:05 +08:00
Calcitem 4380566fa8 movegen: 去除开头'如果有子节点,则返回,避免重复建立'的判断 2019-11-24 01:52:26 +08:00
Calcitem 0562672ed0 refactor: MOVE_PRIORITY_TABLE_SIZE 改为类静态成员变量 2019-11-24 01:40:08 +08:00
Calcitem d07d575474 refactor: addNode() 移除 side 参数 2019-11-24 01:28:15 +08:00
Calcitem 03069e2bf2 debug: Window: 当编译为Debug时固定窗口大小
方便双显示器上下排列时的显示.
2019-11-23 23:27:26 +08:00
Calcitem eec33160fb build: Fix build error on non-x86 2019-11-18 01:30:09 +08:00
Calcitem 127b5b95b2 refactor: options 改名为 gameOptions 2019-11-18 00:48:11 +08:00
Calcitem 929d62e7ce log: Fix build warning 2019-11-18 00:37:53 +08:00
Calcitem 652ee7ce0d hash: 将其他的64位定义改为由参数决定 (2) 2019-11-18 00:37:30 +08:00
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