魔方吧·中文魔方俱乐部

标题: 简单还是复杂?我想打乱一个小的二阶魔方 [打印本页]

作者: bardy    时间: 2009-5-8 12:58:30     标题: 简单还是复杂?我想打乱一个小的二阶魔方

我怎么觉得打乱一个魔方比还原还要难呢?

还原魔方时大不了把魔方拆了重新装上去,一个一个挨个装上去,肯定能还原。
而且现在有很多电脑程序了,只要你指定任意一种打乱的状态,电脑很快就能找出答案

但是,要想打乱魔方,就是拆了重新装,好像也不一定能轻易做到,而且,估计电脑也帮不了你

比如我拿到一个2阶的小魔方,我就在想,我要相邻的块颜色都不一样,
然后就拿着魔方转,看见有挨着的就转一下,结果转了好久都没转起


基本要求是这样的:任意两个方块,只要有一个交点,就不能同色

即每面肯定要有四种颜色各不一样,

而且相邻面的方块也不能同色
如在前右下角FRB的前面F为白色的话,则前右上角FRU的右面R和前左下角FLB的下面B都不能为白色

打乱的2阶魔方

三阶的估计就能难了,
如每面六色而且相邻面的方块也不能同色


基本要求是这样的:任意两个方块,只要有一个交点,就不能同色

------------------
为什么要打乱呢?其实是这样的,买了个小魔方,就是套在钥匙上那种,挺好玩的
但我一同事说六面一色其实不好看,要乱一些才好看
我一想也有道理,就在想怎么打乱,结果发现打乱好像居然比还原还要难一些

这里还有另外一个问题,这种小的2阶魔方一般都是在一个角上拴了一个链子的,套在手上或手机上
拴了链子那个角一般不好转动,所以一般也不去动它。

所以在还原或打乱2阶魔方时,一般是让一个角固定不动,如左后下角LBD,
所以需要在还原或打乱时只使用U、R、F这三个面。三阶可能不可行,但2阶应该是能达到这个要求的吧



----
打乱一个三阶魔方很容易吗??(我和同学打了一个赌)
http://bbs.mf8-china.com/viewthread.php?tid=1363

求完全乱的魔方的种数
http://bbs.mf8-china.com/viewthread.php?tid=5265


补充:
-------------------------
刚看到以前早就讨论过的:
http://bbs.mf8-china.com/viewthread.php?tid=27912
http://bbs.mf8-china.com/viewthread.php?tid=23552
【疑问】相同颜色不相邻的问题??? - 基本解决




[ 本帖最后由 bardy 于 2009-5-16 14:26 编辑 ]

附件: [打乱的2阶魔方] 2.gif (2009-5-16 14:24:42, 1.72 KB) / 下载次数 65
http://bbs.mf8-china.com/forum.php?mod=attachment&aid=NTA2MzJ8OWE5NzQ0ZGZ8MTc1NDIwNTQ2N3wwfDA%3D
作者: 魔鱼儿    时间: 2009-5-8 13:07:14

这个难度太高了吧,比还原要难吧.
作者: shifujun    时间: 2009-5-8 13:08:27

如果一个状态存在,那打乱出来是很容易的。
作者: 小波    时间: 2009-5-8 13:13:49     标题: 回复 3# 的帖子

是的,定义魔方状态,传统三阶魔方只能有一个复原状态,定义为每个面只能有同一个颜色。则其他任意状态都为打乱状态。
如果要打乱到指定状态,则不称为任意状态,而称为广义复原,可能有不止一个复原状态,也可能只有一个。
作者: 小波    时间: 2009-5-8 13:15:39

所以说“打乱并不容易”,这里的打乱只能称为广义复原,相当于copy a scrambled cube,如果要打乱到能出现不止一个状态的情况,或者打乱到某个图案,就更困难了。
作者: bardy    时间: 2009-5-8 13:18:12

http://bbs.mf8-china.com/viewthread.php?tid=812
搜索到这里有个魔方皇后,和彩带绕魔方,都不错,但可惜都不符合我的要求

如果你觉得还原魔方太简单,不妨看看这个要求,会了的话记得教我啊
作者: 笑毅    时间: 2009-5-8 13:19:42

是啊,这个难度是挺高的。不知道理论上能不能出现啊
作者: bardy    时间: 2009-5-8 13:21:57

原帖由 小波 于 2009-5-8 13:13 发表
...如果要打乱到指定状态, ...


哈哈我已经说过了,只要你指定了一个状态,现有的电脑程序”几乎“是可以在一分钟内轻松求解的。

关键是,要达到我说的这个要求,你是指定不了一个状态的。

所以,不要求助于电脑了,还是自己拿着魔方转吧。我的策略是看见有两个颜色相邻的就把它们转开,然后XYZ三轴交换一下。但是总是转不好,也因此才可以一直转啊。不然20秒就还原了,几十块的魔方不就浪费了?
作者: 今日方知我是我    时间: 2009-5-8 13:22:51

貌似理论上不会出现吧???
作者: bardy    时间: 2009-5-8 13:27:06

原帖由 今日方知我是我 于 2009-5-8 13:22 发表
貌似理论上不会出现吧???


我也是这么想的

反正我是一直转不出来。听说这里有理论家,所以除了“貌似”外,想听听有没有具体的理论证明它不可行
作者: kexin_xiao    时间: 2009-5-8 13:27:52

理论上能出现吗?
作者: bardy    时间: 2009-5-8 13:46:02

原帖由 kexin_xiao 于 2009-5-8 13:27 发表
理论上能出现吗?


2阶的,四色,感觉上是可行的。
3阶的,就不一定了
理论嘛,就是在等高人啊
作者: mops    时间: 2009-5-8 13:59:44

LZ想要的不是要打乱魔方。。而是要做花式。。
作者: juventus66    时间: 2009-5-8 14:01:59

是很有难度
作者: 魔の小天    时间: 2009-5-8 14:13:42

.........这也太难了吧  太费脑子了
作者: bardy    时间: 2009-5-8 14:19:14

原帖由 mops 于 2009-5-8 13:59 发表
LZ想要的不是要打乱魔方。。而是要做花式。。


不是花式,是要乱,越乱越好

也许看不出任何花式也是一种花式吧
这个有点类似于我国另一伟大游戏 麻将 中的十三不靠,越是没有任何规律的烂牌越是百年不遇的好牌
作者: xdgtzsyyj    时间: 2009-5-8 14:47:24

打乱一个小的二阶魔方比打乱3阶难
作者: bardy    时间: 2009-5-8 15:05:58

一个问题是可行性,到底有这个可能没有?

如果可行,
那另一个问题是策略问题,是先把魔方还原了再打乱,还是从某一状态开始直接拆开相邻色?
作者: bardy    时间: 2009-5-8 15:20:32

为什么要打乱呢?其实是这样的,买了个小魔方,就是套在钥匙上那种,挺好玩的
但我一同事说六面一色其实不好看,要乱一些才好看
我一想也有道理,就在想怎么打乱,结果发现打乱好像居然比还原还要难一些

这里还有另外一个问题,这种小的2阶魔方一般都是在一个角上拴了一个链子的,套在手上或手机上
拴了链子那个角一般不好转动,所以一般也不去动它。

所以在还原或打乱2阶魔方时,一般是让一个角固定不动,如左后下角LBD,
所以需要在还原或打乱时只使用U、R、F这三个面。三阶可能不可行,但2阶应该是能达到这个要求的吧
作者: fuwu1927    时间: 2009-5-8 15:38:58

打乱成这样就是相当于花式了!
作者: bardy    时间: 2009-5-9 16:54:55

二阶的估计比较简单,应该可以在五步内将一完好魔方完全打乱
作者: zhile0522    时间: 2009-5-9 22:16:49

呃 肯定打乱容易么
作者: Cielo    时间: 2009-5-10 01:50:22

原帖由 bardy 于 2009-5-8 15:20 发表
...所以在还原或打乱2阶魔方时,一般是让一个角固定不动,如左后下角LBD,
所以需要在还原或打乱时只使用U、R、F这三个面。三阶可能不可行,但2阶应该是能达到这个要求的吧


2阶当然可以,因为转动每个面都可以用转动 U、R、F 面来代替
——就是两个面之间的相对运动选择参照物的问题
作者: bardy    时间: 2009-5-11 09:11:15

看来大家都没研究过这个啊

我在网上查了一下,居然真的可行

有些老外早在二十几年前,就是1982年左右吧,魔方刚出来不久就有人研究过怎样打乱魔方了

下面我贴一个 ,是 Brian Martin 大概于1982年初提出来的,
每面六色,且任何相邻的色块都不同色,只要有一个交点的色块都不同色。且每面的每种颜色数量少于3,应该是 最乱 的魔方了

看看JAVA能不能用

[java3=300,300]
  [param=scrptLanguage]SupersetENG[/param]
  [param=scrpt]RLU2R'DB'U'R[/param]
  [param=initScrpt]RLU2R'DB'U'R2B2LUR2B2U'LB'R'FU'[/param]
[/java3]
作者: bardy    时间: 2009-5-11 09:14:28

最乱魔方3 贴张图看看,JAVA看不到

附件: [最乱魔方3] 1.jpg (2009-5-11 09:14:28, 13.2 KB) / 下载次数 60
http://bbs.mf8-china.com/forum.php?mod=attachment&aid=NDk4MDB8NGMyYjQzMDl8MTc1NDIwNTQ2N3wwfDA%3D
作者: 乌木    时间: 2009-5-11 11:30:20

24楼是不是其初态为“每面六色,且任何相邻的色块都不同色,只要有一个交点的色块都不同色。且每面的每种颜色数量少于3”?那些动作步骤是无关的吧?
初态的后面没有白色,所以24楼的初态不符合“每面六色”的要求。
作者: bardy    时间: 2009-5-11 11:51:14

原帖由 乌木 于 2009-5-11 11:30 发表
24楼是不是其初态为“每面六色,且任何相邻的色块都不同色,只要有一个交点的色块都不同色。且每面的每种颜色数量少于3”?那些动作步骤是无关的吧?
初态的后面没有白色,所以24楼的初态不符合“每面六色”的要求。 ...



没细看。

算了,不调整它了。以前没搜索到,刚才又搜索了一下,发现您早已在此论坛中研究出过这个了


我记得发贴前也搜索过的啊,怎么就没看到呢,还以为没人谈过这类问题呢。晕
作者: 乌木    时间: 2009-5-11 15:09:12     标题: 回复 27# 的帖子

以前几个类似帖子要求的条件不同一些。
24楼花样修改一下,应该符合条件了:
                [java3=300,300]
  [param=scrptLanguage]SupersetENG[/param]
  [param=stickersFront]2,5,4,4,0,1,1,2,3[/param]
  [param=stickersRight]3,5,4,0,1,3,5,2,4[/param]
  [param=stickersDown]5,0,4,4,2,1,1,3,0[/param]
  [param=stickersBack]2,5,0,1,3,4,5,2,0[/param]
  [param=stickersLeft]2,5,1,3,4,0,5,2,3[/param]
  [param=stickersUp]1,3,0,4,5,1,3,0,2[/param]
[/java3]

[ 本帖最后由 乌木 于 2009-5-11 15:28 编辑 ]
作者: bardy    时间: 2009-5-12 13:44:56

还是您的眼力好啊,确实不大一样。

原来是文字叙述的,本身没错,上面是我拼错了,当然你那个也是符合的

不过,说到底这个图案虽然符合 六色 小于3 不相邻 等三大特征,
但是,它并不 乱 , 相反,它很有规律。

基本上是这样的,

十二个 棱 edge 原地翻转 flip
八个角 corner 大对角对换 exchange
相对面的四个角中 三角原地翻转 rotate


所以说,这个状态其实一点也不乱,很好记忆,对魔方有些研究的人甚至闭着眼睛把它转出来也不是不可能

不知道能不能转出一个 真正的 “乱” 的魔方 ? 

而且上面这个好像不能用于2阶魔方吧

[java3=700,300]
  [param=scrptLanguage]SupersetENG[/param]
  [param=scrpt]/*  六面六色 每色最多两块 无相邻色块*/\n\n/* 八角对心交换*/\n(fur,bld)(flu,bdr)(fdl,bru)(frd,bul)\n/* 十二棱原地翻转 */\n(+ul)(+ur)(+uf)CR\n(+ul)(+ur)(+uf)CR\n(+ul)(+ur)(+uf)CR\n(+ul)(+ur)(+uf)CR\n/* 调整前后面的对角棱 */\n(-flu)(-frd)(+bru)(+bld)[/param]
[param=autoplay]true[/param]
[/java3]

原文是这样的:
Brian Martin gets six 2[sup]3[/sup]1[sup]3[/sup] faces by: 12-flip; diagonal exchange of corners exchanging F & B (i.e. (FUR,BLD)(FLU,BDR)(FDL,BRU)(FRD,BUL)); then FLU-FRD-BRU+BLD+.
This is also a proper map colouring. Indeed no two facelets of the same colour meet at an edge or a corner, so it is a 'strong' map colouring. In fact, any two cochromatic facelets on a face are separated by a knight's move (16 times) or are diagonal corners (2 times). Frank Carey finds that (UL,LB,DL,RB)(UR,LF,DR,RF) UF+UB+DF+DB+ gives a strong map colouring.

[ 本帖最后由 bardy 于 2009-5-12 20:50 编辑 ]
作者: bardy    时间: 2009-5-12 13:53:31

乌木大师那个我看了下好像是直接输入的每面的颜色,费心了,谢谢

搜索了一下,这种超级翻转好像是三十年前大概80年左右国外搞过一个有奖征集的
作者: bardy    时间: 2009-5-12 20:34:21

十二中棱原地翻 这个应该有个简单的公式吧
作者: tonylmd    时间: 2009-5-12 23:03:52

才看到lz这贴…
http://bbs.mf8-china.com/viewthr ... &extra=page%3D4
2,3,4,5阶魔方终极打乱状态
作者: 乌木    时间: 2009-5-13 10:12:18     标题: 回复 31# 的帖子

[java3=250,250]
  [param=scrptLanguage]SupersetENG[/param]
  [param=scrpt](R MD )4( U MF)4 (B MR')4[/param]
  [param=beta]29[/param]
[/java3]
作者: 乌木    时间: 2009-5-13 10:35:15

接着这样做即得29楼花样。头两行步骤为调角,后两行是翻角。
[java3=330,300]
  [param=scrptLanguage]SupersetENG[/param]
  [param=scrpt]R2 CU (L R B R' F R B' L' R' B L F' L' B') \n CR2 (L R B R' F R B' L' R' B L F' L' B') CR2 CU' R2 \n CU2 ( R B' R B' L B2 R2 F' U2 B F L' B')\n CR2 CU2 ( R B' R B' L B2 R2 F' U2 B F L' B')CR2[/param]
  [param=initScrpt](R MD )4( U MF)4 (B MR')4 [/param]
  [param=beta]29[/param]
[/java3]

[ 本帖最后由 乌木 于 2009-5-13 10:53 编辑 ]
作者: bardy    时间: 2009-5-13 20:17:44

原帖由 tonylmd 于 2009-5-12 23:03 发表
才看到lz这贴…
http://bbs.mf8-china.com/viewthread.php?tid=22333&extra=page%3D4
2,3,4,5阶魔方终极打乱状态


不是每面六种颜色
不是每色两块
作者: bardy    时间: 2009-5-13 20:40:32

33楼那个(R MD )4( U MF)4 (B MR')4不错啊,怎么这么简单

转动魔方  重复使用 同一个简单的公式

[java3=300,300]
  [param=scrptLanguage]SupersetENG[/param]
  [param=scrpt]((MR U)4CRCU')3/* 这个公式只有两步,即十二棱原地翻 */[/param]
[/java3]


It can be proven by counting arguments that there exist positions needing at least 18 moves to solve. To show this, first count the number of cube positions that exist in total, then count the number of positions achievable using at most 17 moves. It turns out that the latter number is smaller.

This argument was not improved upon for many years. Also, it is not a constructive proof: it does not exhibit a concrete position that needs this many moves. It was conjectured that the so-called superflip would be a position that is very difficult. The superflip is a position on the cube where all the cubies are in their correct position, all the corners are correctly oriented but each edge is oriented the wrong way.

One indication that this might be the case is that it is the only element other than the identity that is in the center of the cube group.

In 1992 a solution for the superflip with 20 face turns was found by Dik T. Winter. In 1995, Michael Reid proved its minimality, thereby giving a new lower bound for the diameter of the cube group.

Also in 1995, a solution for superflip in 24 quarter turns was found by Michael Reid, its minimality was proven by Jerry Bryan. [1]

In 1998 Michael Reid found a new position requiring more than 24 quarter turns to solve. The position, named by him as 'superflip composed with four spot' needs 26 quarter turns. [2]

[ 本帖最后由 bardy 于 2009-5-13 20:42 编辑 ]
作者: bardy    时间: 2009-5-13 20:51:25

二阶魔方相对简单,估计只需四五步就可以了

[java2=300,300]
  [param=scriptLanguage]SupersetENG[/param]
  [param=scriptProgress]0[/param]
  [param=script]URF2UF[/param]
  [param=beta]30[/param]
  [param=stickersImage]2/ch/randelshofer/rubik/ACube.class[/param]
[/java2]

需要用的话死记一下应该也很简单


注:二阶魔方 的启动速度有点慢,可能要等一两分钟。

[ 本帖最后由 bardy 于 2009-5-14 00:06 编辑 ]
作者: bardy    时间: 2009-5-13 20:52:48

只用了URF三面,且全是顺时针旋转,很顺手
作者: 乌木    时间: 2009-5-13 23:32:08

37楼的java动画怎么看不到?应该是:
[java2=300,300]
  [param=scriptLanguage]SupersetENG[/param]
  [param=scriptProgress]0[/param]
  [param=script] U R F2 U F [/param]
  [param=beta]30[/param]
  [param=stickersImage]2/ch/randelshofer/rubik/ACube.class[/param]
[/java2]

[ 本帖最后由 乌木 于 2009-5-13 23:35 编辑 ]
作者: 乌木    时间: 2009-5-13 23:39:16

也看不到,只好改用四阶代替一下:
[java4=300,300]
  [param=scrptLanguage]SupersetENG[/param]
  [param=scrpt]TU TR TF2 TU TF [/param]
[/java4]
作者: bardy    时间: 2009-5-13 23:42:00

原帖由 乌木 于 2009-5-13 23:39 发表
也看不到,只好改用四阶代替一下:



看得到的,只是要耐心一些,启动约需1分钟

不知道为什么 , 这个2阶的JAVA魔方 比 3阶的 要启动的慢一些,容易让人以为启动不了。
可能是文件大,下载慢

[ 本帖最后由 bardy 于 2009-5-13 23:44 编辑 ]
作者: kexin_xiao    时间: 2009-5-13 23:43:37

学习了,原来是个老问题了,三阶也有答案了
作者: 乌木    时间: 2009-5-13 23:44:54

试试学你在java中加注:
[java3=300,300]
  [param=scrptLanguage]SupersetENG[/param]
  [param=scrpt]R TL2 D SL TF2 MU F /*(加注于此)*/[/param]
[/java3]
作者: bardy    时间: 2009-5-14 00:15:14

原帖由 乌木 于 2009-5-13 23:44 发表
试试学你在java中加注:



[java3=300,300]
  [param=scrptLanguage]SupersetENG[/param]
  [param=scrpt]/*哈哈,加注确实是个不错的主意*/\n\n/*先顺转右边   */R\n\n/*  再逆转右边    */R'\n\n/*再把魔方前面的左上角和右上角交换一下*/\n(flu,fur)[/param]
[/java3]

[ 本帖最后由 bardy 于 2009-5-14 00:16 编辑 ]
作者: 乌木    时间: 2009-5-14 10:58:37     标题: 回复 44# 的帖子

应用这例子中的交换块方法要当心,别弄出不可复原态,毕竟不是魔方动作一步步转出来的。




欢迎光临 魔方吧·中文魔方俱乐部 (http://bbs.mf8-china.com/) Powered by Discuz! X2