魔方吧·中文魔方俱乐部

标题: BiCube解法(2楼有实例),只需两个公式 [打印本页]

作者: Cielo    时间: 2011-9-10 02:14:28     标题: BiCube解法(2楼有实例),只需两个公式

按照右图(后面的java也是如此)中的摆放方式 BiCube.jpg
前两层中除去标号的5块之外的部分比较容易复原,围绕最大的那个捆绑中心块来复原即可。

这里主要说说标号的5块的复原。只需要用到以下两个公式:
公式一(这个很简单)U;L;F';L';F;U';R';F;R;F';
[KBMFjava=450,400]
[param=MFlength]3[/param]
[param=MFwidth]3[/param]
[param=MFheight]3[/param]
[param=Speed]10[/param]
[param=bind]U:1121;3112;1221;1321;F:1121;1212;2212;3212;R:2121;1212;2221;2321;L:1212;2212;3212;B:2121;2212;3212;D:2212;3212;[/param]
[param=initScript]U;[/param]
[param=Script]U;L;F';L';F;U';R';F;R;F';[/param]
[param=butbgcolor]99d658[/param]
[param=bgcolor]f3a0e2[/param]
[/KBMFjava]
效果是 3->4->5->3

公式一的逆 F;R';F';R;U;F';L;F;L';U';
[KBMFjava=450,400]
[param=MFlength]3[/param]
[param=MFwidth]3[/param]
[param=MFheight]3[/param]
[param=Speed]10[/param]
[param=bind]U:1121;3112;1221;1321;F:1121;1212;2212;3212;R:2121;1212;2221;2321;L:1212;2212;3212;B:2121;2212;3212;D:2212;3212;[/param]
[param=initScript]U;[/param]
[param=Script]F;R';F';R;U;F';L;F;L';U';[/param]
[param=butbgcolor]99d658[/param]
[param=bgcolor]f3a0e2[/param]
[/KBMFjava]
效果是 3->5->4->3
公式二(这个是复原中偶然发现的,公式有点 commutator 的味道,尽管不是……)
[KBMFjava=450,400]
[param=MFlength]3[/param]
[param=MFwidth]3[/param]
[param=MFheight]3[/param]
[param=Speed]10[/param]
[param=bind]U:1121;3112;1221;1321;F:1121;1212;2212;3212;R:2121;1212;2221;2321;L:1212;2212;3212;B:2121;2212;3212;D:2212;3212;[/param]
[param=initScript]U;[/param]
[param=Script]L;F2;R';F;L';F2;R;F';[/param]
[param=butbgcolor]99d658[/param]
[param=bgcolor]f3a0e2[/param]
[/KBMFjava]
效果是 1<->3 & 2<->4

我们先复原 1 和 2 这两块。
无论这5块一开始的顺序如何,总可以通过上述公式将 块1 “藏到” 5位。
情形一:块2 位于 3位,则用公式一将 块1  由 5位 移至  3位,此时 块2 自然由 3位 移至 4位;此时用公式二即可;
情形二:块2 位于 1位,先用公式二,即转化为情形一;
情形三:块2 位于 4位,公式一(块1 到 3位,块2 到 5位),再公式二(块1 到 1位,块2 仍在5位),再公式一(块2 到 3位,块1 仍在 1位),
再公式二(块1 到 3位,块2 到 1位),再公式一(块1 到 5位,块2 仍在一位),此时化为情形二;【确实比较繁琐……】
情形四:块2 位于 2位,先用公式二,即转化为情形三;

这时只剩下 3、4、5 这三块,我在复原过程中从未遇到只剩两块对换的情形,总是三轮换,那么用公式一即可复原。

[ 本帖最后由 Cielo 于 2011-9-11 22:34 编辑 ]

附件: BiCube.jpg (2011-9-10 02:14:28, 21.43 KB) / 下载次数 44
http://bbs.mf8-china.com/forum.php?mod=attachment&aid=MTU4NTg0fDJkYWMxZmRmfDE3MzI2MzYyNjl8MHww
作者: Cielo    时间: 2011-9-10 02:17:00

以后可能会想想上面最后为什么不会出现对换,如果想出来原因了就发这里。(已解决,见下面Schuma的证明!)

更新一个实例。
思路:尽量让魔方大多数时候都保持“标准形式”,即不出现下面这种情况:1x1x2角块的一侧是1x1x1角块,另一侧是1x1x2角块,即下图
bad case.jpg
整个魔方里最大的一块是两相邻中心与一个棱块捆绑在一起,那么自然要先将这块旁边的两个 1x2x2 先复原。
大家在下面的实例中可以看到,在复原这两个 1x2x2 时,灵活地运用公式一就会很方便。(一个小技巧:换底)
我把24楼里回复乌木先生的话也搬到这里来吧:
弄前两层时,一开始只需要关注“最大块”两侧的这两对“棱角组合”,其他的都是可以先不管的。处理这两对的时候,可以换底(“最大块”上有两种颜色,我们可以灵活地选择其中一种作为底面),这样就能躲过“最大块”的限制。
而合并“棱角组合”也可以利用一楼给出的这两个公式了,可见这两个公式不只在最后5块能用,前面也能用上。

之后就剩5块了,用一楼的两个公式即可。

以在线玩Bicube中的打乱为例:
[KBMFjava=450,400]
[param=MFlength]3[/param]
[param=MFwidth]3[/param]
[param=MFheight]3[/param]
[param=Speed]10[/param]
[param=bind]U:1121;3112;1221;1321;F:1121;1212;2212;3212;L:1212;2212;3212;B:2121;2212;3212;R:2121;1212;2221;2321;D:2212;3212;[/param]
[param=initScript]F';U;12R2;12F';12D;L';L2;L;12U';F2;12D2;U2;B';12D2;U;F';U;L2;D;12U2;R2;12F2;U';U;12F2;12L';B';12L;12U;R2;12D';F;D2;12U2;12F';L;12F2;L;L';12F2;L2;L;B2;12L2;12L2;12F2;R;12F2;12L2;D;12U2;12U2;12U';B2;12L2;12F2;12F';12F2;12D';R2;[/param]
[param=Script][1];[2];[3];[4];[5];[6];[7];[8];B';[/param]
[param=Formula]{化为标准形式(橙底)}R2;U2;L';U2;R2;B;U';B'; &{想合并“橙黄绿角”和“黄绿棱”,用公式一(橙底的角度)}U';L;U;L';B';U;R';U';B2; &{想合并“黄蓝橙角”和“蓝橙棱”,化为标准形式(黄底)}L;B';U; &{公式一来合并}R;B';R';B;U';L';B;L;B';U'; &{再化为标准形式(橙底)}L';B';U;B; &{公式一的逆}U;R';U';R;B;U';L;U;L';B'; &{公式二}L;U2;R';U;L';U2;R;U'; &{公式一的逆}U;R';U';R;B;U';L;U;L';B';[/param]
[param=butbgcolor]99d658[/param]
[param=bgcolor]f3a0e2[/param]
[/KBMFjava]
化为标准形式(橙底):R2;U2;L';U2;R2;B;U';B';
想合并“橙黄绿角”和“黄绿棱”,用公式一(橙底的角度):U';L;U;L';B';U;R';U';B2;
想合并“黄蓝橙角”和“蓝橙棱”,化为标准形式(黄底):L;B';U;
公式一来合并:R;B';R';B;U';L';B;L;B';U';
再化为标准形式(橙底):L';B';U;B;
此时只剩5块了,
公式一的逆:U;R';U';R;B;U';L;U;L';B';
公式二:L;U2;R';U;L';U2;R;U';
公式一的逆:U;R';U';R;B;U';L;U;L';B';
调整:B';
至此复原。

[ 本帖最后由 Cielo 于 2011-12-24 19:50 编辑 ]

附件: bad case.jpg (2011-9-11 22:07:36, 11.67 KB) / 下载次数 44
http://bbs.mf8-china.com/forum.php?mod=attachment&aid=MTU4NzUyfDMwYWI5YTJjfDE3MzI2MzYyNjl8MHww
作者: ruitong    时间: 2011-9-10 05:33:44

学习楼主新思路。
作者: schuma    时间: 2011-9-10 07:26:23     标题: 回复 2# 的帖子

这个问题挺好的,那些1x1x2的块确实不能奇置换,只能偶置换。我来证明一下,你来看看有没有道理。

先给那些块起名如下:

3x3x3的魔方有八个角块。在Bicube里,七个角块和棱块捆绑到一起,组成了七个1x1x2的角块棱块组合,管它们叫大角块。剩下的一个单独的角块没有捆绑,管它叫小角块。

定理:经过一系列旋转以后,只要小角块回到它的初始位置,那么七个大角块的置换是一个偶置换。

证明:首先证明一个引理。

引理:只有小角块所在的面才能(单层)旋转。

引理的证明: 反证法,假设上面(U面)没有小角块而且也能单层旋转,那么上面的四个角都必须是大角块。由于它可以旋转,所以这四个角都必须和上层的棱块捆绑,不能和中层的棱块捆绑。所以捆绑的方式必须是(俯视图)

untitled.PNG


这样的话必须要有一个单独的没有捆绑的中心块。可是Bicube里不存在这样的中心块。矛盾。引理证明完毕。


现在回到主要定理的证明。

把八个角的位置分为两类: 小角块的初始位置以及和它距离根号2乘以棱长的位置,叫A类,其它四个位置是B类。这样分类的话,每个棱两端的两个角一定属于不同类。

由于引理,每次旋转都要移动小角块。每一次90度旋转是一个四循环,奇置换,并且小角块会被移动一步。

(1) 进行偶数次90度旋转后,小角块一定在A类位置,并且对于所有的角块来说,进行了偶数次奇置换,所以所有的角块的置换是偶置换。

(2) 进行奇数次90度旋转后,小角块一定在B类位置,并且对于所有的角块来说,进行了奇数次奇置换,所以所有的角块的置换是奇置换。

由于小角块的初始位置属于A类,所以它回到初始位置的时候,所有的角块是偶置换。定理证明完毕。

[ 本帖最后由 schuma 于 2011-9-10 15:35 编辑 ]

附件: untitled.PNG (2011-9-10 07:30:25, 2.61 KB) / 下载次数 40
http://bbs.mf8-china.com/forum.php?mod=attachment&aid=MTU4NTg3fDc5NjA0YTAzfDE3MzI2MzYyNjl8MHww
作者: 玉逸风    时间: 2011-9-10 10:38:20

这个魔方确实是很给力!!顶一个
作者: Cielo    时间: 2011-9-10 15:24:31

原帖由 schuma 于 2011-9-10 07:26 发表
这个问题挺好的,那些1x1x2的块确实不能奇置换,只能偶置换。我来证明一下,你来看看有没有道理。
...


这个证明很好!

关于引理,因为所有的中心块都至少与相邻的一个棱块捆绑,所以不可能出现图中单独中心块的情况,即使拆了也拼不成
作者: schuma    时间: 2011-9-10 15:36:48

原帖由 Cielo 于 2011-9-10 15:24 发表
关于引理,因为所有的中心块都至少与相邻的一个棱块捆绑,所以不可能出现图中单独中心块的情况,即使拆了也拼不成


说的对,我忘了这一点了。现在已经把证明里那几句话改了。
作者: 42752277    时间: 2011-9-10 15:55:52

技术贴啊,顶cielo!
作者: Vicki    时间: 2011-9-10 16:08:02

两个公式也太简单了~
作者: 乌木    时间: 2011-9-10 23:02:35

还没学会。
在一个流行配色的三阶上,临时用胶带“捆绑”了一个和1楼一样的BiCube,七弄八弄得到一种状态,其各块的排列模式和1楼的是对称的,由于不会复原,就不会在java图中做出这种对称态,只好画出来。
是否要用1楼公式的对称式对付它?
得到一种对称模式的状态.png
[KBMFjava=400,350]
[param=MFlength]3[/param]
[param=MFwidth]3[/param]
[param=MFheight]3[/param]
[param=Speed]10[/param]
[param=bind]U:1121;3112;1221;1321;F:1121;1212;2212;3212;R:2121;1212;2221;2321;L:1212;2212;3212;B:2121;2212;3212;D:2212;3212;[/param]
[param=initScript]U;[/param]
[param=Script]{1 楼的模式}u;u';[/param]
[param=butbgcolor]99d658[/param]
[param=bgcolor]f3a0e2[/param]
[/KBMFjava]

附件: 得到一种对称模式的状态.png (2011-9-10 23:02:35, 4.96 KB) / 下载次数 42
http://bbs.mf8-china.com/forum.php?mod=attachment&aid=MTU4NjQ0fDEwZTJiMTBlfDE3MzI2MzYyNjl8MHww
作者: 乌木    时间: 2011-9-11 08:55:59

10楼的那个“对称模式”态用1楼公式的对称式还是没完成复原,还要继续琢磨。

1楼公式的初态有个特点——红白绿角块的红色色片已经向上,无需翻色了,两个公式也是不会把它翻色的。
但是10楼那个“对称模式”态则不然,如何让红白绿角块的白色色片翻成向上,同时保持“对称模式”?或整个转换为1楼模式呢?
是否还需要另外的公式?
————————————————————————————————
刚才弄了好久无果,只好把“对称模式”打乱,再七弄八弄做成1楼的初态模式,再按照1楼方法复原。结果还是出现1楼两个公式无法解决的三轮换情况,下图中打星号*的块好像1楼两个公式不会动到它,怎么办?
Bicube问题-2.png

[ 本帖最后由 乌木 于 2011-9-11 13:24 编辑 ]

附件: Bicube问题-2.png (2011-9-11 13:24:01, 5.66 KB) / 下载次数 55
http://bbs.mf8-china.com/forum.php?mod=attachment&aid=MTU4NzE5fGMzMzNkODk4fDE3MzI2MzYyNjl8MHww
作者: Cielo    时间: 2011-9-11 14:12:00

回乌木先生,一楼的两个公式是用于处理标号的5块的。
除了这5块之外的部分,一般都是可以通过适当的调整用类似 R'FRF' 的公式复原的。
我有空了会把前面这部分补上的。
作者: 乌木    时间: 2011-9-11 14:27:22

好。看来要先复原好别的块,再处理那五块。我继续琢磨。
——————————————————————————
复原了!谢谢Cielo!先是除了那块1~5,其余块复原为1楼所示的状态,接着用你给的公式1和2处理块1~5,最后U'即可。
至于“其余块复原为1楼所示的状态”的过程,我是折腾好久才做到,只能用“七弄八弄”来表述,说不出个子丑寅卯。

[ 本帖最后由 乌木 于 2011-9-11 19:55 编辑 ]
作者: Cielo    时间: 2011-9-11 21:50:36

不客气,我来在2楼发个实例吧,公式一非常有用的!
作者: 刘超    时间: 2011-9-11 22:04:29

我曾经绑过一个,不是很会解
作者: hubo5563    时间: 2011-9-12 19:13:23     标题: 回复 10# 的帖子

乌木老师:
可以先编辑捆绑信息,用F3输出捆绑信息,把它粘贴到捆绑信息栏里,按提交按钮后,再按F9键来编辑颜色,编辑好后,按F7键输出其他参数,把其他参数粘贴到其他参数栏,再按提交按钮,即可编辑成您所要的.

[KBMFjava=450,400]
[param=MFlength]3[/param]
[param=MFwidth]3[/param]
[param=MFheight]3[/param]
[param=Speed]10[/param]
[param=bind]U:1112;2112;3112;1321;F:1121;1212;2212;3212;L:1121;1221;3212;1321;B:1212;2212;R:2121;1212;2212;3212;D:1212;2212;[/param]
[param=Script]u;u';[/param]
[param=bgcolor]f3a0e2[/param]
[param=butbgcolor]99d658[/param]
[param=FaceU]223111111[/param]
[param=FaceF]222116222[/param]
[param=FaceL]533535433[/param]
[param=FaceB]666264443[/param]
[param=FaceR]545533555[/param]
[param=FaceD]434146666[/param]
[/KBMFjava]


捆绑信息栏:
U:1112;2112;3112;1321;
F:1121;1212;2212;3212;
L:1121;1221;3212;1321;
B:1212;2212;
R:2121;1212;2212;3212;
D:1212;2212;

其他参数栏:

bgcolor=f3a0e2;
butbgcolor=99d658;
FaceU=223111111;
FaceF=222116222;
FaceL=533535433;
FaceB=666264443;
FaceR=545533555;
FaceD=434146666;

[ 本帖最后由 hubo5563 于 2011-9-12 19:18 编辑 ]
作者: 乌木    时间: 2011-9-12 21:44:47

好,我学学。
————————————
刚才在助手中试着学习设置“其他参数”等,先问个问题,1楼的捆绑信息和胡老师给的不一样(好像两者不是对称关系吧?),不知这BiCube有无确定的捆绑法?看来要灵活应用Cielo给出的方法,对吧?
有两种BiCube吗?.png

1楼的:
[KBMFjava=400,350]
[param=MFlength]3[/param]
[param=MFwidth]3[/param]
[param=MFheight]3[/param]
[param=Speed]10[/param]
[param=bind]U:1121;3112;1221;1321;F:1121;1212;2212;3212;R:2121;1212;2221;2321;L:1212;2212;3212;B:2121;2212;3212;D:2212;3212;[/param]
[param=butbgcolor]99d658[/param]
[param=bgcolor]f3a0e2[/param]
[/KBMFjava]

16楼的:
[KBMFjava=400,350]
[param=MFlength]3[/param]
[param=MFwidth]3[/param]
[param=MFheight]3[/param]
[param=Speed]10[/param]
[param=bind]U:1112;2112;3112;1321;F:1121;1212;2212;3212;L:1121;1221;3212;1321;B:1212;2212;R:2121;1212;2212;3212;D:1212;2212;[/param]
[param=butbgcolor]99d658[/param]
[param=bgcolor]f3a0e2[/param]
[/KBMFjava]

[ 本帖最后由 乌木 于 2011-9-12 22:47 编辑 ]

附件: 有两种BiCube吗?.png (2011-9-12 22:36:48, 107.93 KB) / 下载次数 55
http://bbs.mf8-china.com/forum.php?mod=attachment&aid=MTU4OTM4fDgxM2UxMDMwfDE3MzI2MzYyNjl8MHww
作者: Cielo    时间: 2011-9-13 00:31:22

回楼上乌木先生,捆绑信息是根据当前状态来设置的。

胡老师给的捆绑信息尽管不一样,但魔方复原之后应该和1楼一样。
您仔细看“红蓝棱”,红色是两块捆绑,蓝色是单独的。
作者: hubo5563    时间: 2011-9-13 08:32:22     标题: 回复 17# 的帖子

乌木老师,16楼的捆绑信息完全是按照10楼的展开图编辑的,再加上染色信息就是你打乱的魔方当前状态.16楼哪个魔方状态就是你的10楼展开图的状态,
捆绑信息应该按照当前状态来设置,设置后再按照当前状态染色.所以说,不管怎样打乱,即使不知道打乱步骤,也照样能设置成和你当前魔方完全一样的状态.

[ 本帖最后由 hubo5563 于 2011-9-13 08:39 编辑 ]
作者: schuma    时间: 2011-9-13 09:56:14     标题: 回复 17# 的帖子

Bicube应该是有个确定的捆绑方法的。我发“在线玩”帖子的时候,捆绑方法是按 Jaap 的网页来的

http://www.jaapsch.net/puzzles/bandage.htm

他的描述应该是很权威的
作者: 乌木    时间: 2011-9-13 11:08:18

哦,此事很有趣。
我17楼贴出的两个java图,是在助手中分别仅仅输入1楼的捆绑信息和16楼的捆绑信息(1楼的捆绑信息是“查看页面的源文件”得到的),输入16楼捆绑信息后没有进一步“染色”之类的操作,结果第二个java图就有问题了。

schuma介绍的网页中的捆绑方式是:
    BiCube捆绑方式.png

[ 本帖最后由 乌木 于 2011-9-13 11:24 编辑 ]

附件: BiCube捆绑方式.png (2011-9-13 11:18:38, 2.18 KB) / 下载次数 41
http://bbs.mf8-china.com/forum.php?mod=attachment&aid=MTU4OTY2fGZiNTAyNDA1fDE3MzI2MzYyNjl8MHww
作者: 乌木    时间: 2011-9-14 10:24:30

我还是不开窍。1楼提到的块1~5之外的块如何先行复原,我还是“七弄八弄”,不会“围绕最大捆绑块”简捷地复原它们。刚才好不容易把下两层大部分块复原好,还差左后下要安放蓝黄橙捆绑角块,整个魔方还要做三个捆绑角块的三轮换,见下图。继续琢磨中。
[KBMFjava=450,400]
[param=MFlength]3[/param]
[param=MFwidth]3[/param]
[param=MFheight]3[/param]
[param=Speed]10[/param]
[param=bind]U:1121;3112;1221;1321;F:1121;1212;2212;3212;R:2121;1212;2221;2321;L:1212;2212;3212;B:2121;2212;3212;D:2212;3212;[/param]
[param=Script]u;u';[/param]
[param=bgcolor]f3a0e2[/param]
[param=butbgcolor]99d658[/param]
[param=FaceU]112111411[/param]
[param=FaceF]322222222[/param]
[param=FaceL]336133333[/param]
[param=FaceB]344445444[/param]
[param=FaceR]515555555[/param]
[param=FaceD]666666466[/param]
[/KBMFjava]
作者: 乌木    时间: 2011-9-14 10:50:27

是否这样复原左下后的蓝黄橙角块(见下图),余下的块1~5问题就可以应用1楼公式了。
[KBMFjava=450,400]
[param=MFlength]3[/param]
[param=MFwidth]3[/param]
[param=MFheight]3[/param]
[param=Speed]10[/param]
[param=bind]U:1121;3112;1221;1321;F:1121;1212;2212;3212;R:2121;1212;2221;2321;L:1212;2212;3212;B:2121;2212;3212;D:2212;3212;[/param]
[param=Script]U;L;F;U';F';U;L;F';L2;U';F;U;[/param]
[param=bgcolor]f3a0e2[/param]
[param=butbgcolor]99d658[/param]
[param=FaceU]112111411[/param]
[param=FaceF]322222222[/param]
[param=FaceL]336133333[/param]
[param=FaceB]344445444[/param]
[param=FaceR]515555555[/param]
[param=FaceD]666666466[/param]
[/KBMFjava]


继续复原。即使有了两个公式,应用起来也够折腾的:
[KBMFjava=450,400]
[param=MFlength]3[/param]
[param=MFwidth]3[/param]
[param=MFheight]3[/param]
[param=Speed]10[/param]
[param=bind]U:1121;3112;1221;1321;F:1121;1212;2212;3212;R:2121;1212;2221;2321;L:1212;2212;3212;B:2121;2212;3212;D:2212;3212;[/param]
[param=initScript]U;L;F;U';F';U;L;F';L2;U';F;U;[/param]
[param=Script][1];[2];[1];[2];[1];[2];[3];[2];[1];[2];[1];U';[/param]
[param=Formula]U;L;F';L';F;U';R';F;R;F';&;L;F2;R';F;L';F2;R;F';&;F;R';F';R;U;F';L;F;L';U';&;[/param]
[param=bgcolor]f3a0e2[/param]
[param=butbgcolor]99d658[/param]
[param=FaceU]112111411[/param]
[param=FaceF]322222222[/param]
[param=FaceL]336133333[/param]
[param=FaceB]344445444[/param]
[param=FaceR]515555555[/param]
[param=FaceD]666666466[/param]
[/KBMFjava]

[ 本帖最后由 乌木 于 2011-9-14 11:20 编辑 ]
作者: Cielo    时间: 2011-9-14 19:09:11

回乌木先生:
弄前两层时,一开始只需要关注“最大块”两侧的这两对“棱角组合”,其他的都是可以先不管的。处理这两对的时候,可以换底,这样就能躲过“最大块”的限制。

另外,对于最后5块,我在1楼给出的只是说明一定能用公式一、公式二复原,但不一定是最佳方案。
以您上面遇到的情况为例,这样处理就稍微简单一点:
[KBMFjava=450,400]
[param=MFlength]3[/param]
[param=MFwidth]3[/param]
[param=MFheight]3[/param]
[param=Speed]10[/param]
[param=bind]U:1121;3112;1221;1321;F:1121;1212;2212;3212;L:1212;2212;3212;B:2121;2212;3212;R:2121;1212;2221;2321;D:2212;3212;[/param]
[param=initScript]U;[2];[1];[2];([1]');[2];[/param]
[param=Script][2];[1];[2];([1]');[2];U';[/param]
[param=Formula]U;L;F';L';F;U';R';F;R;F'; &L;F2;R';F;L';F2;R;F';[/param]
[param=butbgcolor]99d658[/param]
[param=bgcolor]f3a0e2[/param]
[/KBMFjava]




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