实验课程

THIS NAME

实验课程

当前位置: 首页 >> 实验课程 >> 正文

人工智能与大数据-产生式系统实验

发布日期:2024-03-05    作者:王树芬     来源:     点击:

实验1产生式系统实验

一、实验目的

通过本节的学习,你将掌握产生式系统的定义、性质、原理、方法特点和实践操作,你将对产生式系统有一个大概的了解,这为您以后继续学习人工智能导论奠定了基础,也提升了利用产生式系统解决问题的能力!

二、实验设备与器件

PC机、

三、实验内容

本节将学习产生式的介绍、产生式系统的相关知识、产生式系统——动物识别系统的原理和产生式表示法的特点,最后使用产生式方法完成一个动物识别系统实验。

1943年,美国数学家波斯特(E. Post)首先提出产生式

1972年,纽厄尔和西蒙在研究人类的认知模型中开发了基于规则的产生式系统。

产生式通常用于表示事实、规则以及它们的不确定性度量,适合于表示事实性知识和规则性知识。

任务描述

本关任务:编写一个使用产生式方法识别动物的系统。

相关知识

为了完成本关任务,你需要掌握:

产生式;

产生式系统;

产生式系统——动物识别系统;

产生式表示法的特点。

产生式

1943年,美国数学家波斯特(E. Post)首先提出产生式

1972年,纽厄尔和西蒙在研究人类的认知模型中开发了基于规则的产生式系统。

产生式通常用于表示事实、规则以及它们的不确定性度量,适合于表示事实性知识和规则性知识。

确定性规则知识的产生式表示

基本形式:  

IFPTHENQ

或者:

P→Q

例如:

r4IF 动物会飞  AND  会下蛋  THEN 该动物是鸟

确定性规则知识的产生式表示

基本形式:  

IFPTHENQ(置信度)

或者:

P→Q(置信度)

例如:IF  发烧  THEN  感冒(0.6)

确定性事实性知识的产生式表示

三元组表示:(对象,属性,值)

或者:(关系,对象1,对象2

例:

老李年龄是 40 岁:(Li,age,40

老李和老王是朋友:(friend,Li,Wang

不确定性事实性知识的产生式表示

四元组表示:(对象,属性,值,置信度)

或者: (关系,对象1,对象2,置信度)

例:

老李年龄很可能是 40 岁:(Li,ageg,40,0.8

老李和老王不大可能是朋友:(friend,Li,Wang,0.1

产生式与谓词逻辑中的蕴含式的区别:

1)除逻辑蕴含外,产生式还包括各种操作、规则、变换、算子、函数等。例如,如果炉温超过上限,则立即关闭风门是一个产生式,但不是蕴含式。

2)蕴含式只能表示精确知识,而产生式不仅可以表示精确的知识,还可以表示不精确知识。蕴含式的匹配总要求是精确的。产生式匹配可以是精确的,也可以是不精确的,只要按某种算法求出的相似度落在预先指定的范围内就认为是可匹配的。

产生式的形式描述及语义——巴科斯范式BNFbackus normal form

<产生式>::=<前提>    <结论>

< >::=<简单条件>|<复合条件>

< >::=<事实>|<操作>

<复合条件>::=<简单条件>AND<简单条件>[AND<简单条件>…

           |<简单条件>OR<简单条件>[OR<简单条件>…

<  >::=<操作名>[(<变元>…)]

符号“::=”表示定义为;符号“|”表示或者是;符号“[ ]”表示可缺省

产生式系统

规则库: 用于描述相应领域内知识的产生式集合。

综合数据库(事实库、上下文、黑板等):一个用于存放问题求解过程中各种当前信息的数据结构。

控制系统(推理机构):由一组程序组成,负责整个产生式系统的运行,实现对问题的求解。

图一 产生式系统的基本结构

控制系统做以下几项工作:

1)从规则库中选择与综合数据库中的已知事实进行匹配。

2)匹配成功的规则可能不止一条,进行冲突消解。

3)执行某一规则时,如果其右部是一个或多个结论,则把这些结论加入到综合数据库中:如果其右部是一个或多个操作,则执行这些操作。

4)对于不确定性知识,在执行每一条规则时还要按一定的算法计算结论的不确定性。

5)检查综合数据库中是否包含了最终结论,决定是否停止系统的运行。

产生式系统——动物识别系统

例如:动物识别系统——识别 虎、金钱豹、长颈鹿、鸵鸟、信天翁、斑马、企鹅等七种动物的产生式系统。

图二 七种动物图

规则库:

r1 IF   该动物有毛发   THEN  该动物是哺乳动物

r2 IF   该动物有奶     THEN  该动物是哺乳动物

r3 IF   该动物有羽毛   THEN  该动物是鸟

r4 IF   该动物会飞    AND  会下蛋  THEN  该动物是鸟

r5 IF   该动物吃肉    THEN  该动物是食肉动物

r6 IF   该动物有犬齿  AND  有爪  AND  眼盯前方   THEN  该动物是食肉动物

r7 IF   该动物是哺乳动物  AND  有蹄   THEN  该动物是有蹄类动物

r8 IF   该动物是哺乳动物  AND  是反刍动物   THEN  该动物是有蹄类动物

r9 IF   该动物是哺乳动物  AND  是食肉动物  AND  是黄褐色   AND  身上有暗斑点   THEN  该动物是金钱豹                                    

r10IF   该动物是哺乳动物  AND  是食肉动物  AND  是黄褐色  AND  身上有黑色条纹  THEN  该动物是虎            

r11IF   该动物是有蹄类动物  AND  有长脖子  AND  有长腿  AND  身上有暗斑点   THEN  该动物是长颈鹿                                    

r12IF   该动物有蹄类动物   AND  身上有黑色条纹   THEN  该动物是斑马

r13IF   该动物是鸟   AND  有长脖子  AND  有长腿  AND  不会飞   AND  有黑白二色  THEN  该动物是鸵鸟

r14IF   该动物是鸟   AND  会游泳   AND  不会飞  AND  有黑白二色  THEN  该动物是企鹅                        

r15IF   该动物是鸟   AND  善飞   THEN  该动物是信天翁

设已知初始事实存放在综合数据库中:

该动物身上有:暗斑点,长脖子,长腿,奶,蹄

推理机构的工作过程

1)从规则库中取出 r1,检查其前提是否可与综合数据库中的已知事实匹配。匹配失败则 r1 不能被用于推理。然后取 r2 进行同样的工作。匹配成功则r2被执行。

综合数据库

该动物身上有:暗斑点,长脖子,长腿,奶,蹄,哺乳动物

2)分别用 r3r4r5r6 综合数据库中的已知事实进行匹配,均不成功。 r7 匹配成功,执行 r7

综合数据库:

该动物身上有:暗斑点,长脖子,长腿,奶,蹄,哺乳动物,有蹄类动物

3r11 匹配成功,并推出该动物是长颈鹿  

图三 识别长颈鹿

产生式表示法的特点

产生式表示法的优点

1)自然性

2)模块性

3)有效性

4)清晰性

产生式表示法的缺点

1)效率不高

2)不能表达结构性知识

适合产生式表示的知识

1)领域知识间关系不密切,不存在结构关系。

2)经验性及不确定性的知识,且相关领域中对这些知识没有严格、统一的理论。

3)领域问题的求解过程可被表示为一系列相对独立的操作,且每个操作可被表示为一条或多条产生式规则。

编程要求

根据提示,在右侧编辑器补充代码,完成产生式系统——动物识别系统的操作,最后达到输入动物特征,输出动物类型的结果。

测试说明

平台会对你编写的代码进行测试:

测试输入:

1

2

10

0

预期输出:

输入对应条件前面的数字:

                       *******************************************************

                       *1:有毛发  2:产奶  3:有羽毛  4:不会飞  5:会下蛋          *

                       *6:吃肉  7:有犬齿  8:有爪  9:眼盯前方  10:有蹄         *

                       *11:反刍  12:黄褐色  13:有斑点  14:有黑色条纹  15:长脖 *

                       *16:长腿  17:会飞  18:会游泳  19:黑白二色  20:善飞   *

                       *21:哺乳类  22:鸟类  23:食肉类  24:蹄类              *

                       *******************************************************

                       *******************当输入数字0!程序结束***************

   

请输入:1

请输入:2

请输入:10

请输入:0

前提条件为:

有毛发 产奶 有蹄

推理过程如下:

有毛发->哺乳类

有蹄,哺乳类->蹄类 



上一条:人工智能与大数据-A*算法求解迷宫寻路问题实验 下一条:移动安全-验证签名防止应用程序被篡改实验

关闭