布鲁克斯所说的“代表”是什么意思?

人工智能 术语 文件 知识表示
2021-10-28 12:52:00

对于一堂课,我正在阅读 Brooks 的“没有代表的智能”。简介致力于将表示作为 AI 开发的重点。

我已经读过,表示是象征性地表示信息的问题,及时让它变得有用。它与推理问题有关,即关于符号信息的推理。

但我觉得我在任何实际水平上都没有真正理解它。我认为这个想法是,当代理遇到问题时,它必须以某种有效且准确地描述问题的内部方式来描述这个问题。这也可以用来描述为达到解决方案可以采取的原始动作。我认为这与逻辑编程(例如Pascal?)有关,

我对表示的理解正确吗?代表在实践中是什么样的?是否有任何开源代码库可以作为一个很好的例子?

2个回答

首先,Pascal不是一种逻辑编程语言。逻辑编程是指像Prolog这样的语言,与Pascal 中的命令式编程相比,您具有声明式编程风格。也许您的意思是命令式语言的典型if 语句。

其次,表示意味着一定程度的抽象。例如,模型代表现实的某个部分。想象一下桌子上的一个杯子。如果代理有这种情况的表示,它就有一个符号table和一个cup代表现实世界中事物的符号。现在它可以有一个关系on(cup, table)来表示杯子在桌子上的情况。这种类型的抽象可以很容易地用一阶逻辑等逻辑语言来表示。因此,人们使用 Prolog 等逻辑编程语言或OWL等其他类型的语言来表示知识并执行推理。所以布鲁克斯提到的重要术语是知识表示和推理

第三,如果您的代理只有视频或声纳数据等传感器数据,那么它只知道与现实世界的距离或像素。这并不意味着代表。Brooks' Creatures 只拥有这些信息,并使用这些数据直接计算以执行操作而无需推理。从这个意义上说,人工神经网络也没有表示。

最后,对于一个理解表示的开源项目,我会推荐上面提到的 OWL。您可以查看Protégé编辑器以使用 OWL。在 OWL 本体中,您可以表示事物之间的关系并对其进行推理。

在那篇论文中,布鲁克斯介绍了他所谓的“包容架构”的基础。这个想法是为了摆脱 1980 年代流行的方法,即问题空间的所有组成部分的单一全局表示,这种方法需要机器人任务规划的任务将世界上的每一个约束都处理成一个巨大的无序状态和状态转换. Brooks 建议,与其在一个模型(表示)中表示世界上的每个元素,不如建立一个世界子模型(状态和转换的子集)的层次结构,在其中可以更容易地计划较小的任务。然后随着这些基本技能的掌握,

是的,表示并没有完全消失,但它被分层重新分配,以便可以将大部分状态从您需要解决的更大问题的更高级别中抽象出来。计划就像协调一支等级分明的技能军队,将军不需要计划私人的每一个动作来管理一场战斗。相反,这位将军只需要告诉上校该做什么,上校告诉少校,一直到下士。现在,将军通过协调他/她可用的多个子层次结构来解决问题,方法是授权以协调适当抽象级别的行为:如师、旅、营、连和班。这就是布鲁克斯的包容架构:将军只需要将作战计划表示为“

https://en.wikipedia.org/wiki/Subsumption_architecture