【发布时间】:2011-05-06 12:22:45
【问题描述】:
我正在编写一个Connect Four 游戏引擎。目前我正在使用Zobrist hashing 为不同的连接四个棋盘位置生成哈希键(为了不做同样的事情两次,评估的棋盘位置存储在哈希表中)。评估的棋盘位置(极小极大树中的节点)总是彼此靠近。不幸的是,关闭的棋盘位置被映射到均匀分布的哈希键,导致大量 cpu 缓存未命中。
是否可以构建一个哈希函数,将关闭的棋盘位置映射到关闭的哈希键?
一个玩家的棋盘位置由以下结构的位板表示:
. . . . . . . TOP
5 12 19 26 33 40 47
4 11 18 25 32 39 46
3 10 17 24 31 38 45
2 9 16 23 30 37 44
1 8 15 22 29 36 43
0 7 14 21 28 35 42
我不知道这是否可能。 感谢您的帮助!
【问题讨论】: