一个动物识别专家系统在PROLOG下的实现
更新时间:2023-05-20 09:53:01 阅读量: 实用文档 文档下载
- 识别动物的专家推荐度:
- 相关推荐
人工智能
第18卷第4期
2003年12月成 都 信 息 工 程 学 院 学 报JOURNALOFCHENGDUUNIVERSITYOFINFORMATIONTECHNOLOGYVol.18No.4Dec.2003文章编号:167121742(2003)0420371205
一个动物识别专家系统在PROLOG下的实现
夏明华
(湛江海洋大学电子与信息工程系,广东湛江524005)
摘要:首先扼要分析了专家系统的基本工作原理,然后用PROLOG语言实现了一个简单的动物识别专家系
统。
关 键 词:专家系统;动物识别;PROLOG
中图分类号:TP182 文献标识码:B
1 引言
自1968年E.A.Feigenbaum、C.Djerassi以及J.LeberbergDENDRAL以来,专家系统迅速发展,目前已经成为人工智能中一个最活跃、框图着手,扼要介绍了专家系统的基本工作原理,识别专家系统。
2 2.1 专家系统的定义
尽管专家系统已经得到广泛的应用,但对于究竟什么是专家系统这个问题,目前尚无统一且精确的定义。E.A.Feigenbaum认为“:专家系统是一种智能的计算机程序,运用知识和推理步骤来解决只有专家才能解决的问题。”NilsJ.Nilsson认为“:Allprogramsthatachieveexpert2levelcompetenceinsolvingproblemsbybringtobearabodyofknowledgearecalledknowledge2basedsystemsorexpertsystems.”比较一致的观点是:专家系统是一个具有大量的专门知识,并能够利用这些知识以专家水平去解决该领域中的困难问题的计算机智能程序。
2.2 专家系统的基本工作原理
尽管专家系统有众多类型,名称各异,但基本原理框图一致,如图1所示。
专家系统的核心是知识库和推理机,其基本工作过程为:系统根据知识库中的知识和用户提供的事实进行推理,不断地由已知前提推出一些初步结论,并将这些初步结论作为中间结果存放在数据库中,然后将其作为新的已知事实进行下一步推理,往复循环,逐步逼近求解目标。在这个过程中,系统可以通过人机接口不断地与用户交流,向用户提问,或对用户提出的问题做出解释。
知识库是专家系统的知识存储器,用来存放求解问题的领域知识(包括事实性知识和启发性知识)。常见的知识表示法有:一阶谓词逻辑表示法、产生式规则表示法、语义网络表示法、框架表示法、脚本表示法、过程表示法、状态图表示法、面向对象表示法以及一些不确定知识的表示方法等。
推理机是专家系统中用来实现推理的程序。其主要功能是模拟领域专家的思维过程,控制并执行对问题的求解。它能根据当前已知的事实,利用知识库中的知识,按一定的推理方法和控制策略进行推理,直到得出相应的结论为止。它包括推理方法和控制策略两个部分。推理方法可以采用精确推理或非精确推理。控制策略分为推理策略和搜索策略两个部分,其中,搜索策略是关键,它可以分为非启发式的搜索和启发式搜索,现代主要采用
收稿日期:2003203231;修订日期:2003206211
人工智能
372成 都 信 息 工 程 学 院 学 报 第18卷启发式搜索。
数据库又称为“黑板”或“综合数据库”,它主要用来存储有关领域问题的初始事实、问题描述、推理过程中得到的中间结果以及最终结果等信息。
解释机构由一组程序组成,它能够跟踪并记录推理过程,当用户提出的询问需要给出解释时,它将根据问题的要求做出相应的处理,最后把解答用约定的形式通过人机接口输出给用户。目前,大多数专家系统都采用人机对话的交互式解释方法。
知识获取机构主要实现机器学习。
人机接口是领域专家、知识工程师、一般用户间进行交互的界面,由一组程序及相应的硬件组成,用于完成输入输出工作
。
1 3 G下的实现
为了更好地阐明专家系统的基本工作原理,我们用PROLOG语言实现一个简单的动物识别专家系统。该系统可以识别老虎、金钱豹、斑马、长颈鹿、鸵鸟、企鹅、信天翁这7种动物。
3.1 知识库
在本系统当中,知识库中的知识用产生式规则来表示。本系统能够识别7种动物,知识库中共有以下15条规则。
R1 IF该动物有毛发 THEN该动物是哺乳动物
R2 IF该动物有奶 THEN该动物是哺乳动物
R3 IF该动物有羽毛 THEN该动物是鸟
R4 IF该动物会飞AND会下蛋 THEN该动物是鸟
R5 IF该动物吃肉 THEN该动物是肉食动物
R6 IF该动物有犬齿AND有爪AND眼盯前方 THEN该动物是肉食动物
R7 IF该动物是哺乳动物AND有蹄 THEN该动物是有蹄类动物
R8 IF该动物是哺乳动物AND是嚼反刍动物 THEN该动物是有蹄类动物
R9 IF该动物是哺乳动物AND是肉食动物AND是黄褐色们AND身上有暗斑点 THEN该动物是金钱豹
R10 IF该动物是哺乳动物AND是肉食动物AND是黄褐色AND身上有黑色条纹 THEN该动物是虎R11 IF该动物是有蹄类动物AND有长脖子AND有长腿AND身上有暗斑点 THEN该动物是长颈鹿R12 IF该动物是有蹄类动物AND身上有黑色条纹 THEN该动物是斑马
R13 IF该动物是鸟AND有长脖子AND有长腿AND不会飞THEN该动物是鸵鸟
R14 IF该动物是鸟AND会游泳AND不会飞AND 有黑白二色THEN该动物是企鹅
R15 IF该动物是鸟AND善飞 THEN该动物是信天翁
人工智能
第4期 夏明华:一个动物识别专家系统在PROLOG下的实现373在知识库中,并非简单地给每一种动物一条规则。首先,将动物粗略地分为哺乳动物、鸟、肉食动物3大类,然后逐步缩小分类范围,最后给出识别7种动物的规则。图2给出了识别长颈鹿和斑马的推理网络
。
图2 长颈鹿与斑马的推理网络
3.2 数据库
假设数据库中存放以下事实:动物有暗斑,有长脖子,有长腿,有奶,有蹄。
求解目标:该动物是什么动物?
3.3 推理机
在本系统中,
我们采用正向推理,。
图3 正向推理流程图
3.4 PROLOG源程序
/3下面为谓词说明3/
database
xpositive(symbol,symbol).
xnegative(symbol,symbol).
predicates
人工智能
374成 都 信 息 工 程 学 院 学 报 第18卷 run.
animal-is(symbol).
it-is(symbol).
positive(symbol,symbol).
negative(symbol,symbol).
clear-facts.
remember(symbol,symbol).
ask(symbol,symbol).
/3下面为推理过程3/
clauses
run:-animal-is(X),!,
(\nYouranimalmaybea(n)” write“,X),
nl,nl,clear-facts.
(\nUnabletodeterminewhat”), run:-write“
(youranimalis\n\n”),clear-facts. write“
positive(X,Y):-xpositive(X,Y),!.
positive(X,Y):-not(xnegative(X,Y))and negative(X,Y):-xnegative(X!.
negative(X,Y):-,Y).
), ask(X,Y):(X,“,\n”
readln(,
remember(X,Y,Reply).
remember(X,Y,yes):-assertz(xpositive(X,Y)).
remember(X,Y,no):-assertz(xnegative(X,Y)),fail.
clear-facts:-retract(xpositive(-,-)),fail.
clear-facts:-retract(xnegative(-,-)),fail.
(\n\nPleasepressthespacebartoExit”),readchar(-). clear-facts:-write“
/3下面为推理机提供知识3/
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)andpositive(does,lay-eggs).
it-is(carnivore):-positive(does,eat-meat).
it-is(carnivore):-positive(has,pointed-teeth)andpositive(has,claws)andpositive(has,forward-eyes). it-is(ungulate):-it-is(mammal)andpositive(has,hooves).
it-is(ungulate):-it-is(mammal)andpositive(does,chew-cud).
animal-is(cheetah):-it-is(mammal)andit-is(carnivore)andpositive(has,tawny-color)andpositive(has,black-spots).
animal-is(tiger):-it-is(mammal)andit-is(carnivore)andpositive(has,tawny-color)andpositive(has,black-stripes).
animal-is(giraffe):-it-is(ungulate)andpositive(has,long-neck)andpositive(has,long-legs)
positive(has,dark-spots).
animal-is(zebra):-it-is(ungulate)andpositive(has,black-stripes).
人工智能
第4期 夏明华:一个动物识别专家系统在PROLOG下的实现375 animal-is(ostrich):-it-is(bird)andpositive(has,long-neck)andpositive(has,long-legs)andnegative(does,fly).
animal-is(penguin):-it-is(bird)andpositive(does,swim)andnegative(does,fly)andpositive(has,black-and-white-color).
animal-is(albatross):-it-is(bird)andpositive(does,fly-well).
3.5 推理机的工作过程
首先从规则库中取出第一条规则R1,检查其前提是否可与数据库中的已知事实相匹配。R1的前提是“有毛发”,但事实库中没有这一事实,故匹配失败。接着取规则R2,它的前提可以与事实库中的已知事实“有奶”相匹配,R2被执行,并将其结论“该动物是哺乳动物”作为新的事实加入到数据库中。此时,数据库的内容变为:动物有暗斑,有长脖子,有长腿,有奶,有蹄,是哺乳动物。
再从规则库中取R2,R3,R4,R5,R6进行匹配,结果都匹配失败。接着取R7,其前提与事实库中的已知事实“是哺乳动物”和“有蹄”相匹配,因此R7被执行,并将其结论“该动物是有蹄类动物”作为新的事实加入到数据库中。此时,数据库中内容变为:动物有暗斑,有长脖子,有长腿,有奶,有蹄,是哺乳动物,是有蹄类动物。
最后,规则R8,R9,R10均匹配失败。取R11,其前提“该动物是有蹄类动物AND有长腿AND身上有暗斑点”与事实库中的已知事实相匹配,R11,“长颈鹿”已经是目标集合中的一个结论,即已推出最终结果,4 总结
,。并在此基础上,采用精确推理的方法,运用PROLOG。
参考文献:
[1] NilsJ.Nilsson.ArtificialIntelligenceANewSynthesis[M].北京:机械工业出版社,1999.
[2] 王万森.人工智能原理及其应用[M].北京:电子工业出版社,2000.
[3] 陈慧萍等.人工智能教程[M].北京:电子工业出版社,2001.
[4] 陆汝钤.人工智能(上、下)[M].北京:科学出版社,1995.
[5] 林尧瑞,马少平.人工智能导论[M].北京:清华大学出版社,1989.
[6] 蔡自兴,徐光佑.人工智能及其应用(第二版)[M].北京:清华大学出版社,1996.
[7] 邱建设.TURBOPROLOG程序设计[M].武汉:武汉大学出版社,1989.
[8] 黄可鸣.专家系统[M].南京:东南大学出版社,1991.
[9] 武波,马玉祥.专家系统[M].北京:北京理工大学出版社,2001.
ImplementationofananimalrecognitionexpertsystembyProlog
XIAMing2hua
(Dept.ofElectronics&InformationEngineering,ZJOU,Zhanjiang524004,China)
Abstract:Theprincipleoftheexpertsystemispresented.TheanimalrecognitionexpertsystemisimplementedwiththeprogramminglanguagePROLOG.
Keywords:expertsystem;animalrecognition;PROLOG
正在阅读:
李孝利个人资料02-09
《国王的演讲》观后感07-08
第一次滑雪作文600字07-15
四年级上册看拼音写词语(第一单元)07-04
《政治学概论【孙关宏等主编】》笔记04-17
中国邮递员问题matlab实现10-01
物理(人教版)九年级全册:16、2串、并联电路电压的规律12-23
射频识别系统中读写器的设计05-28
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 专家系统
- 识别
- 动物
- 实现
- PROLOG
- 一个
- 电工基本技能 模块三 电工基本测量技术
- 一年级学生必读书目
- 1公司卫生管理制度
- 2011注册安全工程师真题详解(安全生产法及相关法律知识)
- Unit11How was your school trip(第三课时)
- 2013国考行测解题技巧:图形推理汉字题考点总结
- 人大金融学院考研历年难度系数讲解
- VB程序设计初步(第3章)
- 2014届高考数学(山东专用理科)一轮复习教学案第九章解析几何9.4直线与圆、圆与圆的位置关系
- 钢结构竣工资料目录
- 第7章典型零件加工
- 《一二三四歌》教学设计方案
- 建伍TK378对讲机的编程及调整方法
- 第四届七彩语文小语教师素养大赛心得体会
- 农业气象学-第一章 绪论
- 高一英语必背范文10篇
- 材料作文“三条毛毛虫的选择”导写与示例(整理精校版)
- 电视机课程设计3
- SPSS多选题的数据录入方法
- 激素替代治疗防治绝经后妇女心血管疾病和老年性痴呆的研究进展