逻辑Agent
逻辑是作为支持基于知识的Agent 的一类通用表示。
1 基于知识的Agent
基于知识的Agent 的核心部件是其知识库,称为KB。
知识库是一个语句集合,这些语句有知识表示语言表达。
当语句是直接给定而不是推导出来得到的时候,我们将其称为公理。
将新语句添加到知识库以及查询目前所知内容的方法:
- TELL(告诉)
- ASK (询问) //不能说假话
这两个任务都可能涉及推理——从原有语句中推导出新语句。
如图7.1 所示。是Agent 的程序轮廓。
输入: 感知信息
返回: 行动。
Agent 维护一个知识库KB,该知识库在初始化时就包括一些背景知识。
每一次调用Agent程序,会执行三件事儿:
- TELL 知识库 Agent感受到的内容。
- ASK 知识库该执行什么行动。(包含大量推理)
- TELL知识库 所选择的行动,并执行该行动。
Agent 要服从知识层的描述,在知识层只需要描述Agent知道的内容和它的目标,以便修整它的行为。
通过TELL告诉Agent必须的知识便可以构建一个基于知识的Agent。
构建系统的方法:
-
陈述性方法
Agent设计者通过TELL告知一条条语句,直到Agent知道如何在环境中工作。 -
过程性方法
需要的行为直接写成程序代码。