确定性哈希随机决胜
确定性哈希随机决胜:低成本、可复现的平局策略
在游戏开发中,我们经常需要从一组候选项中选出“最优解”。当多个候选项的主评分完全相同时,一个容易被忽略的问题就出现了:平局时该选谁?,如果只依赖于判别时的不等号,那么结果必然是“偏置”的。
我是在一次网格密度搜索中遇到这个问题的。最终采用的方案是确定性哈希随机决胜(Deterministic Hash-based Random Tie-breaking):用一次随机取种,为每个候选项生成可复现的伪随机优先级,在不收集全部平局候选的情况下完成决胜。
从网格密度搜索说起
假设地图由一个二维网格表示,每个格子记录该位置是否存在目标。搜索时,用一个固定尺寸的矩形窗口遍历所有合法位置,计算窗口覆盖范围内的目标数量,也就是该窗口的密度,实现中采用的就是经典的二维前缀和算法。
