欢迎光临散文网 会员登陆 & 注册

转换机原理浅析

2023-03-14 11:24 作者:Cuber_xueyandy  | 我要投稿

 

Cuber_xueyandy

三个男人之间的恩怨情仇!——转换机的故事

视频链接:https://www.bilibili.com/video/BV1654y1M7ew/

前言:枪击风波

很久很久以前,有一个村庄,叫魔方村,魔方村里住着三个人,他们是大哥,小弟和枪手。

大哥和枪手都有枪,小弟没有枪。

有一天,小弟正在家里睡觉,突然听见一声枪响,醒来之后发现自己中枪了,仔细一看,原来是枪手打的,小弟没有枪,无法反击,所以赶紧去请大哥帮忙,大哥拿着枪来到小弟家,对对面的枪手说,刚才是你小子打伤了我家小弟是吧?拿命来!砰地就是一枪,把枪手撂倒了。然后大哥跟小弟说,行了,你家里安全了,快回来吧!小弟就回到了自己家,大哥也回到了自己家。这个故事叫《大哥替小弟报仇》

就这样平静地过了几天。

突然有一天,小弟听说村里又来了一个枪手,小弟心想,这回可不能再挨枪子儿了,先去找大哥求救吧!于是小弟就去找大哥了,大哥说,又来一个枪手?好!我去会会他!于是大哥拿着枪上小弟家去了,可大哥刚到小弟家,枪手就对着大哥开了一枪,大哥中枪之后,心想,新来的家伙是个狠角色啊,我还是先回家躲躲吧,于是回到了自己家,并跟小弟说,枪给你,这回你自己解决吧,我帮不了你了。小弟心想,上次大哥救了我,这次大哥中枪了,我得替大哥报仇啊!于是接过大哥的枪,回到家里,对着枪手就是一枪,把枪手给撂倒了。

上面这两个故事,就是转换机最基础的两个模型。

 

 

第一章:初识转换机

转换机是用来做什么的?

转换机用来解决魔方还原过程中的三循环问题,它可以在不影响其他色块的情况下,让参与转换机的三个色块做三循环换位。

 

几个概念:

直达层:一个色块可以通过一步转动(比如R,R2,M’,M2都算一步)到达目标色块的位置,被转动的这个层就是直达层。比如A通过一步转动(M’)可以到达F位置,那么A和F就构成了直达层(M层),而A和N则不是直达层,因为A无法通过一步转动达到N位置。

 

空穴:参与三循环的三个色块都会去的地方。 

前言里的两个故事中,小弟和枪手构成了直达层,而小弟家则是空穴。

 

 

 

第二章:注意事项、禁忌及规则

注意要区分角色和位置的关系。

小弟可以待在小弟家,也可以离开小弟家,但是小弟家是不会移动的。

同样,大哥可以待在自己家,也可以去小弟家,但是大哥家也是不会移动的。

枪手比较特殊,他永远待在自己的家里,哪里也不去,当然枪手家也不会移动。

 

大家都可以做什么?

(1)小弟家就是空穴,在这里可以做四件事:射击枪手,被枪手射击,请大哥来家里,迎接小弟回家。

(2)枪手可以做两件事:射击小弟家,被小弟家射击。

(3)大哥家只可以做一件事:让大哥搬进来或者搬出去。

 

大家不可以做什么?

(1)无论是大哥和小弟,都不能率先发起射击。

(2)枪手不能出门,也不能射击大哥家(但是可以射击小弟家里的大哥),因为只有处于直达层的位置才能相互射击。

 

注意:射击这个行为不会改变角色的位置,也就是说,枪手对小弟射击,并不会把小弟赶出小弟家,反过来,小弟对枪手射击,也不会把枪手赶出枪手家。这与魔方的实际状态不同,所以一定要特别注意。

 

三个规则:

(1)大哥去小弟家的时候,不能移动直达层上除小弟之外的任何色块。为了做到这一点,每次大哥出门之前,小弟都必须亲自去桥上迎接。

(2)第一枪永远是枪手开的,小弟和大哥永远不会主动发动进攻。

(3)枪手只能射击小弟家,不能射击大哥家。

 

两个法定起始动作:

(1)     枪手射击小弟家

(2)     小弟去桥上请大哥(大哥去小弟家)

 

 

第三章:如何分配角色? 

转换机所做的事,就是把三个色块做一个循环换位,同时不影响其他色块。

那么怎么给这三个色块分配角色呢?也就是说,谁来当大哥,谁来当小弟,谁来当枪手呢?

我们先来看看,这三个色块,有没有两个是在直达层上面的。如果有,那他们俩一个就是小弟,另一个就是枪手,而第三个色块显然就是大哥。那直达层上的这两个色块,谁来当小弟呢?那要看大哥的位置了,大哥去谁家方便,谁就是小弟。所谓的方便,就是操作顺手,步数少。大哥、小弟和枪手的位置确定了之后,我们就可以把我们的转换机运转起来了。

 

第四章:两个简单的例子 

我们以棱块三循环AQF为例:

A和F属于同一个直达层,所以他们一个是小弟一个是枪手,而Q自然就是大哥。那么A和F谁来当小弟呢?

如果以A作为小弟,那么我们只需要做【U’ R U】,就可以把大哥请到小弟家了,而且还不会破坏直达层上除小弟家的其他色块。

如果以F作为小弟,那么我们需要做【B’ R2 B】,才可以把大哥放到小弟家,也不会破坏直达层,但这显然不如【U’ R U】顺手。

所以,合理的角色分配方式是:A做小弟,F做枪手,Q做大哥。

注意,三循环上的各个位置都是平等的,所以AQF,QFA和FAQ都是一样的,代表的是同一个三循环。

所以我们做AQF的三循环,有三种备选的初始动作。

第一种,做AQ;第二种,做QF;第三种,做FA。

先看AQ,A去Q位置,也就是小弟去大哥家,这不是两个法定起始动作之一,所以pass。

再来看QF,Q去F位置,也就是从大哥家射击枪手,显然也不行,继续pass。

再看FA,F去A位置,也就是枪手射击小弟家,这个OK。

所以整个转换机的操作步骤就是:

(1)【M 】:枪手射击小弟家

(2)【U’ R U】:小弟去桥上请大哥(大哥去小弟家)

(3)【M’ 】:大哥(在小弟家)射击枪手

(4)【U’ R’ U】:大哥回自己家(同时小弟也回自己家)

 

这就是我们的第一个故事(大哥替小弟报仇)。 

 

我们再以棱块三循环AFQ为例:

虽然它们三者的顺序变了,但是位置关系没有变,所以角色分配还是按照之前的这个方式。

同样,三循环上的各个位置都是平等的,所以AFQ,FQA和QAF都是一样的,代表的是同一个三循环。

所以我们做AFQ的三循环,有三种备选的初始动作:

第一种,做AF;第二种,做FQ;第三种,做QA。

先看AF,意味着小弟要直接对枪手射击,但是我们之前定好了一个规则,就是小弟不能主动射击。所以,AF这条路走不通。

再来看FQ,意味着枪手要向大哥家射击,这也违背了我们的规则“枪手只能对小弟家射击”。

所以只剩下QA了。QA的意思就是小弟请大哥到自己家。

所以整个转换机的操作步骤就是:

(1)【U’ R U】:小弟去请大哥到自己家

(2)【M】:枪手射击小弟家里的大哥

(3)【U’ R’ U】:大哥回自己家,小弟拿着枪回到自己家

(4)【M’】:小弟射击枪手

 

这就是我们的第二个故事(小弟替大哥报仇)。 

 

 

第五章:更复杂的情况

前面说的都是最简单的8步转换机,实战当中,我们显然会遇到很多更复杂的情况,比如棱块AHR,我们就不太好直接做转换机(不管以R层还是F层作为直达层,都不方便大哥去小弟家,因为去小弟家之后很难不破坏直达层),此时我们就需要先做setup,把其中两个色块移动一下位置,再去做转换机。

棱块AHR我们可以这么做:

我们先做R2,把R和H移动到Z和P。

这时我们可以看到,R和H依然是直达层,那么A显然就是大哥。那么谁来当小弟呢?

如果是R(当前在Z位置)做小弟,那就需要做【B U2 B’】,才可以把大哥请到小弟家。

那如果是H(当前位置在P)做小弟,只需要做【D’ M’ D】,后者略顺手一些。

所以我们可以选择H(当前位置在P)做小弟。

AHR的起始动作有三种选择:AH,HR,RA。

AH就是大哥去小弟家,符合规则,所以我们直接做AH

具体的操作步骤是:

(setup):【R2】让R和H远离A,以方便A出门

(1)【D’ M D】:(小弟接)大哥去小弟家

(2)【R】:枪手射小弟家里的大哥

(3)【D’ M’ D】: 大哥回自己家,小弟拿着枪回到自己家

(4)【R’ 】:小弟射枪手

(reverse):【R2】

这是一个“小弟为大哥报仇“的故事。

如果是棱块ARH呢?很简单,那就先让枪手射击小弟家就好了。

 

 

我们再看了另一种比较复杂的情况:棱块ALE

A和E不在直达层,L和A,L和E也不在直达层,所以此时必须做setup。

我们可以选择做F’,把A放到T位置,这样就和L构成了直达层,而E就变成了大哥。

那么谁当小弟呢?

如果是A(T位置)做小弟,那我们可以做【F U2 F’】,把E放到T位置,但是这样会破坏直达层。

如果是L做小弟,那我们可以做【D’ M D】,把E放到T位置,同时不破坏直达层。

所以正确的角色分配方式是:

E当大哥,L当小弟,A当枪手。

角色分配好了,我们再来看谁先出手。

三种方案:AL,LE,EA

AL:可行,枪手直接射击小弟家

LE:不可行,小弟不能去大哥家

EA:不可行,大哥不能射击枪手

所以,ALE这个三循环的正确执行步骤是:

(setup):【F’】让A和L构成直达层

(1)     【L】枪手射击小弟家

(2)     【D’ M’ D】小弟请大哥到小弟家

(3)     【L’】大哥替小弟报仇,打死枪手

(4)     【D’ M D】大哥回自己家,小弟也回自己家

(reverse):F

这是一个“大哥为小弟报仇“的故事。 

 

如果是棱块AEL呢?很简单,那就先让大家先去小弟家就好了。

 

 

第六章:如何构造转换机 

第一步:寻找直达层

如果没有直达层,那就自己setup造一个。如果有直达层,且三个色块都在直达层上,那么要把其中一个色块移走,因为大哥家不能在直达层上面。注意,要保留的两个色块必须能构成直达层。

 

第二步:确定小弟的身份

第一步我们已经确定了大哥的身份(也就是处于非直达层的色块),现在我们要确定小弟和枪手的身份了。把哪里当做小弟家?当然是方便大哥串门的位置。

三个人的身份都确定以后,我们就可以执行转换机了。

 

举个例子:

我们来看棱块ALZ,它们彼此之间都没有构成直达层,此时我们就需要做个setup,比如做一个R’,把Z移动到H位置,这样H位置上的Z就和L构成了直达层,那么A显然就是大哥。

然后我们再来看,谁适合做小弟?

如果是Z做小弟,那么我们做【R’ F R】就可以把A移动到H位置,而且不会破坏直达层。

如果是L做小弟,那我们需要做【L’ F’ L】把A移动到L位置,也不会破坏直达层。相对来说,【R’ F R】比【L’ F’ L】更顺手一些,所以我们选择Z作为小弟。

所以棱块ALZ三者的最终身份就是:A为大哥,Z为小弟,L为枪手。

 

 

第六章:如何运行转换机

还是用上面的棱块ALZ做例子,我们已经构建好了直达层,同时也确认了三个角色的身份。现在我们要设计转动的步骤了。

角色身份:A为大哥,Z为小弟,L为枪手。

ALZ有三种起始动作可选,分别是AL,LZ,ZA。

AL:大哥射击枪手,违反规则,不可行。

LZ:枪手射击小弟,符合规则,可行。

ZA:小弟去大哥家,违反规则,不可行。

所以棱块ALZ的转换机步骤就是:

(setup):R’(让Z和L构成直达层)

(1)【S2】: 枪手射击小弟

(2)【R’ F R】: 小弟到桥上请大哥去小弟家(桥在R位置)

(3)【S2】:大哥射击枪手

(4)【R’ F’ R】:大哥回自己家,小弟也回自己家

(reverse):R

 

如果是棱块AZL呢?该如何射击转动步骤呢?

角色身份依然是:A为大哥,Z为小弟,L为枪手。

AZL有三种起始步骤可选,分别是AZ,ZL,LA。

AZ:大哥去小弟家,符合规则,可行。

ZL:小弟射击枪手,违反规则,不可行。

LA:枪手射击大哥,违反规则,不可行。

所以棱块ALZ的转换机步骤就是:

(setup):R’(让Z和L构成直达层)

(1)【R’ F R】:大哥去小弟家

(2)【S2】: 枪手射击小弟家的大哥

(3)【R’ F’ R】: 大哥回自己家,小弟也回自己家。

(4)【S2】:小弟射击枪手

(reverse):R

 

特别需要注意的是,每次大哥去小弟家的时候,小弟都要先出来迎接,只有这样才能保证直达层不会被破坏。

 

 

第七章:起始动作的可行性统计

起始动作必须满足以下两个条件之一

(1)枪手射击小弟家

(2)大哥去小弟家

 

假设现在有三循环XYZ,那么初始动作无非三种方案:XY,YZ,ZX。其中只有一种满足上面的两个条件之一。以下为初始动作的可行性表。

初始动作可行性表:

转换机初始动作表

  

由上表可以看出,当三循环的顺序,以及三个人的角色都确定以后,第一个动作有且只有一种方案可以选择。

以“X哥,Y弟,Z枪”为例,XYZ这个三循环的第一个动作只能是XY(大哥去小弟家),而ZYX这个三循环的第一个动作只能是ZY(枪手射击小弟)

同样,以“X弟,Y哥,Z枪”为例,XYZ这个三循环的第一个动作只能是ZX(枪手射击小弟家),而ZYX这个三循环的第一个动作只能是YX(大哥去小弟家)

 

总之,不管是射击还是出门,第一个动作的目标都必须是小弟家(因为小弟家是空穴),所以第一个动作的起点,要么是枪手,要么是大哥,至于到底是枪手还是大哥,那要看三循环的顺序。

 

第八章:三个核心问题

(1)如何构建直达层?

有且只有两个色块可以通过一步操作到达彼此的位置,这两个色块就构成了直达层。如果没有直达层,我们可以通过setup来构建直达层。如果直达层上有三个色块,我们可以通过setup移掉一个非直达层的色块。

(2)    如何确定谁是小弟?

第一,  小弟家必须在直达层上面,

第二,  小弟家必须很方便让大哥过来串门。小弟确定了,枪手和大哥也就确定了。

(3)    如何确定谁先动手?

角色先动手的时候只需要满足以下两条规则之一,就可以先动手。

规则一:枪手只能射击小弟家

规则二:大哥一开始只能去小弟家

 

第九章:宅男模型

我们之前介绍了标准转换机的运行机制,现在呢,我们再来复习一下。

标准的转换机呢,分为8步。

以编码AQF为例,第一步我们可以做FA,也就是枪手射击小弟家。

第一步:枪手射击小弟家(M)

第二步:小弟去桥上等大哥(U’)

第三步:大哥去桥上见小弟,同时小弟给大哥让位(R)

第四步:大哥去小弟家(U)

第五步:大哥射击枪手(M’)

第六步:大哥回到桥上(U’)

第七步:大哥回到自己家,同时小弟回到桥上(R’)

第八步:小弟回到自己家(U)

 

那如果是编码AFQ呢?我们可以先做QA,也就是大哥去小弟家,所以呢,小弟要先去桥上接大哥。

第一步:小弟去桥上等大哥(U’)

第二步: 大哥去桥上见小弟,同时小弟给大哥让位(R)

第三步: 大哥去小弟家(U)

第四步: 枪手射击小弟家(M)

第五步:大哥回到桥上(U’)

第六步:大哥回到自己家,同时小弟回到桥上(R’)

第七步: 小弟回到自己家(U)

第八步: 小弟射击枪手(M’)

 

大家可以发现,AQF其实就是把AFQ反过来做就行了。

绝大多数的三循环都可以通过setup转化成标准的8步转换机,不过也有极少数情况,我们需要特殊处理。

 

我们来看这个编码:AME。

第一步,我们先来确定直达层。A和E都在U层,它们可以通过U2操作到达彼此的位置,所以A和E构成了U层这个直达层。同样,A和M都在M层,它们可以通过M2操作到达彼此的位置,所以A和M也构成了M层这个直达层。E和M也可以通过B2到达彼此的位置,所以E和M也构成了B层这个直达层。也就是说,它们三者两两组队,分别构成了3个直达层。

那假设我们以U层为直达层,那么M显然就是大哥,那A和E谁来当小弟呢?

如果是A当小弟,那我们需要找一座桥,然后让小弟去桥上等大哥。

如果以R作为桥,我们需要让小弟先上桥,也就是做一个F。

然后大哥也要到桥上来,那最简单的做法就是B R2

然后大哥再去小弟家,做F’。

且不说步骤是不是太繁琐了,就算不考虑步数的问题,我们的U层这个直达层其实已经被破坏了,这是转换机的规则所不允许的。

同样,以T,I或者J作为桥,也会破坏直达层。

我们再来看,如果以E作为小弟呢?该怎么搭桥呢?情况跟A做小弟时也差不多,很不好搭桥。

同样的,如果以B,或者M作为直达层,也会遇到同样的问题。为什么会这样?就是因为它们处在同一个M层,不管怎么操作,都会互相干扰。

怎么办?按照标准8步转换机的做法,我们就只能setup了。

比如我们可以先做一个B,不让A,E,M都处在同一个层上面。不过这样一来呢,我们就没有直达层了。有同学会说,那这个时候B层不就是E和M的直达层吗?但是我们刚才说过了,如果以B层作为直达层,我们是找不到桥的,所以我们只能寻找别的直达层。

比如我们现在做一个R2,把M移动到R的位置,这样E和M就构成了E这个直达层。

此时A显然就是大哥,那谁当小弟呢?

我们看看,如果把E位置作为桥,那么X位置上的E就可以通过B’达到桥上,而大哥呢也可以通过U2达到桥上,都是一步到位,很方便,所以我们就把E位置当做桥,那么X位置上的E自然就是小弟,而Q位置上的M就是枪手。

三个角色的身份都确定了,我们现在来看看初始动作应该是什么?

编码是AME,初始动作有三个方案:

AM,ME,EA。

AM就是大哥射击枪手,不行。

ME就是枪手射击小弟,可以。

EA就是小弟去大哥家,不行。

所以我们的初始动作就是:枪手射击小弟,也就是做一个E2。

第二步呢,自然就是让大哥去小弟家,也就是B’ U2 B

第三步呢,大哥射击枪手,也就是E2

第四步,大哥回自己家,B’ U2 B

所以AME的完整做法就是:

setup:B R2

(1)   E2

(2)   B’ U2 B

(3)   E2

(4)   B’ U2 B

reverse: R2 B’

一共有12步,似乎有些繁琐。那,还有没有更好的办法呢?

当然有!

但是这个办法,使用的不是标准版的转换机模型,而是升级版的转换机模型,我把它叫做宅男模型。

宅男模型与前面说的报仇模型的最大区别,就在于不管是小弟,枪手还是大哥,他们都很宅,不喜欢出门。但是他们的宅是有条件的,那就是他们的装备足够好。

他们都有什么装备呢?大哥有手雷,小弟有枪,枪手更厉害,两个都有。这也是他们可以不用出门的资本。

 

宅男模型的使用有两个限制条件:

(1)     三者处于同一个中层(比如M,E或者S层)

(2)     三者所处的平面平行(比如A,M,E所在的平面是平行的)

 

所以AEN并不能使用宅男模型,因为N所处的平面与AE所处的平面是直角关系。

 

宅男模型的角色分配遵循下面两个原则:

(1)     小弟和枪手必须在同一个平面上。

(2)     枪手必须在小弟和大哥中间。

 

宅男模型的操作有一个限制条件:

不许立即反击。

 

好,我们现在就来用这个宅男模型来处理AME这个编码。

我们来看,A和M,E和M都不在同一个平面上,只有A和E在同一个平面上,所以根据第一个分配原则,A和E就是枪手和小弟,U层就是直达层。

那么A和E谁是小弟呢?我们看第二个分配原则:“枪手必须在小弟和大哥中间”,那么显然,E就是枪手,A是小弟。

好,直达层和三个角色都已经确定了,我们来看看初始动作是什么?

初始动作有三种方案:AM,ME,EA

AM就是小弟去大哥家,不可以。

ME就是大哥率先攻击枪手,也不可以。

EA就是枪手攻击小弟,可以。

所以AME的初始动作就是:枪手攻击小弟:U2

那第二步呢,如果按照标准转换机的做法,应该是大哥去小弟家,对吧?

但是我们这个模型是宅男模型,谁都不愿意出门,小弟也懒得去请大哥,大哥也懒得出门,所以大哥决定直接对枪手发动攻击,于是大哥做了一个M,对着F位置扔了一个手雷。

我们知道,手雷的攻击范围很大,所以把E位置上的枪手给炸了。

这时候小弟心想,大哥真给力啊!我也不能给大哥丢人啊,于是小弟就朝枪手开了一枪(U2)。

枪手腹背受敌,很狼狈,但是现在他的子弹已经用完了,只剩一颗手雷了,炸谁呢?刚才谁炸我,我现在就炸谁,于是他做了一个M’,把大哥给炸了,故事就结束了。

这就是宅男模型。

 

我们再来看棱块的AIM这个编码。

I和M处在同一个平面,所以他们一个是枪手,一个是小弟,那A自然就是大哥。

而枪手必须处在小弟和大哥之间,所以I自然就是枪手,M就是小弟。

 

那么有哪些编码满足宅男模型呢?

棱块的编码,比如AME,AEM,AIE,AEI,AIM,AMI都满足宅男模型

同时,像AKE,AOE,AXZ等也可以通过一步setup转化为宅男模型。

 

需要注意的是,宅男模型只能用于棱块,不能用于角块。因为宅男模型需要使用手雷,而手雷必须在中层使用,角块的转动与中层无关,自然也就无法使用手雷。

 

 

我们再来复习一下,以棱块A作为缓冲块时,当我们的棱块遇到两顶一底,或者一顶两底的情况,我们就可以使用宅男模型。

 

宅男模型是一种很特殊又很高效的棱块三循环模型,对于某些特定的棱块编码非常有用。,

 

宅男模型中,还有一条规则:

第一个动作永远是枪手射击

 

所以,对于AEM而言,AE是小弟向枪手射击(X),EM是枪手向大哥射击(不在一个直达层,无法射击,X),MA是大哥去小弟家(宅男不出门的,X)

那怎么办?只能setup,我们做一个M,此时编码就变成了JBF,JBF实际上就是IAE,也就是AEI,所以完整的做法就是M-AEI-M’,

也就是M U2 M’ U2 M M’,消步后就变成M U2 M’ U2,这实际上就是AME的逆公式。

 

小结:

宅男模型的使用条件:

(1)     只能用于解决棱块三循环

(2)     三个棱块都在一个中层上(M,E或S)

(3)     三个棱块所在的平面互相平行

 

宅男模型的角色分配原则:

(1)     小弟和枪手必须在同一个平面上。

(2)     枪手必须在小弟和大哥中间。

 

宅男模型的操作限制:

(1)     初始动作只能是枪手开枪射击小弟。如果当前编码的顺序无法满足这个条件,就需要做setup,创造这个条件。

(2)     任何人被攻击后不能立即反击攻击的发起者

(3)     大哥只能扔手雷,小弟只能射击,枪手两者都可以。

 

 

第十章:总结

标准转换机的运行流程:

(1)     寻找或构建直达层(同时确认大哥身份)

(2)     确认小弟身份(大哥容易去谁家,谁就是小弟)

(3)     确认初始动作(枪手射击小弟or大哥去小弟家)

(4)     执行四步操作:

              (A)   枪手射击小弟->大哥去小弟家->大哥射击枪手->大哥回自己家

              (B)   大哥去小弟家->枪手射击大哥->大哥回自己家->小弟射击枪手

 

标准转换机的注意事项:

(1)     直达层不能被破坏

(2)     射击不会改变角色位置

(3)     第一枪永远是枪手开的 

 


宅男模型:用于解决棱块三循环的某些特殊情况,非常高效。 

宅男模型的运行条件:

(1)     三个棱块都在中层,且所在平面相互平行

(2)     初始动作永远是枪手射击小弟,如果枪手无法射击小弟,那就需要做setup

 


转换机原理浅析的评论 (共 条)

分享到微博请遵守国家法律