Wumpus 世界的知识库

2025 年 6 月 10 日 | 阅读 7 分钟

正如在前一个主题中,我们学习了 Wumpus 世界以及基于知识的智能体如何探索这个世界。现在,在这个主题中,我们将为 Wumpus 世界创建一个知识库,并使用命题逻辑为 Wumpus 世界推导出一些证明。

智能体从第一个方格 [1, 1] 开始访问,我们已经知道这个房间对智能体是安全的。为了构建 Wumpus 世界的知识库,我们将使用一些规则和原子命题。我们需要为 Wumpus 世界中的每个位置设置一个符号 [i, j],其中 i 是行位置,j 是列位置。

Knowledge Base for the Wumpus World

Wumpus 世界的原子命题变量

  • Pi,j 为真,如果房间 [i, j] 中有陷阱(Pit)。
  • Bi,j 为真,如果智能体在 [i, j] 感知到微风(Breeze)(无论死活)。
  • Wi,j 为真,如果方格 [i, j] 中有 Wumpus。
  • Si,j 为真,如果智能体在方格 [i, j] 感知到恶臭(Stench)。
  • Vi,j 为真,如果方格 [i, j] 已被访问过。
  • Gi,j 为真,如果方格 [i, j] 中有黄金(和闪光)。
  • OKi,j 为真,如果房间是安全的。

注意:对于一个 4 * 4 的方格棋盘,将有 7*4*4=112 个命题变量。

Wumpus 世界的一些命题规则

Knowledge Base for the Wumpus World

注意:变量的缺乏使我们对每个单元格都有相似的规则。

Wumpus 世界知识库的表示

以下是当智能体从房间 [1, 1] 移动到房间 [2,1] 时,Wumpus 世界的简单知识库

Knowledge Base for the Wumpus World

在这里的第一行,我们提到了房间[1,1]的命题变量,这表明该房间没有 Wumpus (¬ W11)、没有恶臭 (¬S11)、没有陷阱 (¬P11)、没有微风 (¬B11)、没有黄金 (¬G11)、已访问过 (V11),并且房间是安全的 (OK11)。

在第二行,我们提到了房间 [1,2] 的命题变量,这表明没有 Wumpus,恶臭和微风是未知的,因为智能体还没有访问过房间 [1,2],没有陷阱,尚未访问,并且房间是安全的。

在第三行,我们提到了房间[2,1]的命题变量,这表明没有 Wumpus (¬ W21)、没有恶臭 (¬S21)、没有陷阱 (¬P21)、感知到微风 (B21)、没有闪光 (¬G21)、已访问过 (V21),并且房间是安全的 (OK21)。

证明 Wumpus 在房间 (1, 3)

我们可以使用我们为 Wumpus 世界推导出的命题规则和推理规则来证明 Wumpus 在房间 (1, 3)。

对 ¬S11 和 R1 应用肯定前件式(Modus Ponens)

我们首先将肯定前件式(MP)规则应用于 R1,即 ¬S11 → ¬ W11 ^ ¬ W12 ^ ¬ W21,以及 ¬S11,这将得出输出 ¬ W11 ^ ¬ W12 ^ ¬ W21

Knowledge Base for the Wumpus World

应用合取消去规则

在对 ¬ W11 ∧ ¬ W12 ∧ ¬ W21 应用合取消去规则后,我们将得到三个陈述

对 ¬S21 和 R2 应用肯定前件式

现在我们将肯定前件式应用于 ¬S21 和 R2,即 ¬S21 → ¬ W21 ∧ ¬ W22 ∧ ¬ W31,这将得出输出 ¬ W21 ∧ ¬ W22 ∧ ¬ W31

Knowledge Base for the Wumpus World

应用合取消去规则

现在再次对 ¬ W21 ∧ ¬ W22 ∧ ¬ W31 应用合取消去规则,我们将得到三个陈述

对 S12 和 R4 应用肯定前件式

将肯定前件式应用于 S12R4,即 S12 → W13 ∨ W12 ∨ W22 ∨ W11,我们将得到输出 W13∨ W12 ∨ W22 ∨ W11

Knowledge Base for the Wumpus World

对 W13 ∨ W12 ∨ W22 ∨ W11 和 ¬ W11 应用单位归结

在对 W13 ∨ W12 ∨ W22 ∨ W11 和 ¬ W11 应用单位归结公式后,我们将得到 W13 ∨ W12 ∨ W22

Knowledge Base for the Wumpus World

对 W13 ∨ W12 ∨ W22 和 ¬ W22 应用单位归结

在对 W13 ∨ W12 ∨ W22 和 ¬W22 应用单位归结后,我们将得到 W13 ∨ W12 作为输出。

Knowledge Base for the Wumpus World

对 W13 ∨ W12 和 ¬ W12 应用单位归结

在对 W13 ∨ W12 和 ¬ W12 应用单位归结后,我们将得到 W13 作为输出,因此证明了 Wumpus 在房间 [1, 3]。

Knowledge Base for the Wumpus World

构建 Wumpus 世界的知识库

初始知识设置

编码 Wumpus 世界的初始状态

在 Wumpus 世界中,我们从一个预定义的网格环境和放置智能体、Wumpus、陷阱和黄金的特定方案开始。此设置的逻辑表示应包含在知识库的初始状态中。

智能体的位置

智能体最初从左下角,比如房间 [1,1] 开始它的旅程。

逻辑表示: At(Agent, [1,1]).

Wumpus 和陷阱

开始时,Wumpus 和陷阱的位置是未知的,但 Wumpus 和陷阱的存在是通过“恶臭”和“微风”等感知推断出来的。

示例: ¬Pit([1,1]) (起始房间没有陷阱)。

起初,关于黄金的位置一无所知。

示例: ¬Gold([1,1]).

表示安全和不安全的区域

允许智能体在安全区域内移动,而不会踩到 Wumpus 或掉入陷阱。不安全的区域是根据从相邻房间收到的感知推断出来的。

安全区域表示

逻辑表示: Safe([x,y]) ⇔ ¬Pit([x,y]) ∧ ¬Wumpus([x,y]).

不安全区域指示

一个房间里有微风意味着相邻房间中有一个陷阱。

示例: Breeze([x,y]) ⇒ Pit([x±1,y]) ∨ Pit([x,y±1]).

如果一个房间有恶臭,那么 Wumpus 就在其中一个相邻的房间里。

示例: Stench([x,y]) ⇒ Wumpus([x±1,y]) ∨ Wumpus([x,y±1]).

动态知识更新

根据感知更新知识

关于环境的知识库与智能体感知的动态环境有关。每当发生一次感知(例如,微风、恶臭、闪光),更新就会触发。

感知处理示例

然而,如果在 [2,2] 检测到恶臭,知识库将包含

  • Stench([2,2])
  • Wumpus([1,2]) ∨ Wumpus([2,1]) ∨ Wumpus([2,3]) ∨ Wumpus([3,2]).

安全区域识别

如果在房间 [1,1] 中没有检测到感知,则所有相邻的房间都被标记为安全的。

处理环境中的不确定性

当一次感知有多种假设时,就会出现不确定性。这可以通过概率推理或优先探索来解决。

歧义示例

  • 当房间 [2,2] 有恶臭时,Wumpus 可能在几个可能的地方。
  • 逻辑表示:Wumpus([1,2]) ∨ Wumpus([2,3]) ∨ Wumpus([3,2]).
  • 然而,智能体必须通过探索相邻房间来收集更多信息。

关键逻辑陈述

知识库中逻辑句子的示例

知识库[包括]支配智能体推理和行动的逻辑规则

  • 安全移动: Safe([x,y]) ⇒ Move(Agent, [x,y]).
  • 避免不安全区域: ¬Safe([x,y]) ⇒ ¬Move(Agent, [x,y]).
  • 黄金检测: Glitter([x,y]) ⇒ Gold([x,y]).
  • 射击 Wumpus: Wumpus([x,y]) ⇒ Shoot(Agent, [x,y]).

实际示例

智能体在房间 [2,1] 检测到恶臭。

  • 添加:Stench([2,1]).
  • 推断:Wumpus([1,1]) ∨ Wumpus([2,2]) ∨ Wumpus([3,1]).

智能体在房间 [3,1] 没有检测到恶臭。

  • 添加:¬Stench([3,1]).
  • 推断:¬Wumpus([2,1]).

这是一种结构化的知识库演化方法,以便让智能体在为不确定性建模的同时高效地穿越 Wumpus 世界。

Wumpus 世界知识库的应用

逻辑表示

Wumpus 世界是一个令人兴奋的领域,其环境是一个具有特定规则和危险的网格,允许使用逻辑语句编码事实和规则。例如,我们可以使用命题逻辑来表示条件,比如如果一个房间里有恶臭,那么附近就有可能存在 Wumpus。

推理机制

特别是,知识库展示了人工智能系统如何通过使用前向链接、后向链接和归结,从现有事实中推导出新事实。

不确定性和不完整性

Wumpus 世界还模拟了信息不完整的情况。诸如医疗诊断和风险分析等 AI 应用需要知道如何使用概率或假设来处理不确定性,而这些知识是在知识库中讲授的。

制定解决问题的策略

面向目标的搜索

利用其知识库,Wumpus 世界中的智能体选择其安全路径,发现黄金,并避开危险离开网格。这遵循了面向目标的搜索策略的思想,如广度优先搜索、深度优先搜索和 A* 算法。

启发式开发

智能体将能够通过在其决策过程中融入启发式方法来优化其行动,从而实现最大程度的探索和安全。例如,一个启发式方法可能会建议,根据当前可用的知识,应首先探索感知风险最小的房间。

迭代决策

智能体处理对知识库的动态更新,以便智能体可以根据新的可用信息修改其策略。在游戏 AI 或机器人导航等现实世界问题解决中使用这种迭代的问题解决方法。

增强自主智能体设计

环境感知

然后,智能体利用感知(气味、微风、闪光等)构建环境的心理模型。动态现实世界机器人和自动驾驶汽车中态势感知的关键方面是观察它们的环境。

决策自主性

一个智能体的决策,无论是否拥有足够的知识库,都决定了它是否是自主的。在 Wumpus 世界的推理机制中展示的逻辑规则和推理机制是诸如自动化无人机和工业机器人等系统的支柱。

风险评估

在 Wumpus 世界中,智能体被教导要权衡风险与回报。例如,在进入一个高回报的房间时,我们可能需要进入一个有潜在危险的相邻房间。这也适用于决定投资风险的金融 AI 系统或决定治疗方案的医疗机器人。


下一个主题一阶逻辑