人工智能小型专家系统的设计与实现Word格式文档下载.docx

上传人:b****1 文档编号:1086139 上传时间:2023-04-30 格式:DOCX 页数:14 大小:326.37KB
下载 相关 举报
人工智能小型专家系统的设计与实现Word格式文档下载.docx_第1页
第1页 / 共14页
人工智能小型专家系统的设计与实现Word格式文档下载.docx_第2页
第2页 / 共14页
人工智能小型专家系统的设计与实现Word格式文档下载.docx_第3页
第3页 / 共14页
人工智能小型专家系统的设计与实现Word格式文档下载.docx_第4页
第4页 / 共14页
人工智能小型专家系统的设计与实现Word格式文档下载.docx_第5页
第5页 / 共14页
人工智能小型专家系统的设计与实现Word格式文档下载.docx_第6页
第6页 / 共14页
人工智能小型专家系统的设计与实现Word格式文档下载.docx_第7页
第7页 / 共14页
人工智能小型专家系统的设计与实现Word格式文档下载.docx_第8页
第8页 / 共14页
人工智能小型专家系统的设计与实现Word格式文档下载.docx_第9页
第9页 / 共14页
人工智能小型专家系统的设计与实现Word格式文档下载.docx_第10页
第10页 / 共14页
人工智能小型专家系统的设计与实现Word格式文档下载.docx_第11页
第11页 / 共14页
人工智能小型专家系统的设计与实现Word格式文档下载.docx_第12页
第12页 / 共14页
人工智能小型专家系统的设计与实现Word格式文档下载.docx_第13页
第13页 / 共14页
人工智能小型专家系统的设计与实现Word格式文档下载.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

人工智能小型专家系统的设计与实现Word格式文档下载.docx

《人工智能小型专家系统的设计与实现Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《人工智能小型专家系统的设计与实现Word格式文档下载.docx(14页珍藏版)》请在冰点文库上搜索。

人工智能小型专家系统的设计与实现Word格式文档下载.docx

可采用菜单方式或问答方式。

2.知识库(规则库):

存放产生式规则,库中的规则可以增删。

3.数据库:

用来存放用户回答的问题、已知事实、推理得到的中

间事实。

4.推理机:

如何运用知识库中的规则进行问题的推理控制,建议

用正向推理。

5.知识库中的规则可以随意增减。

1.2推理策略

推理策略包括:

正向(数据驱动),反向(目标驱动),双向 

2、动物分类实验规则集

(1)若某动物有奶,则它是哺乳动物。

(2)若某动物有毛发,则它是哺乳动物。

(3)若某动物有羽毛,则它是鸟。

(4)若某动物会飞且生蛋,则它是鸟。

(5)若某动物是哺乳动物且有爪且有犬齿且目盯前方,则它是食肉动物。

(6)若某动物是哺乳动物且吃肉,则它是食肉动物。

(7)若某动物是哺乳动物且有蹄,则它是有蹄动物。

(8)若某动物是有蹄动物且反刍食物,则它是偶蹄动物。

(9)若某动物是食肉动物且黄褐色且有黑色条纹,则它是老虎。

(10)若某动物是食肉动物且黄褐色且有黑色斑点,则它是猎豹。

(11)若某动物是有蹄动物且长腿且长脖子且黄褐色且有暗斑点,则它是长颈鹿。

(12)若某动物是有蹄动物且白色且有黑色条纹,则它是斑马。

(13)若某动物是鸟且不会飞且长腿且长脖子且黑白色,则它是驼鸟。

(14)若某动物是鸟且不会飞且会游泳且黑白色,则它是企鹅。

(15)若某动物是鸟且善飞且不怕风浪,则它是海燕。

3、实验具体步骤

本实验用正向推理策略来完成,实现推理机的程序与知识库的具体内容无关,对知识库的修改不需要改动推理机。

1、充分理解知识库现有知识,提出待解决问题 

2、建立规则库 

3、从规则库中获取可用规则集 

4、确定搜索控制策略(例如:

估价函数策略)

5、通过搜索控制策略,从规则集中选出最优规则 

6、执行最优规则,更新知识库 

7、反复多次以上步骤

8、获得解决方案或无解 

4、编写程序与调试运行步骤

4.1程序代码

“小型动物分类专家系统”

/*AnAnimalClassifyingExpertSystem*/

database

xpositive(symbol,symbol)

xnegative(symbol,symbol)

predicates

run

animal_is(symbol)

it_is(symbol)

positive(symbol,symbol)

negative(symbol,symbol)

clear_facts

remember(symbol,symbol,symbol)

ask(symbol,symbol)

goal

run.

clauses

run:

-

animal_is(X),!

write("

\nYouranimalmaybea(n)"

X),

nl,nl,clear_facts.

\nUnabletodeterminewhat"

),

youranimalis.\n\n"

),clear_facts.

positive(X,Y):

-xpositive(X,Y),!

.

-not(xnegative(X,Y)),ask(X,Y).

negative(X,Y):

-xnegative(X,Y),!

-not(xpositive(X,Y)),ask(X,Y).

ask(X,Y):

write(X,"

it"

Y,"

?

\n"

readln(Reply),

remember(X,Y,Reply).

remember(X,Y,y):

-asserta(xpositive(X,Y)).

remember(X,Y,n):

-asserta(xnegative(X,Y)),fail.

clear_facts:

-retract(xpositive(_,_)),fail.

-retract(xnegative(_,_)),fail.

-write("

\n\nPleasepressthespacebartoExist"

readchar(_).

/*KnowledgeBase*/

animal_is(cheetah):

-%猎豹

it_is(carnivore),

positive(has,tawny_color),

positive(has,black_spots).

animal_is(tiger):

-%老虎

positive(has,tawny_color),

positive(has,black_stripes).

animal_is(giraffe):

-%长颈鹿

it_is(ungulate),

positive(has,long_neck),

positive(has,long_legs),

positive(has,dark_spots).

animal_is(zebra):

-%斑马

positive(has,black_stripes).

animal_is(ostrich):

-%鸵鸟

it_is(bird),

negative(does,fly),

positive(has,black_and_white_color).

animal_is(penguin):

-%企鹅

positive(does,swim),

animal_is(albatross):

-%信天翁

positive(does,fly_well).

it_is(mammal):

-%哺乳动物

positive(has,hair).

positive(does,give_milk).

it_is(bird):

-%鸟类

positive(has,feathers).

positive(does,fly),

positive(does,lay_eggs).

it_is(carnivore):

-%肉食动物

positive(does,eat_meat).

it_is(mammal),

positive(has,pointed_teeth),

positive(has,claws),

positive(has,forward_eyes).

it_is(ungulate):

-%有蹄类动物

positive(has,hooves).

positive(does,chew_cud).

4.2调试步骤

1.在TXT文本中编写规则代码,添加到状态图通用搜索程序中,修改程序。

2.打开Turboprolog2.0文件,启动prolog.exe应用程序,并按空格键(SPACE)进入集成开发环境。

3.选择Setup项,打开下拉菜单,选择Directories项,进行工作目录修改,按Esc键退出,选择SaveConfiguration项,保存修改。

4.在相应的路径所在文件件夹中会生成work.Pro文件将其用文本打开,将要运行的程序写入,保存。

5.选择Files项,选择Load项,选择要打开的示例程序

6.编辑之后,可以选择Run项,执行程序,可以在Dialog窗口进行询问,并回答y/n,依次回答问题,即可找到解

7.退出,选择Quit项,可以退出TurboProlog程序。

4.3书籍识别系统

根据所给示例程序,我修改出一个简单的书籍识别系统

4.3.1系统简介

这是一个简单的书籍识别系统,有:

唐诗三百首、鲁迅散文集 

、红楼梦 

、泰戈尔诗词 

、呼啸山庄。

使用我们这个系统,只需根据窗口提供的内容回答y/n,系统将会帮你选择你可能中意的书籍。

该专家系统设计书籍的特性是:

中文,英文,诗集,散文,小说

各种书籍特性如下:

书籍

特性

唐诗三百首

中文

诗词

红楼梦

小说

泰戈尔诗词

英文

鲁迅散文集

散文

呼啸山庄

4.3.2系统程序

book_is(symbol)

book_is(X),!

\nYourfavoritebookmaybe"

yourbookis.\n\n"

-xpositive(X,Y),!

Question:

-"

X,"

remember(X,Y,Reply).

remember(X,Y,y):

-asserta(xpositive(Y)).

remember(X,Y,n):

-asserta(xnegative(Y)),fail.

book_is(tangShiSaibaishou):

-%唐诗三百首

positive(is,chinese),

positive(is,poem).

book_is(luxunwenji):

-%鲁迅文集

positive(is,prose).

book_is(hongloumeng):

-%红楼梦

positive(is,chinese),

positive(is,novel).

book_is(taigerwenji):

-%泰戈尔文集

positive(is,english),

positive(is,poem).

book_is(huxiaoshanzhaung):

-%呼啸山庄

五、实验结果

5.1动物分类实验结果

图1

图2

图3

5.2书籍识别实验结果

图4

图5

图6

六、问题思考

思考:

你所实现的基于产生式的专家系统所采用的推理算法是正向推理还是反向推理?

采用prolog语言编写专家系统有何优点与不足?

解:

(1)正向推理

(2)严格来讲,该专家系统程序中并无显式的推理机,而是利用了PROLOG语言本身的推理机制实现推理的。

这就是说,用PROLOG编写专家系统程序,可以省去推理机部分。

如果用其他语言编程,推理机则是必不可少的。

当然,用PROLOG编写专家系统程序,也可以不用它自身的推理机作为所实现的专家系统的推理机,而用户自己重新编写一个显式的推理机,这可根据问题和需要而定。

如果要重新编写推理机,一般说来,规则就要用PROLOG的事实来实现。

知识库就要用PROLOG的动态数据库来实现。

七、实验中出现的问题与解决方案

实验中由于最开始对于专家系统了解不够深刻,对于理解小动物分类的程序是,遇到了很多问题,后来我仔细看了书,掌握了专家系统的整体架构,对于动态数据库有了一定的了解,加深了我对于程序的理解,同时有咨询老师和同学,理解了程序。

在理解程序之后,我又尝试着自己改编了一段小程序,虽然遇到了一些语句上的小问题,但是翻书之后,问题可以解决,同时程序可以运行出来。

八、实验总结

通过本次实验,加深了我对人工智能课程的兴趣,进一步掌握了prolog语言,加深了我对于专家系统的理解和掌握,理解了专家系统的知识库,推理机,动态数据库。

并且在这最后一次人工智能上机实验中,尝试着自己修改编写一段程序,相对于前两次实验,我对于prolog语言的运用更加熟悉。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2