回想在校期间,很多同学会在课间休息时从书桌里掏出魔方或娴熟或略显笨拙地转动起来,三阶魔方打乱了怎么复原,甚至上课时有些同学也会悄悄地在桌下转动手中的魔方。现在,“人工智能” 也对这款益智玩具产生了兴趣,期待用更加智能的方式实现魔方的复原。
近日,诺丁汉大学(University of Nottingham)副教授 Colin G. Johnson 带领的研究小组开发出一种深度学习技术,可以从一套样本解决方案中学习 “适应度函数” 并用它来解决魔方复原问题。该研究相关论文于 2 月 24 日发表在 Expert Systems 上,题目为《用逐级深度学习方法解决魔方问题》(Solving the Rubik's cube with stepwise deep learning)。
第三步:还原白色一层1、在黄色面,找到白色角块。2、把白色角块旋转到角块其他两个颜色的中间,做上勾下回。3、白色在左边,做上勾下回(上右下左)。4、白色在右边,做上勾下回(上左下右)。第四步:还原第二。
图|相关论文(来源:Expert Systems)
该技术会 “反其道而行之”,从魔方一步步打乱的过程中学习怎样将混乱的魔方复原。具体操作起来就是,将拼好的魔方标记为 “0”,进行一次旋转后的魔方标记为 “1”,再旋转一次后标记为 “2”…… 以此类推。每个状态都与一个数字配对,该数字代表该状态下距离目标的步数。因此,学习的过程也是建立模型的过程,最终实现从数据库中抽取任意一个状态,预测将需要多少步才能到达目标状态,该步骤就与其被标记的数字相对应。
图|计算机学习魔方复原的数据(来源:Expert Systems)
魔方打乱了复原方法如下:魔方打乱后可以用拼魔方公式将它还原。三阶魔方公式如下:1、先复原其中一面。2、复原四旁边面的底层和中心块构成的梯形,前两步没有口诀,作为根底要自行摸索。3、第三步的口诀是中左方块:上减。
然后,用特定的深度学习网络构建魔方复原培训集,并在其中搜索出当下的混乱状态和已经解决后的状态。
接下来,通过模拟数千次转动来估算魔方的混乱程度。完成了魔方的混乱程度估计之后,Johnson 开发的技术将通过深度神经网络的方式识别魔方复原前的一步,接下来是复原前的第二步、第三步…… 把这些数据积累起来再去解决魔方的复原问题将会非常容易,最终可以通过这些准备工作找出把混乱魔方复原的路径。
魔方可以依据公式还原,还原公式如下:第一步、做一个白十字;第二步、第一层公式:右顺、上顺、右逆、上顺、右顺、上顺、上顺、右逆;第三步、第二层公式:右顺、上顺、右顺、上顺、右逆、上逆、右逆、上逆。
Johnson 解释道:&34;
1、首先准备一个打乱的魔方。2、然后将魔方底部还原,即同一个颜色为底,四个侧面最下面一层为同一颜色。3、将同一颜色那面放在底部,然后四个面第二层中间的颜色和最下面一层对应同一颜色。4、将顶层中间的一块,露出来。
图|深度学习框架解决魔方问题的步骤(来源:Expert Systems)
5、若红绿边块在中间某层,但位置错误或颜色错误,可以先让红绿边块在右前方的位置。6、再重新按照下面其中的一个次序,旋转一次即可还原。
Johnson 表示,相比其他方式,他设计的这种逐级学习更加有效,也更能凸显分步处理的优势。不过,他也表示,该种训练框架将需要比传统方案更多的对特定领域的知识。以本文为例,训练解决魔方的框架就需要复原魔方的能力。