.
人工智能技术基础实验报告
指导老师: 朱力
任课教师: 勇
.
实验三 小型专家系统设计与实现
一、实验目的
(1)增加学生对人工智能课程的兴趣;
(2)使学生进一步理解并掌握人工智能prolog语言;
(3)使学生加强对专家系统课程容的理解和掌握,并培养学生综合运用所学知识开发智能系统的初步能力。
二、实验要求
(1)用产生式规则作为知识表示,用产生系统实现该专家系统。 (2)可使用本实验指导书中给出的示例程序,此时只需理解该程序,并增加自己感兴趣的修改即可;也可以参考该程序,然后用PROLOG语言或其他语言另行编写。
(3)程序运行时,应能在屏幕上显示程序运行结果。
三、实验环境
在Turbo PROLOG或Visual Prolog集成环境下调试运行简单的PROLOG程序。
四、实验容
建造一个小型专家系统(如分类、诊断、预测等类型),具体应用领域由学生自选,具体系统名称由学生自定。
五、实验步骤
1、专家系统:
1.1建造一个完整的专家系统设计需完成的容: 1.用户界面:可采用菜单方式或问答方式。
2
2.知识库(规则库):存放产生式规则,库中的规则可以增删。 3.数据库:用来存放用户回答的问题、已知事实、推理得到的中 间事实。
4.推理机:如何运用知识库中的规则进行问题的推理控制,建议 用正向推理。
5.知识库中的规则可以随意增减。 1.2推理策略
推理策略包括: 正向(数据驱动),反向(目标驱动),双向 2、动物分类实验规则集
(1)若某动物有奶,则它是哺乳动物。 (2)若某动物有毛发,则它是哺乳动物。 (3)若某动物有羽毛,则它是鸟。 (4)若某动物会飞且生蛋,则它是鸟。
(5)若某动物是哺乳动物且有爪且有犬齿且目盯前方,则它是食肉动物。 (6)若某动物是哺乳动物且吃肉,则它是食肉动物。 (7)若某动物是哺乳动物且有蹄,则它是有蹄动物。 (8)若某动物是有蹄动物且反刍食物,则它是偶蹄动物。 (9)若某动物是食肉动物且黄褐色且有黑色条纹,则它是老虎。 (10)若某动物是食肉动物且黄褐色且有黑色斑点,则它是猎豹。 (11)若某动物是有蹄动物且长腿且长脖子且黄褐色且有暗斑点,则它是长颈鹿。
(12)若某动物是有蹄动物且白色且有黑色条纹,则它是斑马。 (13)若某动物是鸟且不会飞且长腿且长脖子且黑白色,则它是驼鸟。
3
(14)若某动物是鸟且不会飞且会游泳且黑白色,则它是企鹅。 (15)若某动物是鸟且善飞且不怕风浪,则它是海燕。 3、实验具体步骤
本实验用正向推理策略来完成,实现推理机的程序与知识库的具体容无关,对知识库的修改不需要改动推理机。 1、充分理解知识库现有知识,提出待解决问题 2、建立规则库
3、从规则库中获取可用规则集
4、确定搜索控制策略(例如:估价函数策略) 5、通过搜索控制策略,从规则集中选出最优规则 6、执行最优规则,更新知识库 7、反复多次以上步骤 8、获得解决方案或无解 4、编写程序及调试运行步骤 4.1程序代码
“小型动物分类专家系统”
/*An Animal Classifying Expert System*/ database
xpositive(symbol,symbol) xnegative(symbol,symbol) predicates run
animal_is(symbol)
4
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(\nl, nl, clear_facts.
run:-
write(\write(\
positive(X,Y):-xpositive(X, Y),!.
positive(X,Y):-not(xnegative(X,Y)), ask(X,Y). negative(X,Y):-xnegative(X,Y), !.
negative(X,Y):-not(xpositive(X,Y)), ask(X,Y). ask(X,Y):-
write(X, \readln(Reply),
5