移除默认未启用的 IDS_WINDOW 相关代码

This commit is contained in:
Calcitem 2020-06-26 21:27:43 +08:00
parent ee0a1ef1b7
commit 900aac636a
3 changed files with 13 additions and 28 deletions

View File

@ -80,8 +80,6 @@
#define SORT_MOVE_WITH_HUMAN_KNOWLEDGES
//#define IDS_WINDOW
#define TRANSPOSITION_TABLE_ENABLE
#ifdef TRANSPOSITION_TABLE_ENABLE

View File

@ -250,11 +250,6 @@ int AIAlgorithm::search(Depth depth)
loggerDebug("%d(%d) ", value, value - lastValue);
lastValue = value;
#ifdef IDS_WINDOW
alpha = value - VALUE_IDS_WINDOW;
beta = value + VALUE_IDS_WINDOW;
#endif // IDS_WINDOW
}
#ifdef TIME_STAT
@ -270,14 +265,8 @@ int AIAlgorithm::search(Depth depth)
#endif
if (gameOptions.getIDSEnabled()) {
#ifdef IDS_WINDOW
Value window = state->position->getPhase() == PHASE_PLACING ? VALUE_PLACING_WINDOW : VALUE_MOVING_WINDOW;
alpha = value - window;
beta = value + window;
#else
alpha = -VALUE_INFINITE;
beta = VALUE_INFINITE;
#endif // IDS_WINDOW
}
originDepth = d;

View File

@ -59,33 +59,32 @@ enum Color : uint8_t
#define PLAYER_SHIFT 4
// 玩家标识, 轮流状态, 胜负标识
enum player_t : uint8_t
{
PLAYER_BLACK = 0x1 << PLAYER_SHIFT, // 玩家1
PLAYER_WHITE = 0x2 << PLAYER_SHIFT, // 玩家2
PLAYER_DRAW = 0x4 << PLAYER_SHIFT, // 双方和棋
PLAYER_NOBODY = 0x8 << PLAYER_SHIFT // 胜负未分
PLAYER_BLACK = 0x1 << PLAYER_SHIFT,
PLAYER_WHITE = 0x2 << PLAYER_SHIFT,
PLAYER_DRAW = 0x4 << PLAYER_SHIFT,
PLAYER_NOBODY = 0x8 << PLAYER_SHIFT
};
enum Phase : uint16_t
{
PHASE_NONE = 0,
PHASE_READY = 1, // 未开局
PHASE_PLACING = 1 << 1, // 开局(摆棋)
PHASE_MOVING = 1 << 2, // 中局(走棋)
PHASE_GAMEOVER = 1 << 3, // 结局
PHASE_PLAYING = PHASE_PLACING | PHASE_MOVING, // 进行中
PHASE_NOTPLAYING = PHASE_READY | PHASE_GAMEOVER, // 不在进行中
PHASE_READY = 1,
PHASE_PLACING = 1 << 1,
PHASE_MOVING = 1 << 2,
PHASE_GAMEOVER = 1 << 3,
PHASE_PLAYING = PHASE_PLACING | PHASE_MOVING,
PHASE_NOTPLAYING = PHASE_READY | PHASE_GAMEOVER,
};
// 动作状态标识
enum Action : uint16_t
{
ACTION_NONE = 0x0000,
ACTION_SELECT = 0x0100, // 选子
ACTION_PLACE = 0x0200, // 落子
ACTION_REMOVE = 0x0400 // 提子
ACTION_SELECT = 0x0100,
ACTION_PLACE = 0x0200,
ACTION_REMOVE = 0x0400
};
enum Bound : uint8_t
@ -115,7 +114,6 @@ enum Value : int8_t
VALUE_MTDF_WINDOW = VALUE_EACH_PIECE,
VALUE_PVS_WINDOW = VALUE_EACH_PIECE,
VALUE_IDS_WINDOW = 16, // IDS 前面的迭代可能至少要达到16,才不改变自对弈棋谱 TODO: 原因待查, 且前面的 value 调整后需跟着调整
VALUE_PLACING_WINDOW = VALUE_EACH_PIECE_PLACING_NEEDREMOVE + (VALUE_EACH_PIECE_ONBOARD - VALUE_EACH_PIECE_INHAND) + 1,
VALUE_MOVING_WINDOW = VALUE_EACH_PIECE_MOVING_NEEDREMOVE + 1
};