人工智能复习

人工智能专题复习

Made by © Isaac. Ty

知识表示

表示方法

直接表示、逻辑表示、产生式规则表示、语义网络表示法、框架表示法、脚本方法、过程表示

逻辑表示法
  • 一阶谓词逻辑式谓词逻辑中最直观的一种逻辑。以谓词形式来表示动作的主体、客体,客体可以有多个。
  • 谓词逻辑规范表达式: P(x1,x2,x3,) ,P是谓词, xi 是主体与客体
  • 存在问题:谓词表示越细,推理越慢、效率越低,但表示清楚
产生式规则表示法
  • 可以看成断言是一个语言变量的值或是多个语言变量间的关系的陈述句,语言变量的值或语言变量间的关系可以使一个词,不一定是数字

  • 基本特征:

    • 数据库:存放构成产生式的基本元素,又是产生式的作用对象
    • 一组规则:产生式本身
    • 一个解释程序:从匹配成功的规则中选出一个加以执行
  • 基本结构:

    • 工作存储器(数据库):存放当前已知的数据,包括推理过程中形成的中间结论。
    • 产生式规则:每条产生式分左右两个部分,左部表示激活条件,右部表示产生结果。
    • 规则解释程序:
    • 匹配器:判断规则条件是否成立
    • 冲突消解器:选择可调用的规则
    • 解释器:执行规则的动作。在满足结束条件时终止产生式系统
  • 推理方法

    正向、反向、双向、与或树

    • 正向:从已知事实出发,逐步推导出最后结论。
  • 反向:首先提出假设,然后验证这些假设的真假性,找到假设成立的所有证据或事实。

  • 双向:既自顶向下、又自底向上作双向推理,直至某个中间界面上两方向结果相符便成功结束。

  • 优点:

    • 模块性:规则与规则之间相互独立
    • 灵活性:知识库易于增加、修改、删除
    • 自然性:方便地表示专家的启发性知识与经验
    • 透明性:易于保留动作所产生的变化、轨迹
  • 缺点:

    • 知识库维护难
    • 效率低。为了模块一致性
    • 理解难。由于规则一致性彼此之间不能调用
语义网络表示法
  • 表示形式:每一个要表达的事实用一个“结点”表示,而事实之间用“弧线”表示。即,有向图表示的三元组(结点1,弧,结点2)连接而成。
  • 类属关系:类属关系是指有共同属性的不同事物间的分类关系、成员关系或实例关系
    • 常见属性:
    • A-Kind-of 表示一个事物是另一个事物的一种类型
    • A-member-of 表示一个事物是另一个事物的成员
    • Is-a 表示一个事物是另一个事物的实例
  • 包含关系:也称聚类关系,是指具有组织或结构特征的“部分与整体”之间的关系。(包含关系一般不具备属性的继承性)
    • 常见属性:
    • Part-of 一个事物是另一个事物的一部分
  • 属性关系:事物和其他属性之间的关系
    • 常见属性:
    • Have 表示一个节点具有另一个节点所描述的属性
    • Can 一个节点能做另一个节点的事
  • 位置关系:不同事物在位置方面的关系
    • 常见位置关系:Located-on/-at/-under/inside/outside
  • 相近关系:不同事物在形状、内容等方面相似和接近
    • 常用相近关系:Similar-to 相似 Near-to 接近
  • 时间关系:指不同事件在其发生时间方面的先后关系
    • 常用时间关系:Before 表示一个事件在另一个事件之前发生 After 一个事件在一个事件之后发生
  • 多元逻辑关系:
  • 推理方法
    • 网络匹配:结构上的匹配,包括结点和弧的匹配
    • 继承推理:利用具有继承性质的语义联系建立一些并不一定显示存在于语义网络知识库中的网络结构。
  • 结论:
    • 语义网络图的好处是直观、清晰
    • 缺点是表达范围有限。
  • 特点:
    • 结构性好:语义网络是一种结构化的知识表示方法,能够把事物的属性和事物间的各种语义关系显示地表示出来
    • 联想性:语义网络作为人类联想记忆模型提出来,强调的就是事物之间的语义关系
    • 自然性:语义网络实际上是一个带有标示的有向图,可直观的把事物的属性及事物间的语义联系表示出来,便于理解
框架表示
  • 定义:框架是由若干个结点和关系(统称槽)构成的网络。是语义网络更一般化形式的一种结构。同语义网络没有本质区别。
  • 表示形式:框架名、槽名、侧面、值
  • 推理方法:没有固定的推理机理。遵循匹配和继承的原理
  • 软件开发过程中框架理论的使用
    • 人们将相同类型问题的解决途径进行抽象,抽取成一个应用框架Framework,提供一套明确机制,让开发人员很容易的扩展和控制整个Framework开发上的结构。
    • 为某一特定目的实现一个基本的、可执行的架构。包含了应用程序从启动到运行的主要流程,流程中无法确定的步骤留给用户来实现。程序运行时框架系统自动调用用书实现的功能组件。系统的行为是主动的。
  • 性质:
    • 对事物进行描述。
    • 通过它对一些从感官中没有直接得到的信息进行预测。
    • 可以利用框架知识进行判断推理
    • 可以通过来认识某一类事物
    • 可以通过实例修正框架对某些事物的不完整描述
脚本表示
  • 脚本方式式采用一个专用的框架来表示特定领域的知识
  • 脚本通过元语作为槽名来代表要表示的对象的基本行为
  • 有点像电影剧本

产生式系统

产生式系统的基本组成

组成三要素(*)
  1. 一个综合数据库—— 存放信息
  2. 一组产生式规则库—— 知识
  3. 一个控制系统推理机—— 规则的解释或执行程序(控制策略、推理策略)

产生式系统定义:把一组产生式放在一起,让它们相互配合,协同工作,一个产生式生成的结论可以供另一个产生式作为前提使用,以这种方式求得解决问题的系统叫作产生式系统。

产生式系统的特点
  • 数据驱动:从已知事实出发
  • 模块化:知识的无序性
  • 控制系统与问题无关
  • 类似人类认识的过程:规则似乎式模拟人类如何解决问题的自然方法
产生式系统的类型(*)
  • 正向推理:从已知事实出发,通过规则库求得结论,也称自底向上或者数据驱动的方式。F规则
  • 反向推理:从目标出发,反向使用规则,求得已知事实,也称自顶向下推理方式或者目标驱动方式。B规则
  • 双向推理:既自顶向下又自底向上,直至达到某个终结环节两个方向的结果相符边成功结束。
产生式系统总结
  • 产生式系统是最简单的知识表示方法,也是应用最广泛的知识表示方法,适于表示各种启发式的经验性关联规则,领域专家无需知识工程工具就能够把自己的知识转化成IF-THEN规则
  • 规则选择效率较低,控制策略不灵活,知识表示形式单一

产生式系统的搜索策略

产生式系统的搜索策略
  1. 盲目搜索:也称为无信息搜索,即只按预定的控制策略进行搜索,在搜索过程中获得的中间信息不用来改进控制策略。
  2. 启发式搜索:在搜索中加入了与问题有关的启发性信息,用于指导搜索朝着最有希望的方向进行,加速问题的求解过程并找到最优解。
图搜索策略
  • 回溯搜索:只保留从初始状态到当前状态的一条路径
  • 图搜索:保留所有已搜索过的路径
基本概念
  • 节点深度: 根节点深度 = 0 ,其他节点深度 = 父节点深度 + 1
  • 路径: 设一节点序列为 (n0,n1,,nk) ,对于i = 1,…,k,若节点 ni1 具有一个后继节点 ni ,则该序列称为从 n0 nk 的路径
  • 路径的耗散值: 一条路径的耗散值等于连接这条路径各节点间所有耗散值的总和。用 C(ni,nj) 表示从n~i~到n~j~的路径的耗散值
  • 扩展一个节点: 生成出该节点所有后继节点,并给出它们之间的耗散值。 Expand(n)
  • 辅助存储表:open表:未扩展节点表,closed表:已扩展节点表
无信息图搜索过程
  • 深度优先搜索:
    • 栈实现
    • 一般不能保证找到最优解。当深度限制不合理时,可能找不到解。可将算法改为可变深度限制。最坏的情况搜索空间等同于穷举
    • 缺点:如果目标节点不在搜索所进入的分支上而该分支又是一个无穷分支,则就得不到解。
    • 优点:如果目标节点恰好在搜索所进入的分支上,则可以较快地得到解
  • 宽度优先搜索:
    • 队列实现
    • 当问题为单位耗散值时,且问题有解时,一定能找到最优解
    • 方法与问题无关,具有通用性。
    • 效率较低,属于图搜索方法
    • 缺点:当目标节点距离初始节点较远时会产生许多无用的节点,搜索效率低
    • 优点:只要问题有解,则总可以得到解,是完备的,而且是最短路径的解。
  • 回溯与宽度优先方法结合
    • 目的:解决宽度优先方法的空间问题和回溯方法不能找到最优解的问题
    • 思想:首先个给回溯法一个比较小的深度限制,然后逐渐增加深度限制,直到找到解或遍历所有分支
启发式图搜索

利用知识来引导搜索,达到减小搜索范围,降低问题复杂度的目的。

  1. 启发信息的强度

    • 强:降低搜索工作量,但可能导致找不到最优解。
    • 弱:一般会使工作量降低不如强的多,极限情况下变为盲目搜索,但是可能会找到最优解
  2. 启发信息

    引入启发知识,在保证找到最佳解的情况下,尽可能减少搜索范围,提高搜索效率。

  3. 基本思想

    定义启发函数 f ,对当前搜索状态进行评估,找出一个最有希望的节点来扩展。

  4. A算法与A*算法定义

    或图通常采用如下形式的估计函数时,称为A算法。

    f(n)=g(n)+h(n)

    g(n) 表示从s到n点费用的估计,因为n为当前节点,搜索已达到n点,所以g (n)

    计算出。

    h(n) 表示从n到目标接近程度的估计,因为尚未找到解路径,所以 h(n) 仅仅是估计值。

  5. A算法(最好优先搜索),适用于或图搜索。在所有待扩展结点中优先选择最有希望的结点进行扩展。在搜索过程中如果早期选择了一个错误,最好优先搜索提供了修改的机会,这是最好优先搜索算法的关键。 但是A算法并未显示地给出如何定义启发函数,A*算法就是对A算法的启发函数加上限制后的一种算法

符号定义
  • g(n) 从S到n的最短路径的耗散值
  • h(n) 从n到G的最短路径的耗散值
  • f(n)=g(n)+h(n) 从S经过n到G的最短路径耗散值
  • g(n),h(n),f(n) 分别式 g(n),h(n),f(n) 的估计值
算法特征

f(n)=g(n)+h(n)

  1. 若令 h(n)0 ,则A算法相当于宽度优先搜索,因为上一层节点的搜索费用一般比下一层的小
  2. g(n)0 ,则相当于最佳优先搜索算法
  3. g(n)h(n)0 相当于随机算法
  4. 特别是当要求 h(n)h(n) ,就称为这种A算法为A* 算法
A* 算法性质

定理1: 对有限图,如果从初始节点s到目标节点t有路径存在,则算法A一定成功

在A算法中,如果满足条件:

  1. g(n)是对g*(n)的估计 g(n)>0
  2. h(n)≤h*(n)

则A算法称为A*算法

产生式系统

  • [ ] 与或图的搜索及与或图启发式搜索算法AO*
  • [ ] 与或图搜索中的能解节点和不能解节点
  • [ ] 博弈树搜索
  • [ ] α-β剪枝的条件
  • [ ] 使用α-β剪枝规则完成博弈树搜索的剪枝
与或图表示问题
  • 与或图是一个超图,节点间通过连接符连接
  • K-连接符
  • K(n,N)=Cn+k(n1,N)++k(ni,N)
  • 其中N为终结节点 , Cn 为连接符的耗散值
能解节点
  • 终节点是能解节点
  • 若非终节点有“或”子节点时,当前仅当至少有一能解解时,该非终节点能解
  • 若非终节点有“与”子节点时,当且仅当其子节点均能解时,该非终节点才能解。
不能解节点
  • 没有后裔的非终节点式不能解节点
  • 若非终节点有“或”子节点,当前仅当所有子节点均不能解,该非终节点不能解
  • 若非终节点有“与”子节点,当至少有一个子节点不能解时,该非终节点才能解
与或图启发式搜索算法AO*
  • AO* 算法两个过程

    • 图生成过程,即扩展节点(利用起发信息进行)

    • 计算耗散值的过程(根据与或关系)

  • 具有最小耗散值的解图称为最佳解图,其值也用 h(n) 表示

博弈树搜索
  • 博弈问题特点:
    • 双人对弈、轮流走步
    • 信息完备,双方所得到的信息一样
    • 零和,对一方有利的棋,对另一方不利,不存在对双方有利或无利的棋
    • 博弈过程寻找对数必败态的过程
    • 双方无法干预对方选择
    • 可使用图搜索,但是效率很低
  • 博弈实例:

    • 下棋双方对立
    • 一方为正方,MAX节点
    • 另一方反方,MIN节点
    • 正方反方交替走步,MAX节点MIN节点交替出现
    • 图中所有终结点均表示该选手必输的情况,取胜方的目标式设法使棋局发展为结束在对方走步时的终结点上。
  • 博弈策略考虑问题:

    • 对MIN走后的每一个MAX结点,必须证明MAX对MIN可能走的每一个棋局对弈后能获胜,即MAX必须考虑应付MIN的所有招法。因此MAX结点可看成与结点
    • 对MAX走后的每一个MIN结点,只需证明MAX有一步能走赢就可以,即MAX只要考虑走出一步棋使MIN无法招架。因此MIN结点可看成或节点
  • 极大极小搜索过程—-对各个局面进行评估

    • 评估目的:对后面的状态提前考虑,并且以各种状态的评估值为基础做出最好的选择
    • 评估方法:用评价函数对棋局进行评估
    • 赢的评估值设为+∞,输的评估值设为-∞,平局的评估值设为0
    • 评估的标准:由于下棋的双方是对立的,只能选择其中一方为评估的标准方
    • 由于正方和反方交替走步,因此MAX节点和MIN节点会交替出现。
    • 正方(MAX节点)从所有子节点中,选取具有最大评估值的节点
    • 反方(MIN节点)从所有子节点中选取具有最小评估值的节点
    • 反复进行选取,可以得到双方各个节点的评估值
αβ 搜索过程

在极小极大搜索过程中,必须求出所有终端节点的评估值,当考虑的棋步比较多时,计算量会大大增加。为提高搜索效率,引入了通过对评估值的上下限进行估计,从而减少需进行评估的节点范围的 αβ 剪枝法

  • Max节点的评估下限值 α

    作为正方出现的Max节点,假设它的MIN子节点有N个,那么当它的第一个MIN子节点的评估值为 α 时,对于其他子节点

    • 有高过 α 的,就取最高的值作为MAX节点的评估值
    • 没有高估的,则该MAX的节点评估值为
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值