泳池大厅机器人

这个谜题就是用机器人安排台球!

您拥有一家名为RoboRackers™的初创公司,该公司生产可以放置台球的机器人。要操作机器人,您需要给它一个模板,如下图所示。(模板只识别条纹、实体和八球之间的差异。其他数字都不重要。)

来源:https://fivethirtyeight.com/features/the-robot-invasion-has-come-for-our-pool-halls网站/

首先,机器人随机地将所有球围成木制三角形。从那里,机器人可以交换两个球的位置,或者将整个机架沿任一方向旋转120度。机器人继续执行这些操作,直到球的排列与模板匹配为止,并且它总是使用尽可能少的操作次数来完成这些操作。

使用上面给出的模板-一个标准的八球游戏的正确支架-机器人可以执行的最大操作次数是多少?什么起始位置会产生这种结果?平均手术次数如何?

额外学分:机器人使用任何模板执行的最大操作次数是多少?哪个模板和起始位置会产生此结果?

这是我的解决方案:
[显示解决方案]

关于“游泳馆机器人”的六点思考

    1. 谢谢你的评论!在重新阅读我的帖子时,我注意到我无意中使用了错误的数字,所以这些数字已经被更新了。

      回答你的问题:我确实认为120度旋转是我的解决方案中的一个可能移动。你可以在我的第一个解(长度为6的解)中看到,第一个移动是120度顺时针旋转。不过,旋转并不常见,我认为在最短的路径上永远不需要进行一次以上的旋转。

      在我在文章末尾的评论中,我认为8步是一个上限(从一个位置到另一个位置总是有可能在8步或更少的时间内完成),在证明这一点时,我使用了一个不需要任何旋转的论点。这意味着当两个配置之间的最短路径长度为8时,不需要使用旋转。也就是说,对于较短的路径,旋转可能很重要。在最初的问题中,如果不使用旋转,则不可能在6个动作中完成(需要8个动作)。我在解决方案的末尾添加了一些文本以进行澄清。

      1. 你肯定不需要一个以上的旋转,因为旋转与交换是相互交换的(如果交换是在两个特定的球上操作,而不是在两个特殊的位置上操作)。因此,可以先安排所有旋转(例如),但连续的旋转可以由单个旋转代替。

        1. …我想。虽然旋转肯定是在位置上操作,而不是在球上操作,所以这个论点可能泄露了。

          1. 不,这个说法是正确的,但表述不太正确。
            对于任何擦洗旋转,都会有一个旋转-擦洗,这会导致相同的最终状态。具体地说,如果您先旋转,然后交换将首先交换的球的旋转位置。
            该规则允许您将所有旋转移动到开头。很明显,没有必要进行两次旋转,因为RR=L、LL=R和RL=LR=恒等式。

留下回复

您的电子邮件地址将不会被发布。 已标记必填字段*