【番外篇】人工降群法(Human Thistlethwaite Algorithm)
先來個(gè)極限省流:
①EO
②先棱后角DR
③先角后棱HTR
④后續(xù)解法略。略略略~ヾ(≧▽≦*)o
?

? ? ? ? Ryan Heise的網(wǎng)站上有一個(gè)“Miscellaneous”欄目,包括了對魔方技術(shù)及解法歷史的介紹(https://www.ryanheise.com/cube/solutions_history.html)。這里可以看到,Heise法形成于2003-2004年之間,這是一個(gè)筑塊為主,降群為輔的思路,而此前Ryan已經(jīng)開始研究魔方的降群,甚至預(yù)見到了EO-Line/EO-Cross的潛力……
? ? ? ??1981年,數(shù)學(xué)家Morwen Thistlethwaite在倫敦南岸大學(xué)提出了一種“降群”思路的解法,能在52步內(nèi)復(fù)原魔方,這個(gè)數(shù)字在1991年又被壓縮到了42——這大概是人類追尋“上帝之?dāng)?shù)”起點(diǎn)之一吧。
? ? ? ??Thistlethwaite算法一般用于計(jì)算機(jī)解魔方,而2002年圣誕節(jié)時(shí)Ryan Heise將其移植為人工解法。本專欄翻譯整理的內(nèi)容是Ryan Heise在他網(wǎng)站上曬出的兩篇雅虎帖子(https://www.ryanheise.com/cube/human_thistlethwaite_algorithm.html)。和前文相同,下方出現(xiàn)的藍(lán)色字體是我的學(xué)習(xí)記錄(有點(diǎn)“互聯(lián)網(wǎng)考古”的感覺了)……
建議初步了解《預(yù)備知識3 魔方理論(上)》內(nèi)容。
UP主「我是天藍(lán)啦」的視頻把“降群”思路比較系統(tǒng)而簡潔地介紹了一遍,盡管一些細(xì)節(jié)上的處理與本視頻不同。
UP主「北師大李老師」的視頻從比較學(xué)術(shù)的角度講解了Ryan Heise的這些帖子,也很推薦觀看。

Post1是基本原理,Post2是詳細(xì)解法。
Post 1:
From: Ryan Heise <rheise@it....>
Date: Sun, 22 Jun 2003 11:30:52 +1000
To: Ron van Bruchem <rvb@chello....>(居然是辣個(gè)男人)
Subject: Thistlethwaite, human version
?
On Sat, Jun 21, 2003 at 06:13:28PM +0200, Ron van Bruchem wrote:
> Hi Ryan,
>
> I am very interested in the ideas you have.
> Please tell me something about the systems you came up with, and how many
> algorithms you need per stage.
?
階段1 -> <U,D,L,R,F2,B2>群
? ? ? ? ——無公式
階段2 -> <U,D,L2,R2,F2,B2>群
? ? ? ??——使U/D棱的去到U/D面并調(diào)整色向(無公式)
? ? ? ??——調(diào)整角塊色向(8~60條公式)
階段3 -> <U2,D2,L2,R2,F2,B2>群
? ? ? ??——角(1~2條公式)
? ? ? ??——棱(1~4條公式)
階段4 -> 色塊歸位
? ? ? ??——角(憑直覺)
? ? ? ??——棱(憑直覺)
?
各步驟的細(xì)節(jié)
?* 階段1
平均用4.6步完成。
?
* 階段2:棱
較簡單,如果你愿意,可以學(xué)習(xí)全部的20~30種情況。具體數(shù)字我忘了。這一步平均用4步完成。
?
* 階段2:角
我使用與Gaetan相似的方法——先調(diào)整一個(gè)面上3個(gè)角塊的色向,再用一條公式(共8條)。如果你想,也是有可能直接學(xué)習(xí)全部60多種情況的(我不記得具體數(shù)字了)。
這一步我估計(jì)平均可用8.5步完成。
? ? ? ? 這里應(yīng)該是指Gaétan Guimond的二階魔方解法,這個(gè)解法的第一步是調(diào)整U、D面色向,公式如下圖(更多信息見https://amvhell.com/stuff/cubes/guimond/guimond.html,包括完整解法以及2-gen公式……)


* 階段3:角
階段3先做角是很重要的,因?yàn)楹茈y判斷魔方是否已經(jīng)進(jìn)入<U2,D2,L2,R2,F2,B2>群。讓每個(gè)面上都是對色是不夠的。如果不去考慮棱塊,你需要學(xué)習(xí)的公式會短得多。
這里,我會介紹使用2條公式的最簡單的方法,但這對于人手和人腦而言是很高效的。
首先,分開頂面和底面的顏色(每個(gè)面一個(gè)顏色)。平均3.2步。比如,需要使所有紅色角塊都在頂面,所有橙色角塊都在底面。
現(xiàn)在,相鄰角塊的顏色可能是對齊或不對齊的。我們的目標(biāo)是使它們?nèi)繉R,或全部不對齊。所以這個(gè)步驟中,我們找出與其他對相異的一對角塊(不論是對齊或不對齊),然后調(diào)整它們,使之與其他角塊相同。一共有4對,只可能有一對或兩對會是不同的。
? ? ? ??頂層與底層各2對。例如FUL-FUR、BUL-BUR、FDL-FDR、BDL-BDR,一共4對角塊,觀察它們F與B面上的顏色是否全部對齊或全部不對齊。應(yīng)當(dāng)選擇側(cè)面為同色或?qū)ι摹敖菈K對”進(jìn)行判斷,如果是鄰色,就轉(zhuǎn)90試試。
對于“一對”的情況:將這一對角塊放在UF位置(UFL、UFR位置),做【R' F R' B2 R F' R】。這是corner mover的一種變體,但它不考慮角塊的位置(corner mover是指PLL過程中能實(shí)現(xiàn)頂層鄰角換的操作)。
對于“兩對”的情況:將它們放在F面(你可能需要將它們移動到F面的對應(yīng)位置),做【R2 U F2 U2 R2 U】。如果你在做公式前移動了它們,還有別的解法來完成這一步……
我花了很長時(shí)間尋找其他步數(shù)更少的方法。我確實(shí)找到了一些,但上述的方法目前來看一定是最高效的。
?
* 階段3:棱
4種情況——2,4,6或8個(gè)壞棱。平均用6.1步完成。
截至目前花費(fèi)的頻數(shù):33.4步。顯然,若想做到平均40步復(fù)原,有必要找出更短步數(shù)的方法。我想出了一些“捷徑”,但我不認(rèn)為它們值得使用,因?yàn)槲矣瞄L一些的步驟復(fù)原會快得多。
?
* 階段4(尾聲)
我想你對此已經(jīng)了解了一些方法。先角,后棱。我想是有可能學(xué)會棱塊的所有情況的(我想大約有150種情況,但很容易記憶)。
180度轉(zhuǎn)動是比較不方便操作的,這是一個(gè)缺點(diǎn)。但我嘗試了幾個(gè)公式,它們是足夠快的。我想這個(gè)方法主要的優(yōu)勢在于反應(yīng)時(shí)間短,無需思考。另一個(gè)優(yōu)勢是,它看起來很酷。在最終的步驟前,沒有一個(gè)色塊是歸位的。
以上我列出了每一個(gè)步驟,不包含進(jìn)階捷徑。合并步驟或視情況改變步驟的順序都是有可能的。對于上述基本方法,如果你學(xué)了每個(gè)步驟的每種情況,平均將使用45.7步復(fù)原魔方。
?
Ryan
(看起來Ryan意在將Thistlethwaite降群法用于速擰……?)

Post 2:
To: speedsolvingrubikscube@yahoogroups.com
From: Ryan Heise <rheise@progsoc....>
Date: Wed, 9 Jul 2003 15:42:19 +1000
Subject: [Speed cubing group] Method with the fewest non-obvious algorithms - zero
?
On Tue, Jul 08, 2003 at 05:09:13PM -0000, tomrokicki wrote:
?
> So what method requires the fewest algorithms that aren't "obvious"
> or logically clear?
?
用簡化Thistlethwaite法,可不記“神秘公式”而復(fù)原魔方。
步驟1:無公式。
步驟2:一條5步公式。
步驟3:一條7步公式、一條4步公式。
步驟4:兩條6步公式。
公式簡單而短,凡嘗試者完全可理解(解法很靈活,作者只是列出所需“公式”的最少數(shù)量,我們完全可以憑理解想出更多“公式”和更短步數(shù)的解法)。
該法上手稍難,一旦習(xí)得,頗有樂趣。
?
** 步驟1 **
使魔方進(jìn)入<L2,R2,F,B,U,D>群,稱為G1。此狀態(tài)下,魔方用L2,R2,F,B,U,D步驟即可復(fù)原。現(xiàn)在開始直至步驟4,應(yīng)視對色為同色:限定左右為“綠色”,頂?shù)诪椤凹t色”,前后為“白色”(相當(dāng)于U、D為高級面,L、R為中級面,F(xiàn)、B為低級面;這里的規(guī)定與Post1不同了)。
進(jìn)入G1后不可翻棱,步驟1實(shí)為調(diào)整所有棱塊色向正確。先找“壞棱”,即色向錯(cuò)誤的棱。對于壞棱,若用G1限制的操作使之歸位,色向?qū)⑹清e(cuò)誤的(當(dāng)然,你不用真的這樣做來判定色向)。
壞棱必有偶數(shù)個(gè),0~12,平均6個(gè)。翻轉(zhuǎn)色向的唯一方式是L或R層轉(zhuǎn)90度,以改變該層內(nèi)4個(gè)棱塊的色向。翻4個(gè)壞棱,可將它們?nèi)糠诺絃層后轉(zhuǎn)動90度。若只有2個(gè)壞棱,可移1個(gè)到L層,轉(zhuǎn)90度,于是得到3個(gè)新壞棱,加上起初的另一個(gè),同時(shí)調(diào)整。
步驟1完成后,前后無“紅色”棱,頂?shù)谉o“白色”棱。不知情者會以為無所變化,但這12個(gè)棱已變得更“好”。
?
** 步驟2 **
使魔方進(jìn)入<L2,R2,F2,B2,U,D>群,稱為G2。此狀態(tài)下,E層棱塊將不再離開E層,色向也不再變;U、D層棱塊和角塊將在兩層間互換,但色向也不再變。步驟2完成后,僅左右有“綠色”,前后有“白色”。
注意我們正處于G1,只能用G1的轉(zhuǎn)動方式進(jìn)入G2。先做頂?shù)准t色十字。由于空間限制,至少4個(gè)棱已經(jīng)正確。一般策略是頂面和底面各拼好3個(gè)棱,并置缺失的位置于F層。缺失的2塊必在E層(否則必有一面拼好了4塊)。使用<L2,R2,F2,B2>置缺失的兩棱于FL、FR位置,再將F層轉(zhuǎn)動90度。棱塊完成后,對稱性已經(jīng)達(dá)成,魔方可以繞U-D軸旋轉(zhuǎn)并改變坐標(biāo)。非常方便。
至于角塊,一次可以翻轉(zhuǎn)2塊。例如要翻轉(zhuǎn)LUF角塊(A)和FDR角塊(B),做:
? ? ? ??R' D——翻轉(zhuǎn)角塊B
? ? ? ??L2——對換A和B
? ? ? ??D' R——通過逆序翻轉(zhuǎn)角塊A
重復(fù)這個(gè)操作直至所有角塊色向正確,頂面和底面將全是紅色。
? ? ? ??這個(gè)操作完全可理解,非要叫公式也不是不行。它將角塊A逆時(shí)針翻轉(zhuǎn),角塊B順時(shí)針翻轉(zhuǎn)。當(dāng)然,不是原地翻。同理,我們可以用L D’ R2 D L’,L U’ R2 U L’,R U L2 U’ R’等等類似操作調(diào)整不同位置角塊的色向,也可以應(yīng)用OLL等等操作同時(shí)調(diào)整3個(gè)、4個(gè)甚至更多角塊的色向。
?
** 步驟3 **
使魔方進(jìn)入<L2,R2,F2,B2,U2,D2>群,稱為G3。此前僅使頂面與底面全為對色(“紅色”)。本步驟后,前后面(“白色”)與左右面(“綠色”)亦如是。此狀態(tài)下,每個(gè)角塊都只有4個(gè)可能的位置,我稱之為一組“環(huán)路”。所有角塊總共只有兩組“環(huán)路”。G3狀態(tài)下每層都只能轉(zhuǎn)半圈,這將交換一個(gè)環(huán)路中的兩個(gè)角塊,以及與之重疊的另一環(huán)路中的兩個(gè)角塊。這就限制了角塊可能的位置排列方式(permutation),這意味著只是讓每個(gè)面上都只有對色,并不能確認(rèn)已經(jīng)進(jìn)入G3(舉個(gè)例子,PLL的N Perm;說到底還是奇偶性的問題)。
既然角塊比較棘手,我們就先讓角塊進(jìn)入G3,再做棱塊?,F(xiàn)在為了確認(rèn)G3狀態(tài),我們需要區(qū)分對色了。我使用紅-橙,白-黃,綠-藍(lán)配色。要判定是否進(jìn)入G3,一種簡單的方法是把所有紅色角塊移到頂層,所有橙色角塊移到底層。頂層和底層的4對角塊要么是對齊,要么是不對齊的。如果它們?nèi)繉R或全部不對齊,角塊就進(jìn)入了G3。“角塊對”全部對齊和全部不對齊各只有一種方式(對換一組對角的角塊就會轉(zhuǎn)化為另一種),所以面對具體的情況時(shí),頂層和底層角塊應(yīng)該完全對齊。用這條公式,可以在“全部對齊”和“全部不對齊”兩種狀態(tài)之間切換:
? ? ? ??R2 F2 R2
(別用【R2 U2 R2】,這會交換頂層和底層的兩對角塊)如果既不是全部對齊又不是全部不對齊的狀態(tài),這條公式可以交換底層的一對對角和頂層的一對相鄰角塊:
? ? ? ??R' F R'——把4個(gè)目標(biāo)角塊移到B面
? ? ? ??B2——交換!
? ? ? ??R F' R——恢復(fù)
這個(gè)情況暫時(shí)破壞G2以獲得更高效率。做完公式后,一切都恢復(fù)了。這條公式會在D層和B層進(jìn)行交換,UF位置的“角塊對”不受影響。當(dāng)你觀察各“角塊對”對齊與否時(shí),通常會找到與其他“角塊對”不同的一對(例如其他角塊都對齊,這一對卻不對齊)。如果找出這個(gè)與相異的“角塊對”并置之于UF位置,做上述公式即可調(diào)整好所有角塊。
現(xiàn)在來看棱塊,沒有什么特別值得提的。各個(gè)棱塊也處于不同“環(huán)路”上,但12個(gè)棱塊一共有3個(gè)環(huán)路。E層棱塊在步驟2已經(jīng)控好,不會離開它們的環(huán)路。只有余下8個(gè)棱調(diào)整,我們要把白、黃棱移到F面或B面,綠、藍(lán)棱移到L面或R面,也就是移入它們的正確環(huán)路。位置錯(cuò)誤的棱塊一定有偶數(shù)個(gè)。這里最簡單的做法是將綠/藍(lán)面的2個(gè)棱與白/黃面的2個(gè)棱交換。把綠/藍(lán)面要交換的塊放在底層,白/黃面要交換的塊放在頂層。然后做:
? ? ? ??D'
? ? ? ??M2 (M層在L和R層之間)——交換!
? ? ? ??D
這條公式的作用不言而喻。與步驟1一樣,如果只有2個(gè)壞棱,可以用類似方法做成4個(gè)。
本步驟完成后,魔方每個(gè)面上都只有對色。
?
** 步驟4 **
現(xiàn)在魔方可以只用180度轉(zhuǎn)動復(fù)原了。但當(dāng)我們看到明顯的捷徑時(shí),可以不遵守這個(gè)規(guī)則。
首先用180度轉(zhuǎn)動復(fù)原角塊(這時(shí)角塊可能會全部對齊,很容易CP;如果全部不對齊,做R2 F2 R2即可)。先選擇一個(gè)面,把2個(gè)角塊的顏色對齊,另外2塊就會自動對齊(只要你做對了步驟3)。再簡單對齊2對角塊,余下4個(gè)角塊就會自動對齊(只要你做對了步驟3)。
要復(fù)原棱塊,有2條很容易理解的公式:
? ? ? ? F2R2 F2R2 F2R2——交換不同環(huán)路上的2對棱塊。其他塊不受影響。
? ? ? ? F2 M2 F2 M2——交換同一環(huán)路上的2對棱塊。第2次F2讓其他塊恢復(fù)原狀。
使用它倆的變式,是有可能復(fù)原所有棱塊的。
第一條公式的變式包括:
? ? ? ??R (F2R2 F2R2 F2R2) R'
? ? ? ??L2B2R (F2R2 F2R2 F2R2) R'B2L2
第二個(gè)公式的變式包括:
? ? ? ??F2 M F2 M' (交換的兩組重疊了,從而實(shí)現(xiàn)三循環(huán))
? ? ? ??F (F2 M2 F2 M2) F'
? ? ? ??這一步中,類似(U2 M’ U2 M)的三棱換也是很好用的。
魔方復(fù)原了
?
Ryan