【人工智能专栏】(2)知识表示方法 I

目录

  • 1. 知识与知识表示
    • 1.1 什么是知识?
    • 1.2 什么是数据-信息-知识?
    • 1.3 人工智能系统所关心的知识
    • 1.4 什么是知识表示?
    • 1.5 知识表示要注意的问题
    • 1.6 AI对知识表示方法的要求
  • 2. 状态空间法
    • 2.1 什么是状态空间法?
    • 2.2 状态空间法三要点
    • 2.3 解题过程
    • 2.4 状态空间法对问题状态的描述
  • 3. 问题归约法
    • 3.1 什么是问题归约法?
    • 3.2 问题归约表示
    • 3.3 与或图的构成规则
  • 4. 产生式表示
    • 4.1 产生式系统的组成
    • 4.2 产生式系统的知识表示
    • 4.3 产生式的BNF(巴克斯范式)表示

1. 知识与知识表示

1.1 什么是知识?

知识是人类进行一切智能活动的基础。

1.2 什么是数据-信息-知识?

• “14 亿” 是数据;
• “中国人口数已经达到 14 亿”是信息;
• “中国是世界上人口最多的国家”是知识。

1.3 人工智能系统所关心的知识

  1. 事实知识:有关问题环境的一些事物的知识。

    • 以“…是…”形式出现

  2. 规则知识:问题中与事物的行动、动作相关联的因果关系知识。

    • 以“如果…那么…”形式出现。

  3. 控制知识:问题的求解步骤、技巧性知识。

    • 怎么做一件事
    • 多个动作同时被激活时,选择哪个动作来执行。

  4. 元知识:知识的知识,知识库中的高层知识。

    • 使用规则、解释规则、校验规则、解释程序结构等。

1.4 什么是知识表示?

将面向人的知识转化为计算机系统所能接受的形式,即知识表示研究的内容。

知识表示:知识符号化,输入计算机的过程和方法。

• 给定结构,按一定原则、组织方式表示知识;
• 解释知识。

AI 领域,研究知识表示方法的目的在于用知识来改善程序性能,即

• 利用知识来帮助选择或限制程序搜索范围;
• 利用知识来帮助程序识别、判断、规划与学习。

AI 的研究集中在如何使程序拥有知识而具有智能行为 !

1.5 知识表示要注意的问题

  1. 从表达能力和描述能力上,可以考虑:

    • 表示能力,要求能够正确、有效地表示问题求解所需的各类知识;
    • 可理解性,所表示的知识应易懂、易读、易于表示;
    • 自然性,表示方式要自然,尽量适用于不同的环境和用途,易于检查、修改和维护。

  2. 从知识利用上,可以考察:

    • 便于获取,便于表示新知识,并以合适方式与已有知识相连接;
    • 便于搜索,求解问题时,能较快地在知识库中找出有关知识。因此,知识库应具有较好的记忆组织结构;
    • 便于推理,能够从已有知识中推出需要的答案或结论。

1.6 AI对知识表示方法的要求

  1. 理想的内部表示要能真实地直接反映外部世界的事实;
  2. 内部知识表示与自然语言和外部世界三者之间的关系。

下面将分别介绍几种人工智能的知识表示方法~

2. 状态空间法

2.1 什么是状态空间法?

  1. 问题求解

    • 归约、推断、决策、规划、常识推理、定理证明和相关过程;
    • 问题求解技术:

    1. 问题表示:描述方法不对,则给问题求解带来很大困难;
    2. 问题求解:试探搜索方法,在某个可能解空间内寻找一个解来求解问题。
  2. 什么是状态空间法?

    基于解答空间的问题表示和求解方法,以状态和算符为基础表示和求解问题。

2.2 状态空间法三要点

状态空间法三要点:状态算符状态空间

  1. 状态

    • 描述不同事物间的差别,引入一组最少变量
    q 0 , q 1 , … , q n q_0,q_1,…,q_n q0q1qn
    的有序集合,即
    Q = [ q 0 , q 1 , . . . , q n ] T . Q = [q_0, q_1,..., q_n]^T . Q=[q0,q1,...,qn]T.
    式中, q i q_i qi( i = 0 , 1 , … , n i = 0,1,…,n i=0,1n)为集合分量,称为状态变量。

  2. 算符

    • 使问题从一种状态变为另一种状态的手段;
    • 走步、过程、规则、数学算子、运算符号或逻辑符号等。

  3. 问题的状态空间

    • 问题全部可能状态及其关系的图;
    • 状态空间记为三元状态 ( S , F , G ) (S,F,G) (SFG),即初始状态集合 S S S、操作符集合 F F F、目标状态集合 G G G

2.3 解题过程

  1. 状态图:把初始状态可达的各状态组成的空间设想为由各状态对应节点组成的图。

    • 首先把算符作用于初始状态产生新状态;再把另一些算符用于新状态;继续下去直至产生目标状态为止。

  2. 最优化问题:仅找到到达目标的任一路径是不够的,还必须找到最优路径。

2.4 状态空间法对问题状态的描述

对一个问题状态描述,必须确定 3 件事:

  1. 初始状态描述的特性;
  2. 操作符及其对状态描述的作用;
  3. 目标状态描述的特性。

3. 问题归约法

3.1 什么是问题归约法?

把问题分解为 子问题子 — 子问题,然后解决较小问题。

问题归约表示的组成

• 初始问题描述;
• 把问题变为子问题的操作符;
• 本原问题描述。

问题归约的实质:从目标出发逆向推理,建立子问题以及子问题的子问题,直至把初始问题归约为一个本原问题集合。

3.2 问题归约表示

  1. 问题归约图:用图结构表示问题归约为后继问题的替换集合;

  2. 与或图:由与节点及或节点组成的结构图;

  3. 或节点:只要解决某个子问题就可解决其父辈问题的节点集合;

  4. 与节点:只有解决所有子问题,才能解决其父辈问题的节点集合。结点之间用一小圆弧连接标记;

  5. 终叶节点:对应于原问题的本原节点;

  6. 可解节点

    • 终叶节点是可解节点(因为它们与本原问题相关连)。
    • 如果某个非终叶节点含有或后继节点,那么只要当其后继节点至少有一个是可解的时,此非终叶节点才是可解的。
    • 如果某个非终叶节点含有与后继节点,那么只有当其后继节点全部为可解时,此非终叶节点才是可解的。

  7. 不可解节点

    • 没有后裔的非终叶节点为不可解节点。
    • 如果某个非终叶节点含有或后继节点,那么只有当其全部后裔为不可解时,此非终叶节点才是不可解的。
    • 如果某个非终叶节点含有与后继节点,那么只要当其后裔至少有一个为不可解时,此非终叶节点才是不可解的。

3.3 与或图的构成规则

• 规则 1:图中每个节点代表要解决问题或问题集合,起始节点对应于原始问题。
• 规则 2:终叶节点对应于本原问题的节点,它没有后裔。
• 规则 3:算符应用于问题 A A A 的每种可能情况,把问题变为子问题集合;有向弧线自 A A A 指向后继节点表示子问题集合。
• 规则 4:代表两个或以上子问题集合的节点,有向弧线从此节点指向此子问题集合中的各个节点。当集合中所有项都有解时,子问题集合才能获得解答。
• 规则 5:只有一个算符应用于问题 A A A,且该算符产生一个以上子问题集合时,规则 3 和规则 4 产生的图可简化。

4. 产生式表示

4.1 产生式系统的组成

  1. 全局数据库 (global database):与具体任务有关的信息;

  2. 规则:对数据库进行操作运算:

    • 每条规则由左右两部分组成,左部鉴别规则的适用性或先决条件,右部描述规则应用时所完成的动作;
    • 规则基本形式: i f . . . t h e n . . . if ... then ... if...then...,称之为产生式规则;
    • 应用规则改变数据库,就象应用算符改变状态一样。

  3. 控制策略:确定应该采用哪一条适用规则

    • 当数据库终止条件满足时,则停止计算;
    • 控制策略由控制系统选择和确定。

4.2 产生式系统的知识表示

产生式系统的知识表示
事实表示
规则表示
孤立事实表示
关联事实表示
树形结构
网状结构
单个规则表示
关联规则间关系表示
规则按参数分类
规则网状结构

4.3 产生式的BNF(巴克斯范式)表示

< 产生式 > : : = < 前提 > < 结论 > <产生式>::=<前提> <结论> <产生式>::=<前提><结论>
< 前提 > : : = < 简单条件 > ∣ < 复合条件 > <前提>::=<简单条件> | <复合条件> <前提>::=<简单条件><复合条件>
< 结论 > : : = < 事实 > ∣ < 操作 > <结论>::=<事实> | <操作> <结论>::=<事实><操作>
< 复合条件 > : : = < 简单条件 > A N D < 简单条件 > [ A N D < 简单条件 > ⋅ ⋅ ⋅ ∣ < 简单条件 > O R < 简单条件 > [ O R < 简单条件 > ⋅ ⋅ ⋅ <复合条件>::=<简单条件> AND <简单条件> [AND <简单条件> ··· | <简单条件> OR <简单条件> [OR <简单条件> ··· <复合条件>::=<简单条件>AND<简单条件>[AND<简单条件>⋅⋅⋅<简单条件>OR<简单条件>[OR<简单条件>⋅⋅⋅
< 操作 > : : = < 操作名 > [ ( < 变元 > , ⋅ ⋅ ⋅ ) ] <操作>::=<操作名> [(<变元>, ···)] <操作>::=<操作名>[(<变元>,⋅⋅⋅)]

上述符号的含意

符号 " : : = " 表示 " 定义为 " 符号 "::=" 表示 "定义为" 符号"::="表示"定义为"
符号 " ∣ " 表示 " 或者是 " 符号 "|" 表示 "或者是" 符号"∣"表示"或者是"
符号 " [ ] " 表示 " 可缺省 " 符号 "[]" 表示 "可缺省" 符号"[]"表示"可缺省"

上一篇文章:【人工智能专栏】(1)人工智能绪论
下一篇文章:【人工智能专栏】(3)知识表示方法 II

你可能感兴趣的:(人工智能,人工智能,ai,知识表示方法,1024程序员节)