最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

【原創(chuàng)】三階魔方十字求解器-枚舉法

2023-04-02 18:59 作者:豆嘉木  | 我要投稿

魔方求解-十字求解器

枚舉法-深度Ⅰ

注:本文的十字處理用的是白底,所謂底棱就是白色底面的棱塊也就是白棱,底面就是底棱的白色面。

本人有2年魔方經(jīng)驗(yàn),三階速擰百次平均13s

對(duì)魔方稍有理解,醞釀許久才成此文

作此文,是為了

博采眾議,并在修改后于暑假用c++實(shí)現(xiàn)這個(gè)十字求解器

今后可能會(huì)在b站用視頻講解

當(dāng)然,撒育碧那是必不可少的

文中如有涉及較難理解的地方請(qǐng)指出,我會(huì)盡力修改并加上圖片

前言
? ? 無(wú)論是層先法還是CFOP,十字處理是必不可少的環(huán)節(jié),可能對(duì)于30秒開(kāi)外的人而言十字處理的好壞并無(wú)大礙,因?yàn)檫@確實(shí)只是數(shù)十步解法中,2~3秒的一瞬,提升十字處理并不能在整體速度上獲得明顯進(jìn)步。但對(duì)于20秒或是12秒以內(nèi)的人而言,十字處理水平就尤為重要了,因?yàn)?.5~1.5秒和2~4秒的差距與12秒這個(gè)小分母一比比值急劇增大。這是9秒和12秒的區(qū)別。作為一個(gè)卡在15s瓶頸一年多的菜鳥(niǎo),意識(shí)到在其他環(huán)節(jié)難以得到明顯的進(jìn)步,因此打算摸索摸索十字處理技術(shù)。不玩魔方的大佬會(huì)問(wèn),速度不行練手速去??!
? ? 為了解決這問(wèn)題,首先我們對(duì)“手速”這個(gè)概念有個(gè)正確的認(rèn)識(shí)。
? ? 記得蘇格拉底靈魂三問(wèn)中有一問(wèn)是“我是誰(shuí)”。

手速是什么?

? ? 用專業(yè)點(diǎn)的詞語(yǔ)表述就是tps(time per second),這里的time譯為“次,回”,類似于“four times a week”,tps?翻譯過(guò)來(lái)差不多就是每秒多少步。
? ? 初中物理學(xué)過(guò),時(shí)間=路程/速度,手速(tps)可理解為速度,t=s/v中的路程s可類比為還原步驟,于是我們得到了一個(gè)公式:還原時(shí)間=還原步驟/tps。
? ? 即使如此,問(wèn)題還沒(méi)解決。根據(jù)公式可知,提升手速的確可以取得進(jìn)步,但手速是有上限的,在實(shí)戰(zhàn)中由4tps提升到5tps之難難于上青天??!各位可以親自嘗試一下。
? ? 綜上所述,提升手速比較困難,那么從優(yōu)化原步驟入手,即優(yōu)化解法,因此,我決定做一個(gè)十字求解器。
正文
? ? 考慮到讀者中有一部分不是魔友,這里先科普一下,理論上,任何一種打亂,十字都可在≤8步內(nèi)處理完。為了盡量減少還原步驟,我們還原十字時(shí),憑借自身經(jīng)驗(yàn)往往能做出“連帶”這一技頗具技巧的操作。所謂連帶,大致可理解為還原一個(gè)底棱的同時(shí)順帶著另一個(gè)底棱移動(dòng),從而節(jié)省步驟。
? ? 補(bǔ)充說(shuō)明一下,這里說(shuō)的十字處理完成的結(jié)果是底面四棱歸位且與周?chē)母裰行南鄬?duì)應(yīng)。

? ? 剛剛提到,包括最終調(diào)整,理論上任何一種打亂,十字都能在≤8步內(nèi)還原,若用傻瓜式的“黃色小花法”,先在頂部拼出白色小花,然后對(duì)應(yīng)中心依次歸位。的確,這種方法很容易就能實(shí)現(xiàn),但黃色小花法所消耗的最多步驟為:2步x4棱+2步x4棱=16步,與8步大相徑庭。舍去。

黃色小花法問(wèn)題出在要拼出白色小花,這一步實(shí)在是多余。既然如此,假如我們讓計(jì)算機(jī)將四個(gè)底棱按綠→橙→藍(lán)→紅的順序依次還原,每個(gè)底棱的還原過(guò)程由

取出+校位+還原

? ? 三步組成,那么此法最多消耗的步數(shù)為3x4=12步,僅管依舊>8步,但已明顯優(yōu)于“黃色小花法”,我們稱此法為“排隊(duì)解決法

不難看出排隊(duì)解決法問(wèn)題出在,四個(gè)底棱原順序比較硬式,非得按綠橙藍(lán)紅的順序。我們知道,在4個(gè)底棱一個(gè)都沒(méi)歸位時(shí),也就是打亂狀態(tài)下,任意一塊都可還原到底面的任意一個(gè)棱塊位置,因?yàn)榈谝粋€(gè)底棱沒(méi)有相對(duì)位置的束縛(對(duì)應(yīng)周?chē)母裰行牡娜蝿?wù)可以在最后通過(guò)1步D層來(lái)完成),因此,上一法中提到的取出+校位+還原三步中第一個(gè)底棱可以跳過(guò)“校位”這一步,其余3個(gè)底棱依舊按排隊(duì)解決法中的取出+校位+還原3步走。那么最終這個(gè)方法最多消耗2+3x3=11步,還是<8步,但相較“排隊(duì)解決法”,我們又更進(jìn)了一步。

? ? 不過(guò),細(xì)心的讀者可能發(fā)現(xiàn),上一個(gè)辦法實(shí)際上并沒(méi)有解決任何問(wèn)題。上一法似乎解決了第一個(gè)底棱不需校位的問(wèn)題,但由于第一次處理底棱時(shí)候不考慮對(duì)應(yīng)中心位置,導(dǎo)致最終仍然需要一步來(lái)調(diào)整,而且后3個(gè)底棱排隊(duì)解決的問(wèn)題仍未得以解決,所以上一法實(shí)際最多步驟還是2+3x3+1=12步,沒(méi)有改善。
長(zhǎng)達(dá)兩個(gè)多星期思考的中,類此的失敗不計(jì)其數(shù),但每一次失敗都是一次進(jìn)步,至少給我們提供了不少思路。這次失敗的過(guò)程中,我們發(fā)現(xiàn)了排隊(duì)解決法棱塊環(huán)原順序上的死板。最重要的是,我們想到了,在第一塊底棱的選擇上動(dòng)手腳,如果整套算法的本質(zhì)不變,始終為:

L1(取-歸)→L2(取--歸)→L3(取--歸)→L4(取--歸)→D層一步調(diào)整。

? ? 那么優(yōu)化解法的路徑就在于消步,也就是實(shí)操中的“連帶”,一次連帶可以助下一個(gè)底棱跳過(guò)取、校中的1~2個(gè)步驟,只要連帶量足夠,就能從12步躍進(jìn)至8步。那么問(wèn)題來(lái)了,L1~L4中,一定會(huì)出現(xiàn)連帶嗎?難道就沒(méi)有一種打亂無(wú)法進(jìn)行任何連帶嗎?我可以肯定地說(shuō),所有打亂都可以連帶!此前我們已得出每塊底棱環(huán)原至多經(jīng)歷--三步,在這三步中,至少會(huì)涉及3個(gè)面的轉(zhuǎn)動(dòng),精確到棱就是9個(gè)棱的轉(zhuǎn)動(dòng)。長(zhǎng)方體共12棱,9個(gè)棱必動(dòng)(稱為動(dòng)棱),3個(gè)棱必閑(稱為閑棱),9動(dòng)棱中至少有1個(gè)待歸位的棱,如果除此之外的動(dòng)棱中無(wú)一是底棱,那么剩余3個(gè)閑棱必定全是底棱,這三個(gè)閑棱如中有2個(gè)在底面,若這2個(gè)棱可沒(méi)有一個(gè)是底面(就是白面)朝下的,那么無(wú)論如何,中間的底棱一定能跳過(guò)“取”步。這種3個(gè)閑棱全是底樓且落下面兩個(gè)全不是底面朝下的情況只有在第一個(gè)底棱還未環(huán)原的狀態(tài)才下會(huì)出現(xiàn),因此3閑棱中中間的底棱又必能跳過(guò)“?!辈?,所以這種3閑棱全為底棱的極端情況也必然會(huì)有一個(gè)底棱跳過(guò)“取?!倍?,而在這個(gè)中間底棱歸位時(shí)又必然連帶一個(gè)原本在底面的底棱,從而再省一步,而被連帶的底棱還原過(guò)程中可能會(huì)連帶原來(lái)9動(dòng)棱中唯一的一個(gè)底棱,即使不連帶那個(gè)底棱,那么原來(lái)3個(gè)閑棱中剩下沒(méi)動(dòng)過(guò)的底棱在還原過(guò)程中必然會(huì)連帶那個(gè)動(dòng)底棱,從而再省一步。
? ? 綜上,即使是9動(dòng)棱中僅有一個(gè)底棱的極端情況,仍然能至少省下4步。如果9動(dòng)棱中,有≥2個(gè)動(dòng)底棱存在其中一個(gè)被還原時(shí)肯定會(huì)連帶另一個(gè),如果這次連帶能達(dá)到消步的目的那更好,如果不能,那另一塊底棱在被連帶之前就已能消步,而這≥2個(gè)底棱環(huán)原后100%會(huì)連帶其它底棱。也就是說(shuō),包括那個(gè)極端情況在內(nèi),所有底棱環(huán)原所省步數(shù)之和必然>=4,那么總數(shù)最多是8。至此,我們證明了最多環(huán)原步驟這個(gè)事實(shí)。
以上所有過(guò)程都是我在進(jìn)兩個(gè)星期中總結(jié)的(不包括過(guò)去兩年的魔方經(jīng)驗(yàn)),盡管進(jìn)行了不少的計(jì)算和實(shí)驗(yàn),但仍然可能會(huì)有所偏差,歡迎各位大佬指正。如果合理,我會(huì)第一時(shí)間進(jìn)行改正。
? ? 但對(duì)于機(jī)器而言,我們的算法本質(zhì)還是

L1(取-歸)→L2(取--歸)→L3(取--歸)→L4(取--歸)→D層一步調(diào)整

僅管理論上必會(huì)產(chǎn)生連帶消步,但機(jī)器在執(zhí)行算法時(shí)貌似無(wú)法意識(shí)到這點(diǎn)。在閱讀下文前,為方便理解,建議再瀏覽一遍上一段。
所以我們要想辦法讓機(jī)器?“意識(shí)”到這一點(diǎn)。好消息是,我想到一種讓機(jī)器“意識(shí)”到消步的辦法;壞消息是,這個(gè)意識(shí)的過(guò)程并不智能,也就是偽意識(shí)。這主要是受限于我目前初三淺陋的數(shù)學(xué)知識(shí)。
? ? 為了解決一道選擇題,除了直接求出答案這一高效的辦法,還能用排除法。前文在講排隊(duì)解決法的時(shí)候,我們規(guī)定了計(jì)算機(jī)要按綠橙藍(lán)紅順序還原。假設(shè)最優(yōu)解(也就是能消步最多的路徑)是按紅橙綠藍(lán)的順序還原,那么我們預(yù)設(shè)的綠橙紅藍(lán)必然不能達(dá)到最優(yōu),即使我們用紅橙藍(lán)綠,那和最優(yōu)解還是在綠藍(lán)順序上引了起的差異。
? ? 所以!我們可以發(fā)現(xiàn),解決問(wèn)題的突破扣在于還原順序!
? ? 乾坤未定,你我皆是黑馬,面對(duì)未知的世界,我們只有通過(guò)嘗試來(lái)探明乾坤。同理,為了找到最優(yōu)解或者說(shuō)最優(yōu)還原順序,我們要讓機(jī)算機(jī):

窮舉


換而言之,用專業(yè)點(diǎn)的話說(shuō)就是

枚舉法


讓機(jī)算機(jī)將所有還原順序都嘗試一遍從而找出最優(yōu)解。下圖為枚舉的總量(G=綠,O=橙,R=紅,B=藍(lán))



共24種可選順序,將這些順序作為參數(shù)依次代入算法,記下每條路徑的步數(shù),找出最短的路徑,輸出。這樣的話十字求解就可以完成,同時(shí)三層的深度可以捕獲所有連帶情況。


? ? 至此,十字求解枚舉法-深度Ⅰ的思路完結(jié)了,沒(méi)錯(cuò),只是思路,自由時(shí)間對(duì)于初三考生而言是極其珍貴的,這兩周的空閑時(shí)間有很大一部分都在思考一種可以在我能力范圍內(nèi)實(shí)現(xiàn)的十字求解法。到成文為止,暫時(shí)未落實(shí)到程序中,文中提到的“黃白小花”和“排隊(duì)解決法”是我思考過(guò)程中比較有代表性的角度,還有很多想法未經(jīng)自己深入思考就被否認(rèn)了。有些不切實(shí)際,像導(dǎo)入公式庫(kù)求解;有些不在我能力范圍內(nèi),比如說(shuō)建立類似人工智能的神經(jīng)網(wǎng)絡(luò)來(lái)學(xué)習(xí)(這個(gè)對(duì)我而言實(shí)屬荒謬)。
? ? 創(chuàng)新,或者具體到個(gè)人思想上的創(chuàng)新;是有趣而痛苦的??嘣谔剿鶑奈瓷孀氵^(guò)方面時(shí)的艱辛,樂(lè)在毛塞頓開(kāi)時(shí)的成就感和苦盡甘來(lái)的滿足感。(這可能是全文唯一表述得能讓人看懂的一段了,我語(yǔ)文真的不好抱歉)

? ? 最后,也是最重要的,對(duì)能從頭到尾看到現(xiàn)在的讀者,表示誠(chéng)摯的感謝和敬意。



作者:豆嘉木(酈俊輝)

創(chuàng)作時(shí)間:2023年4月1日

本文作者原創(chuàng),已在多平臺(tái)上傳,本作者全平臺(tái)同名

【原創(chuàng)】三階魔方十字求解器-枚舉法的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
庄河市| 荆门市| 黄浦区| 天门市| 开化县| 邮箱| 司法| 肇东市| 曲周县| 屏南县| 乐平市| 凤山县| 海晏县| 屯门区| 巴彦县| 翼城县| 和林格尔县| 涞源县| 葵青区| 辰溪县| 岳池县| 平塘县| 丰镇市| 铁力市| 阿荣旗| 宜川县| 化德县| 兖州市| 兰溪市| 广水市| 神木县| 霍邱县| 上思县| 赤壁市| 独山县| 天门市| 嵩明县| 西乌| 新平| 元阳县| 赤壁市|