以下是引用ggglgq在6/18/2004 7:53:19 AM的发言:
十、魔方最少步库 的大小
我们知道魔方有多少种不同状态的图案,就应该有多少种不同的
最少步变换。
比如:正六面体的三阶魔方有 4.325200 E+19 种不同状态的图案;
又如:正十二面体的五魔方有 1.006696 E+68 种不同状态的图案。
( 其中 E+19 表示 10 的 19 次方 等等,以后不再说明 )
假设 魔方的最少步变换 全部都 在 魔方的循环变换 [集合] 中,
那么我们甚至对 正六面体的三阶魔方 的 循环变换 [集合] 都没那么
大的存储空间去装,更别提 正十二面体的五魔方 了。
比如:正六面体的三阶魔方共有 4.325200 E+19 种不同状态的图案,
它大约是 1.0 E+10 的平方,因此设正六面体的三阶魔方的前 N 步的节点
个数为 1.0 E+10 ,那么正六面体的三阶魔方的前 2N 步的节点便可超过
正六面体的三阶魔方 4.325200 E+19 种不同状态的图案。(分两个 N 步)
这就是开发正六面体三阶魔方最少步软件 Cube 的作者 H.Kociemba
采用 The Two-Phase Algorithm 算法的理论基础,他制作了一个大小 1G
左右的“表”,便于求解时查表计算。
对了,顺便说一下,对于正六面体的三阶魔方,这个“前 N 步的节点”
的魔方最少步库 构造时,再考虑和它旋转、对称后都相同的最少步,就要
至少除以 48 ( 6 个面,每个面都有 4 个相邻面,确定了两个相邻面即
固定了该魔方,然后再考虑 对称 的 2 种情形,即可得 6 x 4 x 2 = 48 )
即得 按 《魔方循环变换理论》 制作的 正六面体的三阶魔方最少步库 的
大小为 4.325200 E+19 的算术平方根 除以 48 得到:137 M 即 0.137 G 。
然后考虑每个字节所表示的数值最大为 256 ,六个面共有 12 种步长为 1
的变换,256 > 12 x 12 ,因此每个字节又可至少装下 两个步长 的变换,
从而由 137 M 除以 2 得到:68.5 M 。所以我们可以最多用 68.5 M 的
存储空间,即可进行 The Two-Phase Algorithm 算法。
我们可以最多用 68.5 M 的存储空间,即可进行 The Two-Phase Algorithm 算法。不知将来有朝一日三阶魔方最少步软件 Cube 3.20 的开发者 H.Kociemba 会对此作何感想? 恐怕只有佩服我们中华民族的 [爱因斯坦] 了![em17]
[此贴子已经被作者于6/18/2004 3:45:56 AM编辑过]
|