实验一产生式系统

2019-03-16 19:18

实验一 产生式系统——动物识别系统

一、实习目的和意义

1、掌握人工智能的知识表示技术,能用产生式表示法表示知识; 2、掌握基于规则推理的基本方法; 3、掌握产生式系统的运行机制。

二、实习内容

参考教材规则库包含15条规则,开发一个专家系统可以识别老虎,金钱豹,斑马,长颈鹿,企鹅,鸵鸟等6种动物。

三、实习要求

1、本次实验语言MATLAB;

2、系统能通过正向推理得到正确的动物识别结果。

四、实习过程 1. 实验原理

正向推理(事实驱动推理)

1) 从初始已知事实出发,在知识库KB中找出当前可适用的知识,构成可适

用知识集KS;

2) 按某种冲突消解策略,从KS中选出一条知识进行推理,并将推出的新事

实加入到数据库DB中,作为下一步推理的已知事实,再在KB中选取可适用知识构成KS;

3) 重复步骤二,直到求得问题的解,或KB中再无可适用的知识。

2. 问题背景

根据课本P33的15调动物识别的专家知识,建立规则库。

3. 算法设计

主要利用数组下标和元素的0,1值表示知识,规则,及相关标记。

4. Matlab实现

a. 算法 函数名 learn checkRule

函数说明

function learn(arr_category, arr_feature)主函数

function [arr_category,arr_feature,arr_rule,ifMore,mark]= checkRule(arr_category,arr_feature,arr_rule,ifMore,mark ) 规则符合检测

showCategory

function showCategory( ) 类别选项打印函数

showFeature

function showFeature() 特征选项打印函数

showResult

function showResult(mark) 结果显示

b. 测试 测试数据一 arr_category[5] arr_feature[20]

1 0 0 0 1

0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0

测试数据二

arr_category[5] arr_feature[20]

0 0 0 0 0

1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

五、实习总结 1.实习总结

本次实验主要复习了产生式规则,利用正向推理和15条规则,建立简单的动物识别专家系统,并具有一定的容错性。

2.附录:代码

MATLAB代码:

function learn(arr_category, arr_feature) %产生式规则-正向推理-主函数

% 标记函数初始化,规则函数调用 arr_rule=zeros(1,15); mark=-1; ifMore=0;

disp(arr_category); disp(arr_feature); %showCategory();

%arr_category=input('输入信息:'); %showFeature();

%arr_feature=input('输入信息');

[arr_category,arr_feature,arr_rule,ifMore,mark]=

checkRule(arr_category,arr_feature,arr_rule,ifMore,mark);

busy=1;

while busy==1

if mark>-1

showResult(mark); break; end

if ifMore==0

disp('无法判断具体是哪种动物!'); break end

ifMore=0;

[arr_category,arr_feature,arr_rule,ifMore,mark]=

checkRule(arr_category,arr_feature,arr_rule,ifMore,mark); end

end

function [arr_category,arr_feature,arr_rule,ifMore,mark]= checkRule(arr_category,arr_feature,arr_rule,ifMore,mark ) %正向推理函数

% 逐条检查规则是否满足,若满足,则增加新信息 ifMore=0;

for i = 1:1:15 if arr_rule(i)==0 switch i case 1

if arr_feature(1)>0

arr_category(1)=1; arr_rule(i)=1; ifMore=1;

disp(['根据规则',num2str(i)]); disp('新增信息:该动物是哺乳动物'); end

%break; case 2

if arr_feature(2)>0

arr_category(1)=1; arr_rule(i)=1; ifMore=1;

disp(['根据规则',num2str(i)]); disp('新增信息:该动物是哺乳动物'); end

%break; case 3

if arr_feature(3)>0

arr_category(2)=1; arr_rule(i)=1; ifMore=1;

disp(['根据规则',num2str(i)]); disp('新增信息:该动物是鸟'); end

%break; case 4

if arr_feature(4)*arr_feature(5)>0

arr_category(2)=1; arr_rule(i)=1; ifMore=1;

disp(['根据规则',num2str(i)]); disp('新增信息:该动物是鸟'); end

%break; case 5

if arr_feature(6)>0

arr_category(3)=1; arr_rule(i)=1; ifMore=1;

disp(['根据规则',num2str(i)]); disp('新增信息:该动物是食肉动物'); end

%break; case 6

if arr_feature(7)*arr_feature(8)*arr_feature(9)>0

arr_category(3)=1; arr_rule(i)=1; ifMore=1;

disp(['根据规则',num2str(i)]); disp('新增信息:该动物是食肉动物'); end

%break; case 7

if arr_category(1)*arr_feature(10)>0 arr_category(4)=1; arr_rule(i)=1; ifMore=1;

disp(['根据规则',num2str(i)]);

disp('新增信息:该动物是有蹄类动物');


实验一产生式系统.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2018年男式西服市场发展前景分析报告目录

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: