去年我做了一个公民科学比赛。 它使玩家可以清除量子计算机中的错误,这就是我们称之为解码的过程。 给他们一个很容易理解的问题,但是我们不知道好的解决方法。 通过寻找获得高分的方法,玩家可以积极参与科学研究。
这个问题以简单的益智游戏的形式出现,基于数字网格。 它与当前任何游戏都不十分相似,但与Threes确实具有某些相似之处! , 2048或Sudoku 。 我称它为Decodoku。
- RAWG的新增功能。 配置文件同步
- 很简单,我们杀死了蝙蝠侠:第11浪中的我的想法和感受
- 前10名:OS Jogos Mais Aguardados Para 2017
- 太空#2 – Warmind i Sezon 3
- POPULISM_G @ ME
Decodoku
Decodoku项目可让您参与量子计算机的研究。 decodoku.com
根据去年Decodoku玩家开发的方法,我决定制造一个机器人。 这是根据我们高分者的方法来设计的,目的是要自己达到这样的分数。 然后可以将其合并到实际量子计算机的解码算法中。
它尚未实现这一目标。 它的得分相当不错,但肯定不如启发它的球员那么聪明。 即便如此,它也发现了重要的用途:极大地增强了游戏性。
Decodoku的原始版本有一个简单的文本和图片教程。 给玩家一些关于如何解码的讲座,然后继续进行下去。 当前版本完全不同。 该教程是交互式的,并提出了机器人给出的建议动作。 玩家可以在工作中学习,并获得以前的高得分手的启发。
原始版本在尝试解释其方法时也没有给予玩家太多帮助。 保存文件使玩家可以分享他们如何获得高分的完整故事,但是解释他们为何做出每一步动作的重担仍然由玩家承担。
此错误是我们视为功能之一。 Decodoku的目的是让玩家有成为研究者的感觉,而努力弄清楚这是其中的很大一部分。
即使这样,还是要有一个明智且经验丰富的主管来鼓吹想法。 至少在某种程度上,这是机器人可以扮演的另一个角色。 通过将自己的举动与机器人的举动进行比较,看看他们何时同意和不同意,玩家可能会更好地了解他们在做什么以及为什么。
为了帮助玩家解决这个问题,最好看一下机器人的实际想法。 这就是本文其余部分要讨论的内容。
Decodoku的基础知识
首先,我们应该花一点时间来解释机器人(和玩家)应该做的工作。
在Decodoku中,网格上有一堆数字。 每个都属于一个组。 每个组中的数字加起来等于10的倍数。
随着时间的流逝,数字不断变化。 新团体来了。 老群体变得更大。 一旦足够大,游戏就结束了。
您的工作是防止这种情况。 通过移动数字来保持小组的规模。 通常情况下,小组的增长会比您应付的速度快一点,因此您注定要在某个时候结束游戏。 但是,保存时间越长,您的得分就越高。
在教程游戏中,您将看到组是什么。 下图是一个示例。 不同的组以不同的颜色显示。

通常,您没有足够的动作来清理所有内容,因此您需要确定优先级以获得高分。 这就是该策略的用武之地。
在普通游戏中,您还必须计算出哪些数字属于哪些组。 一场艰苦的比赛是一样的,除了一个正方形总是围绕其内容。 但是我们不会在这里详细介绍这些内容,因为该机器人是专门为教程游戏设计的。
机器人的想法
机器人会考虑每个数字,并询问以下三个问题。
- 同一组中有多少个数字? 这包括数字本身。 例如,上图中的浅蓝色7与两个数字组成一个组,绿色9与3组成一个组。
- 小组的中心在哪里? 尽管不是唯一定义,但这是组的中间点。 我们使用质心。 要了解如何对像英国这样的怪异形状进行定义,请参见此处。
- 号码离市中心有多远? 尽管这看起来很简单,但是有多种定义距离的方法。 该机器人使用的是曼哈顿距离,即垂直距离加上水平距离,因为它反映了数字的实际移动方式。
该机器人还考虑每对数字,以及它们如何相互关联。 对于每对,它询问以下x个问题。
- 他们相距多远? 我们再次使用曼哈顿距离。
- 他们属于同一组吗? 来自不同组的数字一起移动会迫使他们的组合并,从而变得更大。 因此,仅合并来自同一组的数字似乎是一个好主意。
- 如果您经过小组的中心,他们相距多远? 为此,只需将对中两个数字相加到组中心的距离即可。 如果一个人离中心很远,或者两者都离得太远,它将很高。 如果两者相距甚远,即使它们彼此紧邻,也会很高。
- 他们加起来是10吗? 一起移动数字会使它们加起来,而10的倍数会消失。 因此,如果一对加到10,将它们组合将完全摆脱它们。
- 他们有多少有用的邻居? 也许这对加起来不等于10。但是,有没有一个邻居可以弥补这一差异呢? 有多少个这样的邻居?
- 每个邻居有几个,不包括另一个? 两个数字在一个岛上彼此的邻居是否远离其他任何人? 还是有很多其他选择?
这是机器人需要知道的一切吗? 可能不会。 如果您认为其他因素很重要,请通过玩游戏来测试您的理论,并告诉我们您发现了什么。
机器人做什么
给定所有这些信息,该机器人将分配一个对的等级。 为了获得最佳排名,机器人会建议将它们拉近。
我选择的排名有点奇怪,但我会尽力解释。
- 属于同一个组的对比不存在的对要好。
- 距离小于4的线对要好于距离较大的线对。 距离越小越好。 这会优先处理非常接近的对。 为什么4特别? 不是! 其他方法可能会更好。
- 对于距离为4或更大的线对,距离越大越好。 如果处理了所有接近的对,则此规则可确保我们不会忘记引入已经漂浮的东西。
- 到组中心的距离越大,效果越好。 如果其他所有条件都相等,则我们将重点放在距离组中心相当远的对上。
- 有其他邻居的一对是最好的。 没有其他邻居的配对也很好。 双方都有其他邻居的对还可以。 这优先于修剪从组中逃脱的事物,而不是摆脱孤立的对。 大数对中间的对将最后处理。
在此,较早的规则优先于较晚的规则。 因此,即使根据规则2–5看起来不错,如果它们不满足规则1,它们的排名也将低于任何一对。
您可能不同意此排名的定义。 您可能会注意到,该漫游器感兴趣的某些信息已被忽略。 您可能对如何进行改进有想法。 但愿如此! 通过玩游戏测试您的理论,并告诉我们您发现了什么。
交给你
我不认为Decodoku玩家会为机器人的细节担心太多。 我不希望他们尝试自己制造机器人。
我希望他们考虑的是面对Decodoku网格时他们会问什么问题,以及他们如何使用这些信息。 本文提供了一个示例,但玩家不必那么正式。 任何技巧都可以帮助我们编写出色的量子纠错算法。 让我们知道你发现什么。