一种自适应的Prolog编译器

来源 :北京邮电大学 | 被引量 : 0次 | 上传用户:zhchbetty
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
Prolog程序语言是一种建立在逻辑学理论基础之上的语言,最初Prolog程序语言被应用在自然语言等研究领域。现在它可以用来建造专家系统、智能知识库、自然语言理解等广泛的人工智能的研究中,同时它也可以帮助到一些常用应用程序的编写。这是因为Prolog的编程方法更像是使用逻辑语言来描述程序,它能够比其他语言更快速地开发程序。随着人工智能的兴起,越来越多的人开始探索各种人工智能技术。其中Prolog程序语言作为较早的代表,更是受人追捧。传统的Prolog编译器只能按照程序的书写顺序从上到下匹配,如果写在上面的谓词十分难解,而非常好解的谓词却写在了下面,那么Prolog解这个程序就需要一些时间。这也就是传统Prolog编译器的短板。如果在Prolog编译器中加入Prolog匹配的“指导思想”告诉Prolog编译器应该选哪个谓词,进而Prolog在寻找答案的时候就不会仅凭程序员的个人习惯和概率来左右其得到答案的效率了。本文着重介绍Prolog编译器的开发过程,并在实现编译器的基础上提出自适应算法以改进Prolog编译器的效率,主要研究工作如下:首先本文在大致讨论人工智能和专家系统的定义和Prolog语言的组成特点的基础上研究Prolog编译器的开发方法。本文采用F1ex词法分析器用于Prolog的词法开发,用正则表达式识别需要传递给语法分析器的记号。采用Bison用于其语法开发并在Bison中使用自顶向下的LL(1)文法。使用哈希这种数据结构来组织符号表,并用拉链法来处理符号表中遇到的冲突。由于本文要用到Flex和Bison的结合使用,而且是要识别一整个程序,所以词法分析器Flex和语法分析器Bison结合的特殊性也在研究范围之内。最后针对Prolog匹配出现的一些缺点,提出了利用UCB策略改进其匹配方式,试图使其高效率得出最优解。
其他文献
资源型城市的兴衰对我国国民经济持续健康发展具有举足轻重的影响,但是由于受资源的不可再生性、国际经济环境、国家宏观政策和市场等多种因素的影响,使得资源型城市经济发展
目的探讨恶性肿瘤首次化疗患者的心理特点及护理方法。方法通过观察和问答式交谈分析105例恶性肿瘤首次化疗患者的心理,根据特点施以相应的护理。结果本组105例患者存在的主
从知识创造和知识搜寻的角度构建了影响企业创新新颖程度的理论模型,利用某省工业企业创新调查数据,采用倾向得分匹配法对开放式合作创新模式实现的创新效果进行了评价,证明
本文从水煤浆技术、水煤浆分散剂的分类和作用机理三方面介绍了水煤浆分散剂的研究背景,阐述了国内外水煤浆分散剂的研究现状及存在问题。面对当前水煤浆分散剂存在的问题,水煤
为了充分表现当代科学事业大发展的规模和特点,应当用马克思主义科学观的"雷达模型"取代以往的"网球模型"和"经纬网球模型"。这种具有广阔视域的大科学观模型与马克思主义创
在我国,每年因害虫为害造成的水稻产量损失非常严重,做好水稻田间害虫调查和测报是减少水稻产量损失的前提和保证。目前,水稻害虫种群密度的田间调查通常是各县市植保人员定期下