人工智能导论课程上机实验指导书_第1页
人工智能导论课程上机实验指导书_第2页
人工智能导论课程上机实验指导书_第3页
人工智能导论课程上机实验指导书_第4页
人工智能导论课程上机实验指导书_第5页
已阅读5页,还剩8页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

人工智能导论课程

上机实验指导书

人工智能导论课程实验指导书

廉师友编

计算机工程实验室

3月

资料内容仅供参考,如有不当或者侵权,请联系木人改正或者删除。

目录

1.小型专家系统设计与实

现...........................................2

资料内容仅供参考,如有不当或者侵权,请联系木人改正或者删除。

专家系统涉及人工智能导论课程的大部分内容,而且实践性和

应用性都很强。因此,本课程将专家系统设计与实现作为一个上机

实验项目。该实验是一个设计性实验,它对加深课程内容的理解和

掌握,培养学生运用所学知识开发智能系统的能力有重要意义。

一、实验名称

小型专家系统设计与实现

二、实验目的

1.加深理解专家系统的结构原理与实际应用。

2.初步掌握知识获取的基本方法。

3.掌握产生式规则知识表示方法及其编程实现方法。

4.初步掌握知识库的组建方法。

5.加深理解推理机的算法原理并初步掌握其编程实现方法。

三、实验内容

运用所学知识,设计并编程实现一个小型专家系统(如分类、

诊断、预测等类型)。

四、基本要求

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)若某动物是鸟且善飞且不怕风浪,则它是海燕。

资料内容仅供参考,如有不当或者侵权,请联系木人改正或者删除。

F面是该规则集所形成的(部分)推理网络:

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.

run:-

write("\nUnabletodeterminewhat"),

writeC'youranimalis.\n\nH),clear_facts.

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,uit",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.

资料内容仅供参考,如有不当或者侵权,请联系木人改正或者删除。

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

clcar_facts:-write("\n\nPleasepressthespacebartoExit"),

readchar(_).

/*KnowledgeBase*/

animal_is(cheetah):-

it_is(camivore),

positive(has,tawny_color),

positive(has,black_spots).

animal_is(tiger):-

it_is(carnivore),

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):-

it_is(ungulate),

positive(has,black_stripes).

animal_is(ostrich):-

it_is(bird),

资料内容仅供参考,如有不当或者侵权,请联系木人改正或者删除。

negative(does,fly),

positive(has,long_neck),

positive(has,long_legs),

positive(has,black_and_white_color).

animal_is(penguin):-

it_is(bird),

negative(does,fly),

positive(does,swim),

positive(has,black_and_white_color).

animal_is(albatross):-

it_is(bird),

positive(does,fly_well).

it_is(mammal):-

positive(has,hair).

it_is(mammal):-

positive(does,give_milk).

it_is(bird):-

positive(has,feathers).

it_is(bird):-

positive(does,fly),

positive(does,lay_eggs).

it_is(carnivore):-

资料内容仅供参考,如有不当或者侵权,请联系木人改正或者删除。

positive(does,eat_meat).

it_is(carnivore):-

it_is(mammal),

positive(has,pointed_teeth),

positive(has,claws),

positive(has,forward_eyes).

it_is(ungulate):-

it_is(mammal),

positive(has,hooves).

it_is(ungulate):-

it_is(mammal),

positive(does,chew_cud).

需要说明的是,产格来讲,该专家系统程序中并无显式的推理机,

而是利用了PROLOG语言本身的推理机制实现推理的。这就是说,

用PROLOG编写专家系统程序,能够省去推理机部分。如果用其

它语言编程,推理机则是必不可少的。当然,用PROLOG编写专家

系统程序,也能够不用它自身的推理机作为所实现的专家系统的推

理机,而用户自己重新编写一个显式的推理机,这可根据问题和需

要而定。如果要重新编写推理机,一般说来,规则就要用PROLOG

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

当然,以上实习也可用C或C++编程,但工作量要大得多。

七、实验报告

资料内容仅供参考,如有不当或者侵权,请联系木人改正或者删除。

实验报告用学校统一的实验报告纸书写,表头严格按其要求填写,

其中“实验名称“后填:小型专家系统设计与实现。下面是实验报

告的基本内容和书写格式。

一、实验目的

加深对专家系统的理解,初步掌握专家系统的设计与实现方

法。

二、实验内容

运用所学知识,设计并编程实现一个小型专家系统。

三、实验步骤

1.选题。

2.系统分析。

3.知识获取与知识表示选择/设计。

4.知识库组建。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论