12还原魔方只需要25步.docx
- 文档编号:26705642
- 上传时间:2023-06-21
- 格式:DOCX
- 页数:17
- 大小:30.79KB
12还原魔方只需要25步.docx
《12还原魔方只需要25步.docx》由会员分享,可在线阅读,更多相关《12还原魔方只需要25步.docx(17页珍藏版)》请在冰豆网上搜索。
12还原魔方只需要25步
还原魔方只需要25步111
——TomasRokicki
摘要
需要多少步才能还原一个魔方?
我们知道魔方的各个位置情况保证需要20步,并且已经被证明没有什么位置情况是需要27步或27步以上的步骤来还原的;这是个令人惊讶的巨大差距。
本文介绍的是一种使得能够在1秒钟之内找到超过1600万种情况的不超过20步的解决方法。
我们运用这种方法的同时,会在一些其他的技术中添加一些新的想法和改进来证明没有一种魔方情况是需要26步以上的来还原的。
1介绍
魔方是一个简单,廉价的只有少数几个移动部位的拼图,然而它的一些最简单的特性在它被发明后的30几年间一直不被人了解。
这其中最基本的一个未被解决的问题是:
需要多少步才能还原魔方的最坏的一种情况?
我们认为一个单独的移动是任何一个面上朝任何一个方向的90°或者180°的转动(公制的面转动)。
在这种转动情况下,有超过36000种不同的位置状况需要至少20步来还原[8]。
没有这样的位置情况表明需要21步来还原。
迄今为止最好的理论方法和电脑搜索算法唯一能够证明没有那种情况需要超过26步来还原的[3]。
在这篇文章中,我们将会证明所有的情况都可以在25步或者25步以内还原。
我们证明这个结果是通过将魔方空间分成20亿个组别,每个组别拥有200亿个元素。
然后我们将注意力集中在找到具体组别中的不同情况之间差距的上限,然后结合这些结果去计算整个魔方空间的上限。
这篇文章新的贡献在于以下几点:
1.我们延伸了Kociemba的最优求解算法,来同时考虑对于一个特定位置状况的6个转变,因而找到最优解法会更快。
2.我们把他的算法转换成一个组别求解器来同时解决数十亿种状态。
3.我们会展示如何从考虑范围中排除大量的情况,因为这些位置状况中的很大一部分会结合在其他情况中。
4.我们结合以上3种情况和一些简单的算法来使得这些分组得到解决,并运用一定量的计算机来实际运算这些分组,整合所得结果,最后得以证明任何一种魔方的状态都可以在25步以内解决。
2颜色,转动和立方体空间的大小
魔方是由26个小的立方块组成的,并且每个面是六种颜色中的一种。
对于这26个块来说,其中有6个形成了一个固定的框架并伴随着剩下的20个块的运动。
这6个构成固定框架的块就是每个面上的中心块。
任何魔方上的运动都是由一个面上的9个小块共同组成的,并把它们作为一个小组沿着整个魔方和这9个块的中心轴线旋转90°或者180°。
每一个运动都保持整一面魔方的可见性。
8个角块中的任何一个都是由3个可视面构成,同样12个棱块中的任何一个都是由两个可视面构成。
我们会频繁的使用“角”和“棱”来表示“角块”和“棱块”。
在一个已经解决的状态中,魔方的每个面独有一个单一的颜色。
按惯例,我们把这些颜色和他们的方向在魔方上联系起来:
U(p),F(ront),R(ight),D(own),B(ack)和L(eft)。
每一个90°的顺时针转动被指定为没有后缀的面的字母;而每一个90°的逆时针转动则被指定为在每个面所表示的字母后加符号(’),然后每个180°的转动则在每个表示面的字母后加数字2。
所以在右侧面上的一个90°的顺时针转动被表示为R,转动序列R2,L2,U2,D2,F2,B2会形成一个被叫做PonsAsinorum的漂亮图案。
一共有18种不同的转动方式,我们用S来定义这一套东西(按照惯例,一个顺时针的转动有时候会在后面加上“+”或“1”的后缀,一个逆时针的转动则会标上“3”)。
就像棱块一样,角块也会被任意交换,但是棱块和角块的同等排列必须相互搭配。
这就产生了12!
8!
/2种可以达到的状态。
每个角块必然有一面会是U和D的颜色。
我们将角块的默认的方向定义为块上的U和D的颜色在整个魔方的U和D面上;角块还可能相对于默认的方向被顺时针或逆时针转动120°(沿着魔方的中心看)。
注意到每个角块的方向通过U,D,R2,L2,F2,B2这些转动还会被保存着,而R,L,F或B这些转动则不可以。
角块的方向是完全任意的,但是其前提必须是角块转动度数总量之和必须是360°的倍数。
这样一来,这些角块方向就产生了额外的种可以达到的状态。
我们定义棱块的默认方向为在一个已经解决的魔方中通过U,D,R,L,F2,B2的转动不改变其方向(但会因为F和B的转动而改变)。
每个棱块要么从这个方向翻转,要么不是;但是翻转总量必须是偶数。
这些棱块的方向又额外产生了种可以达到的状态。
可以达到的状态的总数,并且,立方体的尺寸都是这些因素的产物,这个数字大约是4.33。
我们把能够达到的状态称为G。
对于每一种可达到的状态来说,都可以通过一个极大的转动序列来获得那种状态。
我们定义状态p的“距离”(d(p))作为能够到达该种状态的最小转动序列。
我们定义一组状态的“距离”作为那一组中最大的需要达到的长度。
作为惯例,我们会指出串联的两个转动序列的连续应用。
我们也会通过将状态和序列串联起来的方式来指出对应一个状态或一组状态的序列的应用。
3对称性
魔方是具有高度对称性的。
除了颜色魔方在每个面上没有任何的区别;假使我们将魔方在空中并接住,它自身还是保持原状,而仅仅是对应于U面,R面的等的颜色发生了变化。
实际上,通过抛掷魔方,接住魔方和注意魔方颜色在不同面上的方向,我们总共可以列举24种不同的方法来定位魔方,每一种都是伴随着将颜色映射到U,F,R,D,B和L面上。
具体来说,U面可以有6种不同的颜色,并且对于这6种颜色来说,会有4种可用于F面。
这两个颜色完全可以确定魔方正常的方向。
如果我们选择一个典型的颜色代表,那么48种方向中的任一种都是一个魔方的颜色的排列。
我们称这种颜色排列为M。
如果一个特殊的魔方状态p是通过一个转动序列s来获得的,我们可以通过应用48种颜色排列中的任一种(记为m),演绎序列s和逆向排列m来获得完全相符的状态。
由此产生的状态和原始的的状态有很多相同的特性(尤其对于我们来说,“距离”)。
如果我们重复全部48种M中的排列操作,我们会得到48种状态。
这种状态并不一直是第一无二的,但对于绝大多数魔方的状态来说它确实是第一无二的。
利用这种形式的对称性,我们可以通过这48种因素减少很多对于立方体空间的搜索算法。
每一种模仿的状态有一个单独的具体的逆向状态。
如果一个状态是通过序列s来实现的,那么它的逆向状态就是通过一个逆向的序列s’来实现的。
为了颠倒某个转动序列,你会将它逆转并且将每个转动都颠倒;面仍然保持原状,但是顺时针则会变成逆时针,反之亦然。
这组对称状态的逆状态p和对称状态p的逆状态是相同的。
某种状态的特性同样被他的逆状态所有(例如,“距离”)。
我们可以将立方体空间划分为对称性和逆向性的结合,这是通过减少对某一状态的对称性状态和逆向性状态结合的组别来实现的;这样的组别只有4.51组。
4计算直径
我们的兴趣主要集中在找到对于所有状态的最大距离;这就是我们所说的分组的直径。
其中一种计算直径的方法就是穷举所有的状态,并且最优的解决每一种状态。
实用的魔方最优求解器曾被用过一段时间[4];它们通常都需要大约平均15分钟来求得最优解(状态和程序之间存在巨大差距)。
假使我们利用这种程序来解决已经被减少到4.51种的组别状态,那么利用当今的硬件条件,我们将会需要超过3百万台计算机并用超过3百万年的时间来完成。
然而,我们知道一些状态需要至少20步来还原。
找到第一批这样的状态被叫做“超级翻转”;它使得所有的块在正确的位置,所有的角块正确定向,并且所有使得棱块被翻转[7]。
HerbertKociemba发明了一种方法来快速地找到任意一种状态的合理的,短的,但不是必须的最优算法。
这种程序(我们将描述的则稍微有了点改进)会以每秒解决240种不同状态的速度找到小于等于20步的转动序列(确实有这样一个符合条件的序列;目前仍未发现例外)。
但即使以这样一种速度,要证明全部4.51种状态仍然需要超过7千台计算机和超过7千年的时间。
我们并没有失去所有的希望。
科学在进步;当我们达到能够以每秒解决900万种不同状态的时候,我们就只需要4太计算机并花费4年时间来完成这一项证明。
与此同时,我们可以拿出更好的技术来精细化上限,并改善我们的技术。
5Kociemba的算法
若干技术已被用来寻找立方体群组直径的上限。
Thistlewaite给出了4个阶段的满足最多需要52步算法。
HerbertKociemba则将这个算法改进到最多只需要29步(例如MichaelReid[6])。
我们的工作则是建立在Kociemba算法的基础上,所以我们在这里会把它描述的更深一点。
Kociemba对此在自己的网站上有更加详细的解释说明[2]。
在2006年,Silviu
Radu将这个上限减少到了27步[5],然后在2007年Kunkle和Cooperman将其减少到了26步[3]。
Kociemba的算法鉴别出一个容量为200亿种状态的组别,称为H。
Reid则证明任何一种在这个组别里面的状态都可以在18步以内得到解决,进一步,每一种状态这个组别里的状态都是最多12步。
阶段一找到一个转动序列使得一种任意状态的魔方转换成为组别H里面的某种状态,阶段二则是找到另一个转动序列使得这种新的状态变完全得到解决。
为了描述这个组别,我们会介绍一些新的术语。
在一个得到解决的魔方里面,每个小块“属于”一个特定的位置。
因此,所有的小块里面有U面的颜色,则该小块必是顶层9个小块中的一员。
中层则是由顶层和底层所夹且由8个小块构成;这其中只有4个小块(全是棱块)可以转动。
组别H是由拥有以下特性的所有图形所构成的:
1.所有的角块和棱块已被适当的导向。
2.属于中层的棱块则已被定位在中层。
满足这些条件的状态的数量是被允许的角块、顶层,底层和中层的棱块的排列,由于条件的作用,棱块的排列和角块的排列必须相互搭配。
因此这个数量为或者195亿种。
这些特性通过被叫做组别A的转动U,U2,U’,D,D2,D’,R2,L2,F2,B2以后仍然被保留着。
进一步,这些转动足以将每一种组别H里面的状态转变为得到解决的状态。
(这是个不平凡的结果,但是它却很容易通过暴力穷举得到证明。
)对于组别H中几乎所有的状态,仅由A中的转动构成的最短的转动序列,其长度和仅由S中的转动构成的最短的转动序列是一样的,如表1所示。
再进一步,所有情况中最坏的情况是18步。
由于对这一组别的特性的定义是把U和D面与L,R,F和B面区分开来的,48种关于魔方的对称性不能全被用于此处;然而,有16种可以被使用。
因此,通过对称性减少并且每个条目都利用二进制,那就有可能只用300MB的存储空间来保存整个组别H的距离表。
为了决定一个使得H中的状态变成得到解决的状态的序列,可以简单地在这个巨大的表中查询当前状态的距离。
如果不是0,那就尝试A中10种转动中的每一种来找到最接近的状态,并应用那个转动。
重复这个步骤直到魔方的得到解决。
表1:
H中的状态的数量在给定一个距离时利用转动S和转动A得出的结果明显相似
剩下的问题就是我们如何才能把任意的魔方状态用12步甚至更少的步骤转变到H中的一种状态。
为了强调这一点如何能够被完成,我们会描述一种方法来标记魔方,从而使得H中的所有状态独有相同的形态,且所有不在H中的状态具有不同的形态。
考虑到一个任意的状态p.为了使它进入H,角块的排列是无关紧要的;但是和其方向有关。
为了表示这一点,我们从角块上取下全部的贴纸,并用U取代U和D面的颜色,其他几个面(黑色的基本塑料)留作空白。
(为了使得操作变得简单,我们把D面的中心贴纸也换成U面贴纸。
)现在全部的角块都是可以互换的,但是我们有足够的信息来记下角块的定向。
中层棱块的排列也无关紧要,但是他们必须被正确地在中层定向。
于是我们取下中层的4个棱块的贴纸,用F面颜色的贴纸取代F面和B面,L面和R面的颜色则留作空白。
(为了方便起见我们还把B面中心快的颜色换成F面的颜色。
)
顶层和底层的棱块排列也是无关紧要的;对于这些,我们做像角块一样的的颜色改变(U和D转变成U,而其他四种颜色则取下)。
通过这种转变,我们使得H中所有的状态转变成了相同的解决了的魔方:
8个角块,每一个在U面和D面的块都贴着U面的贴纸;中层的4个棱块,每一个在F面和B面的块都贴着F面的贴纸;另外8个在顶层和底层的棱块,每一个在U面和D面的块都贴着U面的贴纸。
所有不是H里面的状态则是另外一个不同的形态。
这个做过标记的魔方有一个比完整形态魔方更小的状态空间。
具体来说,这个空间是由种角块的方向乘以种棱块的方向再乘以种在12个棱块中分布4个中层棱块的状态,总共有种状态。
我们把这种状态组别称为R。
运用16种方法通过对称性减少并且每个状态都利用二进制记录,一份完整的距离表很容易在存储器里被拟合,这样一来全部状态的空间大小更加容易被搜索算法。
我们把这种标记方法叫做r;它在G中取出一种状态并转变成R中的一种状态。
Kociemba的算法就是取出一种原始的状态,称为p,计算r(p),即做标记;运用一些序列a(a)解决这个做了标记的魔方,把那些转动应用于一个原始的魔方产生pa(存在于H里面),然后运用另一个序列b(b)完成这个解法,那么pab就是解好的魔方。
最终的解决序列即为ab。
Kociemba的算法将问题切分为两个大致相同的子问题,这其中每一个都能很容易地利用存储器里的查找表进行穷尽的搜索算法,进而产生一个对于更大问题的比较好的解法。
这种算法几乎可以在瞬间找到一种距离少于29步解法(几乎在1毫秒以下)。
这就定义了一个最坏状态距离的上限。
Kociemba为了另一个目标而延伸了这个算法:
对于给出的一种状态快速找到其最优解。
他提出找到许多阶段1的解法,从最短的开始逐渐增加器长度,然后对于每一个找到最短的阶段2解法。
通过考虑数十种,数千种,甚至数百万种这样的序列,他发现在时间最优解很块能被找到。
假定输入的是由p所指称的最初的魔方状态,他的算法就是给出的算法1。
该算法可以一直运行到完成,也可以被用户或者当达到一个符合长度的解法时停止。
在Kociemba的算法里,是一个查询表,它在H里面取出一种状态并且利用S中的转动将距离返回到识别要素中(e)。
(Kociemba实际上用到了一个更小更快的表来给出数值的约束;查看[2]获得详细信息。
)for循环是通过一个维持ps增量和具有深度精细化的深度优先的递归程序执行的,例如,不允许s在A里面的一个转动中结束。
阶段二的解法进程由于其一直向前运行且和比穷举阶段一花费更少的时间两个原因二被删去。
这个算法极其有效。
有以下几点原因:
1.阶段一的解法很快会被找到,并且大多进入阶段1查找表部分的解法接近被解决的状态;这显著增强了高速缓存的方位效用。
2.当在寻找阶段2的解法时,几乎总是第一次查询表明离解决状态的距离会使得总的解法比到目前为止找到的要长;因此,几乎所有的阶段1的解法会被在阶段2表中的一个单次查询所排斥。
3.Kociemba发现,在实践中如果他不考虑包含有严格运算符号的阶段1的解法,那么该算法运行速度将大大的加快,并且该算法同样也是阶段1的算法。
4.阶段1结尾的最后一步转动往往是F,B,R或L的顺时针转动;逆向转动同样也是阶段1的一个解法,所以候选解法往往会成对的形式出现在阶段1搜索算法树的枝叶上。
5.当与H的距离小的时候,对于阶段1的搜索算法可以有很多最优化解法可以被演绎,就像存储专门的举措来降低离那一点的距离。
Kociemba的算法可以像上面所述那样被运行,或者也可以在3轴模式中运行。
注意到该算法如何将U和D与其他四个面区分开。
取代了仅在一个单一的给定状态p中搜索算法,在3轴模式中我们则搜索算法三个循环状态,一个是使得R和L面与U和D面相对应,一个是使得B和F面与U和D面相对应,最后一个是原始的未循环状态。
对于一个给定深度的阶段1,在进入下一个深度阶1之前,我们尝试每个循环。
我们的测试表明,这会使比运用1轴模式更快地找到更小的状态;当试图找到长度小于20的解法时,这种解法的速度差不多是1轴模式的6倍。
我们把这个想法更加深化一个层次;对于一个新的6轴模式,我们还考虑的逆向的在三个方向的状态。
我们发现当试图找到少于20步的状态是这使得平均速度又增加了。
6我们的组别求解
Reid通过证明只要不多于12步就能把一个任意状态的魔方转变成组别H中的状态(通过解决重新贴纸的魔方),表明了30步的界限,然后他又表明任何一个组别H中的状态都能在18步以内被解决。
(然后,他运用一个聪明的想法将它减少到29步,为了简要起见这里省略[6]。
)我们证明25步的方法和他相似,但是取代只用组别H的是,我们采用的则是一个由数千个和组别H相关的组别所构成的大组别。
考虑到如何用Kociemba求解器来获得一个任意状态的最优解。
第一步先将该状态放入组别H,利用一些转动序列,然后在组别H里面计算它离解决状态有多远。
接着找到了另外一种方法将它放入组别H,并检查在那个状态下离解决状态有多远。
数十次,数百次,数千次,数百万次,甚至数十一次的做这个工作,每一次都查找一个较短的解法。
我们把这种技术向外扩展。
我们不使用一个大的表,对每一种组别H里面的状态,它离解决状态有多远,相反,我们使用一个表来表明我们是否已经到达了那个组别H里面的特定状态。
然后我们穷举所有的序列把最初的状态转变到组别H中,对于越来越长的状态,直到那张表完全被标记;那样一来所有的状态都能被看到。
这个时候,最长序列的长度我们就认为是解决整个大集状态的最大距离;具体来说,所有的这些状态,当阶段1做完标记后,就像最初开始的状态那样给予相同的标签。
运用这个技术,我们可以从本质上解决200亿种魔方的状态,而非一个;如果我们打算将每次将一个序列写下来,我们要在这个大表上建立新的位子,我们最终可以在组别中将每种状态的序列都写下来。
在我们的组别求解器最主要的输入是一个序列a(a),这个序列a使得已经解决的魔方变成某种状态;那么该组别要解决的就是Ha。
另一个输入是最大深度m来运行阶段1的搜索算法;我们发现当值m=16足够充分来证明一个组别距离的上限为20。
为了找到精确的距离,m需要趋近于。
我们的算法给做算法2。
在第4行,我们利用组别的左乘法来移动;这个做法不常规但是仍然很快。
在第9行,s是通过来达到该状态的解法。
不像Kociemba的搜索算法,我们允许自己的阶段1搜索算法进入然后又离开组别H;我们这么做是为了计算精确地组别界限(如果我们想的话)。
我们目前还没搜索算法这种算法对运行时间的性能影响。
将组别f用位图表示出来,每种状态一个比特。
对于prepass(第4行),我们同时需要来源组别和目标组别,所以我们要使得这些位图立即存储起来。
我们的需求量完全由这些位图所支配,需要总共4.7GB的存储空间。
对于组别R中的具有对称性的状态,我们利用其对称性在老式的没有很大存储空间的机器上运行哪些状态。
组别f的索引是通过将魔方的状态分裂为独立的坐标来完成的,将其表示成角块的排列,顶层和底层棱块的排列,和中层棱块的排列。
用在程序上的时间被分为prepass和搜索算法阶段两部分。
Prepass是一个简单的对于组别f的整体扫描,乘以10个组别A里的转动;通过处理坐标从一个最重要的向最不显著的递归算法,使得内部循环只需处理中层棱块的排列,这样一来就有效的完成,并且较为昂贵的角块坐标计算在递归中进行地早,从而使得时间大幅度减少。
搜索算法阶段的时间(第9-11行)对于低的d是很小的,因为很少有序列符合条件,但是当d增大,搜索算法阶段的时间也呈现支书记得增长。
典型的一个搜索算法在d+1的水平时需要10倍于水平d时的时间。
在典型的情况下,通过限制m趋近于16,我们控制了总的搜索算法阶段的时间,且全部的程序运行也加快。
对于m的值为17或者更高,那么这时候搜索算法的时间会支配总的时间。
目前我们执行这个组别求解器有很大的局限性;现在它只解决那些中层的4个棱块在中层的组别。
这些限制简化了一些转动的计算,但这并不是必须的基本思路。
在将来,我们将设法取消这一限制。
7改进约束
我们解决的一些组别有相对较少的最远距离的状态。
因为对于较低的m值我们的组别求解器只给我们一个组别距离的上限,但是在很多情况下全部状态的真实距离往往小于计算所得的上限。
通过利用单个立方体解决这些明确的问题,来证明他们不需要像我们的组别求解器求出来的步骤那样多,我们可以通过1频繁的减少组别界限的距离。
为了促进这一点,如果在循环的开头,其中一个组别里面没有得到解决的状态的数量降低到65536以下,我们将这些状态中的每一个打印到一个日志文件里。
为了解决这些状态,我们首先用6轴模式执行Kociemba的算法。
由于我们所寻找的解法长度往往是19或者20,因而这个算法用来找寻解法很快,常常不到一秒钟。
对于那些抵制Kociemba求解器的状态,我们则用自己的最优解求解器来解决。
8组别图
组别R里被标记过的状态G有大约20亿个元素。
考虑一种状态a(aR);我们可以定义组别a全是g(gG)里面的元素,从而有r(g)=a。
我们去吃出组别a里面的一个元素i;那么整个组别可以表示为Hi。
每个组别恰巧含有相同数量的元素,大约200亿个;组别里的每一对不是相同就是不相交的;那么多有组别的总和即为G,即全部的立方体空间。
(这可以由初级群论来证明,因为H是G的子集且每个Hi是一个陪集。
)
这些组别都和S里面的转动相关。
考虑一种魔方的状态a和它的组别Ha。
组别Hab对于bS是和组别Ha相邻的。
我们可以认为组别R是一张图,图的顶点则用组别R中的状态来表示,并且棱边是S中的转动。
很明显对于任何给定的状态都有|d(ab)-d(a)|1,且这对于作为全部的组别也适用:
|d(Hab)-d(Ha)|1。
如果我们证明了对于c的一些值有d(Ha)1成立,那我们也能证明d(Has)c+|s|,s且|s|是组别s的长度。
这就使得我们能够找到一个组别的上限,并且用它来推断图表R里面与其相邻组别的上限。
做过标记的魔方表现出了16种对称性,因而通过对称性减少以后真的只有大约1亿3900万种做过标记的状态。
这个被减少过的图表可以较容易的装入存储器,并且在这个图表上的操作可以较快地被演绎出来。
对于每一个顶点,我们维持一个数值,该数值是迄今为止我们证明的最上层的界限。
这些值初始的时候是30,因而我们了解到每种状态及每个组别有一个不超过30的距离。
当我们解决新的组别时,我们更新和那个组别相关的顶点的数值,并且通过该数值暗示的新上限,递归地更新相邻的顶点。
9消除不必要的组别
就像3轴模式探索改进了Kociemba算法的演绎那样,我们可以利用重测图来减少需要证明一个新的直径上限的工作量。
做过标记的组别R里的立方体空间可以用3个坐标来定义:
4个中层棱块的安装,8个角块的定向,和12个棱块的定向。
注意到中层棱块夹在顶面和底面之间。
如果你将魔方重新定向为R面和L面为顶层和底层,那么这时R面和L面之间的4个棱块即为中层棱块。
相似的,如果你将魔方重新定向为F面和B面为顶层和底层,那么这时F面和B面之间的4个棱块即为中层棱块。
于是,原来的魔方状态有三个由方向决定的标记,并且对于这三个方向来说,中层棱块的状态包含了模仿的全部12个棱块。
该图表中每一个角块都和三个棱块相邻。
因此,一共有8个角块和奇数个棱块相邻。
考虑任意棱块的子集a,并且数出在该子集中的和奇数个棱块相邻的角块数量,令它为f(a)。
对于任意两个子集a和b,f(a+b)f(a)+f(b)。
如果我们将12个棱块分成3个子集a,b和c,且f(a)+f(b)+f(c)=8,那么此时f(a),f(b),f(c)里面至少有一个要大于等于3。
因此,每一种模仿的状态都有一定的方向,此时中层棱块会有奇数个角块的计数(f)有3个或者更多。
如果我们
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 12 还原 魔方 需要 25