郭先抢 发表于 2012-11-25 21:10:01

魔方的不同状态数是如何计算出来的?

http://bbs.emath.ac.cn/redirect.php?tid=4772&goto=lastpost#lastpost

魔方的状态数是(确切数字为43,252,003,274,489,856,000约合4.3×10的19次方)。
,请问这个状态数如何计算出来,
我需要具体的计算过程,我并不需要得数,因为我已经有得数了

袁哥哥 发表于 2012-11-27 12:52:42

魔方与 “上帝之数”
http://bbs.emath.ac.cn/thread-1746-1-1.html

注释

魔方是鲁比克自己为这一立方体所取的名字, 鲁比克方块则是美国玩具公司 Ideal Toys 所取的名字。 在西方国家, 鲁比克方块这一名称更为流行, 在中国, 则是魔方这一名称更为流行。 另外要提醒读者的是, 魔方有很多种类, 本文介绍的 3×3×3 魔方只是其中最常见的一种。
具体的计算是这样的: 在组成魔方的小立方体中, 有 8 个是顶点, 它们之间有 8! 种置换; 这些顶点每个有 3 种颜色, 在朝向上有 3^7 种组合 (由于结构所限, 魔方的顶点只有 7 个能有独立朝向)。 类似的, 魔方有 12 个小立方体是边, 它们之间有 12!/2 种置换 (之所以除以 2, 是因为魔方的顶点一旦确定, 边的置换就只有一半是可能的); 这些边每个有两种颜色, 在朝向上有 2^11 种组合 (由于结构所限, 魔方的边只有 11 个能有独立朝向)。 因此, 魔方的颜色组合总数为 8!×3^7×12!×2^11/2 = 43252003274489856000, 即大约 4325 亿亿。 另外值得一提的是, 倘若我们允许将魔方拆掉重组, 则前面提到的结构限定将不复存在, 它的颜色组合数将多达 51900 亿亿种。


这个概率就是 (8!×3^7×12!×2^11/2 )/(8!*3^8*12!*2^12)=1/12

12=3*2*2一个顶点方向(3)和一个边方向(2)和一个顶点或者边的对换(2),顶点的对换和边的对换很简单,因为每次转动都是偶数个对换的乘积,所以最终的分解化简也必须是偶数个对换,所以不能只对换边或者只对换顶点。

对换一对边和一对顶点,只转动两个顶点,只转动两个边等等基本等,在我的原创办法里,这些都是我的基本操作的简单组合。

所以我的操作就一个基本操作,然后按顺序还原,最后剩下一个坐标三棱,也用这基本操作还原位置和方向,基本不用记忆。

CJSH716 发表于 2012-12-11 15:54:40

sagenb上有函数,群的类方程有关

Lwins_G 发表于 2012-12-14 17:56:30

本帖最后由 Lwins_G 于 2012-12-14 17:58 编辑

魔方的所有状态显然构成一个置换群。如果推广一下,现在我们的问题是,给定一些置换,求出它们生成的置换群。这并不困难,使用Schreier-Sims算法计算即可。
当然,魔方群有其特殊性,依照特殊性直接计算也未尝不可,甚至不需要太多群论知识。
相关链接:
http://en.wikipedia.org/wiki/Schreier%E2%80%93Sims_algorithm
http://issuu.com/lwins_g/docs/ssai

郭先抢 发表于 2012-12-15 14:52:15

魔方的所有状态显然构成一个置换群。如果推广一下,现在我们的问题是,给定一些置换,求出它们生成的置换群。这并不困难,使用Schreier-Sims算法计算即可。
当然,魔方群有其特殊性,依照特殊性直接计算也未尝不可, ...
Lwins_G 发表于 2012-12-14 17:56 http://bbs.emath.ac.cn/images/common/back.gif


楼上高人也!
没想到论坛上高人挺多的.
楼上不简单呀

郭先抢 发表于 2012-12-15 14:54:37

好像mathematica与maple应该能计算这个吧

郭先抢 发表于 2012-12-15 14:56:01

group - compute the order of a group
http://www.maplesoft.com/support/help/Maple/view.aspx?path=group/grouporder

郭先抢 发表于 2012-12-15 14:57:50

http://reference.wolfram.com/mathematica/ref/GroupOrder.html
这个是mathematica软件的

Lwins_G 发表于 2012-12-15 14:58:56

好像mathematica与maple应该能计算这个吧
郭先抢 发表于 2012-12-15 14:54 http://bbs.emath.ac.cn/images/common/back.gif
是的,其实现原理就是Schreier-Sims Algorithm。
页: [1]
查看完整版本: 魔方的不同状态数是如何计算出来的?