解释
位是一种只能保存0或1的信息单位。残局位库为某个有限残局类别中的每个局面分配一位或少数几位。由于结果已经预先计算,程序可以直接查询,而不必重新搜索所有后续变化。
最紧凑的形式每个局面只用一位,例如1表示胜,0表示非胜。两位可以区分更多状态,例如胜、和、负或无效局面。由于每一位占用的空间很小,数百万个结果可以装入相对很少的内存。
这种紧凑性有代价。位库通常能回答某个局面属于哪种结果,却可能不保存最佳着法或距离目标有多远。可以生成合法着法、查询由此形成的局面,并重建一种保持结果的选择。
它不应与混淆。位棋盘表示一个局面中的一组格子,位库则组织许多完整局面,并为每个局面保存结果。它也不一定等同于信息丰富的残局库,也就是还包含或等指标的预计算残局集合。
用法与背景
位库在搜索内部尤其有用,因为一条紧凑的胜、和或负答案可能已经足以停止探索某个分支。
常见混淆
位库与位棋盘
位库保存许多局面的结果,位棋盘则描述单个局面中的格子。
查看术语位库与完整残局库
位库优先追求紧凑,可能省略距离或着法,而信息更丰富的格式可让程序推导这些内容。
来源
- 1.Endgame Tablebases, Chess Programming Wiki
- 2.bitbase.cpp, Stockfish
