人工智能导论课程上机实验指导书Word文件下载.docx
- 文档编号:20037508
- 上传时间:2023-01-16
- 格式:DOCX
- 页数:7
- 大小:44.28KB
人工智能导论课程上机实验指导书Word文件下载.docx
《人工智能导论课程上机实验指导书Word文件下载.docx》由会员分享,可在线阅读,更多相关《人工智能导论课程上机实验指导书Word文件下载.docx(7页珍藏版)》请在冰豆网上搜索。
三、实验内容
运用所学知识,设计并编程实现一个小型专家系统(如分类、诊断、预测等类型)。
四、基本要求
1.具体应用领域自选,具体系统名称自定;
但所做系统绝对不能雷同。
2.用产生式规则作为知识表示,用产生系统实现该专家系统。
3.可用PROLOG语言编程并参考下面示例程序;
但也可用其他语言另行编程。
4.所实现的专家系统必须上机运行演示;
程序运行时,应有人机对话过程。
5.系统完成后,要提交实验报告。
五、实验步骤
具体工作及步骤为:
1.选题。
2.系统分析。
3.知识获取与知识表示选择/设计。
4.知识库组建。
5.推理机选择/编制。
6.系统调试与测试:
可先运行一两个简单的PROLOG程序,以熟悉语言环境;
接着运行示例程序;
然后编辑、调试、测试自己的系统程序。
7.撰写实验报告。
六、系统示例
考虑到本实验有一定难度,下面给出一个“小型动物分类专家系统”示例,以供参考。
1.动物分类规则集
(1)若某动物有奶,则它是哺乳动物。
(2)若某动物有毛发,则它是哺乳动物。
(3)若某动物有羽毛,则它是鸟。
(4)若某动物会飞且生蛋,则它是鸟。
(5)若某动物是哺乳动物且有爪且有犬齿且目盯前方,则它是食肉动物。
(6)若某动物是哺乳动物且吃肉,则它是食肉动物。
(7)若某动物是哺乳动物且有蹄,则它是有蹄动物。
(8)若某动物是有蹄动物且反刍食物,则它是偶蹄动物。
(9)若某动物是食肉动物且黄褐色且有黑色条纹,则它是老虎。
(10)若某动物是食肉动物且黄褐色且有黑色斑点,则它是金钱豹。
(11)若某动物是有蹄动物且长腿且长脖子且黄褐色且有暗斑点,则它是长颈鹿。
(12)若某动物是有蹄动物且白色且有黑色条纹,则它是斑马。
(13)若某动物是鸟且不会飞且长腿且长脖子且黑白色,则它是驼鸟。
(14)若某动物是鸟且不会飞且会游泳且黑白色,则它是企鹅。
(15)若某动物是鸟且善飞且不怕风浪,则它是海燕。
下面是该规则集所形成的(部分)推理网络:
2.源程序
/*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\nPleasepressthespacebartoExit"
readchar(_).
/*KnowledgeBase*/
animal_is(cheetah):
it_is(carnivore),
positive(has,tawny_color),
positive(has,black_spots).
animal_is(tiger):
it_is(carnivore),
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):
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).
需要说明的是,严格来讲,该专家系统程序中并无显式的推理机,而是利用了PROLOG语言本身的推理机制实现推理的。
这就是说,用PROLOG编写专家系统程序,可以省去推理机部分。
如果用其他语言编程,推理机则是必不可少的。
当然,用PROLOG编写专家系统程序,也可以不用它自身的推理机作为所实现的专家系统的推理机,而用户自己重新编写一个显式的推理机,这可根据问题和需要而定。
如果要重新编写推理机,一般说来,规则就要用PROLOG的事实来实现。
知识库就要用PROLOG的动态数据库来实现。
当然,以上实习也可用C或C++编程,但工作量要大得多。
七、实验报告
实验报告用学校统一的实验报告纸书写,表头严格按其要求填写,其中“实验名称”后填:
小型专家系统设计与实现。
下面是实验报告的基本内容和书写格式。
——————————————————————————————————
一、实验目的
加深对专家系统的理解,初步掌握专家系统的设计与实现方法。
二、实验内容
运用所学知识,设计并编程实现一个小型专家系统。
三、实验步骤
6.系统调试与测试。
四、实验结果
1.系统名称
〈所做系统的名称〉
2.系统概述
(包括所做系统的背景和主要功能等。
)
3.产生式规则集文本
4.系统运行演示过程
(1)输入的初始事实或数据:
(2)系统运行时产生的推理树(网):
(3)输出的结果:
5.源程序清单
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 人工智能 导论 课程 上机 实验 指导书