来自青少年之思,一个能解魔方机器人的诞生

一位自学成才的编程天才加入了技术爱好者的行列,他们将数字系统应用于终极模拟谜题


关于支持科学新闻报道

如果您喜欢这篇文章,请考虑订阅我们的屡获殊荣的新闻报道以示支持 订阅。通过购买订阅,您将帮助确保有关塑造我们当今世界的发现和思想的具有影响力的故事的未来。


魔方在 1980 年席卷美国时,它引发了人们对这种谜题的迷恋,这种迷恋一直持续到今天,甚至在魔方首次亮相几十年后出生的粉丝中也是如此。不同的是,今天许多魔方爱好者不是尝试在 10 秒内“速拧”来解决问题,而是构建机器人来为他们做这件事。这种对人工智能的热情带来了额外的挑战,不仅要解决谜题,还要创建一个能够根据解决方案物理操作魔方的机器人。

对于 12 岁的康纳·阿博特来说,构建一个解魔方机器人让他有机会练习计算机编程技能,并向其他有成就的机器人制造者学习。阿博特的机器人还可以作为挑战 10 岁弟弟瑞恩的速拧技术的竞争对手。兄弟俩都是在父亲迈克尔·阿博特的介绍下接触到这个谜题的,迈克尔·阿博特是通用电气金融的一位高管,曾是 IBM 研究工程师。

康纳·阿博特从阅读有关魔方爱好者的文章中获得了制作机器人的想法,这些人使用乐高 Mindstorms NXT 套件构建机器人来解决这个谜题。“我说,‘嘿,我有一个 NXT 套件,’”康纳说,他是康涅狄格州新迦南本地人,今年秋天开学时将上八年级。对于不熟悉的人来说,Mindstorms 是一种乐高产品,它包括构建机器人所需的大部分组件,包括该公司的标志性积木以及三个伺服电机、四个传感器(超声波、声音、触摸和光线)、齿轮和轴。

“起初我不知道 [Mindstorms] 可以用来解魔方,因为我认为它没有足够的电机,”康纳说。这种情况在去年发生了改变,当时康纳通过网络发现了一个机器人,该机器人由 Daniele Benedettelli(24 岁)用单个 NXT 套件构建,Daniele Benedettelli 是意大利锡耶纳大学研究机器人技术和自动化的程序员。(Benedettelli 的机器人可以在 他的网站上看到。)“人们对乐高(因此是玩具)机器人可以如此轻松地解决如此复杂的谜题感到惊讶,”Benedettelli 说,并补充说,魔方已经成为“可以应用‘智能和灵巧’来解决”的复杂问题的“象征”。

当然,如果没有关于如何解决谜题的明确说明,机器人就无法解决谜题。在软件方面,康纳使用了由德国达姆施塔特的数学和物理教师 Herbert Kociemba(55 岁)创建的免费魔方解算程序 Optimal Cube Solver in the Quarter Turn Metric (OPTIQTM)。Kociemba 对康纳选择使用 OPTIQTM 表示惊讶,因为该程序可能需要几分钟到几小时才能找到解决魔方的“最佳”解决方案,具体取决于谜题被扭曲和转动了多少次。他说,如果谜题使用 19 步或更少的步数打乱,该程序可以在“合理的时间内”计算出解决方案。

这对康纳来说完全没问题,他说他用 C++ 计算机编程语言编写了自己的程序,以使 OPTIQTM 解算器与他的系统一起工作。康纳的机器人和 Benedettelli 的机器人一样,使用网络摄像头读取魔方的不同颜色(以及它们在打乱的魔方上的配置),然后将数据发送到解谜软件。

多年来,魔方爱好者一直在构建机器人来解决这个谜题,他们互相学习彼此的工作是很常见的。最早的 解魔方机器人 示例之一是由芝加哥菲尔德博物馆的考古文物保护员 Jonathan Brown(45 岁)于 2001 年使用早期版本的 Mindstorm 创建的。

尽管康纳也从其他几位魔方爱好者的工作中受益,但他的编程能力引起了人们的关注。19 岁的特拉华大学计算机科学专业大二学生罗伯特·汤普森说,康纳“显然是一位精通 C++ 的程序员”,他本月早些时候在一个为期一周的计算机训练营中向康纳讲授了 Java。“他一开始就谈论 C++ 中的一些事情,而这些事情甚至在我的大学课程中都没有涉及过。”

康纳的机器人在与瑞恩的对决中表现如何?尽管康纳付出了艰苦的努力,但机器人的最佳时间是 90 秒,在五次中只赢了瑞恩一次。瑞恩在人机对战中的最佳时间是 75 秒,尽管康纳说他弟弟后来将时间缩短到了 45 秒。(机器人获胜的视频可以在 YouTube 上观看,瑞恩复仇的视频也可以观看。)

康纳通过阅读 Bradley Jones 和 Peter Aitken 编写的《Sams Teach Yourself C in 21 Days》等书籍自学编程,他并没有气馁。他现在正在编写自己的魔方解算软件,最终取代他系统中的 Kociemba 软件。他说,“我想使用我自己的算法而不是别人的算法的原因是因为它的复杂性,并且能够说是我编写了一个版本。”

© . All rights reserved.