到目前为止,让我解释一下我的程序。它是一个魔方求解器。我得到一个加扰的立方体(这是初始状态)。这成为图的根节点。我正在使用iterative deepening depth first search
“蛮力”这个打乱的立方体到一个可识别的状态,然后我可以使用模式识别来解决它。
可以想象,这是一个非常大的图,所以我想提出某种散列功能来检测图中的重复节点(从而加快遍历速度)。
我对散列函数基本上不熟悉,但这是我的想法……每个节点本质上都是魔方的不同状态。所以如果我来到一个已经看到的立方体状态(节点),我想跳过它。所以我需要一个散列函数,将我从状态变量带到校验和,其中状态变量是一个 54 个字符的字符串。唯一允许的字符是y, r, g, o, b, w
(对应于颜色)。
任何帮助设计此哈希函数将不胜感激。