第二章-人工智能的知识表示

知识表示

知识与知识表示

  • 知识是人类智能的基础(符号主义学派)
  • 智能活动过程主要是一个获取知识并运用知识的过程
  • 人工智能问题的求解也是以知识为基础的,知识的获取、知识的表示和运用知识进行推理是人工智能学科研究的3个主要问题。

知识的含义和结构

  • 知识是经过裁剪、塑造、解释和转换的信息。
  • 知识是由特定领域的描述、关系和过程组成的。
  • 知识=事实+信念+启发式。

知识的金字塔结构

在这里插入图片描述

  • 数据:是记录信息的符号,是信息的载体和表示。
  • 信息:是对数据的解释,是数据在具体的场合下具体的含义。
  • 知识:一般把有关信息关联在一起所形成的信息结构称为知识。
  • 元知识:指使用知识的知识。

在这里插入图片描述

知识的种类

在这里插入图片描述

知识的特性

  • 相对正确性:不同规则下有不同的正确性
  • 不确定性:不只有“真”和“假”两种状态。引起原因:随机性、模糊性、不完全性和经验性。
  • 可表示性。
  • 可利用性。

知识表示

  • 知识表示的含义:

    • 面向计算机的知识描述或表达的形式或方法。

    • 知识表示的过程就是把知识编码成某种数据结构的过程

  • 知识表示的要求:

    • 表示能力:正确、有效地表示。
    • 可利用性:有利于进行有效的推理。
    • 可组织性:按某种方式组织成某种结构。
    • 可维护性:便于增、删、改等操作。
    • 可实现性:便于在计算机上实现。
    • 自然性:符合人们的日常习惯。
    • 可理解性:易读、易懂、易获取等。
  • 知识表示的方法

    • 谓词逻辑表示
    • 产生式表示
    • 语义网络表示
    • 框架表示

一阶谓词逻辑表示法

数理逻辑为基础,是目前为止能够表达人类思维活动规律的一种最精确的形式语言。

基本概念

  • 个体域:个体变元的变化范围称为个体域(论述域),包揽一切事物的集合称为全总个体域。

  • 谓词、函数、量词:

    n元谓词:P(x1, x2, …, xn),大写字母

    n元函数:f(x1, x2, …, xn),小写字母

    全称量词:∀x,所有。

    存在量词:∃x,存在。

  • 常用的谓词联接符号:按优先级从高到低排列

    • 否定:﹁,非。
    • 合取:∧,与。
    • 析取:∨,或。
    • 蕴含:→,如果…那么。
    • 等价:↔,当且仅当。
  • 辖域:紧接于量词之后被量词作用的谓词公式称为该量词的辖域,可用括号明示。

  • 指导变元、约束变元、自由变元:

    指导变元:量词后面的变元称为量词的指导变元。

    约束变元:在一个量词的辖域中的与该量词的指导变元相同的变元称为约束变元。

    自由变元:其它的变元称为自由变元。
    ∀ x ( P ( x , y ) → Q ( x ) ) ∀x(P(x, y) → Q(x)) x(P(x,y)Q(x))
    其中,第一个x为指导变元,第二个x和第三个x为约束变元,y为自由变元。

  • 改名规则:使一个谓词公式中的每一个变元仅以一种形式出现

    • 换名规则:将某量词辖域中出现的某个约束变元以及对应的指导变元更改为本辖域中没有出现过的个体变元,等价性不变。
    • 代替规则:将某量词辖域中出现的某个自由变元的所有出现用本辖域中未曾出现过的某个个体变元符号代替,等价性不变。

谓词公式表示知识的步骤

  • 定义谓词及个体,确定每个谓词及个体的确切含义。
  • 根据所要表达的事物或概念,为每个谓词中的变元赋以特定的值。
  • 根据所要表达的知识的语义,用适当的联接符号将各个谓词联接起来,形成谓词公式。

经典例子一:机器人移盒子问题

  • 问题描述:设在一房间里,c处有一个机器人,a和b处各有一张桌子,分别称为a桌和b桌,a桌上有一个盒子,如图所示。要求机器人从c处出发把盒子从a桌上拿到b桌上,再回到c处。

在这里插入图片描述

  • 问题求解:过程如下。

    • 描述状态的谓词

      TABLE(x):x是桌子。

      EMPTY(y):y手中是空的。

      AT(y, z):y在z处。

      HOLDS(y, w):y拿着w。

      ON(w, x):w在x的桌面上。

    • 变元的个体域

      x的个体域是{a, b}

      y的个体域是{robot}

      z的个体域是{a, b, c}

      w的个体域是{box}

    • 问题的初始状态

      AT(robot, c)

      EMPTY(robot)

      ON(box, a)

      TABLE(a)

      TABLE(b)

    • 问题的目标状态

      AT(robot, c)

      EMPTY(robot)

      ON(box, b)

      TABLE(a)

      TABLE(b)

    • 描述操作的谓词

      条件部分:用来说明执行该动作必须具备的先决条件,用谓词公式来表示。

      动作部分:给出了该操作对问题状态的改变情况,通过在执行该操作前的问题状态中删除和增加相应的谓词来实现。

      Goto(x, y):从x处走到y处。

      Pickup(x):在x处拿起盒子。

      Setdown(x):在x处放下盒子。

    • 各操作的条件和动作

      • Goto(x, y)

        条件:AT(robot, x)

        动作:删除AT(robot, x),添加AT(robot, y)

      • Pickup(x):

        条件:AT(robot, x),TABLE(x),ON(box, x),EMPTY(robot)

        动作:删除EMPTY(robot),ON(box, x),添加HOLDS(robot, box)

      • Setdown(x):

        条件:AT(robot, x),TABLE(x),HOLDS(robot, box)

        动作:删除HOLDS(robot, box),添加EMPTY(robot),ON(box, x)

    • 各操作的执行方法

      机器人在执行一个操作前,都要检查该动作的先决条件是否可以满足,如果满足,就执行相应的操作,否则再检查下一个操作。

    • 机器人的完整行动过程

      状态1状态2状态3
      AT(robot, c)AT(robot, a)AT(robot, a)
      EMPTY(robot)Goto(c, a)EMPTY(robot)Pickup(a)HOLDS(robot, box)
      ON(box, a)ON(box, a)TABLE(a)
      TABLE(a)TABLE(a)TABLE(b)
      TABLE(b)TABLE(b)
      状态4状态5
      AT(robot, b)AT(robot, b)
      Goto(a, b)HOLDS(robot, box)Setdown(b)EMPTY(robot)Goto(b, c)
      TABLE(a)ON(box, b)
      TABLE(b)TABLE(a)
      TABLE(b)
      状态6
      AT(robot, c)
      EMPTY(robot)
      ON(box, b)
      TABLE(a)
      TABLE(b)

经典例子二:猴子摘香蕉问题

  • 问题描述:设房间里有一只猴子,位于a处。在c处上方的天花板有一串香蕉,猴子想吃,但摘不到。房间的b处还有一个箱子,如果猴子站到箱子上,就可以摸着天花板。请用谓词逻辑知识表示描述上述问题。

  • 问题求解:过程如下。

    • 描述状态的谓词:

      AT(x, y):表示x在y处。

      ONBOX:表示猴子在箱子上面。

      HB:猴子摘到香蕉。

    • 变元的个体域:

      x的个体域是{monkey, box, banana}

      y的个体域是{a, b, c}

    • 问题的初始状态:

      AT(monkey, a)

      AT(box, b)

      ﹁ONBOX

      ﹁HB

    • 问题的目标状态:

      AT(monkey, c)

      AT(box, c)

      ONBOX

      HB

    • 描述操作的谓词:

      GOTO(u, v):表示猴子从u处走到v处。

      PUSHBOX(v, w):表示猴子推着箱子从v处移到w处。

      CLIMBBOX:表示猴子爬上箱子。

      GRASP:表示猴子摘取香蕉。

    • 各操作的条件和动作:

      GOTO(u, v)

      条件:﹁ONBOX,AT(monkey, u)

      动作:删除AT(monkey, u),添加AT(monkey, v)

      PUSHBOX(v, w)

      条件:﹁ONBOX,AT(monkey, v),AT(box, v)

      动作:AT(monkey, v),AT(box, w)

      CLIMBBOX:

      条件:﹁ONBOX,AT(monkey, w),AT(box, w)

      动作:删除﹁ONBOX,添加ONBOX

      GRASP:

      条件:ONBOX,AT(box, c),﹁HB

      动作:删除﹁HB,添加HB

    • 猴子的完整行动过程

      与前述机器人移盒子问题类似,略。

谓词逻辑表达法的特点

  • 优点:严密性、自然性、通用性、易于实现
  • 缺点:知识表示能力差、知识库管理困难、组合爆炸、效率低

产生式表示法

知识的产生式表示方法

  • 事实的概念:事实是断言一个语言变量的值或断言多个语言变量之间关系的陈述句。

  • 事实的表示:

    • 确定性知识:(对象,属性,值)或(关系,对象1,对象2)
    • 非确定性知识:(对象,属性,值,可信度因子)
  • 规则的表示:P→Q 或者 IF P THEN Q

在这里插入图片描述

产生式系统的基本结构

  • 综合数据库DB
    • 存放推理过程的各种当前信息。
    • 作为推理过程选择可用规则的依据。
  • 规则库RB,也称为知识库KB
    • 存放推理所需要的所有规则(知识集),是推理的根本。
    • 要求知识的完整性、一致性、准确性、灵活性和可组织性。
  • 控制系统,也称为推理机
    • 控制整个产生式系统的运行,决定问题求解过程的推理线路。
    • 主要任务:选择匹配、冲突消解、执行操作、终止推理、路径解释。

产生式系统的运行过程

在这里插入图片描述

经典例子一:猴子摘香蕉问题

  • 综合数据库:(M, B, Box, On, H)

    M:猴子的位置

    B:香蕉的位置

    Box:箱子的位置

    On=0:猴子在地板上

    On=1:猴子在箱子上

    H=0:猴子没有抓到香蕉

    H=1:猴子抓到了香蕉

  • 初始状态:(a, c, b, 0, 0)

  • 结束状态:(c, c, c, 1, 1)

  • 规则集

    r1: IF(x, y, z, 0, 0)THEN(w, y, z, 0, 0)(猴子移动)

    r2: IF(x, y, x, 0, 0)THEN(z, y, z, 0, 0)(猴子推箱子)

    r3: IF(x, y, x, 0, 0)THEN(x, y, x, 1, 0)(猴子爬箱子)

    r4: IF(x, y, x, 1, 0)THEN(x, y, x, 0, 0)(猴子下箱子)

    r5: IF(x, x, x, 1, 0)THEN(x, x, x, 1, 1)(猴子抓香蕉)

    其中,x, y, z, w为变量。

  • 行动过程

    r1: IF(a, c, b, 0, 0)THEN(b, c, b, 0, 0)

    r2: IF(b, c, b, 0, 0)THEN(c, c, c, 0, 0)

    r3: IF(b, c, b, 0, 0)THEN(b, c, b, 1, 0)

    r3: IF(c, c, c, 0, 0)THEN(c, c, c, 1, 0)

    r4: IF(b, c, b, 1, 0)THEN(b, c, b, 0, 0)

    r5: IF(c, c, c, 1, 0)THEN(c, c, c, 1, 1)

    在已知事实下,r1→r2→r3→r5可得到香蕉。

经典问题二:传道士与野人问题

N个传教士,N个野人,一条船,可同时乘坐k个人;要求在任何时刻,在河的两岸,传教士和野人同时存在时,传教士的人数不能少于野人的人数。问:如何过河(以N=3,k=2为例)?

  • 综合数据库:(m,c,b),其中0≤m≤3,0≤c≤3,b∈{0,1}

  • 初始状态:(3,3,1)

    LR
    m30
    c30
    b10
  • 目标状态:(0,0,0)

    LR
    m03
    c03
    b01
  • 规则集

    r1: IF(m, c, 1)THEN(m-1, c, 0)

    r2: IF(m, c, 1)THEN(m, c-1, 0)

    r3: IF(m, c, 1)THEN(m-1, c-1, 0)

    r4: IF(m, c, 1)THEN(m-2, c, 0)

    r5: IF(m, c, 1)THEN(m, c-2, 0)

    r6: IF(m, c, 0)THEN(m+1, c, 1)

    r7: IF(m, c, 0)THEN(m, c+1, 1)

    r8: IF(m, c, 0)THEN(m+1, c+1, 1)

    r9: IF(m, c, 0)THEN(m+2, c, 1)

    r10: IF(m, c, 0)THEN(m, c+2, 1)

  • 行动过程

    r5: IF(3, 3, 1)THEN(3, 1, 0)(船运2个c到右岸)

    r7: IF(3, 1, 0)THEN(3, 2, 1)(船运1个c到左岸)

    r5: IF(3, 2, 1)THEN(3, 0, 0)(船运2个c到右岸)

    r7: IF(3, 0, 0)THEN(3, 1, 1)(船运1个c到左岸)

    r4: IF(3, 1, 1)THEN(1, 1, 0)(船运2个m到右岸)

    r8: IF(1, 1, 0)THEN(2, 2, 1)(船运1个m和一个c到左岸)

    r4: IF(2, 2, 1)THEN(0, 2, 0)(船运2个m到右岸)

    r7: IF(0, 2, 0)THEN(0, 3, 1)(船运1个c到左岸)

    r5: IF(0, 3, 1)THEN(0, 1, 0)(船运2个c到右岸)

    r7: IF(0, 1, 0)THEN(0, 2, 1)(船运1个c到左岸)

    r5: IF(0, 2, 1)THEN(0, 0, 0)(船运2个c到右岸)

    在已知事实下,r5→r7→r5→r7→r4→r8→r4→r7→r5→r7→r5可顺利过河。

产生式系统的特点

  • 优点:自然性、模块性、有效性。
  • 缺点:效率较低、不便于表示结构性知识。

语义网络表示法

语义网络的基本表示

  • 节点:概念、事物、对象、行为、状态等。
  • 有向弧:节点间的联系或关系。
  • 语义基元:(节点1,弧,节点2)
  • 基本网元
    在这里插入图片描述

基本语义关系

  • 实例关系:ISA(is-a,具体与抽象,“是一个”)
  • 分类关系:AKO(a-kind-of,子类与超类,“是一种”)
  • 成员关系:A-Member-of(个体与集体,“是一员”)
    以上三种关系都具有属性的继承性,处于具体层的节点可以继承所有抽象层节点的所有属性。
  • 聚类关系:Part-of(部分与整体,“是一部分”)
    聚类关系一般不具有属性的继承性。如手不一定具有人的各种属性。
  • 属性关系:Have、Can
  • 时间关系:After、Before
  • 位置关系:Located-on、Located-under、Located-at、Located-inside、Located-outside
  • 相近关系:Similar-to、Near-to

事物和概念的表示

一个语义基元/基本网元可以表示一个一元关系或一个二元关系,当要表示多元关系时,需要把它转化为一个或多个二元关系的组合。
例:用语义网络表示
①李新的笔记本的牌子是“联想”、颜色黑灰。
②王红的笔记本的牌子是“方正”、颜色粉红。
在这里插入图片描述

情况和动作的表示

例:用语义网络表示“小燕子这只燕子从春天到秋天占有一个巢”
如果不增加情况节点,会导致语义无法表示或不完整。
在这里插入图片描述
增加情况节点后的网络如下。
在这里插入图片描述

基于语义网络的推理

  • 继承:把对事物的描述从抽象节点传递到实例节点。通过继承可以得到所需节点的一些属性值,它通常是沿着ISA、AKO等继承弧进行的。
  • 匹配:指在知识库的语义网络中寻找与待求解问题相符的语义网络模式。

语义网络表示法的特点

  • 优点:结构性、联想性、自索引性
  • 缺点:非严格性、复杂性

框架表示法

基本概念

  • 框架:一种通用数据结构,知识的基本单元。
  • 实例框架:框架的一个具体实例。
  • 框架系统:把一组有关的框架连结起来。
  • 框架系统推理:由框架之间的协调来完成。

基本组成

  • 框架名
  • 槽名(对象的一种属性)
  • 侧面名(属性的一个方面)

  • 一个框架由若干个槽组成,一个槽由若干个侧面组成
    在这里插入图片描述
  • 说明信息
    • 单位(Unit):槽值或侧面值的书写格式。
    • 范围(Area):槽值或侧面值的指定范围。
    • 默认值(Default):缺省时的默认值。
    • 框架(<Frame>):以另一个框架作为槽值或侧面值。

框架系统

  • 横向联系
    以另一个框架作为槽值或侧面值时框架之间的联系。
  • 纵向联系
    以预定义槽名AKO和ISA来继承时框架之间的联系。
  • 特性继承
    • 通过ISA、AKO链来实现。
    • 当需要查询某一事物的某个属性,且描述该事物的框架未提供其属性值时,系统就沿着ISA和AKO链追溯到具有相同槽的类或超类框架。
    • 如果该槽提供有Default值,就继承该默认值作为查询结果返回。
    • 如果该槽提供有If-Needed侧面供继承,则执行If-Needed操作,去产生一个值作为查询结果。
    • 如果对某个事物的某一属性进行了赋值或修改操作,则系统会自动沿着ISA和AKO链追溯到具有相应的类或超类框架,去执行If-Added操作来进行后继处理。
    • If-Needed和If-Added的区别:前者是在系统试图查询某个事物框架中未记载的属性值时激活,并根据查询需求,被动地即时产生所需要的属性值;后者是在系统对某个框架的属性作赋值或修改工作后激活,通过进行配套的后继处理来消除可能存在的不一致。
  • 实例
    一个直接描述硕士生有关情况的框架
    在这里插入图片描述
    通过继承关系描述硕士生有关情况的框架。
    在这里插入图片描述
    在这里插入图片描述

问题求解过程

匹配:对相应槽的槽名和槽值逐个进行比较。
填槽:利用继承关系来实现。

框架表示法的特点

  • 优点:结构性、深层性、继承性、自然性
  • 缺点:缺乏框架的形式理论、缺乏过程性知识表示、清晰性难以保证。

凉梦空间

欢迎你进入我的个人博客网站参观交流:https://www.liangmeng.xyz

在这里插入图片描述

  • 3
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
人工智能研究中,状态空间法是一种基于解空间的问题表示和求解方法。该方法通过在可能的解空间内寻找一个解来求解问题。状态空间法以状态和算符为基础来表示和求解问题。在传统人工智能问题中,复杂的求解技术都离不开表示与搜索这两个方面的内容,其中状态空间表示是其中的一个重要概念。状态空间法采用试探搜索方法,在某个可能的解空间内寻找一个解来求解问题。图解人工智能第二章学习笔记中可能会涉及到状态空间法的概念和问题状态描述。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [人工智能及其应用——第二章学习笔记(上)](https://blog.csdn.net/JallinRicher/article/details/122752897)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [《人工智能及其应用》课程笔记(二)第2章 知识表示方法](https://blog.csdn.net/qq_46485137/article/details/122101559)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

凉丶梦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值