产生式系统实验报告.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

学生试验报告

实验课名称:人工智能

试验工程名称:产生式系统试验

称:计算机科学与技术

级:2023240202

号:

名:陈亮亮

2023 年10月25日

试验日期:2023 年10月23日 试验室名称: 明远2203

一.试验名称:产生式系统试验

二.试验目的与要求:

1、确定推理方法〔正向还是反向〕,并依据问题设计并实现一个简洁的推理机〔要求涉及:匹配、冲突消解〕

2、规章库要求至少包含15条规章〔学问规章如何存储?〕

3、推理机和学问库必需分别

4、初始事实可以任意给定,输入初始事实后能够得到推理结果

5、设计合理的人机界面,解释模块供给查询规章的功能

6、可以不考虑学问库治理模块

7、提交试验报告

8、报告中要有推理树

三.试验内容:

本试验我设计了一个动物识别的小型专家系统,主要是依据一些观看到的事实,依据系统给出的一系列规章来进展正向推理,将渐渐的推导出结果。本次试验设计了一个简洁的推理机,推理机给出的推理结果有“它是动物”、“条件缺乏,不能推出它是什么动物”、“条件有冲突,没有这样的动物”或“条件不完全,但它有的局部特征”。

局部推理树如下:

四、算法描述:

表示事实和特征的学问。

在本程序中,我将动物的特征写入data.txt,将规章记入rules.txt,将动物种类记为goal.txt。

通过函数

voidreadFiles

{

readGoal;readCod;readRule;

}//reaFiles

读入全部数据分别存放于goal[],rule[],cod[]自定义数组中。

综合数据库和规章库实现综合数据库〔包括特征和目标〕typedefstruct

{

intxuh;//存放编号

charvalu[50];//存放具体内容

}Node;

Nodegoal[20];Nodecod[50];voidreadCod

{

FILE *fp;inti;

if((fp=fopen(“data.txt“,“r“))==NULL)

{

printf(“cannotopendata\n“);exit(0);

}

i=0;

while((fscanf(fp,“%d%s“,cod[i].xuh,cod[i++].valu))!=EOF);fclose(fp);

}//readCod

voidreadGoal

{

FILE *fp;inti;

if((fp=fopen(“goal.txt“,“r“))==NULL)

{

printf(“cannotopengoal\n“);exit(0);

}

i=0;

while((fscanf(fp,“%d%s“,goal[i].xuh,goal[i++].valu))!=EOF);fclose(fp);

}//readGoal规章库

typedefstruct

{

intrslt;

intcodNum;//记载前提的个数intcod[10];//记载前提的序号intused;//记载是否已匹配成功

}Nrule;

Nrulerule[50];voidreadRule

{

FILE *fp;inti;

inttempxuh,tempcodn;charch;

if((fp=fopen(“rules.txt“,“r“))==NULL)

{

printf(“cannotopenrules\n“);exit(0);

}

i=0;

rule[i].codNum=0;

while((ch=fgetc(fp))!=EOF)

{

if(i==15)

i=i;tempcodn=0;

while(ch!=”\n”ch!=EOF)//每一条规章

{

tempxuh=0;while(ch=”9”ch=”0”)

{

tempxuh=tempxuh*10+ch-”0”;//ch=fgetc(fp);

}

rule[i].cod[tempcodn++]=tempxuh;

tempxuh=0;

if(ch==”=”)//下一个是结论

{

ch=fgetc(fp);while(ch=”9”ch=”0”)

{

tempxuh=tempxuh*10+ch-”0”;ch=fgetc(fp);

}

rule[i].rslt=tempxuh;

}//if

elseif(ch==”*”)

{

ch=fgetc(fp);

}

rule[i].codNum++;

}

i++;

ch=fgetc(fp);

}

rulenum=i;fclose(fp);

}

规章库的匹配算法是什么?如何选用可用规章集中的规章?分别使用哪些函数实现的?

程序中的正向搜寻是

文档评论(0)

写作定制、方案定制 + 关注
官方认证
服务提供商

专注地铁、铁路、市政领域安全管理资料的定制、修改及润色,本人已有7年专业领域工作经验,可承接安全方案、安全培训、安全交底、贯标外审、公路一级达标审核及安全生产许可证延期资料编制等工作,欢迎大家咨询~

认证主体天津析木信息咨询有限公司
IP属地天津
统一社会信用代码/组织机构代码
91120102MADGNL0R92

1亿VIP精品文档

相关文档