導航:首頁 > 數字科學 > 魔方如何用數學解出來的

魔方如何用數學解出來的

發布時間: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