魔方吧·中文魔方俱乐部

 找回密码
 注册
搜索
热搜: 魔方
查看: 573769|回复: 18
打印 上一主题 下一主题

讨论:魔方状态的最小表示方法 [复制链接]

Rank: 4

积分
1960
帖子
1075
精华
6
UID
17579
性别
保密

魔方理论探索者 论坛建设奖 六年元老

跳转到指定楼层
1#
发表于 2010-5-1 21:28:28 |只看该作者 |正序浏览
普通三阶,六色,无图案的魔方,
表示它的状态,最少需要多少bit ?
无论是否方便操作。

(直接拿总状态数向2取对数吗?
要比这个小才行。
直接取对数的结果是 65.23 ,
也就是说要 66 位。
假如可以少两位,就可以利用一个 64 位整数表示了。
48同态用上,可以少5位,用61位。不知是否这样?
欢迎大家讨论:具体怎样实现64位存储,或61位?
或者更少的位数?
Enjoy cubing
Enjoy coding.
我喜欢的公式 U D F2 B2 U' D'

Rank: 1

积分
48
帖子
16
精华
1
UID
107440
性别
保密
19#
发表于 2011-7-8 09:46:40 |只看该作者

回17楼

去我网站上下一个跑下就晓得了,PC机上可以搜索到千万级别,你也可以下载源代码,设置为.net 4.0性能又可以提高50%,如果平台设为Intel 64能够搜索更多节点。通常得到的解在30步以内,三分钟以内搜到,和参数设置相关,单纯追求快速,可以在数秒内得到解,只是这时质量比较差,50步左右

使用道具 举报

铜魔

QQ群打乱机器人

Rank: 8Rank: 8

积分
24444
帖子
678
精华
0
UID
99999
性别
保密

两年元老

18#
发表于 2011-7-7 22:19:15 |只看该作者

回复 15# 的帖子

请教楼上,你说的你的软件计算速度极快,有多快,每秒可以搜索到多少个状态?
我也开网店了= =囧shop61450023.taobao.com

使用道具 举报

Rank: 4

积分
1022
帖子
801
精华
0
UID
1278144
性别
17#
发表于 2011-7-7 22:18:37 |只看该作者
看不懂啊...我还以为讨论魔方的最少状态呢
高考要加油~~

使用道具 举报

Rank: 1

积分
48
帖子
16
精华
1
UID
107440
性别
保密
16#
发表于 2011-7-7 22:04:15 |只看该作者

熵的概念

单纯讨论最少多少位能记录魔方的所有状态是没有任何意义, 关于熵信息论有全套的计算公式

使用道具 举报

铜魔

QQ群打乱机器人

Rank: 8Rank: 8

积分
24444
帖子
678
精华
0
UID
99999
性别
保密

两年元老

15#
发表于 2011-6-28 15:59:11 |只看该作者

回复 13# 的帖子

是否考虑过预处理?

另外你的非常快速。。有多快?
我也开网店了= =囧shop61450023.taobao.com

使用道具 举报

Rank: 1

积分
48
帖子
16
精华
1
UID
107440
性别
保密
14#
发表于 2011-6-27 21:18:48 |只看该作者

实战经验

我的魔方还原软件用了6个Int32来表示,每个Int32表示一个面:每个面有8个可动的块,每个色块可以有6种颜色,因此4位表示一个色块的颜色。这样都是半字节,处理起来很快速,所以我用穷举能够非常快速地搜索。
http://www.telossoft.com.cn/OtherRubikCube.aspx

对于4阶魔方我也考虑过了,可以用6个Int64表示,同样每个色块半字节。
4阶魔方旋转估计需要通过查表处理,3阶我通过位运算在处理。

使用道具 举报

红魔

All Blue

Rank: 4

积分
1196
帖子
999
精华
2
UID
38845
性别
13#
发表于 2011-5-26 20:30:17 |只看该作者
我不是很懂优化,但我会以打乱步骤表示状态。
公式D F2 U L2 U B2 U R2 U R' F2 R L U L' R' U R L' U L U L U2 L' U' L U2 L'
数列11121131221231321332223233311

使用道具 举报

Rank: 4

积分
1843
帖子
1468
精华
1
UID
79281
性别

四年元老

12#
发表于 2010-5-1 23:24:02 |只看该作者
不过这个48同态用起来不知道怎么样。
对于一些自同够(感觉叫同构合理些),例如对称棋盘的状态,不管怎么用旋转,镜像,取逆,都是它本身,这样就是在压缩后还是占1种状态。而对于一些不具有对称性的状态,96种可以压缩到一种。
实际操作起来应该很复杂。

这点在OLL,PLL中也能够体现出来。

使用道具 举报

Rank: 4

积分
1843
帖子
1468
精华
1
UID
79281
性别

四年元老

11#
发表于 2010-5-1 23:16:15 |只看该作者
48同态可以减少某些表的大小,例如距离表,两种状态如果是48同构的话(貌似加上逆可以达到96),那么它们的最少步还原步数就一样多,就可以节约存储空间。

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

Archiver|手机版|魔方吧·中文魔方俱乐部

GMT+8, 2024-11-25 11:07

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部