




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、/或图来描述这个规则库。rulel , rule2,rule15,规则库的符 ruleS 。名为一个专家系统的例子一、建立动物识别专家系统的规则库,并用与规则库由 15 条规则组成,规则名分别是;ruleS 。编写一段程序 , 把 15 条规则组成一个表直接赋值给规则库( rules(rule1(if (animal has hair)(then (animal is mammal) (rule2(if (animal gives milk)(then (animal is mammal) (rule3(if (animal has feathers)(then (animal is bird
2、) (rule4(if (animal flies) (animal lays eggs)(then (animal is bird) (rule5(if (animal eats meat)(then (animal is carnivore) (rule6(if (animal Raspointed teeth) (animal has claws) (animal has forword eyes)(then (animal is carnivore) (rule7(if (animal has mammal) (animal has hoofs)(then (animal is ung
3、ulate) (rule8(if (animal has mammal) (animal chews cud)(then (animal is ungulate) (rule9(if (animal is mammal) (animal is carnivore) (animal has tawny color) (animal has dark sports)(then (animal is cheetah) (rule10(if (animal is mammal)(animal is carnivore)若动物有毛发 (F1) 则动物是哺乳动物 (M1)若动物有奶 (F2) 则动物是哺乳
4、动物 (M1)若动物有羽毛 (F9) 则动物是鸟 (M4)若动物会飞 (F10) 且生蛋 (F11) 则动物是鸟 (M4)若动物吃肉类 (F3) 则动物是食肉动物 (M2)若动物有犀利牙齿 (F4) 且有爪 (F5) 且眼向前方 (F6) 则动物是食肉动物 (M2)若动物是哺乳动物 (M1) 且有蹄 (F7) 则动物是有蹄类动物 (M3)若动物是哺乳动物 (M1) 且反刍 (F8) 则动物是有蹄类动物 (M3)若动物是哺乳动物 (M1) 且是食肉动物 (M2) 且有黄褐色 (F12) 且有暗斑点 (F13) 则动物是豹 (H1)若动物是哺乳动物 (M1) 且是食肉动物 (M2)(animal
5、has tawny color)(animal has black stripes)(then (animal is tiger) (rule11(if (animal is ungulate) (animal has long neck) (animal has long legs) (animal has dark sports) (then (animal is giraffe) (rule12(if (animal is ungulate) (animal has black stripes)(then (animal is zebra) (rule13(if (animal is b
6、ird)(animal does not fly) (animal has long neck) (animal has long legs) (animal black and white)(then (animal is ostrich) (rule14(if (animal is bird)(animal does not fly)(animal swims)(animal black and white)(then (animal is penguin) (rule15(if (animal is bird)(animal flies well)(then (animal is alb
7、atross)且有黄褐色 (F12) 且有黑色条纹 (F15) 则动物是虎 (H2)若动物是有蹄类动物 (M3) 且有长脖子 (F16) 且有长腿 (F14) 且有暗斑点 (F13) 则动物是长颈鹿 (H3)若动物是有蹄类动物 (M3) 且有黑色条纹 (F15) 则动物是斑马 (H4)若动物是鸟 (M4) 且不会飞 (F17) 且有长脖子 (F16) 且有长腿 (F14) 且有黑白二色 (F18)则动物是驼鸟 (H5)若动物是鸟 (M4)且不会飞 (F17)且会游泳 (F19) 且有黑白二色 (F18) 则动物是企鹅 (H6)若动物是鸟 (M4) 且善飞 (F20) 则动物是信天翁 (H6)在
8、上述规则的说明中,用 F1-F20 标记的是初始事实或证据,用 M1-M4 标记的是中间结 论,用 H1-H7 标记的是最终结论。用标记表示 15 条规则如下:R1 :F1 M1R2 :F2 M1R3:F9 t M4R4:F10 A F11t M4R5:F3 t M2R6:F4 A F5A F6tM2R7:F7 A M1tM3R8:F8 A M1tM3R9:F12 A F13A M1A M2tH1R10:F12 A F15A M1A M2tH2R11:F13 A F14A F16A M3tH3R12:F15 A M4 H4R13:F14 A F16A F17A F18A M4H5R14:F17
9、 A F18A F19A M4H6R15:F20 A M4 H7用VC+编写一个函数,把一个表赋给变量rules ,这个表有15个顶层元素,每一个顶层元 素是一条规则,每条规则都是有4个元素的一个表。rule1Rule2Rule3Rule4Rule5Rule6Rule7Rule8Rule9rule10-If前件F1F2F9F10AF11F3F4 AF5A F6F7 AM1F8 AM1F12AF13AM1AM2F12AF15AM1AM2Then后件M1M1M4M4M2M2M3M3H1H2可信度激活标志二、推理机及其实现1、正向推理过程:根据在综合数据库中给出的已知事实,正向使用规则,即把规则的前
10、件同当前数据库的内容进行匹配来选取可用规则,若有多条规则可用,则采用先选优先的策略,将执行规则的结论添 加到综合数据库中,并将用过的规则置上激活标志,直到问题求解或没有可用规则为止2、正向推理过程程序实现Procedure resp ond将规则库中规则的前件同当前数据库的内容进行匹配,若匹配成功,则将这条规则送入可用规则集S;否则,取下一条规则进行匹配。while S 非空且问题未求解除dobegin调用select-rule(S) ,从S中选择一条规则,将该规则的结论添加到综合数据库中。调用 respondend由上可见正向推理过程respond是递归的。3、举例说明正向推理机推理过程若已
11、知的初始事实是F13(有暗斑点)、F12(黄褐色)、F3(若动物吃肉类)及F1(动物有毛发),使用steq函数把已知的初始事实赋值给事实表facts :(steq facts(a ni mal has dark spots)(ani mal has taw ny color)(ani mal eats meat)(ani mal has hair) 即: facts=(F13 F12 F3 F1)facts是一个可编辑的表,即可以添加。steq函数的功能就是对 facts进行编辑。使用在前面建立的rules规则库,叙述正向推理过程如下:1) 、在rules中查找规则前件的全部条件在当前fact
12、s=(F13 F12 F3 F1) 中的可用规则,首先找到规则 R1,则把R1后件中不在facts中的结论M1添加到facts中,扩充facts为 facts=(F13 F12 F3 F1 M1)。实际上,对facts=(F13 F12 F3 F1)还有一条可用规则R5,因为R5的前件F3也在当前facts中。但是,由前面提到的冲突消解策略,若有多条可用规则,则按可用规则在规则库 表rules中的顺序选择第一条可用规则。2) 、对当前facts在rules中查找可用规则,仍然找到规则R1,但R1的后件结论 M1已在facts中,因此不会执行规则R1。继续查找可用规则,找到规则R5,因为R5的后
13、件结论 M2不在当前的facts 中,故执行R5,把R5不在facts中的结论 M2添加到facts中,扩充facts 为 facts=(F13 F12 F3 F1 M1 M2)。3) 、对当前facts在rules中继续查找可用规则, 规则R9的前件在facts中,因此R9是可用规则。而R9的后件结论H1不在当前的facts中,执行R9,把R9的结论H1扩充到facts 中,使得 facts=(F13 F12 F3 F1 M1 M2 H1)。4) 、对当前facts,在rules中找不到规则的前件所包含的全部条件在facts中且后件有不在facts中的结论的任何规则,至此,正向推理结束.为了
14、实现上述推理过程,需编写以下7个函数:A、正向推理机函数 deduce函数表达式;(deduce facts)功能:连续不断的从规则库rules中选择可用规则,B、调用函数step-forward 实现函数表达式:(step-forward rules)函数功能:逐次扫描规则库rules中的规则, 若发现rules中有一条可用规则, 即该规则的前件所包含的全部事实 在表facts中,则把该规则的后件 中不在facts中的所有结论添加至U facts 中,且 step-forward 返回 t;若rules中没有一条可用规则, 返回nil 。每选择到一条可用规则,就把该规则的后件 中不在fact
15、s中的所有结论添加到facts中,对facts进行扩充,再通过扩充了的facts 选择下一条可用规则,对facts再扩充,直到 没有可用规则为止。每找到一条可用规则对函数表达式:(try-rule rule)函数功能:判断规则变量rule中的一条规则的前件包含的全部事实是否在表facts中,若全部事实都在表facts中,且规则后件有不在facts中的结论,则把不在facts中的结论逐一添加到表facts中,此时try-rule返回t ;否则,返回nil。T调用函数use-then实现调用函数remember或者函数recall 实现D、函数 use-then函数表达式:(use-the n rule)函数功能:判断变量 rule中的一条规则的后件所包含的全部结论是否在表facts中,若全部结论都在facts中,则use-then返回nil ;否则,将不在facts中的结论逐一添加到表 facts 中,且use-then返回t。(调用函数steq实现)E、函数 remember函数表达式:(remember new)函数功能:判断变量new中的一个事实是否在表facts中,存在,返回nil;否则,将new中的事实添
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 城市更新中的地下空间开发与利用
- 桥梁沉降与变形监控方案
- 西藏2025自考计算机科学数据库系统原理案例题专练
- 2025年汝城药学考试题目及答案
- 浙江2025自考智能分子工程智能药物释放系统客观题专练
- 柳州中专试卷题库及答案
- 2025年中职升学英语题库及答案
- 上海2025自考学前教育学前游戏论简答题专练
- 安徽2025自考法学环境与资源保护法学客观题专练
- 北京2025自考智能视听技术导论高频题考点
- 2025年江苏省无锡市中考物理试卷附答案
- 2026年人教版七年级数学下册复习:实数的混合运算专项训练(60题)解析版
- 任务一 编织平安结说课稿-2025-2026学年小学劳动鲁科版五年级上册-鲁科版
- 2025至2030中国物业服务行业深度分析及发展前景与发展战略报告
- 导管相关性感染的预防与护理
- 成本暂行管理办法
- 2025中央城市工作会议精神全面解读
- 职业病体检培训课件
- 【基于近几年数据的欧派家居盈利能力案例分析(数据图表论文)19000字】
- 产品物料编码管理制度
- 2025年急性肺栓塞诊断和治疗指南解读课件
评论
0/150
提交评论