`

26步解开任意状态的魔方

阅读更多
魔方是匈牙利人Erno Rubik于20世纪70年代发明的,它能够产生数十亿种组合状态,是世界上最流行的组合游戏之一。最近,美国计算机科学家对于魔方的一项研究证实,26步足以解开任意状态的魔方,这一结论打破了此前27步的最好历史证明,成为了一项新的纪录。
1997年5月,UCLA的计算机科学家Richard Korf表示,任意状态的魔方可以用不超过20步解决。不过,他并不能证实这一观点,此前也没有人能够证实魔方能以少于27步解决。
在此次的研究中,美国东北大学的Gene Cooperman教授和研究生Dan Kunkle将数学上群的概念应用于魔方的组合状态,在计算机上进行了模拟研究。他们的成功离不开技术上的支持:作为内存扩展的7G分布式硬盘以及每秒1 亿次的超快计算方式。此外,Kunkle表示,此次编写的程序能够进行大量的预先计算(pre-computation),这大大提高了研究中的计算速 度,因此他们最终能够在一秒钟内找到任意魔方状态不超过26步的解决方法。
此次研究的意义并不只限于进一步解开了一个谜团。Cooperman表示,魔方是探究和列举问题的“实验田”,许多不同领域的科研人员都有可能用到这一有效的工具。
(科学网 任霄鹏/编译)
more
分享到:
评论

相关推荐

    任意阶魔方阵

    此文档可以解决100以内的任一魔方阵,当然也可以对此进行扩充完善,扩充时只需要改动一行代码,简单易操作。

    任意阶魔方阵c语言源代码

    综上所述,这段C语言代码实现了生成任意阶(最大504阶)魔方阵的功能,覆盖了奇数阶、能被4整除的偶数阶以及不能被4整除的偶数阶魔方阵的生成算法。通过深入理解这些算法的原理和实现细节,不仅可以加深对魔方阵这一...

    C语言生成任意阶魔方阵源代码

    本文将深入探讨如何使用C语言来生成任意阶的魔方阵,并介绍相关源代码的实现细节。 一、魔方阵的概念与性质 1. 魔方阵是由正整数构成的n×n矩阵,其中n为奇数。 2. 每一行、每一列以及两条对角线上的元素之和都等于...

    二阶魔方还原C++代码实现

    该算法使用了面向对象编程的思想,定义了一个Cube类,包含了魔方状态、目标状态、搜索队列、搜索栈、哈希表等成员变量和成员函数。 知识点1:魔方状态表示 在该算法中,魔方状态用一个矢量State来表示,其中每个...

    二阶魔方_massagek9c_二阶魔方BFS_二阶魔方_

    这样,我们就可以用一个24位的二进制数来表示魔方的状态。 然后,我们需要定义魔方的转动操作。二阶魔方共有12种基本的转动操作,每种操作会改变两行或者两列的小块位置。在BFS算法中,这些操作将被用来从当前状态...

    【C++】二阶魔方还原算法

    二阶魔方由六个面组成,每个面又分为九个小方块,总共十八个方块。每个小方块可以旋转90度,共有四种颜色。魔方的目的是将每个面都恢复成单一的颜色。 二阶魔方的还原算法通常分为以下几个步骤: 1. **中心层**:...

    三阶魔方公式图解七步还原魔方.docx

    三阶魔方公式图解七步还原魔方 三阶魔方公式图解七步还原魔方是一份关于魔方还原的详细指导手册。该手册通过图文并茂的形式,带领读者快速掌握三阶魔方的还原技术。 魔方的结构 ---------------- 魔方共 6 色 6 ...

    魔方六面还原公式简单7步破解魔方基本教程借鉴.pdf

    其六面还原是解决魔方的核心挑战,通过简单的7步方法,即使是初学者也能逐步掌握。本文档将详细介绍如何破解魔方的基本步骤,带你走进魔方的世界。 首先,理解魔方的结构至关重要。魔方由6个颜色的面组成,分别是...

    任意阶魔方阵(幻方)

    在编程领域,"任意阶魔方阵(幻方)"是一种数学挑战,涉及到数组和算法设计。幻方是一个正方形的数表,其中的每一行、每一列以及两条对角线上的数字之和都相等。这个程序是解决任意阶幻方问题的代码,它允许用户输入...

    Qt Opengl 3阶魔方自动还原

    Qt+Opengl+3阶魔方机解算法制作的自动还原程序,打印出了魔方的状态和还原公式,用户可自行任意打乱魔方,资源分10分,源码不多寥寥数千行,但难度不小,不是魔友或者Qt+Opengl方面的爱好者慎重下载,不吹不黑,10分...

    魔方组合理论(N阶理论)

    这个定律不仅能够自足地描述任意阶数魔方的任意状态变化,而且在魔方复原方法、公式循环原理、公式循环周期计算、极限公式循环周期计算以及魔方状态组合数计算等领域都具有重要的应用价值。N阶定律是构建更高层次...

    降群法解魔方C++程序.rar

    Thistlethwaite算法使用了半群的性质,通过构造一系列旋转操作的组合,可以将任意魔方状态转换至目标状态。这种方法的优点在于,即使对于复杂的魔方状态,也能找到相对较少的旋转步数来达到解决方案。 C++作为实现...

    3D魔方_3D3阶魔方_

    3. **实时状态更新**:每次转动后,软件会即时更新魔方的状态,确保玩家能准确看到当前的魔方配置。 4. **步骤记录与回放**:软件会记录每一次的旋转动作,用户可以随时查看解谜过程,也可以回放解魔方的步骤,便于...

    魔方游戏算法源码

    【标题】"魔方游戏算法源码"涉及的是利用C#编程语言开发的一款基于Visual Studio 2010的游戏程序,主要目标是实现魔方的算法逻辑。在计算机科学领域,魔方游戏算法是一个典型的三维空间问题,它涉及到数学、逻辑和...

    c三阶素数魔方阵

    **C语言实现三阶素数魔方阵及任意阶魔方阵** 魔方阵是一种特殊的矩阵,其中每一行、每一列以及两条主对角线上的数字之和都相等。在数学领域,魔方阵有着丰富的理论和应用,特别是在游戏、密码学以及计算机算法设计...

    魔方自解程序

    这个程序的核心是通过算法来解析魔方的每个状态,找到从任意混乱状态恢复到标准六面同色的解决方案。魔方的解决策略通常基于层优先法(如CFOP方法)或者角块优先法(如Roux方法),这些方法在算法上表现为一系列的...

    魔方-BFS-输入_魔方bfs_魔方降群法+双向bfs_魔方降群_

    在IT领域,尤其是在算法和计算机科学中,"魔方-BFS-输入_魔方bfs_魔方降群法+双向bfs_魔方降群_"这个标题涉及到的是使用广度优先搜索(Breadth First Search, BFS)解决魔方问题的高级技巧。魔方是一种三维旋转拼图...

    魔方(Unity).rar_ubity 魔方_unity游戏_unity音乐魔方_unity魔方_魔方

    开发者可以编写复杂的算法来检查魔方的状态,比如判断是否已解决,以及计算剩余步数等。同时,C#的面向对象特性也使得代码组织有序,易于维护。 最后,Unity的跨平台发布能力使得这款魔方游戏可以在多个设备上运行...

Global site tag (gtag.js) - Google Analytics