导航:首页 > 数字科学 > 魔方如何用数学解出来的

魔方如何用数学解出来的

发布时间:2022-12-12 07:58:21

① 玩魔方运用了哪些数学知识

从外部构造来看,拧魔方运用了 [立体几何整体变换] 的特性,即通过 [层的整体变换] 来达到 [块的翻转或位移] ;

从内部原理来看,拧魔方运用了 [群论] 的数学知识,即魔方的54个面分别是 [对称群里的54个元素] ,魔方的转动就是54个面位置的变换,因此就是对称群内部的乘法

② 魔方的数学原理是什么

以三阶魔方为例。
20个可移动的块,隶属于20个位置。
8个角块有8个可能的位置,12个棱块有12个可能的位置。
每次转动一个面会导致8个块移动位置。

数学原理就这么些。
线性求解就可以算魔方解法。

③ 玩转魔方的数学公式和技巧

最强大脑 王鹰豪 带你玩转魔方 基础魔方课程30节

链接: https://pan..com/s/1MXzHZxmAN36PrxX2LSFaeQ

提取码: z4wp 复制这段内容后打开网络网盘手机App,操作更方便哦

若资源有问题欢迎追问~

④ 魔方阵算法是怎么解出来的

麻烦少少,其实你在网上也可以找到些,种类繁多。

奇数用的是常用的斜线填数法

偶数的算法是:
当n为4的倍数时:采用对称元素交换法。首先把数1-n^2按行从上至下,从左至右填人方阵的n×n格。然后,把方阵的所有4 ×4子方阵中的两对角线上位置上的数固定下来不动;所有其它位置上的数关于方阵中心作对称交换,也就是把元素a(i,j)与元素a(n+1-i,n+ 1-j)的值交换。

当n为非4倍数的偶数(即4m+2形)时:首先把大方阵分解为4个奇数(2m+1阶)子方阵。上述奇数阶魔方给分解的4个子方阵对应赋值,上左子方最小(i),下右子次小(i+v),下左子方最大(i+3v),上右子方次大(i+2v),即4个子方阵对应元素相差v,其中v=n*n/4,然后作相应的元素交换:
a(i,j)与a(i+u,j)在同一列做对应交换(j<t或j>n-t+2)
a(t,1)与a(t+u,1);a(t,t)与a(t+u,t)两对元素交换
其中u=n/2,t=(n+2)/4

我写的程序:(比较傻的方法,因为昨天太晚了不想优化了:P)

include <stdio.h>
#define N 100

void main()
{
void n1(int n);
void n2(int n);
void n3(int n);
int n;
printf("please input n:");
scanf("%d",&n);
printf("\n");
if((n%2)!=0)
n1(n);
else if((n%4)==0)
n2(n);
else
n3(n);
getch();
}

void n1(int n)
{
int i,j,count=0,num[N][N];
for(i=0,j=(n-1)/2;count<n*n;)
{
count++;
num[i][j]=count;
if(count%n==0)
{
i++;
}
else
{
i--;
j++;
}
if(i<0)
i+=n;
if(j>=n)
j-=n;
}
count=0;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{
printf("%5d",num[i][j]);
count++;
if(count%n==0)
printf("\n");
}
}

void n2(int n)
{
int t,i,j,count=0,num[N][N];
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{
count++;
num[i][j]=count;
}
for(i=0;i<n-1;i++)
for(j=0;j<n-1-i;j++)
{
if(i!=j)
{
t=num[i][j];
num[i][j]=num[n-1-i][n-1-j];
num[n-1-i][n-1-j]=t;
}
}
count=0;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{
printf("%5d",num[i][j]);
count++;
if(count%n==0)
printf("\n");
}
}

void n3(int n)
{
int i,j,m,t,v,count=0,num[N][N];
v=(n+2)/4;
m=n/2;
for(i=0,j=(m-1)/2;count<m*m;)
{
count++;
num[i][j]=count;
if(count%m==0)
i++;
else
{
i--;
j++;
}
if(i<0)
i+=m;
if(j>=m)
j-=m;
}
for(i=m,j=(m-1)/2+m;count<2*m*m;)
{
count++;
num[i][j]=count;
if(count%m==0)
i++;
else
{
i--;
j++;
}
if(i<m)
i+=m;
if(j>=2*m)
j-=m;
}
for(i=0,j=(m-1)/2+m;count<3*m*m;)
{
count++;
num[i][j]=count;
if(count%m==0)
i++;
else
{
i--;
j++;
}
if(i<0)
i+=m;
if(j>=2*m)
j-=m;
}
for(i=m,j=(m-1)/2;count<4*m*m;)
{
count++;
num[i][j]=count;
if(count%m==0)
i++;
else
{
i--;
j++;
}
if(i<m)
i+=m;
if(j>=m)
j-=m;
}
for(i=0;i<m;i++)
{
for(j=0;j<v-1||j>n-v+1;j++)
{
t=num[i][j];
num[i][j]=num[i+m][j];
num[i+m][j]=t;
}
for(j=n-v+2;j<n;j++)
{
t=num[i][j];
num[i][j]=num[i+m][j];
num[i+m][j]=t;
}
}
t=num[v-1][0];
num[v-1][0]=num[v+m-1][0];
num[v+m-1][0]=t;
t=num[v-1][v-1];
num[v-1][v-1]=num[v+m-1][v-1];
num[v+m-1][v-1]=t;
count=0;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{
printf("%5d",num[i][j]);
count++;
if(count%n==0)
printf("\n");
}
}

⑤ 怎么通过数学运算和推到得到魔方的解法

所以想给你一个提示,在魔方中,并不是以面为单位的,也就是说,不能看上去把一个面拼好了,一面红色,就算成功了六分之一。而是要以块为单位,每一块都有其特定的位置和摆放的方位,只要一个方位不对,这一块就没有摆对。而只要摆对块,就算表面看上去不太整齐,也是成功了一半了。
下面举个例子,首先你要定魔方的中心,比如你把顶面定为大红色,面对你的面定为黄色,而左侧面定为白色。那么,顶面的中心块就应该是大红,你的对面中心块为黄色,而左侧面中心块为白色,这样定位好后就可以开始了。
从上面两面的接触块开始,比如大红面和黄面的接触那一层的中间那一块,应该是红色上黄色下,然后再摆上面的三面接触块,比如红黄白块,位置努力摆正,然后再下来就是摆中间的两面块,最后摆放底层的两面块,底层的三面块。注意的是,有时候摆好的块会因为要摆放后来的块被暂时打乱,这个是一定的。
罗罗嗦嗦也没有说清楚,不好意思,你可以仔细多看几遍,一定可以把魔方解出来!
解法说明:魔方上全部20个可转动方块可以形成43,000,000,000,000,000(四千三
百万兆)以上的不同组合方式。开解引谜最明显不过的困难恐怕就在于此。本解法的优
点在于,它设法使你在5步之中的任何时候都只须考虑此一步骤所涉及方块的不超过30种
组合方式。这20个可转动方块的前12个是分别逐一定位的,因此,在大部分时间里,你
都只需要考虑一个方块的位置问题。
即然一次只须考虑如此少的几种方块的组合方式,就完全有可能把它们写下来并给每一
种情况提供一组适当的转动方法。因此,不管从哪一种组合情况开始,也不管魔方被扭
得多么混乱,这一解法都可以保证成功。(注意,如果你拆过魔方,请保证在组装时没
有放错位置。)
标记及术语
在开解魔方的全过程中所使用的魔方6个平面的标准名称如下:
顶:顶平面(选一种你最喜爱的颜色)
前:前平面
左:左平面
右:右平面
底:底平面
后:后平面---及少使用

一个平面的颜色取决于它的中心方块(不可转动)的颜色。你可处选顶平面的颜色,选
定之后,在整个开解过程中要保持不变。注意,右、左、后、以及前平面的颜色根据你
如何持握魔方而可以有所不同。因此,前平面、可以是任何四种颜色之一(通过转动你
手中的魔方)。一旦确定前平面,则右、后和左平面的颜色和底平面的颜色保持不变(
选定你所喜爱的颜色之后)。在任何一组转动中,右、左、后和前平面的颜色也保持不
变,但在进行下一组转动时其颜色就常常会改变。
右+ :将右平面沿顺时针方向转动90度。
右- :将右平面没逆时针方向转动90度。
右2 :将右平面转动180度(此时顺逆时针效果相同)。
前+ :将前平面沿顺时针方向转动90度。
前- :将前平面沿逆时针方向转动90度。
前2 :将前平面转动180度。
左+ :将左平面沿顺时针方向转动90度。
左- : 将左平面沿逆时针方向 转动90度。
左2 : 将左平面转动180度。
底+ :将底平面沿顺时针方向转动90度。
底- :将底平面沿逆时针方向转动90度。
底2 : 将底平面转动180度。
顶+ :将顶平面沿顺时针方向转动90度。
顶- :将顶平面沿顺时针方向转动90度。
顶2 :将顶平面转动180度。
(本解法不用转动后面)
顺逆时针以各面为钟面为标准.
前右是一个边缘方块,它在特定时间内处于前平面和右平面之间的边缘位置上。前右顶
是一个边角方块,它在特定的时间内处于前平面、右平面和顶平面之间的边角位置上。
因此,12个边缘方块为:底前,底左,底后,底右,前左,前右,前顶,左后,左顶,
后右,后顶和右顶。8个边角方块为:底前左,底前右,底后左,底后右,前左顶,前右
顶,左后顶和后右顶。任何转动及其所涉及的方块一律用上述的术语表示。要使用本文
的开解方法,你必须依一定方向持握魔方使将要移动的方块与文中所述的方块相一致。
如果不理解,请看肌?

一个方块的颜色与它所在的边缘或边角位置所应有的颜色相一致时,我们称它们为位置
正确或安放正确。一个方块的各面颜色都同它相邻平面的中心方块的颜色相一致时,我
们格称它为方位正确。例如,一个涂有红、蓝和绿的边角方块,当它在毗邻于红、蓝和
绿色的中心方块的边角位置上时,就是位置正确,但只有当它红、蓝和绿色的一面公别
与红、蓝和绿色中心方块相一致时,这一方块才能算方位正确(方向和位置都正确)。
开解中的5个步骤总结如下:
1.在6种颜色中选出一种你所喜爱的颜色,然后,给那个有此种颜色的中心方块的平面上
4个边缘方块定位和定向(即顶面边缘)。
2. 给选出的顶平面上的4 个边角方块定位和定向(即顶面边角)。
3.给顶平面下面的一层的4 个边缘方块定位和定向(即中层边缘)。
在1至3步中的全部12个方块都是逐一分别定位和定向的,到此为止,已完成了三分这二
的方块。
4. 给底平面上的4 个边角方块定位和定向(即底面边角)。
5. 给底平面上的4 个边缘方块定位和定向(即底面边缘)。
每一 大步一般又都分为2 小步。
---1 给这些方块逐一定位。
---2 给这些方块逐一定向。这就需要将这些方块从它们的正确位置暂时挪开一下,后再
以正确的方向回到它们的原位上去。
-------1------------------------------2------------------ ---------3--------
------------
-----------4---------------
最后的机会:如果你愿意,也可以仅仅依靠上面的说明来试试能否自己开解魔方。下面将
介绍一种完整而明确的解法,读了下面的介绍也许会破坏你用前述的几条启示来自己开
解魔方的乐趣。另外,前两个步骤只是介绍一个平面的完成方法。这是一项相当容易的
任务,你也许愿意自己来做这一工作(或者你已经做完了)。第一个关键步骤是第3 步

第一步 第二步 第三步 第四步 第五步
第一步
第一步 顶面边缘( 前顶,左顶,后顶,右顶)
在开解之前首选定顶平面的颜色,别忘了,任一平面的颜色都是由它的中心方块的颜色
决定的。要正确地持握魔方使你所选定的这一平面朝上,这便是顶平面,在全部开解过
程中要保持平面不变。
这一步的目的是要给属于顶平面的4个边缘位置的方块定位和定向。这4 个顶面边缘方块
都是逐一被安放和定向的。你要为其中的每一个方块做下述5个步骤(1A--1E)。如果幸
运的话,也许其中的一两个方块碰巧已经在它的正确位置上,那么,你只要把这5个步骤
(1A--1E)做二至三遍即可。如你对此还有不解之处,请复习有关标杨及术语的内容。
1A:正确持握魔方使前顶部位上并无经安放和定向的方块。你可能必须在手中转动整个
魔方以做到这一点,这样,也将改变前平面的颜色。
1B:找出应属于这个前顶部位的方块。这个待解的方块我们称之为即需方块。
1C:如果此一方块已经在前顶部位,但方向不对,请参照1E办理。
1D: 这个即需方块的位置共有11种可能性,为此这里提供11组相应的转动。根据这个即
需方块的位置做以下11组转动中的一组即可。例如,即需方块目前的位置是右顶部位,
那么依照右顶至前顶那一组转动办理即可。
右顶至前顶转动法: 右- 前-
后顶至前顶转动法: 顶+ 右- 顶- 前-
左顶至前顶转动法: 左+ 前+
前右至前顶转动法:前-
后右至前顶转动法:右2 前- 右2
左后至前顶转动法:左2 前+ 左2
前左至前顶转动法:前+
底前至前项转动法:前2
底右至前顶转动法:底- 前2
底后至前顶转动法:底2 前2
底左至前顶转动法: 底+ 前2
1E:如果前顶方块目前已在正确位置上,但方向不对,请做以下一组定向转动:
前顶定向转动法:前- 顶+ 左- 顶-
(这4 个顶面边缘方块是逐一定位和定向的,因此你可能需要重复做4 遍1A--1E这5 个
步骤。一旦这一步完成,顶平面上将出现一个十字形图案(如果你你取绿色为顶面颜色
,就将出现一个绿十字)。
第二步
第2步 顶面边角(前左顶,前右顶,左后顶,后右顶)
这一步的目的是,在保持已经安放好的顶面边缘方块的同时,给4 个应属于顶面上边角
位置的方块定位和定向。在这一系列转动中,顶面边缘方块将被暂时移动,但都会适当
还原的。
对于4个属于顶面边角位置的方块中的每一个,都需要做以下六个步骤(2A--2F)。同样
,如果你运气好,以会碰到某个顶面边角方块已经在它的正确方位上了,那么就不必做
够四遍了。
2A:找出一个还没有正确定位和定向的顶面边角方块(即任意一个应属于顶面边角位置
的方块)。这就是即需方块。如果这个即需方块目前已经在正确位置上,只是方向不对
,请参照2E办理。
2B :如果即需方块现在位于顶面上,请做以下一组转动。请按一定方向持握魔方使即需
方违犯处于前右顶部位。
前右顶至底前左转动法:左- 底- 右+
这一转动 把即需方块移到底平面。
2C:转动底平面,使目前已在底平面上的这个即需方块称到它应该占据的那个顶面边角
部位(这部位以称为即需部位)的正下方。按一定方向持握魔方使即需部位为前右顶部
位,这时即需部位为前右顶部位,这时即需方块应该在底面前右的位置上。
2D:为正确安放即需的顶面边角方块,做以下一组转动。
底前右至前右顶转动法:右- 底- 右+
2E:如前顶方块的方向不对,做以下两组转动之一(注意:只做其中之一)。
前右顶定向转动法: 右- 底2 右+ 、 前+ 底2 前-
前右顶定向转动法: 前+ 底2 前- 、 右- 底2 右+
2F :如果前右顶方块的方向仍不正确,重复你在2E中做过的那组转动。这将使前右顶方
块的方向和位置全部正确无误。
你可能要把这六个步骤(2A--2F)重复四遍才能完成这四个顶面边角方块的定位和定向
。做完这些之后,整个魔方的三分之一,也就是全部顶平面的方块就都依正确方向各就
各位了。
第三步
第3 步 中层边缘(前左,前右,左后,后右)
这一步的目的是要给顶平面下面的4个边缘方块定位和定向。这一步可以被看作是对“中
层平面”的开解。旦完成这一步骤,魔方的三分这二就完成了。对每一个应属于中层边
缘位置的方块,要做如下四个步骤(3A--3D)。你也许会再一次发现某个中层边缘方块
已经在它的正确方位上了。
3A:找出一个尚未正确定出方位的中层边缘方块(即某个应属于中层边缘位置的方块)
。这就是即需方块。如果这个即需方块的位置正确,但方向不对,请参照3D办理。
3B:如果即需方块不在底平面上,请做以下一组转动。依一定方向正确持握魔方,使即
需方块处于前右部位。
前右至底平面(底后)转动法:右- 底+ 右+ 底+ 前+ 底- 前-
3C: 这时,既需方块已经到了底平面.转动底平面使既需方块的垂直面的颜色和四个侧面
(前,后,左,右)中的一面的中心方块的颜色相一致.然后正确持握魔方,使即需的
部位为前右部位.如果此时既需方块位于右平面,做底右至前右的一组转动.如既需方
块位于前平面,做底前至前右的一组转动.
底右至前右转动法:(底+ 前+ 底-) 前-( 底- 右- 底+) 右+
底前至前右转动法:(底- 右- 底+) + (底+ 前+ 底-) 前-
3D : 依一定方向持握魔方使既需方块处于前右部位.如果方向不对,做以下一组定向转动
.
前右定向转动法(共15步): (右- 底+ 右+)( 底+ 前+ 底-) 前- (底+ 右- 底+)
右+( 底+ 前+ 底-) 前-
正误法:
这组转动比前两个步骤长.在这一系列转动的全过程中,只有一个顶面边角方块(既原位于
前右顶的方块)被移到离它的正确方位一次转动以上的地方.假如你在这几组的某一组转
动中失误或是乱了套,那么立刻停下来,并设法恢复顶平面.通常情况下,你必须转动前面
平面或右平面使方块还原到顶平面,然后,重做几组第2步的转动以还原错了位的顶面边角
方块.做完这些后,从3A开始做另一次尝试.
第四步
第四步 底面边角(底前左,底前右,第左后,底后右)
这一步是要给第平面上的4个边角方块定位和定向.这是通过先定位后定向来完成的.这次
的4个方块不是分别安放,而是作为一组一次同时完成.依照下述关于4A--4F的说明,一遍
就可以完成着一步骤.
4A:首先有必要转动底面使尽可能多的边角方块各就其位,而暂时不考虑它的方向问题(暂
时也不需要照顾底平面上的边缘方块).只要转动底面就可以使至少2个,有时甚至是全部
4个底平面边角方块居于正确的位置.如果还剩下2个位置不对的方块,它们的位置不外乎
于2个相邻或两个相对的边角上.对于前者,可以做4B的转动;对于后者,可以做4C的转动.
4B:如果2个位置不对的位置边角相邻,以下一组转动可以使它们对调位置.
底前左与底前右调位转动法(注意要正确持握魔方,使即将被调位的2个方块处于这两个位
置): ( 右- 底- 右+ )( 前+ 底+ 前-) ( 右- 第+ 右+)底2
4C:如果2个位置不对的边角方块相对,以下一组转动可以使它们调位.
底前左与底后右调位转动法(注意要正确持握魔方使即将被调位的2个方块处于这两个位
置):
( 右- 底- 右+) ( 前+ 底2 前- ) ( 右- 底+ 右+)底+
4D: 至此,4个底面边角方块已安放妥当.这时如果这4个底面边角方向不正确,则按以下方
法转动.
------这一步只有一种转动步骤,但要重复使用,只是每次转动前都要先确定一正确的握
法.
-------握法(这是关键):
将需要调整的那一层置于顶层的位置(全过程都如此). 以顶面中心的颜色为标准色.观察
顶面四边角是否有标准色块:
---只有一块标准色:将这一块置于顶前左的位置.
同时有两块标准色块:
------a:两块相邻:将两块分别置于顶前右与顶后右的位置.
-------b:两块相对:将两块置于顶前右与顶后左的位置.

没有一块: 看侧面出现的标准色块(同样只看四个边角方块上的八个色块),找到同时出现
两个标准色块的那一面,置这一面为左面.
握好魔方就可以开始转动:
( 右+ 顶+ 右- ) 顶+ ( 右+ 顶2 右-) (就这么简单,只有这一组转动)
若做完一组转动后,若四方块相对方向不对(这一转动不会改变它们的相对位置,只是同已
完成的两层有点错开,这我们先不必理会)则重新确定握法,继续重复转动.直至四边角方
块相对方位均正确为止(一般要重复3-5次). 调整顶层,使它边角方块颜色与已完成的两
层相一致,记住将这一层重新置为底面.
第五步
第5步 顶面边缘 (前底,左底,后底,右底)
看底面边缘的位置:
----如果没有一个边缘方块方位正确:按5A的转法做。
----如果只有一个边缘方块方位正确:按5B的转法做。
----有两个正确的边缘方块方位正确:按5C的转法做。
5A:做如下一组转动,这次只要保持顶面和底面不变就行了.
( 左- 右+ 前+ )( 左+ 右- 底2)( 左- 右+ 前+)( 左+ 右-)
转完后看看底面的情况再缺定下一步的转法。
5B: 正确持握魔方使那个位置或方位已经正确的边缘方块处于底前的位置.然后做5A那组
转动 .转完后看看底面的情况再缺定下一步的转法。
5C: 握好魔方使得:
a--正确方块位置相对:使正确方块位于底前与底后的位置。
b--正确方块位置相邻:使正确方块处于底前与底右的位置。(未给出图示)
转法:(左- 右+ 前+)( 左+ 右- 底-)(左- 右+ 前-) ( 左+ 右- 底-) ( 左-
右+ 前2) (左+ 右-)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 简化的CFOP方法
Fridrich的CFOP法 (Cross+F2L+OLL+PLL)还原魔方的速度很快,但是需要掌握119个公式(41+57+21)。现在我整理出一个简化的CFOP方法,只需记15 个公式就可实现较快的还原。要更快一点,就再多记1个架“十”字公式。推荐记16个公式。此法可作为Fridrich方法(CFOP)的入门教程。
1、第一层
先架好棱十字(要求顶层四棱的相对位置正确,也就是棱块的侧面色要和对应魔方面的中心块的颜色相同)。小技巧:可以将目标棱块和对应的中心块并到一起后再参加架“十”字。再对好四个角(位置和色向都要对)。
附1:另一种方法是先将四个目标棱块都转上去架起“十”字,再来调节它们的相对位置,用到的公式有:1、相对棱对调 R’L U2 R L’;2、相邻棱对调 R’U’R U R’。
2、第二层
先将第一步中做好的的魔方倒过来,一般都会出现下面三种情况(有一种特殊情况是四个中层棱都在不在顶上,而是相对错位,此时需先用公式1或公式2将它调 整出来)。
公式1: U’F’U F U R U’R'
公式2: U R U’R’U’F’U F
公式3: F2 U2 R’F2 R U2 F U’F
附2:相邻棱对换公式:R2 U2 R2 U2 R2,此公式适用于两相邻棱与对应的中心块的共同面具有相同颜色但两棱位置交换。
3、第三层的棱架十字(棱调色向)

公式4: R’U’F’U F R
由于顶层棱不出现十字的情况有50 种,其中15种为“一”字形,8 种为只有中心块,27种为“┛”形。“┛”型的只要一次公式就架好十字,即图8 的最后一步。所以记住从“一”字型直接转出“十”字的公式会快很多。
公式5:F R U R’U’F’
4、顶面翻色(余下角块调色向)
顶面棱架起“十”字后有以下7 种情况(7 个OLL 公式):
公式6:R U2 R’U’R UR’U’R U’R'
公式7:R U2 R2 U’R2 U’R2 U2 R
公式8:R2 D’R U2 R’D R U2 R
公式9:R B R’F R B’R’F’
公式10:B’R’F’R B R’F R
公式11:R U2 R’U’R U’R’
公式12:R U R’U R U2 R’
5、调整棱块的位置
公式13:R2 U S’U2 S U R2
公式14:R2 U’S’U2 S U’R2
特殊情形:
1)相邻两棱位置对。转动U层使不对的两个棱中的任意一个对正位置。
2)相对两棱位置对。选择已正确的棱中的任意一个作为“不正确”看待。
6、调整角块位置
公式15:R2 F2 R’B’R F2 R’B R’
公式16:R B’R F2 R’B R F2 R2
附3:顶面翻色完成后共有21 种调棱、角的情况,有4 种情况只需调棱就可完成魔方还原,有3种是只需调角就能完成的魔方还原的。
只需调棱的情况(前二者即调棱公式,后二者只需连用同一个调棱公式两次就好):

只需调角的情况(前二者即调角公式,后者只需连用同一个调角公式两次就好):

除以上7 种之外,其余的14 种既要调棱又要调角。
转摘自魔方吧

⑥ 魔方的数学原理是什么不是要还原魔方,而是要知道魔

一般的三阶rubik魔方就是3*3*3,有6个中心块,8个角块,12个棱块。其中中心块不会移动;角块有8个位置,3个方向;棱块有12个位置,2个方向。魔方公式就是在一定的F B R L U D(单位旋转)步骤下完成所需要的角块或棱块的位置或方向变化,使魔方的混乱程度降低。一般的还原公式可以用数学知识来编辑程序求解得出,而大部分是高级玩家在充分理解魔方旋转以及原有公式的基础上进行尝试和改进得到的。其实每种还原公式都存在很多不同但能达到相同效果的公式,所以公式简化和手法优化是全世界魔方玩家爱做的事情,而真正的“最”优解其实是因人的习惯和手法而异的,计算机只能求出最少步数(比如魔方的上帝之数22)。

⑦ 魔方中的数学知识

风靡全球的 魔方 也蕴藏着数学,那么你对魔方中的数学知识了解多少呢?以下是由我整理关于魔方中的数学知识的内容,希望大家喜欢!

魔方中的数学知识

通常所说的魔方,其国际标准称呼是鲁比克魔方,由匈牙利布达佩斯应用艺术学院的建筑学教授鲁比克—艾尔内于1974年发明! 关于鲁比克发明魔方的初衷,流传甚广的一个说法是为了发明一种教具,以帮助学生理解、认识立体空间的构造。

鲁比克一开始并没有意识到他发明了一个极其具有挑战性的益智玩具,当他第一次将自己发明的魔方打乱,才发现了这个后来被无数人反复证明的事实:原始状态的魔方一旦被打乱,想要将其复原是一件极其困难的事情。

1980年初,一家玩具公司将魔方带至在巴黎、伦敦和美国召开的国际玩具博览会展出。此后不久,随着魔方制造技术的改进,魔方迅速风靡全球。到1982年,短短的3年间魔方在全球就售出了200多万只,而到今天,全世界售出了数亿只魔方,魔方已经成为全球最为流行的玩具之一。

魔方核心是三个相互垂直的轴,保证魔方的顺利转动。外观上,由26个小正方体组成一个正方体。其中包括与中心轴相连的中心方块6个,相对位置固定不动,仅一面涂有颜色;棱块12个,两面有颜色;角块8个,三面有色。复原状态下,魔方每面都涂有相同的颜色,六个面的颜色各不相同。魔方每个面都可以自由转动,从而打乱魔方,形成变化多端的组合。

魔方组合的数量可以按照如下方式计算:8个角块可以互换位置,存在8!种组合(8=8*7*6*5*4*3*2*1),又可以翻转,每个角块可以具有’种空间位置,但因为不能单独翻转一个角块,需要除以3,总共存在8!* 37种组合;12个棱块可以互换位置,得到12!,又可以翻转,得到212,但因为不能单独翻转一个棱块,也不能单独交换任意两个棱块的位置,需要分别除以2,得到12!*212/(2*2)种组合。综上,得到魔方的所有可能组合数为:8!*37*12!*212/(2*2)=43,252,003,274,489,856,000≈4.33*1019

这是一个天文数字,如果某位玩家想要尝试所有的组合,哪怕不吃不喝不睡,每秒钟转出十种不同的组合,也要花上千亿年的时间才能如愿,这约是当前宇宙年龄的10倍。

实际上,如果将魔方拆开随意组合,其组合情况将多达5.19*1020种。也就是说,如果拆散魔方,再随意安装,有11/12的几率无法恢复原状。所以如果魔方被拆散,安装时应按复原状态安装,否则极可能会无法复原。

魔方复原的另一个困难来自于我们只能按特定的方式复原,即反复旋转某一面,一面上的9个方块必须整体参与运动,这样我们在复原过程中总是会打乱已经复原的部分,这种限制大大加大了复原魔方的难度。

很显然,任意组合的魔方都可以在有限步骤内复原,那么,问题来了,是否存在复原任意组合魔方所需的最少转动次数N?也即,如果至多进行N次转动便可以将任意魔方复原,这个N具体为多少?这个数字N被称为上帝数字,从魔方刚刚流行的1982年便被提了出来。

当然,对任意的魔方,寻找最少的转动步骤是极其困难的,需要针对每种情况寻找特定的步骤。一般的,还是利用本文前面所述的复原办法,只需学习记忆少量的套路或公式,如CFOP法,需要学习记忆119个公式,平均只需55次转动便可复原魔方。

数学是一门充满魅力的学科,在它复杂表面的背后,隐藏着大量极其简单、漂亮的规律。有趣的游戏、手头的玩具,往往在简单中蕴藏着深刻的数学规律。而复杂的数学经常以极其简单、漂亮的形式展现。

魔方以及其数学原理

对于魔方,我们应该都不陌生,近两年来,魔方初级玩法,稍微细心一点的人都可以发现,魔方作为益智玩具的一种,已经被越来越多的摆上了货架,被越来越多的人所喜爱。不久以前,我因为无聊,也就拿了一个魔方来,准备学习学习。(其实是因为同学说,许许多多数学牛人魔方都玩得很好,所以就虚荣心作祟了)然后又有一个同学和我说:"玩魔方没有意思,一看到魔方我就想起小学那些奥赛题了。"其实在研究了之后,我不认同这一点,我认为魔方作为一个特殊的代数结构,还是有其相当大的存在价值和研究价值的。这篇 文章 主要是由一些魔方的入门知识(科普版)和数学原理(数学版)组成的。科普版主要写魔方的基本知识,以及其玩法,启发公式的重要性。数学版主要是对魔方的数学原理进行探究,其中包含群论的一些内容。

科普版:

魔方(Rubik's Cube)是匈牙利布达佩斯建筑学院鲁比克教授在1974年发明的。他发明魔方的目的是考察建筑学院学生的空间建构能力。具体地说,魔方由26块组成,具有12个棱块,8个角块,6个中心块组成,魔方中心那一块是中空的。同时6个中心块是无法移动的。那么,其实,一个魔方只有12个棱块,8个角块可以移动。(其实,拆过魔方的人都清楚,我就是一个拆魔方狂热分子。。。)。转动魔方只有一种操作,那就是,将一个面顺时针转90度。其他所有操作,都是这个操作复合而成的。那么,这一个操作,可以将魔方变出多少种不同的状态呢?答案是4.3*10^19。如此复杂的一个状态集合,也难怪大家难以把一个魔方复原了。

我佩服那些没有通过学习魔方玩法而自己把魔方复原出来的人。我自己就没有,(其实是我一位同学太坏了!他把我的魔方拆下来,又装上,于是那个是一个永不可复原的魔方,害得我后来白弄了半个月,只复原成只有一个角块不对,当然我也感谢这位同学,他让我思考了到底把魔方拆了再拼上,是一个正确魔方的概率有多大,详见数学版)这些没有自己把魔方复原的人大都付出了大量的努力。我非常敬佩这些人的毅力。正是他们,发现了一个又一个的魔方公式,才使我们还原魔方的速度变得越来越快。

普通玩法,也就是各种 爱好 者啦,他们满足于复原一个魔方,而不作更高的要求。

竞速玩法,为了追求更高的速度的玩法,这些复原 方法 是万能方法,而且他们运用的是复原方法中比较快的一种。我在这里写几种复原方法:

1. 层进法(入门方法):将魔方的一层一层进行还原,每一层进行还原,最后复原整个魔方,这种方法如果有一个好魔方1min之内可以轻松完成。

2. CFOP法(主流方法):分为4步完成,C=cross(底层十字)F=first 2 layers(前两层)O=orient last layer(顶层定位)P=position last layer(顶层定向)。这个方法可以在30S内轻松完成。

这些方法大都和CFOP方法属于一个系统的。一般只是稍微的改变一下。

时间上的节省是用 记忆力 换得的,层进法只需要记忆不过20种情况,不到10个公式即可,而CFOP法则需要记忆上百种情况,及其所对应公式。所以为了比别人快,记忆很多东西是不可避免的。层进法需要大约120步,而CFOP法需要大约60步。关于群论上理论证明,复原任意一个魔方,只需要最多26步(这个界不是紧的),那么我们可以设想,如果一个人大脑有足够的容量,记忆足够多的公式,那最多26步就可以完成了,肯定是一个创造吉尼斯纪录的成绩。不过,我觉得,比速度。。至少对于我来说,记忆不了那么多吧。所以这种玩法其实是记忆公式。

盲拧:蒙着眼睛把一个魔方复原,是不是一件很神奇的事情呢?如果按照CFOP法,这可不可能呢?答案是否定的,从盲拧和正常拧的世界纪录就可以看出它们用的方法不是一种,至今没有一个人成为这样的记忆奇才。因为百余种情况不是闹着玩的,而且每完成一步以后需要观察再进行下一步,蒙着眼睛是做不到的。这就需要一个神奇的公式 三轮换公式,通过这个公式,不仅仅使我们变换的块数最少,而且还减小了它们之间的相互影响,这也使盲拧变成了一种可能。只需要记住4个公式就可以完成。当然同时,更让人头疼的可能是记住20块的位置朝向了。所以说,盲拧与其说是神奇,倒不如说是记忆位置。这个在CCTV科学探索中播出过。

最小步数复原:这个很NB。。应该是通过记公式算公式吧,我不太了解原理了。就把记录写在这里。。。目前的世界纪录是28步还原,耗时2个半小时。

还有单拧(单手拧)脚拧。。。当然我认为这些是无聊的。。

数学版:

曾经有个人发表了一个一篇关于三轮换的文章,结果。。有人钦佩,有人讽刺,只有极少数的人和作者进行了讨论。魔友大部分只是记住公式,其实也不用知道原理。他们也许是对的,不过,我在这里说一句,我觉得中国对于数学至少是不重视的,数学只是作为一种升学手段应用于应试 教育 中。尤其是奥数,其实数学当中哪里有那么多的技巧??奥数中绝大部分的题目来源于同年龄段更高等的数学之中。很多人都说奥数题又偏又难,为什么,因为他们没有学过相关知识而去做题,不习惯那些思考方式,怎么会不觉得难?为什么陶哲轩12岁拿到奥数金牌并且成为数学大师而中国本土出了那么多奥数金牌却都平平庸庸?因为陶哲轩不是做题做出来的,他在12岁前就把微积分学完了而且学得很好。再者中国为什么那么多人痛恨数学?做题做的。数学是很直观的东西,每一个概念都对应一个直观,从生活中抽象出来,只要用心看就有收获。

符号:u=upper, f=front, b=back,魔方站论坛, r=right, d=down, l=left

我们将魔方面对右面(r面),看到右面一层如下左图,转动Y3后如右图,就可得出各块的变动。

类似分析Z3,

二者复合为

其中对角方块,右上角的正号表示此块顺时针转2π/3 ,负号表示反时针转。对棱方块表示有一个方向的翻转。 上面分析说明,经过Y3,Z3两个转动,上右前角块回到原地,但顺时针转了2π/3 。还有5个角方块做了一个轮换,各反时针转了2π/3 ,或说顺时针转了4π/3 。7个棱方块做了一个轮换。

可以看出这是一个置换群,它是全部状态的一个子群,但它不是一个普通的20阶群,因为其棱块角块的朝向问题,魔方的群结构比一般的20阶群更复杂。而且它有另一个特点 更为特殊。

特殊之处在于两个三轮换公式(分别是对棱块,角块),这个公式我首先是直观认识到的,是我在学习层进法中众多公式的一个,它的意义在于我们可以把3个棱块(角块)互换,相当于(123)->(231),而且在确定位置的情况下,这3块的朝向是确定的。我本来没有打算去证明这个结论,因为我们线性代数老师说过:"如果你不信这件事情的话,亲自去做做不就行了。

我们证明对于棱块的三轮换公式是存在的。设想有两个轮换t1, t2, 它们分别代表一个对于魔方的置换。这两个轮换有一个特点,他们变换了一个相同的棱块记为a,t1中a1->a,魔方高级玩法公式,t2中b1->a,下面我们做一个共轭变换t=(t1')(t2)(t1),t是什么呢?t是一个近似t2的变换,只不过t1的a1变到t2的"轨道"里去了,而a还在原来的位置,下面我们做(t2')(t),就有a1,a,b1互换位置。

我们有图解如下:

其实证明中有一个小小的问题,因为只有8个角块,所以说我们要找两个共用一个角块的四轮换才可以,我们可以利用上述方法继续找,方法不详述了。

推论:我们能找到任意三轮换公式(即任何3个棱块(角块)都存在三轮换)。

对棱块进行说明,记6个棱块,123456,首先我们能找到两个三轮换(123),(345),我们作一个共轭变换(345)(123)(345)'=(124),这样我们就从一个三轮换推到了另一个三轮换。我们再找一个关于6的棱块,把(124)共轭成(164),这样,164三个棱块都是任选的了,证毕。

三轮换公式完全说明了魔方中角块和边块是互不影响的!也就是我们可以把魔方的20块拆成12个角块和8个边块分别进行研究。下面我有些?。。我应该说明二轮换公式是不存在的,不过我没有证明出来,但它确实是不存在的。也许哪位高人可以帮我。其实计算机搜索应该是可以解决的。。但一个纯数学的证明会更好些。

下面讨论如果把一个魔方拆了之后再拼上,正确概率有多大?我们知道一个好的魔方和一个不好的魔方只是不在一个"轨道"里,但是他们变出的状态时一样多的,因为他们同构。所以说我们只需要算出魔方不同轨道个数即可。

我们首先计算出随便拼出的魔方有多少种状态,这是可以由初等数学的排列组合解决的。

12!*8!*2^12*3^8=519024039293878272000

然后我们利用上面的结果,把角块和棱块分开考虑。对于棱块,全部正确是一种情况,如果我们把一块棱块朝向改变,其余都正确,是不可复原的。而这一个棱块可以在任意位置,它们都在一个轨道内(这个用任意三轮换公式可以证明)。还有一种是两个棱块调换位置,注意调换位置之后再改变朝向也是可以化到这种情况里的,而3个棱块及以上的调换,都可以用三轮换公式约简到2个棱块及以下的调换。所以对于棱块来说,只有3种情况。同样,由于角块多了一种朝向,所以是4种,那么,我们一共有3*4=12个轨道。

在这12个轨道里,我们只有一个是正确的,所以我们随意拼上正确的概率为1/12。

由此,我们可以计算魔方的状态数:12!*8!*2^12*3^8*1/12=43252003274489856000

后记:

其实我有更深的思考,魔方只是群论中的一个具体例子,但它已经如此繁复,有限群的研究不是那么简单的事情。而23步就一定能复原一个魔方给了计算机科学更大的挑战。如何搜索,能不能出现更新的技术都是小魔方能引入的大问题。实际上,把魔方用群的语言表示出来,最后找到复原解,是一个纯粹符号的计算,它只涉及到置换群的乘法,要找到复原魔法的最小步骤解,只需把分解成最少次乘法。研究这个搜索技术应该对研究置换群的运算是有很大好处的。

将魔方符号化是有好处的,它直接允许我们用计算机来研究魔方。

把魔方当作数学看,真的是一件很有趣的事情,也是学习群论的一种手段吧。

阅读全文

与魔方如何用数学解出来的相关的资料

热点内容
word中化学式的数字怎么打出来 浏览:739
乙酸乙酯化学式怎么算 浏览:1404
沈阳初中的数学是什么版本的 浏览:1350
华为手机家人共享如何查看地理位置 浏览:1042
一氧化碳还原氧化铝化学方程式怎么配平 浏览:884
数学c什么意思是什么意思是什么 浏览:1408
中考初中地理如何补 浏览:1299
360浏览器历史在哪里下载迅雷下载 浏览:701
数学奥数卡怎么办 浏览:1387
如何回答地理是什么 浏览:1023
win7如何删除电脑文件浏览历史 浏览:1055
大学物理实验干什么用的到 浏览:1484
二年级上册数学框框怎么填 浏览:1699
西安瑞禧生物科技有限公司怎么样 浏览:971
武大的分析化学怎么样 浏览:1247
ige电化学发光偏高怎么办 浏览:1337
学而思初中英语和语文怎么样 浏览:1650
下列哪个水飞蓟素化学结构 浏览:1423
化学理学哪些专业好 浏览:1486
数学中的棱的意思是什么 浏览:1057