产生式系统专家系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

人工智能

生式规则

简称产生式。它是指形如α─→β或IFαTHENβ或其等价形式的一条规则,其中α称为产生式的左部或前件;β称为产生式的右部或后件。①如果α、β分别代表需要注视的一组条件及其成立时需要采取的行动,那么称为条件-行动型产生式;②如果α、β分别代表前提及其相应的结论,那么称为前提-结论型产生式。人工智能中的推理很多是建立在直观经验基础上的不精确推理,而产生式在表示和运用不精确知识方面具有灵活性,因此许多专家系统采用产生式系统为体系结构。

组成

一个产生式系统由下列3部分组成:

一个总数据库(global database),它含有与具体任务有关的信息。υ

υ一套规则,它对数据库进行操作运算。每条规则由左右两部分组成,左部鉴别规则的适用性或先决条件,右部描述规则应用时所完成的动作。应用规则来改变数据库。

一个控制策略,它确定应该采用哪一条适用规则,而且当数据库的终止条件满足时,就停止计算。υ

自由帕斯卡中

free pascal 中的产生式系统的组成

产生式系统由一个综合数据库、一组产生式规则和一个控制系统三个基本要素组成。其中:综合数据库是产生式系统所用的主要数据结构,它主要用来表示问题的状态,即初始状态、中间状态和目标状态等,以及状态之间的关系。它不是固定不变的,在求解的过程中,它的内容将越来越多,状态之间的关系也越来越复杂。

经常用来表示数据库的数据结构有串、集合、数组、树、表、记录、队列等。

产生式规则是对数据库进行操作的一系列规则。规则的一般形式是:IF 条件 THEN 操作

即满足应用的先决条件后,就对数据库实行后面的操作。

控制策略规定了操作的顺序,即在任何条件下用什么规则进行操作,什么条件下停止运行,它规定了问题的求解的搜索策略和路线。控制策略一般可分为不可撤回方式和试探法两大类,试探法又包括回溯法和图搜索法两种。

工作方式

产生式是系统的单元程序,它与常规程序不同之处在于,产生式是否执行并不在事前硬性规定,各产生式之间也不能相互直接调用,而完全决定于该产生式的作用条件能否满足,即能否与全局数据库的数据条款匹配。因此在人工智能中常将产生式称为一种守护神(demon),即“伺机而动”之意。另一方面,产生式在执行之后工作环境即发生变化,因而必须对全局数据库的条款作相应修改,以反映新的环境条件。全部工作是在控制程序作用下进行的。现代产生式系统的一个工作循环通常包含匹配、选优、行动三个阶段。匹配通过的产生式组成一个竞争集,必须根据选优策略在其中选用一条,当选的产生式除了执行规定动作外,还要修改全局数据库的有关条款。因此现代产生式系统的控制程序常按功能划分为若干程序。

推理方向

产生式系统的推理分为正向推理和逆向推理。正向推理指的是从现有条件出发,自底向上地进行推理(条件的综合),直到预期目标实现。逆向推理则从预期目标出发,自顶向下地进行推理(目标的分析),直到符合当前的条件。运用逆向推理时,后件而不是前件引导产生式的搜索工作,因此按推理方向可将产生式系统分为前件驱动和后件驱动两种类型。条件-行动型产生式系统采用前件驱动的工作方式。

优缺点

产生式系统的优点是:①模块性,每一产生式可以相对独立地增加、删除和修改;②均匀性,每一产生式表示整体知识的一个片段,易于为用户或系统的其他部分理解;③自然性,能自然地表示直观知识。它的缺点是执行效率低,此外每一条产生式都是一个独立的程序单元,一般相互之间不能直接调用也不彼此包含,控制不便,因而不宜用来求解理论性强的问题。

第三章产生式系统产生式系统概述产生式系统工作原理产生式系统控制策略产生式系统与图搜索产生式系统评价 3.1 产生式系统概述产生式系统(Production System): 美国数学家Post 1943年提出. 产生式(Production): 前件-->后件产生式产生式系统的组成: 产生式规则库(知识库) 动态数据库(工作存储器,综合数据库) 推理机(控制器,规则解释器) AI 系统中最普遍被采用的系统结构形式. 产生式系统的基本结构控制系统规则库动态数据库医疗产生式系统控制系统规则库IF 发烧then 感冒IF 发烧and 头痛then 感冒IF 头痛and 嗓子痛then 感冒IF 发烧and 胸闷then 肺炎…… 动态数据库?发烧发烧?头痛?胸闷产生式规则推理逻辑产生式规则的逻辑推理模式是假言推理和三段论推理产生式规则A→B (大前提大前提) 大前提A (小前提)小前提)B(结论)(结论)证据事实 3.2 产生式系统的工作原理工作周期: 匹配, 选择, 执行三个阶段组成模式匹配规则库动态数据库冲突集冲突消解规则触发规则执行推理控制冲突消解策略按匹配成功次序选择: 优先选择最先匹配成功的规则. 按优先权选择: 优先选择优先权最高的规则.

按详细程度选择: 优先选择前提部分描述最详细的规则. 按执行次序选择: 优先选择最近执行的规则. 按新事实选择: 优先选择与数据库中最新事实有关的规则. 按是否使用过选择: 优先选择没有使用过的规则. 3.3 产生式系统控制策略搜索策略: 不可撤回策略, 回朔策略冲突消解策略:推理方式: 推理方式正向推理, 反向推理, 正反向混合正向推理规则的一般形式: 规则的一般形式P1 --> P2 ; 正向推理: 正向使用规则的推理过程. 从初始状态(初始事实/数据)到目标状态(目标条件) 的状态图搜索过程. 又称数据驱动, 自底向上, 前向, 正向连推理. P2 --> P3 正向推理算法: 无信息, 启发式正向推理举例: 动物分类正向推理正向推理算法一(无信息搜索) Step1 : 将初始事实置入动态数据库; Step2 : 用动态数据库中的事实匹配/测试目标条件, 若满足, 则推理成功, 结束. Step3 : 用规则库中各规则的前提匹配动态数据库中事实,将匹配成功的规则组成冲突规则集; Step4 : 若冲突规则为空,则运行失败, 退出. Step5 : 将冲突规则集中各规则的结论加入动态数据库,或者执行其动作, To Step2; 正向推理算法一(启发式搜索) Step1 : 将初始事实置入动态数据库; Step2 : 用动态数据库中的事实匹配/测试目标条件, 若满足, 则推理成功, 结束. Step3 : 用规则库中各规则的前提匹配动态数据库中事实,将匹配成功的规则组成冲突规则集; Step4 : 若冲突规则为空,则运行失败, 退出. Step5 : 用某种冲突消解策略, 选出一条规则; Step6 : 将所选规则的结论加入动态数据库,或者执行其动作, To Step2; 反向推理规则的一般形式: 规则的一般形式P1 --> P2 ; P3 反向推理: 反向使用规则的推理过程. 从目标状态(目标条件)到初始状态(初始事实/数据)的与或图解搜索过程. 又称目标驱动, 自顶向下,后向, 反向连推理. P2 --> 反向推理算法: 无信息, 启发式反向推理举例: 动物分类反向推理反向推理算法Step1 : 将初始事实置入动态数据库, 目标条件置入目标链; Step2: 若目标链为空, 则推理成功, 结束. Step3: 取出目标链中第一个目标, 用动态数据库中的事实与其匹配, 若匹配成功, To Step2; Step4 : 用规则集中的各规则的结论同目标匹配, 成功则将第一个匹配成功且未用过的规则的前提作为新目标, 取代父目标加入到目标链, To Step3; Step5 : 若目标是初始目标, 则推理失败, 退出. Step6 : 将该目标的父目标移回目标链, 取代该目标及其兄弟目标, To Step3; 4 产生式系统举例——动物分类问题R1: 有奶-->哺乳动物; R2: 毛发-->哺乳动物; R3: 羽毛-->鸟; R4: 会飞,生蛋-->鸟; R5: 哺乳动物,有爪, 有犬齿,目盯前方-->食肉动物; R6: 哺乳动物,食肉-->食肉动物; R7:哺乳动物,有蹄-->有蹄动物; R8: 有蹄动物,反刍食物-->偶蹄动物; R9:食肉动物,黄色褐,黑色条纹-->老虎; R10:食肉动物,黄褐色,黑色斑点-->金钱豹; R11: 有蹄动物,长腿,长脖子,黄色褐,有暗斑点-->长颈鹿; R12: 有蹄动物,长腿,白色,黑色条纹-->斑马; R13: 鸟,不会飞,长腿,长脖子,黑白色-->鸵鸟; R14: 鸟,不会飞,会游泳,黑白色-->企鹅; R15:鸟,善飞,不怕风浪-->海鸥; 动物分类产生式系统初始事实: f1: 有毛f2: 食肉f3: 黄褐色f4: 有黑色条纹目标条件: 目标条件该动物是什么? 该动物是什么动物分类正向推理树老虎R9 食肉动物R6 哺乳动物R2 有毛发食肉黄褐色有黑色条纹动物分类反向推理树老虎R9 食肉动物R6 哺乳动物R5 R2 有爪有犬齿目盯前方有奶有毛发食肉黄褐色有黑色条纹产生式系统推导过程举例规则库 1.IF 衣服是湿的AND 天气晴朗THEN 在户外晾晒衣服 2.IF 衣服是湿的AND 外面在下雨THEN 用干衣机烘干衣服 3.IF 衣服是脏的AND 有15件以上的脏衣服件以上的脏衣服THEN 洗衣服4.IF 洗衣服THEN 衣服是湿的1.正向推理,分步进行,并给正向推理,分步进行,正向推理出动态数据库的当前状态2.反向推理(图示法)反向推理(图示法)反向推理目标条件在户外晾晒衣服动态数据库衣服是脏的有20件脏衣服件脏衣服天气晴朗规则库 1.IF 衣服是湿的AND 天气晴朗THEN 在户外晾晒衣服 2.IF 衣服是湿的AND 外面在下雨THEN 用干衣机烘干衣服3.IF 衣服是脏的AND 有15件以上的脏衣服件以上的脏衣服THEN 洗衣服4.IF 洗衣服THEN 衣服是湿的步骤1:和规则进行匹配步骤和规则3进行匹配和规则动态数据库衣服是脏的有20件脏衣服件脏衣服天气晴朗洗衣服规则库1.IF 衣服是湿的AND 天气

相关文档
最新文档