📅  最后修改于: 2020-09-23 09:35:46             🧑  作者: Mango
基于知识的代理必须能够执行以下操作:
上图表示基于知识的代理的通用体系结构。基于知识的代理(KBA)通过感知环境从环境中获取输入。该输入由代理的推理引擎获取,并且还与KB通信,以根据KB中的知识存储进行决策。KBA的学习元素通过学习新知识来定期更新KB。
a
知识库:知识库是基于知识的代理的核心组成部分,也称为知识库。它是句子的集合(此处的“句子”是一个技术术语,与英语中的句子并不相同)。这些句子用称为知识表示语言的语言表示。KBA的知识库存储有关世界的事实。
知识基础是更新知识所必需的,以便代理可以根据经验学习并根据知识采取行动。
g
推论意味着从旧的句子中衍生出新的句子。推理系统使我们可以在知识库中添加新句子。一句话是关于世界的命题。推理系统将逻辑规则应用于知识库,以推断出新信息。
推理系统会生成新的事实,以便代理可以更新知识库。推理系统主要根据以下两个规则工作:
e
以下是KBA执行的三个操作,以显示智能行为:
n
r
以下是基于知识的通用代理程序的结构概述:
function KB-AGENT(percept):
persistent: KB, a knowledge base
t, a counter, initially 0, indicating time
TELL(KB, MAKE-PERCEPT-SENTENCE(percept, t))
Action = ASK(KB, MAKE-ACTION-QUERY(t))
TELL(KB, MAKE-ACTION-SENTENCE(action, t))
t = t + 1
return action
基于知识的代理将感知作为输入,并返回操作作为输出。该代理维护知识库KB,并且最初具有一些有关现实世界的背景知识。它还有一个计数器来指示整个过程的时间,并且此计数器初始化为零。
每次调用该函数时,它都会执行其三个操作:
MAKE-PERCEPT-SENTENCE生成一个句子,设置为代理在给定的时间感知到给定的感知。
MAKE-ACTION-QUERY生成一个句子,询问当前应该执行哪个动作。
MAKE-ACTION-SENTENCE生成一个句子,该句子断言所选择的动作已执行。
可以在以下不同级别上查看基于知识的代理:
知识级别是基于知识的代理的第一级,在这一级别中,我们需要指定代理知道什么以及代理目标是什么。使用这些规范,我们可以修复其行为。例如,假设一个自动出租车代理人需要从A站到B站,并且他知道从A到B的路线,所以这是在知识层面上。
在此级别上,我们了解到知识的知识表示形式是如何存储的。在此级别上,句子被编码为不同的逻辑。在逻辑层面上,知识被编码成逻辑语句。从逻辑上讲,我们可以期望自动出租车代理到达目的地B。
这是逻辑和知识的物理表示。在实现级别,代理按照逻辑和知识级别执行操作。在此级别上,自动出租车代理实际上会实施他的知识和逻辑,以便他可以到达目的地。
构建基于知识的代理的方法主要有两种:
但是,在现实世界中,可以通过结合声明式方法和过程方法来构建成功的代理,并且声明式知识通常可以编译为更有效的过程代码。