回想在校期间,很多同学会在课间休息时从书桌里掏出魔方或娴熟或略显笨拙地转动起来,甚至上课时有些同学也会悄悄地在桌下转动手中的魔方。现在,“人工智能” 也对这款益智玩具产生了兴趣,期待用更加智能的方式实现魔方的复原。
近日,诺丁汉大学(University of Nottingham)副教授 Colin G. Johnson 带领的研究小组开发出一种深度学习技术,可以从一套样本解决方案中学习 “适应度函数” 并用它来解决魔方复原问题。该研究相关论文于 2 月 24 日发表在Expert Systems上,题目为《用逐级深度学习方法解决魔方问题》(Solving the Rubik's cube with stepwise deep learning)。
将打乱的魔方复原是一个相对复杂的问题,但研究人员决定将这一复杂的问题转换为多个简单的问题来解决,他们认为 “解决任何难题最多需要 20 步”。因此,他们将逐级学习和深度神经网络作为本次设计方案的两种主要方法。对应到魔方复原中,该技术会一步步地去尝试解决,而不是一次性学习复原魔方的整体方案。
换句话说,就是这种技术会通过尝试转动一个部件使魔方呈现更简单的形态,也就是把一个复杂的问题拆解成若干个相对简单的小问题,先学习解决一个小问题的方案,然后经过对这一步骤的数次重复,最终达到魔方复原的效果。其实,该种方案也意味着,整体解决方案的每一步都要比上一步更加容易。
该技术会 “反其道而行之”,从魔方一步步打乱的过程中学习怎样将混乱的魔方复原。具体操作起来就是,将拼好的魔方标记为 “0”,进行一次旋转后的魔方标记为 “1”,再旋转一次后标记为 “2”…… 以此类推。每个状态都与一个数字配对,该数字代表该状态下距离目标的步数。因此,学习的过程也是建立模型的过程,最终实现从数据库中抽取任意一个状态,预测将需要多少步才能到达目标状态,该步骤就与其被标记的数字相对应。