找回密码
 欢迎注册
查看: 12907|回复: 8

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

[复制链接]
发表于 2012-11-25 21:10:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?欢迎注册

×
http://bbs.emath.ac.cn/redirect. ... o=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),顶点的对换和边的对换很简单,因为每次转动都是偶数个对换的乘积,所以最终的分解化简也必须是偶数个对换,所以不能只对换边或者只对换顶点。

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

所以我的操作就一个基本操作,然后按顺序还原,最后剩下一个坐标三棱,也用这基本操作还原位置和方向,基本不用记忆。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2012-12-11 15:54:40 | 显示全部楼层
sagenb上有函数,群的类方程有关
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 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



楼上高人也!
没想到论坛上高人挺多的.
楼上不简单呀
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2012-12-15 14:54:37 | 显示全部楼层
好像mathematica与maple应该能计算这个吧
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2012-12-15 14:56:01 | 显示全部楼层
group[grouporder] - compute the order of a group
http://www.maplesoft.com/support ... th=group/grouporder
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2012-12-15 14:57:50 | 显示全部楼层
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2012-12-15 14:58:56 | 显示全部楼层
好像mathematica与maple应该能计算这个吧
郭先抢 发表于 2012-12-15 14:54

是的,其实现原理就是Schreier-Sims Algorithm。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-5-13 07:24 , Processed in 0.044627 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表