Zobrist密钥的高效数据结构

Efficient data structure for Zobrist keys

本文关键字:数据结构 高效 密钥 Zobrist      更新时间:2023-10-16

Zobrist键是棋盘游戏中使用的64位哈希值,用于唯一表示在树搜索过程中找到的不同位置。它们通常存储在大小为1000K个条目或更多的数组中(每个条目大约有10个字节长)。该表通常由hashKey % size作为索引进行访问。你会用什么样的STL容器来表示这种类型的表?考虑一下,由于表的大小有限,可能会发生冲突。对于"普通"数组,我必须处理这种情况,所以我想到了一个无序映射,但由于没有指定实现,我不确定在填充映射时它的效率有多高。

在我看来,一个标准的哈希图非常适合你——快速查找,它将可靠而无形地为你处理冲突。

如果您希望探索STL之外的其他领域,请查看Judy数组:这些数组应该适合您的问题。

如果你在Linux上,你可以很容易地对它们进行实验,只需从你的存储库中安装。。。

此申请说明可能有助于解决您的任务。

编辑

有一个STL接口:我要用它进行实验,然后我会报告我的结果。