【陳浩的回答(33票)】:
谢邀。我不会玩魔方。
所以我只能介绍一下魔方里的数学,以及数学家们是怎么研究魔方的。
因此这个答案里的算法不是适合人类的算法,而是所谓「上帝算法」。http://en.wikipedia.org/wiki/God%27s_algorithm
魔方背后的数学是群论。http://en.wikipedia.org/wiki/Rubik%27s_Cube_group
对魔方六个面的旋转生成一个群,叫魔方群,其中有 43 252 003 274 489 856 000 个元素。
魔方群的子群结构使得解魔方的任务可以被拆解成小任务,并使状态识别与分类成为可能。
群中每个元素都可以用不超过 20 个生成元表示,即理论上可以在 20 步以内解出任何魔方。
这个结果是 2010 年由计算机辅助证明的 http://www.cube20.org/
而最早使用群论解魔方的应该是 Thistlethwaite,他把最坏情况所需步数从超过 100 降到 52。
他的 1981 年左右设计的算法现在已经被消化为人类可用的算法 http://www.ryanheise.com/cube/human_thistlethwaite_algorithm.html
注:魔方最早是 1977 年出现的。
更多人类算法的发现和历史,见 http://en.wikipedia.org/wiki/Optimal_solutions_for_Rubik%27s_Cube http://en.wikipedia.org/wiki/Rubik%27s_Cube#Optimal_solutions
【于子纹的回答(9票)】:
其实@陳浩的数学解法只能被计算机用来最小步数解魔方,或者用在一种比赛模式中(即给出一个形态,然后判断最小步数解法再用最快的速度复原,拍成视频参加线上比赛)然而我们现在使用的公式大部分都不是最少步数而是最顺手的,因为在速拧比赛中,选手们要条件反射般的判断形态并使用对应公式。
所以魔方公式其实是在能作出想要状态的基础上最顺手化的结果。
另,许多玩速拧的在脱离魔方后其实是写不出公式的,还有在做一套公式的时候如果你从背后打断了他,即使很清楚做到哪儿他也继续不下去了。
【周鼎的回答(3票)】:
您是指的URLBFD这种字母还是指的魔方的解法思路呢?
首先说字母,你在记忆公式时,一是肌肉记忆(即我们记住手机拧的每一个步骤),二是字母公式。字母公式更易于我们的记忆,而且每个字母代表一个步骤比较简单,容易记忆。
二回答“公式”是怎么来的。魔方的解法有很多中思路,但终究都是把魔方分成几个步骤来解决问题的。从图案一怎么变成图案二,这需要一个复杂的过程,而有人把最简单的方法研究了出来分享给大家的那种解法,变成了我们所用的公式。每个情况解决它的拧法有很多很多。这就是每个人的“公式”。它的来源在于大家的思考。
有人认为魔方公式有不少的是电脑推出的,其实电脑的解法有很多步骤虽然少但是无法拧的顺手,所以我们要加以改造。公式总是比较好的,比自己研究好,除非你的能力很高。
希望答案能帮助到您:)
【tiny的回答(6票)】:
1. 魔方公式的却有很多是计算机编程计算出来的,从数学和算法上的确用了群论的知识。
2. 不过里面的数学太过深奥,一般高手发明自己的公式都不是这样的。一般而言,玩的魔方种类多了,大部分是异形魔方吧,就会领悟一些自己推导公式的经验。一般我自己推导公式常用的思路是“ABA'”,还有所谓的“空穴法”,最出名的还是“三轮换”的思想。ABA'法是指准备一个公式A,和其完全相反的互逆公式A',然后中间夹上个公式B,有时候这个B可能只有一步都是可以的,这样连起来ABA’就能成为一个新的公式。关键在于B不能破坏到前面的状态。空穴法跟ABA’差不多吧。讲起来比较复杂。
3. 创造魔方公式关键在于魔方的轴数,一般而言12轴的魔方可能会和6轴的有些类似,但是4轴的魔方就差别很大了,比如五魔方的公式和三阶魔方类似,但是和skewb,helicopter就差很远。。阶数和轴数都对公式研究有很大的影响。特殊魔方比如三阶魔中魔,捆绑类的,那都是基于原有三阶公式不断叠加产生的。还有很多创造公式的方法,一时间很难讲清楚,得自己慢慢研究才行。。
4.目前有研究的人可以到魔方吧mf8-china论坛里面,比如乌木老师和大烟头大大就有介绍如何自己研究魔方公式的思路。
【庄泽霖的回答(2票)】:
现在大多数玩魔方的人基本上都是使用CFOP法,CFOP法注重的不是记忆,而是对称,多用顺手的公式,多用镜像,倒做的方法。
总共大概分4步:
①CROSS。做好底面十字;
②F2L。通俗讲就是一次性做好两层;
③OLL。完成顶面颜色的统一;
④PLL。完成顶层。
我认为①②步不需要用到公式,因为做十字很简单。而第②步,更多的靠的是理解和观察。最依赖公式的是③④步。这两步也是最困难的两步,公式也最多最复杂。公式是经过前人们大量的总结和归纳。还有一些公式是经过演算和变式得来的,例如:风筝公式和T字型公式,都是由两个OLL组成的,并且,风筝公式和T字型公式中的OLL是完全相同的,只不过是顺序不同。再如换棱公式,逆时针和顺时针其实只是同一个公式正做和反做而已。
我的双手速拧大概是22S,单拧大概是55S,如果有新手想要入门的可以找我交流,如果有高手就来点拨点拨我吧…^_^
【xiefeng的回答(1票)】:
通过尝试后,逐步总结出来的
【Yakumo Ran的回答(1票)】:
/___/___/___/
/___ /___/___/ /
|___|___|___|/
|___|___|_x_|/
|___|___|_y_|/
简图。。x是棱块 y是角块 x+y叫做一个棱(这个棱的定义仅在以下文字适用)
公式:LRFBUD分别是Left, Right, Face, Back, Up, Down面的顺时针旋转
我只会CFOP,就说下CFOP的思路吧。
CFOP分为四步
1.Cross:底面十字
太简单了不需要公式(简单是指初学 像菲神那样15s内观察出六种颜色里最好的cross和第一组F2L几乎是不可能的。。)
2.F2L 对好底面的同时做好第二层
思路就是如何只用F和R和U组合角块和对应棱块 因为FRU不影响剩下三个角
网上搜到的公式就是通过尝试后达到的既顺手,步数又少的方案
(当然 在很熟练之后 可以忽视FRU的限制 例如四向F2L 甚至通过转底面加速两个棱的拼合
参见菲神的example solve:http://youtu.be/5b_OnvzkHdM?list=PLtgteyUhYjTxfuwPU3cHLDSG8gyWJ6OzR)
3.OLL 顶面颜色
将一条侧面的棱换至顶面,这时候就可以利用这条棱原来的位置把原本朝向侧边的顶面颜色翻到顶面。大部分应该是计算机搜索出可行解+人为优化手法。
4.PLL 完成顶面的侧边
思路完全不知道。。应该是计算机搜索可行解+人为优化手法。
【陆明达的回答(1票)】:
魔方吧论坛『 理论篇 』
大烟头的:基本公式产生的原理(空穴法)
魔友schuma在伯克利大学的讲座:怎样用交换子解任意魔方
魔方课讲座: 如何用交换子解魔方(中文字幕)
//v.youku.com/v_show/id_XMzE2Mjc3MDQ0.html
【孙巍巍的回答(0票)】:
可以写程序解的,一般来说确定好方法后,步骤就明确了,那么每个步骤会有N种状态,那么到下一个步骤的状态,就可以通过程序算出来
【廖梓跃的回答(0票)】:
一部分是经过尝试吧 而CFOP应该大部分来自于计算机计算和人为的优化 步数不一定最小步 但都比较顺手
而桥式这种公式不是最重要的 桥式的灵魂是那种思想
原文地址:http://www.zhihu.com/question/20267227
【陳浩的回答(33票)】:
谢邀。我不会玩魔方。
所以我只能介绍一下魔方里的数学,以及数学家们是怎么研究魔方的。
因此这个答案里的算法不是适合人类的算法,而是所谓「上帝算法」。http://en.wikipedia.org/wiki/God%27s_algorithm
魔方背后的数学是群论。http://en.wikipedia.org/wiki/Rubik%27s_Cube_group
对魔方六个面的旋转生成一个群,叫魔方群,其中有 43 252 003 274 489 856 000 个元素。
魔方群的子群结构使得解魔方的任务可以被拆解成小任务,并使状态识别与分类成为可能。
群中每个元素都可以用不超过 20 个生成元表示,即理论上可以在 20 步以内解出任何魔方。
这个结果是 2010 年由计算机辅助证明的 http://www.cube20.org/
而最早使用群论解魔方的应该是 Thistlethwaite,他把最坏情况所需步数从超过 100 降到 52。
他的 1981 年左右设计的算法现在已经被消化为人类可用的算法 http://www.ryanheise.com/cube/human_thistlethwaite_algorithm.html
注:魔方最早是 1977 年出现的。
更多人类算法的发现和历史,见 http://en.wikipedia.org/wiki/Optimal_solutions_for_Rubik%27s_Cube http://en.wikipedia.org/wiki/Rubik%27s_Cube#Optimal_solutions
【于子纹的回答(9票)】:
其实@陳浩的数学解法只能被计算机用来最小步数解魔方,或者用在一种比赛模式中(即给出一个形态,然后判断最小步数解法再用最快的速度复原,拍成视频参加线上比赛)然而我们现在使用的公式大部分都不是最少步数而是最顺手的,因为在速拧比赛中,选手们要条件反射般的判断形态并使用对应公式。
所以魔方公式其实是在能作出想要状态的基础上最顺手化的结果。
另,许多玩速拧的在脱离魔方后其实是写不出公式的,还有在做一套公式的时候如果你从背后打断了他,即使很清楚做到哪儿他也继续不下去了。
【周鼎的回答(3票)】:
您是指的URLBFD这种字母还是指的魔方的解法思路呢?
首先说字母,你在记忆公式时,一是肌肉记忆(即我们记住手机拧的每一个步骤),二是字母公式。字母公式更易于我们的记忆,而且每个字母代表一个步骤比较简单,容易记忆。
二回答“公式”是怎么来的。魔方的解法有很多中思路,但终究都是把魔方分成几个步骤来解决问题的。从图案一怎么变成图案二,这需要一个复杂的过程,而有人把最简单的方法研究了出来分享给大家的那种解法,变成了我们所用的公式。每个情况解决它的拧法有很多很多。这就是每个人的“公式”。它的来源在于大家的思考。
有人认为魔方公式有不少的是电脑推出的,其实电脑的解法有很多步骤虽然少但是无法拧的顺手,所以我们要加以改造。公式总是比较好的,比自己研究好,除非你的能力很高。
希望答案能帮助到您:)
【tiny的回答(6票)】:
1. 魔方公式的却有很多是计算机编程计算出来的,从数学和算法上的确用了群论的知识。
2. 不过里面的数学太过深奥,一般高手发明自己的公式都不是这样的。一般而言,玩的魔方种类多了,大部分是异形魔方吧,就会领悟一些自己推导公式的经验。一般我自己推导公式常用的思路是“ABA'”,还有所谓的“空穴法”,最出名的还是“三轮换”的思想。ABA'法是指准备一个公式A,和其完全相反的互逆公式A',然后中间夹上个公式B,有时候这个B可能只有一步都是可以的,这样连起来ABA’就能成为一个新的公式。关键在于B不能破坏到前面的状态。空穴法跟ABA’差不多吧。讲起来比较复杂。
3. 创造魔方公式关键在于魔方的轴数,一般而言12轴的魔方可能会和6轴的有些类似,但是4轴的魔方就差别很大了,比如五魔方的公式和三阶魔方类似,但是和skewb,helicopter就差很远。。阶数和轴数都对公式研究有很大的影响。特殊魔方比如三阶魔中魔,捆绑类的,那都是基于原有三阶公式不断叠加产生的。还有很多创造公式的方法,一时间很难讲清楚,得自己慢慢研究才行。。
4.目前有研究的人可以到魔方吧mf8-china论坛里面,比如乌木老师和大烟头大大就有介绍如何自己研究魔方公式的思路。
【庄泽霖的回答(2票)】:
现在大多数玩魔方的人基本上都是使用CFOP法,CFOP法注重的不是记忆,而是对称,多用顺手的公式,多用镜像,倒做的方法。
总共大概分4步:
①CROSS。做好底面十字;
②F2L。通俗讲就是一次性做好两层;
③OLL。完成顶面颜色的统一;
④PLL。完成顶层。
我认为①②步不需要用到公式,因为做十字很简单。而第②步,更多的靠的是理解和观察。最依赖公式的是③④步。这两步也是最困难的两步,公式也最多最复杂。公式是经过前人们大量的总结和归纳。还有一些公式是经过演算和变式得来的,例如:风筝公式和T字型公式,都是由两个OLL组成的,并且,风筝公式和T字型公式中的OLL是完全相同的,只不过是顺序不同。再如换棱公式,逆时针和顺时针其实只是同一个公式正做和反做而已。
我的双手速拧大概是22S,单拧大概是55S,如果有新手想要入门的可以找我交流,如果有高手就来点拨点拨我吧…^_^
【xiefeng的回答(1票)】:
通过尝试后,逐步总结出来的
【Yakumo Ran的回答(1票)】:
/___/___/___/
/___ /___/___/ /
|___|___|___|/
|___|___|_x_|/
|___|___|_y_|/
简图。。x是棱块 y是角块 x+y叫做一个棱(这个棱的定义仅在以下文字适用)
公式:LRFBUD分别是Left, Right, Face, Back, Up, Down面的顺时针旋转
我只会CFOP,就说下CFOP的思路吧。
CFOP分为四步
1.Cross:底面十字
太简单了不需要公式(简单是指初学 像菲神那样15s内观察出六种颜色里最好的cross和第一组F2L几乎是不可能的。。)
2.F2L 对好底面的同时做好第二层
思路就是如何只用F和R和U组合角块和对应棱块 因为FRU不影响剩下三个角
网上搜到的公式就是通过尝试后达到的既顺手,步数又少的方案
(当然 在很熟练之后 可以忽视FRU的限制 例如四向F2L 甚至通过转底面加速两个棱的拼合
参见菲神的example solve:http://youtu.be/5b_OnvzkHdM?list=PLtgteyUhYjTxfuwPU3cHLDSG8gyWJ6OzR)
3.OLL 顶面颜色
将一条侧面的棱换至顶面,这时候就可以利用这条棱原来的位置把原本朝向侧边的顶面颜色翻到顶面。大部分应该是计算机搜索出可行解+人为优化手法。
4.PLL 完成顶面的侧边
思路完全不知道。。应该是计算机搜索可行解+人为优化手法。
【陆明达的回答(1票)】:
魔方吧论坛『 理论篇 』
大烟头的:基本公式产生的原理(空穴法)
魔友schuma在伯克利大学的讲座:怎样用交换子解任意魔方
魔方课讲座: 如何用交换子解魔方(中文字幕)
//v.youku.com/v_show/id_XMzE2Mjc3MDQ0.html
【孙巍巍的回答(0票)】:
可以写程序解的,一般来说确定好方法后,步骤就明确了,那么每个步骤会有N种状态,那么到下一个步骤的状态,就可以通过程序算出来
【廖梓跃的回答(0票)】:
一部分是经过尝试吧 而CFOP应该大部分来自于计算机计算和人为的优化 步数不一定最小步 但都比较顺手
而桥式这种公式不是最重要的 桥式的灵魂是那种思想
原文地址:http://www.zhihu.com/question/20267227