板尺寸大于 64 的位板算法?

Bitboard algorithms for board sizes greater than 64?

我知道 Magic BitBoard 技术对于 n 8x8 网格上的现代游戏很有用,因为它与单个 64 位整数完美对齐,但是这个想法是否可以扩展到大于 64 方格的棋盘大小?

将棋等一些游戏的棋盘尺寸较大,例如 81 个方格,这不能完全适合 64 位整数。

我假设您必须使用多个整数,但使用 2 个 64 位整数或 3 个 32 位整数会更好吗?

我知道这个问题可能没有简单的答案,但是我需要什么样的知识才能研究这样的东西?我只有一些basic/intermediate算法和数据结构知识。

是的,您可以使用包含多个不同长度整数的结构来执行此操作。例如,您可以使用 11 个无符号字节。或者一个 64 位整数和一个 32 位整数,等等。任何加起来等于或大于 81 位的东西。

我更喜欢三个 32 位整数的想法,因为每个整数可以存储三行。与使用 64 位整数和 32 位整数相比,它使您的索引代码更简单。 9 个 16 位字也可以,但你几乎浪费了一半的位。

您可以使用 11 个无符号字节,但索引有点难看。

综合考虑,我可能会使用 3 个 32 位整数,使用每个整数的低 27 位。