Commit Graph

126 Commits

Author SHA1 Message Date
Calcitem 8dddc79250
settings: Add Algorithm settings 2021-09-20 01:06:50 +08:00
Calcitem 9947986db5
config.h: Add some comments 2021-07-31 13:23:35 +08:00
Calcitem 6098e04ecb
Remove unused NULL_MOVE 2021-07-31 13:03:28 +08:00
Calcitem 78ab8725e6
Rename PERFECT_AI_SUPPORT to MADWEASEL_MUEHLE_PERFECT_AI 2021-07-31 13:02:22 +08:00
Calcitem 3c982c17f3
Rename MUEHLE_NMM to MADWEASEL_MUEHLE_RULE 2021-07-31 12:58:25 +08:00
Calcitem 545e78f176
config.h: Add some comments 2021-07-31 12:46:51 +08:00
Calcitem 8486381263
Remove EVALUATE_MOBILITY define 2021-07-31 12:21:21 +08:00
Calcitem c7fc29152d
config: Rename MOBILE_APP_UI to QT_MOBILE_APP_UI 2021-07-31 12:16:10 +08:00
Calcitem e67dfc5645 evaluate: Do not attack too early when first 5 moves
If first 4 moves is placing at star point, move 5 temporarily use depth 1 search
in order to make sure white player do not attack and try to block black.
(For 9ms, star point is b4/d6/f4/d2)

This changed the white's moves.

For nine men's morris:

If first 4 moves is:
1. b4 d6
2. f4 d2
Next move, white will place at a4/c4/e4/g4,
now changed to place at d7/d5/d3/d1

If first 4 moves is:
1. b4 f4
2. d6 d2
Next move, white will place at b6, it is not wrong,
now changed to place at d4/g4/d3/d1, it is not wrong too.

Test result:

Play against Perfect Database:
400 games.
There is no significant change in the Draw rate.

Play 90 games against the pre-improved version:
White (New) Vs Black (Old)
White's win rate increased to 20%,  equivalent to Black's winning rate
Originally less than 10%.
2021-06-14 12:01:52 +08:00
Calcitem a350fd9641 Support 10/11 Men's Morris
Qt: Set default rule as 9nm.
2021-06-06 01:45:42 +08:00
Calcitem 677a391124 depth: Use gameOptions.getSkillLevel if not Developer Mode 2021-04-24 12:58:05 +08:00
Calcitem 84329a7a69 depth: Change FIX_DEPTH(24) to (25) (Disabled) 2021-04-24 01:12:02 +08:00
Calcitem 151558a2e3 perfect: Fix build error on clang (WAR) 2021-03-27 09:23:44 +08:00
Calcitem d25baa2d9a config: Define USE_POPCNT only if not defined 2021-02-21 11:41:57 +08:00
Calcitem 63276fa9cc win32: Disable warning 4996 and do not use strncpy_s 2021-02-18 22:05:18 +08:00
Calcitem ea7c65fa88 Fix VC build warnings 2021-02-17 22:00:31 +08:00
Calcitem 8cb285f215 perfect: Disable PERFECT_AI_SUPPORT macron
Only enable it when we want to test.
2021-02-10 20:48:34 +08:00
Calcitem a0aacae1fc evaluate: MOBILITY: Modify implement (WIP)
No improvement now.
Keep Disabling it.
2021-01-31 13:22:31 +08:00
Calcitem ff1569c200 qt: Rename TEST_MODE to QT_UI_TEST_MODE and remove some behaviors 2021-01-30 02:14:28 +08:00
Calcitem fa0cb740f6 perfect: Add MUEHLE_NMM macron (WAR) 2021-01-25 00:15:29 +08:00
Calcitem 206cf2ec33 qt: Enable DISABLE_PERFECT_AI when build with qmake (WAR) 2021-01-24 14:44:46 +08:00
Calcitem e2f87cb477 perfect: Enable PERFECT_AI_SUPPORT only on MSVC 2021-01-24 14:16:41 +08:00
Calcitem 1b888fb9aa perfect: Add macron PERFECT_AI_SUPPORT and Enable on Windows 2021-01-24 12:26:23 +08:00
Calcitem 8f9d898651 perfect: qt: Add Perfect AI menu 2021-01-24 12:07:34 +08:00
Calcitem c2b913fff1 msvc: Fix Win32 build error 2021-01-24 12:07:34 +08:00
Calcitem 8a7efac079 config: Enable ANALYZE_POSITION and disable PERFECT_AI 2021-01-23 22:52:18 +08:00
Calcitem 920ad3f592 perfect: Integrate Perfect AI to Qt (WIP) 2021-01-23 12:51:36 +08:00
Calcitem 00547b79e6 Add RULE_50 macro 2021-01-14 01:29:25 +08:00
Calcitem 0dd4a5e7e2 Win32: Replace strncpy by strncpy_s 2021-01-10 20:28:41 +08:00
Calcitem 04b6f10e1f Remove unsued TRAINING_MODE code 2021-01-02 14:07:11 +08:00
Calcitem 096af01919 endgame: refactor
Known Issue:
After the previous series of code refactoring,
it still cannot work normally, but it can work normally
in the early stage.
2020-12-31 12:22:48 +08:00
Calcitem 0156386239 bb: Remove Unused DISABLE_BITBOARD 2020-12-28 22:54:09 +08:00
Calcitem d78828c424 movengen: Remove unused FIRST_MOVE_STAR_PREFERRED 2020-12-28 15:27:45 +08:00
Calcitem 1508ee6c1f Support ALIGNED_LARGE_PAGES but not enable 2020-12-20 12:50:56 +08:00
Calcitem 0bcac7658d bb: Enable USE_POPCNT as default 2020-12-20 09:18:26 +08:00
Calcitem 542e3b528f bb: Implement bitboard logic
Disable as default.
2020-12-20 01:37:08 +08:00
Calcitem 892f9152cf Update copyright info 2020-12-14 01:11:43 +08:00
Calcitem 72d4807ab7 TT: Key 由 64bit 降低到 32bit
Qt 内存占用由 535MB 下降到 275MB。
之前已经将哈希特殊 bit 位降低到2bit所以冲突概率显著降低。
因此降低到32bit可行。

实测和 64bit 对战近万盘,反而领先0.7%,在误差范围内。
自对弈24000盘左右,胜率差异0.3%左右,速度提升 7.5%。

R5950x 上测试,Release 版自对弈时长为 3640ms,Debug 为 10500ms。
(均未开动画和声音)

版本升级到 v0.12.0。
2020-12-12 01:26:40 +08:00
Calcitem 43842ab362 uci: 支持 setoption name RandomMove value true/false 命令设置AI是否随机走子
去掉原先使用宏控制的方式。
2020-12-06 20:23:33 +08:00
Calcitem 6b736a6a61 search: 进一步修正三次重复局面判断的逻辑以解决判断失效的问题 2020-11-28 15:22:05 +08:00
Calcitem de26bd6681 flutter: 引擎能正常返回最佳着法
已知问题: 最佳着法校验失败,需修改校验函数。
2020-11-14 22:28:17 +08:00
Calcitem abb15582b3 Qt: QT_UI 宏控制替换为 QT_GUI_LIB 编译器预定义的宏控制 2020-11-13 23:35:51 +08:00
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