国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于CFOP算法的魔方還原

2020-09-10 21:34:56唐健席禹
新教育論壇 2020年8期
關鍵詞:人工智能

唐健 席禹

摘要:科學技術是第一生產(chǎn)力,是人類文明進步的基石。科技的進步推動著人類社會的發(fā)展。 縱觀人類歷史,對科學思想和科技成果的廣泛傳播和普及,都積極地推動了人類社會的進 步。科學技術普及對提高國民的科技素質(zhì),增強公眾對現(xiàn)代科學技術的理解、掌握和運用 能力,把科學思想、科學理念植入民族精神,推動科技事業(yè)發(fā)展有著重要作用。隨著科技的 發(fā)展,智能算法得到越來越廣泛的關注,也更多地應用到日常生活的問題中。其中,還原 魔方成為科普研究的熱點,利用人工智能算法復原魔方具有很大的實用性和經(jīng)濟價值?;谏鲜龇治鲈O計,本文最終設計并實現(xiàn)了魔方還原的全過程,展現(xiàn)了系統(tǒng)的優(yōu)良性 能和帶來的巨大優(yōu)勢,同時分析了模型的優(yōu)缺點,并提出了改進方法和拓展領域。

關鍵詞:CFOP算法;魔方復原;人工智能

1問題重述

魔方,英文名為Rubik's Cube,又叫魯比克方塊,臺灣地區(qū)稱之為魔術方塊,香港地區(qū) 稱之為扭計骰,最早是由匈牙利布達佩斯建筑學院厄爾諾#魯比克教授于1974年發(fā)明的。 魔方,狹義上指三階魔方。三階魔方形狀通常是正方體,每個邊有三個方塊,官方版的魔方變長為57mm"三階魔方有一個連接著六個中心塊的中心軸以及8個角塊,12個棱塊構成,當它們連接在一起的時候會形成一個整體,并且任何一面都可水平轉(zhuǎn)動而不影響到其他方塊。

魔方在發(fā)明后不久就風靡世界。除了對教育行業(yè)帶來深遠影響,魔方也對科學研究產(chǎn)生了巨大推動力。截至目前,晶體學、晶體電子衍射、夸克以及基因?qū)W等多個領域的模型構建都曾借鑒過三階魔方。如今人工智能技術的很多應用場景中也有了“魔方”的身影。因此,如何設計出一種數(shù)學算法還原打亂的魔方成為熱門問題。

2符號說明和定義

符號說明R, L, U, D, F, B 分別表示右側層、左側層、上層、底層、前面層、后面層的轉(zhuǎn)動

定義1:魔方的原始狀態(tài):當魔方同一個面上的所有小塊面均為同一種顏色,則稱魔方處于原始狀態(tài)。

定義2:魔方的復原:指將一個狀態(tài)的魔方通過特定的轉(zhuǎn)動方式變成魔方的原始狀態(tài)。

定義3:魔方的轉(zhuǎn)動:在本文中,魔方的轉(zhuǎn)動均指把魔方某個面上的所有小塊全部順 時針轉(zhuǎn)動。同時,只考慮魔方的側面一層的轉(zhuǎn)動,不考慮魔方中心層的轉(zhuǎn)動。

3問題假設

1、假設已經(jīng)確定了每個面的顏色。魔方的54小面按照國際慣例貼有紅、橙、綠、藍、白、黃6種顏色的貼紙。旋轉(zhuǎn)魔方的各層可以將魔方的色面打亂或者復原。

4問題分析

本文研究的核心問題就是魔方復原。首先應該對魔方進行一般性分析,包括魔方的結構,相關操作和魔方狀態(tài)的唯一性表示方法。目前主流魔方復原方法有層先法、CFOP 法、TM法等。

層先法是一種逐層復原魔方的方法。此種方法分為底層棱塊歸位,底層角塊歸位,中間層棱塊歸位,頂層棱塊朝向調(diào)整,頂層角塊朝向調(diào)整,頂層棱塊位置調(diào)整和頂層角塊位置。

CFOP法由捷克的Jessica Fridrich提出,是一種特別適合魔方速擰比賽的方法【2】

綜上考慮,本文選擇CFOP的處理方法,對問題進行進一步分析。

5模型建立與求解

首先,我們知道魔方是由一些小方塊連接在一起組成的一個大立方體。大立方體有六個面,每個面都是由9個小方格組成的一個平面。如下圖1所示,其中,A代表中心 塊,B代表角塊,C代表邊塊。

求解

通過對魔方轉(zhuǎn)動的分析,我們發(fā)現(xiàn)打亂后的魔方,存在轉(zhuǎn)動序列使得魔方變?yōu)橐韵滤姆N基本情況:(1)僅有三棱變換;(2)僅有三角變換;(3)僅有兩棱翻轉(zhuǎn);(4)僅有兩角扭轉(zhuǎn),但扭轉(zhuǎn)方向不同。下面給出這四種基本情況的轉(zhuǎn)動序列。

⑴對于僅有三棱置換的情況,存在轉(zhuǎn)動序列如下所示:

(B2U)(RL3B2LR3)(UB2) = (ULB, UBR, URF) (2)

使得在該轉(zhuǎn)動序列下魔方的三個棱發(fā)生變化,相互置換,其他小塊均保持不變。其他情況的三棱置換以此類推。

對于僅有三角置換的情況,存在轉(zhuǎn)動序列形式如下:

(R3FR3)B2(RF3R3)B2R2 = (ULB, UBR, URF) (3)

使得在該轉(zhuǎn)動序列下魔方的三個較快發(fā)生了變化,相互置換,其他小塊均保持不變。其他情況的三棱置換以此類推。

對于僅有兩棱翻轉(zhuǎn)的情況,分為相鄰的棱和相對的棱這兩個類別。對于相鄰的棱存在轉(zhuǎn)動序列如下:

(BL3(DFU)BL)(B3L(U3F3D3)B3L3) = (UL, LU)(UB, BU) (4)

對于相對的棱存在轉(zhuǎn)動序列如下:

(BF3)(L3U)B3(LU3)(FB3)(RU3)B(R3U) = (UL, LU)(UR, RU) (5)

使得在該轉(zhuǎn)動序列下的魔方僅有兩棱轉(zhuǎn)動,其他小塊均保持不變。其他情況的三棱置 換以此類推。

對于僅有兩角扭轉(zhuǎn),且扭轉(zhuǎn)方向不同的情況,分為相對的角塊和相鄰的角塊兩個類別。對于相鄰的兩角扭轉(zhuǎn),且方向不同,存在轉(zhuǎn)動序列如下:

B(U3FL3)(U2LU)B3(U3L3U2)(LF3U) = (ULB, LBU, BUL)(UBR, RUB, BRU) (6)

如果相對的兩角扭轉(zhuǎn),且扭轉(zhuǎn)方向不同,存在序列如下:

(F3UBU3F)(U(LFL3)B3(LF3L3)U3) = (ULB, LBU, BUL)(UFR, FRU, RUF) (7)

使得在該轉(zhuǎn)動序列下的魔方僅有兩角扭轉(zhuǎn),且方向不變,其他小塊均保持不變。其他情況的三棱置換以此類推。在轉(zhuǎn)動時,我們默認中間層是不參與轉(zhuǎn)動的因為所有中間層的轉(zhuǎn)動均可由周邊層轉(zhuǎn)動進行實現(xiàn)。基于上述的定義,我們可以完整還原魔方的色塊和位塊的所有轉(zhuǎn)動。

6模型的優(yōu)缺點和推廣

6.1模型的優(yōu)缺點

6.1.1優(yōu)點

本模型的建立,推導合理縝密。由于魔方的狀態(tài)的復雜性,我們采用CFOP法將魔方進行分層次的分析,從而降低了魔方還原時的復雜性,使還原時更加簡便快捷。采用該方法運行結果有較高的概率可以將打亂的魔方進行還原,若還原失敗,可以再次運行進入循,使魔方最終還原。

6.1.2缺點

本模型僅采用了六種還原方法,還原方法較少,將導致采用該方法時運行時間依舊較長,與人為還原魔方相比,較為不靈活。運行結果時發(fā)現(xiàn),對于某少數(shù)打亂的魔方難以還原。

6.2模型的推廣

(本文魔方系統(tǒng)是將解魔方算法應用程序語言,模擬人)魔方的思維過程對任意狀態(tài)下的魔方進行復原求)。由對魔方群的分析可知,解魔方是一個依賴搜索解決問題的 非確定多項式問題,即可在多狀態(tài)空間內(nèi)被非唯一確定。因此如果試圖用更少的巧動步驟開解魔方,便意味著捜索要在更廣闊的狀態(tài)空間中進行。由此產(chǎn)生的同構狀態(tài)會隨著巧數(shù)的減少而成指數(shù)形式增長,本文僅采用六種方法,程序較為簡單可行,可以作為初學程序解魔方的典型方法。

參考文獻:

[1]鄭瑜.魔方原理及其應用[D].浙江大學,2009.

[2]揭宗昌,郭力峰,蔡澤輝.多變魔方機器人的控制系統(tǒng)設計[J].微型機與應用,2011, 30(7):101-103.

[3]李世春.魔方的科學和計算機表現(xiàn)[M]. 2003.

[4]黎廣輝.三維虛擬魔方游戲軟件的設計與實現(xiàn)[D].華中科技大學,2011.

[5]魔方算法的研究和系統(tǒng)實現(xiàn)[D].東北大學,2013.

猜你喜歡
人工智能
我校新增“人工智能”本科專業(yè)
用“小AI”解決人工智能的“大”煩惱
汽車零部件(2020年3期)2020-03-27 05:30:20
當人工智能遇見再制造
2019:人工智能
商界(2019年12期)2019-01-03 06:59:05
AI人工智能解疑答問
人工智能與就業(yè)
基于人工智能的電力系統(tǒng)自動化控制
人工智能,來了
數(shù)讀人工智能
小康(2017年16期)2017-06-07 09:00:59
人工智能來了
學與玩(2017年12期)2017-02-16 06:51:12
顺平县| 九台市| 镇江市| 宿迁市| 鄂州市| 谢通门县| 伊金霍洛旗| 金寨县| 巩留县| 二连浩特市| 阜城县| 开江县| 朔州市| 利津县| 岳池县| 丽江市| 剑河县| 周至县| 精河县| 迁安市| 长兴县| 临泉县| 多伦县| 绥棱县| 台东市| 加查县| 蓬溪县| 瑞丽市| 湘潭市| 乐亭县| 电白县| 隆化县| 望城县| 乃东县| 元朗区| 铁岭县| 云南省| 松桃| 长白| 纳雍县| 中山市|