我目前有一个正在解决的问题。
我正在尝试重新创建解决3x3x3魔方的Korf算法(http://www.cs.princeton.edu/courses/archive/fall06/cos402/papers/korfrubik.pdf)。
问题是,当生成模式数据库时,我想要一种仅存储节点深度(表示A *中的h函数)的方法。我当前识别节点的方式是通过如下字符串:“ wwooyyrrwwooyyrrggggbbbb”。
有没有人对如何索引我的模式数据库有任何想法,这样我就不必为每条记录存储(类似)怪诞的东西了?
谢谢,
Ť
您可以将字符串表示为两个64位数字。我记得,Ribik立方体有约10 ^ 20个状态,两个int64变量为您提供2 ^ 128个组合。我相信有很多方法可以做到这一点,但是我首先想到的是对字符串的1..length / 2个符号进行迭代,然后将符号代码(0..5)添加到结果值中,然后乘以每次6。并以length / 2..length重复它。我认为两个int64变量将比字符串更好)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句