Ruwix 線上魔術方塊求解器:隨機打亂 20 步內算出照著做的解法

Ruwix 線上魔術方塊求解器是免費網頁工具,把打亂的 3x3 魔術方塊六面顏色輸入或用相機掃描後,以 Kociemba 兩階段演算法在瀏覽器內算出 20 步以內的復原轉法,並逐步播放教你看懂每一步。

用 AI 摘要這篇文章:

把一顆打亂的 3×3 魔術方塊交給 Ruwix 的線上求解器,它會把「怎麼轉回去」寫成一串你可以照著做的轉動代號。我實際在瀏覽器裡按了一次 Scramble 讓它隨機打亂,再按 Solve,新分頁跳出來的答案剛好是 20 步:R2 L’ U2 L’ B L’ F L’ D’ B L’ U F2 U2 L2 D2 R2 D2 F2 D2。不用註冊、不用裝 App,整個過程發生在 ruwix.com/cube-solver/ 這個網頁裡。

官網對這個工具的承諾寫得很明白:任何有效的打亂狀態,都能在 20 步以內解開(以「半圈計一步」的計步方式)。這個數字可以當真,它是演算法的能力範圍。這 20 步怎麼來、你真正要花功夫的地方在哪裡,下面直接講。

我按了什麼:從隨機打亂到 20 步解法

在桌面版 Chromium 打開頁面後,Solve 按鈕先停用了一下,因為瀏覽器正在背景生成解題用的搜尋表,生成完按鈕才亮起來。接著我按 Scramble,畫面上的 3D 方塊瞬間變成六色混亂的狀態;再按 Solve,網站把新分頁開到一個 solution.php 網址,網址尾巴帶著 55 位數字,開頭的 0 是格式記號,後面 54 位才是你輸入的六面顏色狀態。

Ruwix 線上魔術方塊求解器主畫面,3D 方塊呈隨機打亂狀態,下方為顏色調色盤與轉動按鈕Pin
Ruwix 求解器主畫面:按 Scramble 隨機打亂後的 3D 方塊(官方網頁截圖)

有個細節值得記下來:因為方塊狀態就寫在網址裡,這頁解法等於一個可以加書籤、可以傳給別人的網址。想重播同一次的解法,把網址留著就夠,不用重新輸入。

解法頁:一步一步放給你看

解法頁不只是把 20 個代號印出來。上方先給整串解法,下面接著一個播放器:Prev、Pause、Play、Stop、Next 一應俱全,還能用滑桿調整播放速度,慢慢跟或快轉都行。每按一步,畫面上的方塊就轉一次,雙轉的步驟會標上 2x,提示你這一步要轉 180 度。對看不懂代號的人來說,跟著動畫轉比盯著 R2 L’ U2 猜意思容易得多。

代號本身有固定語法,看懂一次就終身可用:F、R、U、B、L、D 分別代表前、右、上、後、左、下六個面順時針轉 90 度,加一撇(’)是逆時針,加 2 是轉 180 度。我拿到的 20 步裡,R2 就是指右面轉半圈。頁面也提供輸入欄,讓你貼上任何公式直接在方塊上執行,等於半個教學沙盒。

頁面上還有一個「Back to scramble」連結,把你帶回求解器首頁。要注意它不會把你剛輸入的打亂狀態帶回去,發現填錯顏色時只能回首頁重掃或重填;不過解法頁的網址本身就留著你的顏色狀態,把網址存下來,同一次解法隨時可以重播。

Ruwix 求解器解法頁顯示 20 rotations 與 R2 L' U2 等轉動代號,下方有逐步播放控制列Pin
解法頁:整串 20 步解法加上可逐步播放的控制列(官方網頁截圖)

20 步是當場算出來的

很多人以為這類工具是把幾萬種情況背進資料庫,其實剛好相反。頁面自述它使用開源的 Kociemba 演算法計算器。這套兩階段演算法在 1990 年代由 Kociemba 發表,後來成為電腦解方塊的主流做法,思路可以這樣理解:第一階段先把混亂的方塊轉進一個「比較規則」的中繼狀態(角塊與邊塊的方向都歸位,中層邊塊也回到中層),第二階段再在這個規則的小世界裡收斂到完全解開;兩段反覆逼近,就能把任何有效打亂壓在 20 步內。計步用的是半圈法(Half-Turn Metric):轉 90 度算一步,轉 180 度也算一步,所以我那串解法裡的 R2、F2 各只算一步。20 步在這裡是上限標尺:程式先找 20 步內的解,超過時間門檻會退而接受稍長的答案;而 20 步本身就是數學上任何局面的最壞上限(被稱為上帝數字),多數情況其實還存在更短的解。

計算就發生在你的瀏覽器裡。頁面載入的程式檔裡,搜尋表由一支名為 RubikWorker.js 的背景工作執行緒生成,生成完成前 Solve 按鈕保持停用;解法頁本身也載入同一套程式,從網址讀回狀態後當場算、當場畫,伺服器端的 PHP 只負責把頁面骨架送出來。有個有趣的小證據:程式碼裡那個控制「希望用幾步解開」的變數,值就設成 20。官網也誠實交代了邊界:電腦太慢時會自動降低運算量,解法可能稍微長一點。

這套 20 步能力是演化來的。官網介紹頁寫著,2012 年上線時的舊求解器用分層解法,一次要 130 步左右;2017 年換上 Kociemba 演算法,才降到今天的 20 步內。順帶一提,這個站有濃濃的匈牙利血統:程式變數用匈牙利文命名,而魔術方塊本身就是匈牙利人 Rubik 在 1974 年發明的。一個經營十幾年的個人網站(官網自述 2012 年 2 月註冊網域、同年 6 月上線,目前約十萬每日瀏覽、流量跟著魔術方塊的季節走、每年聖誕節前後是高峰,收入靠廣告),把一個數學結果維護成隨開即用的免費服務,這件事本身就是它可信度的來源。同樣把「困難計算交給工具」的思路,我們在 MathModelAgent 這類 AI 數學建模工具也看得到。

把實體方塊搬進網頁的三種方法

工具難的不是算,是你怎麼告訴它手上那顆方塊長什麼樣。頁面提供三種輸入方式。用相機掃描最省事:切到掃描頁後授權相機,把其中一面對齊畫面上的 3×3 框,按空白鍵或 Capture Face 拍下,接著照指示把方塊翻到六個指定方向逐一拍攝,左側的展開圖會即時顯示已掃到的顏色。程式跑在瀏覽器內建的相機 API 上,顏色辨識不準時可以到校正分頁調整,不同廠牌方塊的橘色深淺差異就靠這裡校;掃完還能逐格手動改,白色貼紙上印有 logo 的也能手動指定成白色,掃描加手動修幾格混合用是設計內的常態。不同廠牌方塊的橘色深淺各有差異,校正分頁就是為此而設。官網稱掃描是最快的輸入方法,並提醒光線要亮而均勻,顏色認不出來時要到校正分頁調整,光線不足時辨識容易出錯。不想開相機就用調色盤:先選一個顏色,再去點對應的貼紙;也可以關掉調色盤,連點同一格讓顏色循環跳換。最工程師味的做法是直接輸入轉動公式,讓它自己打亂再解。

輸入時有兩個原則能少走冤枉路。六面的中心格顏色是固定的(白對黃、藍對綠之類的配置由你的方塊決定),輸入時拿中心格當基準,整顆方塊的拿法中途不要換邊,否則顏色很容易張冠李戴。看不清楚的時候可以切換檢視:3D 模式能把前面轉透明、讓隱藏面浮出來,也有一次攤開所有面的平面模式,設定顏色時好用。

狀態檢查也值得知道。掃描頁在計算前多給一個 Validate 按鈕,先驗狀態再算解;主頁這邊,填出的狀態不合法(例如某種顏色出現超過九格、或兩塊貼紙的相對位置在實體上不可能存在)時,頁面會顯示驗證訊息、不給你算,所以你拿到的一定是「你輸入的那顆方塊」的解,而不是程式硬湊出來的東西。

它同時是一台可以自己玩的模擬器

如果你不是急著求解,同一個頁面也能當練習場。按 Scramble 打亂之後別按 Solve,改用畫面上的轉動按鈕或鍵盤(F、R、U、B、L、D 對應六面)自己轉,試著靠手感解回去;卡關再按 Solve 拿標準答案對照。頁面裡還內嵌了一段教學影片,解法看不懂的地方可以就地重看。頁面也內建 Reset 一鍵回到復原狀態,方便反覆練同一種局面;同一個網站還附了一個給速解玩家用的計時器,據官網說法它曾是流量最高的頁面,練習、計時、求解可以在同一家網站裡完成。

想練基本功的人可以把它當「有標準答案的題目本」:打亂、自己解、對答案、再打亂。這種每天摸一點的練習邏輯,跟我們之前介紹的 QWERTY Learner 邊打字邊背單字是同一套思路,差別只在題目從單字換成方塊局面。

大小方塊分散在兩個網域

Ruwix 的求解器其實是一個家族,入口不同、演算法也不同。3×3 主求解器就是 ruwix.com/cube-solver/ 這頁;2×2 和 Pyraminx(金字塔方塊)各有獨立頁面,分頁列上還有一個 1x1x1 求解器,那是站方放的玩笑(一階方塊根本不可能打亂);4×4 以上則跳到另一個網域 cube-solver.com,那裡的頁面號稱支援 2×2 一路到 15×15(實體方塊的世界裡甚至有 22×22、33×33 的紀錄,網頁版能算到 15 階已經夠應付絕大多數人的抽屜)。特別注意:cube-solver.com 是 Ruwix 官網自己列出的 NxN 姊妹站(站方特別感謝開發者 Sasha),但它解大方塊用的是傳統分層法,不是 Kociemba,解法會明顯更長,別帶著「20 步」的期待過去。

想解的方塊位置解法來源
3×3 魔術方塊ruwix.com/cube-solver/Kociemba 演算法,官網稱 20 步內
2×2、Pyraminx主站各自的獨立頁面獨立介面
4×4 到 15×15cube-solver.com 衍生站分層法,步數較長

網域這件事他們玩得很積極。官網自述為了觸及更多讀者,把部分內容拆成西班牙文、中文、匈牙利文等在地化姊妹站,也經營多個只做單一主題的迷你站(有一個早期落腳在 how-to-solve-a-rubix-cube.com 這種長網址,後來因為太難記而搬家)。早期流傳的舊網址 rubiks-cube-solver.com 現在會直接轉址到主站求解器,收藏舊連結的人不會迷路,新朋友直接記 ruwix.com 就好。

免費的代價:廣告、簡體中文與不開源的程式碼

這工具完全免費、免登入,但不是沒有成本。頁面原始碼載入 Google 的 GTM 與 gtag 分析腳本;實測的網路紀錄裡看得到 Cloudflare 的流量觀測 beacon 與 pub.network 的廣告請求;內文還穿插 VeePN 這類 VPN 的贊助欄位。對一般使用者的實際影響是頁面比較熱鬧,介意的人可以裝擋廣告工具再進去。

兩件事說清楚,免得誤會。頁面上「開源 Kociemba 演算法」的說法指的是演算法本身公開,不是這個網站的程式碼開放:solver.js 檔頭明寫版權屬 Ruwix Services SRL 並註明禁止複製與逆向工程,想拿程式碼自架的人要打消念頭。另外,站上提供 19 種語言版本,中文只有簡體,用語也是大陸慣稱的「魔方」,沒有繁體中文版;台灣讀者進站只會看到英文或簡體介面,魔術方塊是我們這邊的慣用說法。

誰現在就該打開它

手上有一顆卡死很久的方塊、只想趕快轉回原狀的人,這是目前最省事的路徑:把顏色輸入或掃進去,按 Solve,跟著動畫一步步做。想在課堂或聚會演示「演算法怎麼解難題」的人,它的逐步播放正好是現成的教材。臨時要算長度、算單位這種小事,JicoCalc 多功能線上計算機和它一樣,都是打開瀏覽器就能用的免費小工具。

但如果你的目標是學會空手解方塊,這工具幫不了你,官網也明講這是給「不想學解法的人」用的,想學的人該去走站上的免費圖解教學,它把解法拆成七個階層一步步教,如今是官網流量最高的頁面。相機掃描和 4×4 以上的大方塊走的是另一套流程,照官方說明操作即可。它不會替你把方塊變簡單,只是把答案先算好放著,要不要順便學會,決定權在你。

Sliven 褚崇名
Sliven 褚崇名

每日分享科技新知、免費資源以及 WordPress、虛擬主機相關主題,任何問題歡迎在科技月球下方留言,或是發送 Email 至 [email protected] 與我聯繫。

文章: 1108

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *


Share to...