我想编写一个算法,向机器人指示过马路相当安全的第一个时间点。假设机器人的目标是前往需要过马路的位置,并且机器人已准备好过马路。
简单的算法和决策可能是不够的。算法必须具备哪些特性和功能才能提供交叉安全?哪些现有的 AI 方法可能对这项工作有用?
对于第一次迭代,我们可以假设交通模式是正常的,没有车辆在路边行驶,也没有高速追逐或其他与安全相关的异常情况。
我想编写一个算法,向机器人指示过马路相当安全的第一个时间点。假设机器人的目标是前往需要过马路的位置,并且机器人已准备好过马路。
简单的算法和决策可能是不够的。算法必须具备哪些特性和功能才能提供交叉安全?哪些现有的 AI 方法可能对这项工作有用?
对于第一次迭代,我们可以假设交通模式是正常的,没有车辆在路边行驶,也没有高速追逐或其他与安全相关的异常情况。
任何 AI 算法都取决于环境以及可用的执行器和传感器。在我们的例子中,环境是道路、街道等。主要执行器包括机器人的轮子(或腿)。传感器包括摄像头、声纳系统等。
一个简单的基于模型的反射算法可以在您的情况下工作:
function MODEL-BASED-REFLEX-AGENT(percept) returns an action
persistent: state, agents' current conception of the world state
model, description of how hte next state depends on current state and action
rules, a set of condition-action rules
action, most recent action, initially none
state <-- UPDATE-STATE(state, action, percept, model)
rule <-- RULE-MATCH(state, rules)
action <-- rule.ACTION
return action
大多数术语和功能是不言自明的,我将尝试解释重点。此实现通过维护依赖于感知历史的内部状态来帮助机器人跟踪外部环境。更新内部状态需要环境在没有我们代理的情况下如何工作。例如,汽车在红灯时停止并在绿灯时开始移动。需要的另一件事是我们的代理的行为将如何影响世界。由于您的机器人只是试图过马路,因此这里的情况并不多。简单的事情包括,停止电机将停止机器人并启动它们将使其向前移动。
上面的算法显示基于代理的世界如何运作的模型,当前感知如何与旧的内部状态相结合,从而生成对世界的更新描述。因此,智能体关于世界如何运作的模型是最重要的部分。UPDATE-STATE 负责创建新的内部状态描述。实际实施将取决于所使用的环境和技术。
上述算法取自《人工智能:现代方法》一书, 对于在部分可观察环境中工作的代理。许多功能的实现还取决于您希望机器人有多复杂。例如,我们没有考虑过马路时抬头看的情况。这可能是某物从天而降,极不可能,但有可能。像这样的列表在现实生活环境中永远不会停止。
您可以使用想象力增强来预测错误和致命的行为。Deep Mind 正在研究它,我相信它是解决许多问题的好方法。您需要预测最好的解决方案是否是向前走几步,这样您就不会受到打击或后退几步。