跳转到内容

如何解魔方

25% developed
来自维基教科书,开放的书籍,开放的世界
(重定向自 如何解魔方)
Scrambled Rubik's Cube. Si
打乱的魔方。
如何解魔方

有很多符号,请参考这个 符号指南

简要说明

  • 魔方有六个面,分别表示为正面、背面、左侧、右侧、上面和下面。它们通常用其单字母缩写表示。
  • 在下方的等轴测图中,当一个角点指向你时,你看到的是 F、R 和 U 面。F 面朝左。
  • 动作表示为每次动作旋转一个外部面的四分之一圈(90 度)。这意味着中心方块的颜色不会改变。在我们的图表中,F 为蓝色,R 为红色,U 为黄色。其他三种颜色通常是橙色与红色相对,绿色与蓝色相对,白色与黄色相对。
  • 该面的层旋转四分之一圈默认为顺时针方向。逆时针旋转通常被称为“反向”,用 ′ 表示,例如,R′。(′ 通常读作“素数”、“撇号”、“勾号”、“逆时针”、“反向”或“i”表示反向)。半旋转(180 度)用数字“2”表示,例如,R2(表示在单字母缩写之后进行 2 次四分之一圈旋转)。
  • 要查看其他三种颜色的侧面发生了什么,请将整个魔方旋转,这被描述为沿着xyz 空间轴旋转,所有轴都指向页面外。x 是 R,y 是 U,z 是 F,但由于这种类型的移动也会改变中心方块的颜色,因此很少使用。
B D F L R U

解题示例

[编辑 | 编辑源代码]

例如,让我们考虑一个完整的解题过程。使用 25 步打乱步骤来混合魔方。我们的示例打乱步骤是

U B′ R2 D′ U′ R U2 B R′ B2 L2 R F2 R2 U2 R B U2 F2 L2 F2 D R B2 R2

解题过程是

R′ B R D2 F2 L U′ F U R′ D R F D F′ F′ D′ F U2 R′ D′ R U2 U′ F′ D′ F U U B′ D′ B U′ y2 F D2 F2 R F R′ B′ D F D′ B D F′ F2 D M D2 M′ D F2 (54 步)

有很多方法可以解魔方。在这里,我们列出了在本维基教科书中详细描述的方法,然后简要介绍了以下部分中的其他方法。

经典方法

[编辑 | 编辑源代码]

魔方的第一个广为人知的解法出现在 1980 年代初期,当时许多解法发表在书籍和文章中。例如,参见 Philip Marshall 对各种经典方法的比较。这里我们提到了 1981 年左右由 David Singmaster[1] 和 James Nourse[2]提出的两种解法。

一个关键的观察结果是,解题过程可以分解成几个步骤。大多数“标准”经典方法都是层层解题。例如,先解 1. 上层的所有边块,2. 上层的角块,3. 中层或水平层的所有边块,4. 下层的所有边块,以及 5. 下层的角块,这样就完成了解题。有一些相关的变体,例如步骤 2 和 3 可以合并(参见下面的 Fridrich 方法),或者步骤 5 通常被分成先将块放到正确的位置,然后修复它们的方向。关键是,这些步骤简化了解题过程,因为存在可以有效处理各个步骤的算法(一系列的面旋转)。解题方法不仅在步骤上有所不同,还在为各个步骤建议的算法集上有所不同。

正如 Marshall 所讨论的,许多更新的方法都源于这些早期解法。这在下面列出的几种方法中也很明显,但这些方法包括了一些改进。解题步骤已经修改,算法集已经改进和优化,以适应不同的解题步骤。此外,一些早期的解法方法没有完全解释(或存在缺陷),并且在演示方面也做了很多改进。

在以下内容中,我们评论了初学者方法,其目标是简单(通常以效率为代价),以及高级方法,其提供了更快的和/或更短的解法(通常以复杂度增加为代价)。

初学者方法

[编辑 | 编辑源代码]

术语“初学者方法”被不同的作者使用得不同。初学者方法应该简单,但什么是简单的取决于人,并且随着经验的增长而迅速改变。正如 Marshall 所讨论的,一些早期的简单方法需要 10 到 20 个算法,需要 100 到 150 步才能解开魔方。例如,他报告了 Nourse 方法的平均步数为 110 步,总共使用了 12 个算法,如果加上使用 20 个算法的快捷方式,则平均步数降至 100 步。

如果一种现代方法只需要 5 个或更少的算法,那么它就可以被称为简单方法。如果你习惯了使用 50 多个算法的高级方法,那么 10 个或更少的算法也很简单。此外,算法本身也不应该过于冗长和复杂。最近的一些只需要 5 个或更少算法的初学者方法非常有效,需要不到 100 步,在某些情况下只需要大约 70 步。与一些需要 40 到 60 步的高级魔方速度解法相比,这非常好,但这些方法平均使用了 50 多个算法。

最近的初学者方法

[编辑 | 编辑源代码]

Rubiks.com 上的解题指南:Rubik's 网站上的指南似乎是经典的层层解题方法之一。它列出了 14 个算法。 [1]

海斯新手方法:这是一个优化后的经典层层解法的代表性例子。最初的策略归功于大卫·辛格马斯特。它需要四个算法。(一些简单的步骤被标记为直观,不计入算法,但这是常见的做法。)解法借助动画呈现。 [2]

维基百科新手方法:在 维基百科页面 上展示,这种层层解法使用 5 到 8 个算法,具体取决于你的计算方式。虽然在算法数量上可能不是最优的,但它展示了一个相当成功的想法。前两层只解决了 3 个角块和 3 个边块。将这些块作为自由空间可以简化一些后面的步骤。请查看下面的彼得斯方法,了解经典的块构建方法,该方法避免过早地解决某些块。

8355 方法:另一个使用两个块作为工作空间的层层解法。需要 3 个算法。在这种情况下,与海斯新手方法相比,工作空间允许简化。 [3]

菲利普·马歇尔的解法:一种优先解边的解法,仅依赖于 2 个算法。马歇尔报告称平均只需 65 步。请注意,如果将解决第一层三个角块的步骤推迟到所有边块都解决后,上述带有工作空间的层层解法可以转换为优先解边的解法。马歇尔方法通过使用一个特定的 4 步算法来解决所有边,以及一个 8 步算法来解决角,从而实现其简单性。还有一些基本的设置步骤是必要的。 [4]

单算法方法:8355 方法和马歇尔方法可以简化为单算法方法,请参阅 单算法魔方解法Y 形移动方法。基本上,有两个基本的 4 步交换子,即 "S 形移动""Y 形移动",它们在这些方法和其他方法中被用来解决边块。事实证明,这些交换子也可以反复应用来替换 8355 方法和马歇尔方法中的角块算法。效率会略有下降,但通过这种方式,单算法方法是可能的。另一种单算法方法最初是由卡米洛·弗拉基米尔·德·利马·阿马拉尔开发的 [5],他称之为“少即是多方法”或“阿马拉尔方法” [6]

是否存在零算法方法?答案是肯定的,因为单面旋转不计入算法,而且魔方当然可以用它们来解决。然而,算法的理念是将单面旋转组合成人类可以管理的东西。仅依靠“直觉”和单面旋转还没有导致新手方法。

总之,目前有几种新手方法改进了经典的层层解法,尽管简单意味着不同的东西。仅用 1 到 4 个算法的简单方法是可能的,其中重点是少于 10 个或 20 个。尽管如此,新手可能更喜欢 5 个或 10 个算法的打印列表,而不是仅使用 1 个或 2 个算法的不太明确的方法。另一方面,具有更少算法的方法比更复杂的方法更容易记忆,也更容易理解。

"最后层的算法":一些用于解决最后层的算法 -

1. 制作十字形 - (如果你有一个水平条,则使用 F R U R' U' F',如果你有一个左后钩,则使用 F U R U' R' F')

2. 匹配边块颜色 - (R U R' U R U2 R')

3. 固定角块 - (U R U' L' U R' U' L)

4. 匹配角块 - (D R' D' R)

更快的解法

[edit | edit source]

虽然以上方法可能适合新手,但它们太慢了,无法用于 速拧。速拧玩家最常用的方法与上面的维基百科新手方法非常相似,只是将步骤 2 和 3 合并,最后层用两步而不是三步来解决。这种常见方法的发明人是 杰西卡·弗里德里希。使用这种方法,熟练的速拧玩家经过几个月的刻苦练习,平均可以在 20 秒内完成。但是,要学习这种方法,你必须学习 78 个算法。有些方法速度一样快,但需要记忆的算法要少得多。以下是几种流行的 速拧 方法的简要概述。

层层解法

[edit | edit source]

弗里德里希方法:一种非常快的先解两层 (F2L) 方法,首先在一个面上解出十字形,然后继续解决前两层,将边块和角块组合在一起,并将它们放到各自的位置。然后在两步中解决最后层,首先将所有块定位(最后层只有一个颜色),然后排列它们(解决最后层周围的环)。基本方法有 78 个算法(不包括它们的逆运算),被认为是目前使用最快的解法之一。 [7]

F2L 替代方法:遵循与弗里德里希方法相同原则,但使用不同算法的方法。许多算法是共有的,但也有一些区别,所以应该有一种适合你的手指。

  • 鲍勃·伯顿: [8]
  • Shotaro 'Macky' Makisumi: [9]
  • Speedcubing.com 合集:speedcubinglovers.com

ZB 方法: 这种方法 是由 罗恩·范·布鲁切姆兹比格涅夫·兹博罗夫斯基 在 2003 年独立开发的。在解决十字形和三个 c/e 对后,在定位最后层边块的同时解决最后的 F2L 对。这被称为 ZBF2L 或 ZBLS。最后层可以在一个算法中解决,被称为 ZBLL。终极方法需要几百个算法。 拉尔斯·范登伯格 的网站有 ZBF2L 算法,在 VH 系统中使用。 [10] 还有一个最近的 Google 电子表格在 [11]。ZBLL 算法可以在 Doug Li 的网页上找到。 [12]

ZZ 方法: 这种方法 是由 ZB 方法的共同创造者兹比格涅夫·兹博罗夫斯基在 2006 年创建的。它有三个基本步骤:EOLine、F2L 和 LL。 [13] [14] EOLine 代表边块定位线。边块的定位被定义为好或坏。好是指边块可以使用 R、L、U、D、F2 或 B2 的组合移动到正确的位置。坏是指需要 F、F'、B 或 B' 移动才能将它移动到正确的位置。任何 F、F'、B 或 B' 移动都会导致该层上的四个边块从其当前状态(好或坏)变为相反状态。EOLine 的 Line 部分是在魔方底部形成一条由 DB 边块和 DF 边块按正确位置排列形成的线。下一步是 F2L,先解两层。它使用块构建技术来解决 F2L 的剩余两个 1x2x3 块,只使用 R、U 和 L 移动。这使得 F2L 能够非常快地解决,因为它不需要旋转魔方。ZZ 方法的最后一步是 LL,最后层,它可以根据所使用的算法分成多个步骤,也可以保持为一个步骤。这种方法有两种主要方法:OLL [15] 和 PLL [16],最后层的定位和排列,以及 COLL [17] 和 EPLL [18],角块定位和边块排列。第一种方法是使用 7 个算法中的一个来解决顶层 (OLL),然后将边块和角块排列到正确的位置 (PLL),这需要 21 个算法。解决 LL 的第一种方法所需的总算法数为 28 个。解决 LL 的第二种方法是使用一个算法来解决顶层和角块 (COLL),然后解决边块 (EPLL)。COLL 需要 40 个算法,EPLL 需要 4 个算法,总共 44 个算法。第二种方法更快,因为 EPLL 的识别和执行都更容易。

VH 方法:拉尔斯·范登伯格丹·哈里斯 创建,作为从弗里德里希到 ZB 的过渡方法。首先,使用弗里德里希或其他方法,不解决一个 c/e 对的情况下解决 F2L。然后将最后一对组合在一起,但不要插入。然后将其插入 F2L,并一次性定位最后层边块。然后,使用 COLL,在保持边块定位的情况下解决最后层的角块。然后排列边块。 [19]

块构建方法

[edit | edit source]

彼得斯系统:拉尔斯·彼得斯 创建。 彼得斯方法 作为最少步数竞赛中使用最短的方法之一,在每次解法中的面旋转次数最少。彼得斯认为,当构建层时,魔方剩余块的进一步组织会被你已经完成的步骤限制。对于在构建第一层后继续进行的基于层的解法,魔方已解决的部分将不得不暂时拆卸,以便进行所需的移动,然后在之后重新组装。彼得斯试图通过从一个角块向外解决魔方来避免这种 困境,使他能够在构建过程中不受限制地移动魔方的多个侧面。与其他 F2L 方法相比,需要学习的算法更少,但需要大量的投入才能掌握。这种方法的基本原理是在魔方上创建一个 2 × 2 × 3 块,然后继续解决一个 3 × 3 × 2 块,但也翻转最后层的边块。然后用两步解决最后层,先解决角块,然后解决边块。 [20]

Heise 方法:Ryan Heise 创建。首先,直观地构建一个内方块和三个外方块。然后,在调整剩余边时将它们放置正确。之后,您创建两个 c/e 对,并解决剩余的边。最后 3 个角使用 交换子 解决。 [21]

Gilles Roux 方法: 另一种独特的方法,但像 Petrus 方法一样以块为单位工作。您从解决一个 1 × 2 × 3 块开始,然后在魔方另一侧解决另一个 1 × 2 × 3 块。接下来,您解决最后 4 个角,最后是边和中心。只有 24 个算法需要学习。 [22]

角优先方法

[edit | edit source]

Waterman 方法: 由 Mark Waterman 创建。高级角优先方法,大约有 90 个算法需要学习。在 L 上解决一个面,在 R 上做角,然后解决边。一种极快的办法。 [23]

Jelinek 方法: 由 Josef Jelinek 创建。这种方法与 Waterman 的方法非常相似。 [24]

在一个角上创建一个已解决的 2 × 2 × 2 魔方,并旋转剩余的块(这可能需要一段时间,但最终您会解决它)。

Catta 方法

[edit | edit source]

由其创造者意大利人 Giuseppe Catta 提出,独一无二,与其他所有方法不同,它基于结构块(在 3x3x3 魔方的案例中,只有 2 种类型,边和中块),从边到中心,并以两个相对面为枢纽。非常重要的说明,因为这 3 个原则与 Catta 方法一起,随后引导了任何尺寸 NxNxN 的魔方(除了实现分别与两个附加结构块一致的附加算法,以及 4x4x4(4 个“中心”而不是 3x3x3 的 1 个“对角内冠”,不是块;以及 2 个侧中块而不是 3x3x3 的 1 个)和 6x6x6(“对称中内冠”)的进一步结构块)。

这种方法 - 由一位建筑师非偶然地发现和编纂 - 极其有启发性,比其他方法更简单、更有条理、更易于理解和记忆,它的方法是处理事物作为一个整体和整体的范例,系统化,从一般到具体。它教会我们看到整个整体,作为一个系统的部分,而不是部分的总和或并置。

三个“难度级别”

[edit | edit source]

已经开发出一种程序,通过该程序,一个完全的初学者可以通过三个独立的“难度级别”来学习和掌握魔方。[3]

最低级别有意维护每个面都表现出水平和垂直对称性的配置,因此它还允许构建许多“漂亮图案” - 例如棋盘格、十字架、条纹和中心“点”。第二级涉及解决仅使用 180 度旋转打乱的魔方。在这些早期阶段获得的技术在继续进入下一级时仍然有用。

如何解决 2x2x2(迷你/口袋魔方)

[edit | edit source]

如果您知道如何解决 3x3x3 魔方和 4x4x4(见上文),您可以将 2x2x2 魔方视为一个 3x3x3 魔方,其中中心和边魔方处于永久已解决状态,无论您进行什么操作。换句话说,解决方案仅包含 3x3x3 解决方案的角解决步骤。重要的是要记住哪边是哪边(因为您看不到中间层,因为它们实际上并不存在),虽然这应该不难。

其他解决方案页面

[edit | edit source]

以下列出了一些最受欢迎的解决方案页面。它们都不一样,尽管它们大多使用类似的逐层方法。通常您需要 Java 才能看到使用的动画。

使用动画

使用图片

使用视频

仅文本

替代方法

[edit | edit source]

解决程序

[edit | edit source]

数学背景

[edit | edit source]
[edit | edit source]

参考文献

[edit | edit source]
  1. Singmaster, David (1981). 魔方笔记 (Notes on Rubik's Magic Cube). Harmondsworth, Eng: 企鹅图书 (Penguin Books). ISBN 0-907395-00-7.
  2. Nourse, James G. (1981). 魔方简易解法 (The Simple Solution to Rubik's Cube). 纽约 (New York): 班塔姆 (Bantam). ISBN 0-553-14017-5.
  3. McNaughton, D. (1989年11月 – 1990年2月). "魔方:掌握它的三步法 (The Rubik Cube: A three-stage approach to mastering it)". 少年新闻 (Junior News). 阿联酋迪拜 (Al-Nisr, Dubai, UAE).{{cite journal}}: CS1 maint: date format (link)
华夏公益教科书