一些注意
- 分值分为中局mg和残局eg,这里对于中局和残局会给予不同的评分。中局和残局的判断不在评估函数内进行(判断不是0/1的关系,中间插值处理),看到有方法是存储方式为((unsigned int)eg << 16) + mg
- 怀疑基础子力是直接存在表里的?
主要的分值
PawnValueMg = 188, PawnValueEg = 248,
KnightValueMg = 753, KnightValueEg = 832,
BishopValueMg = 826, BishopValueEg = 897,
RookValueMg = 1285, RookValueEg = 1371,
QueenValueMg = 2513, QueenValueEg = 2650,
bonus
- 每种棋子机动区域得分(可以移动到几个格子)
- NB被P保护的加分(NB是分值比较小的棋子所以在P的保护下只会被对方P威胁)
- NB下一步可以到被P保护区域的加分
- 车线上没有己方的兵(通路车)
- 被(受保护的/安全的)P攻击(因为这种情况下其他棋子只能躲避)
- 被更小的子力/被车攻击(可能因为车是直线攻击的子力最小的子)
- 被王攻击,分攻击多个和一个的情况,主要残局比较明显
- 通路兵和行号的关系,底线越近越高
- 通路兵和列号的关系,离两侧越近越安全
- 其他一堆