【问题标题】:Artificial Intelligence - Intelligence Agent that cleans and paints人工智能 - 清洁和油漆的智能代理
【发布时间】:2011-04-17 05:51:19
【问题描述】:

我记得我上大学的时候,我们遇到过一个问题,有一个智能代理在方格上,它必须清理方格。它因清洁而获得积分。搬家也被扣分了。它必须时不时地加油,最后它会根据网格上有多少方块是脏的还是干净的来获得最终分数。

我正在尝试研究这个问题,因为我在大学时看到它非常有趣,但是我在维基百科或在线任何地方都找不到任何东西。您是否知道该问题的具体名称?或者这只是我的老师在课堂上想出来的。

我正在寻找 AI 清洁剂和类似的东西,但我没有找到任何东西。我不知道,我在想它可能还有别的名字。

如果您知道我在哪里可以找到有关此问题的更多信息,我将不胜感激。谢谢。

【问题讨论】:

  • 我想它叫 Roomba ;)

标签: artificial-intelligence user-agent agent


【解决方案1】:

这个问题让我想起了this。在Complexity 一书中简要提到了一个类似的问题,作为遗传算法的一个例子。这些版本虽然经过简化,但并未考虑油耗。

【讨论】:

    【解决方案2】:

    也许“stigmergy”方法与您的问题密切相关。有起点here,在google scholar上搜索“死蚂蚁”和“机器人”就可以找到。

    基本上:不是为精确的策略建模,而是采用概率方法。蚂蚁(可能)按照一个简单的规则堆积它们的尸体,例如“如果那里有一堆死蚂蚁,我把这具尸体带到这里;否则,我会做一堆新的”。你可以从简化你的“清洁”情况开始,然后看看你要去哪里。

    另外,我认为(另一种?)合适的方法可以通过遗传算法使用精心挑选的适应度函数组合进行建模,例如:

    • “干净”图块的结束编号
    • 机器人的步数

    当然,如果机器人因饥饿而“死亡”,它会自动将自己从基因库中移除,这是达尔文奖 :)

    您可以从建模一个非常非常简单的基因型开始,该基因型将被“计算”成一种行为。考虑使用简单的遗传算法,例如 Inman Harvey 的this one,然后为每个基因分配策略的一部分或完整的行为。例如:如果基因 A 变为 1,那么机器人会尝试随机游走;如果基因 B 也转为 1,那么它将优先自充电,除非距离 X 有脏瓷砖。或者使用浮点数和模型概率。您的里程可能会有所不同,但我可以保证它会很有趣:)

    【讨论】:

      【解决方案3】:

      这个问题让人想起 Shakey,尽管其中涉及清洁(就像 Roomba —— 一种也可以通过编程来执行这些任务的设备)。

      如果“问题空间”(或房间)足够小,您可以使用简单的基于 A* 的搜索来求解最佳解决方案,但很可能不会,因为那样不会很有趣问题。

      这里建议的使用遗传算法的机器学习方法是一种有趣的方法。给定问题域,您将只有一个“规则”(move-to 操作,因为可以通过隐式清理您移动到的任何脏方格来消除clean),因此您的学习者基本上将学习如何在一个环境。问题是要建立一个能够适应任何给定平面图的学习者,而不是仅仅精通清洁一个非常特定的空间。

      无论您采用哪种方法,如果问题集足够大,我也会考虑进行进一步的元推理步骤,并使用分区方法将楼层划分为单独的区域,然后一次解决一个。

      您可以使用技术来创建数据以使用“离线”吗?在这种情况下,我什至会考虑创建一个最佳路线“数据库”,以清理包括所有可能的开始和结束方格的某些地板空间(1x1 到 5x5)。这类似于游戏 AI 用于在游戏达到一定深度后有效“解决”游戏的“残局数据库”(参见 Chinook)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-12-10
        • 2014-04-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-02-25
        • 2015-08-05
        • 2012-05-15
        相关资源
        最近更新 更多