人工智能程序设计.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第十章 人工智能程序设计   人工智能是计算机科学的分支,人工智能的实现是以计算机为工具的,分为硬件实现和软件实现两个层次。前者借助于专用的人工智能机(与通用的计算机体系结构有区别)实现人工智能;后者采用通用的计算机,由软件实现人工智能,是目前实现人工智能的主要途径。因此,计算机软件设计是人工智能的关键。   为了合适和有效地表示知识和进行推理,以数值计算为主要目标的传统编程语言(诸如BASIC、FORTRAN和PASCAL等)已不能满足要求;一些专用于人工智能和智能系统的、面向任务和知识、以知识表示和逻辑推理为目标的符号和逻辑处理编程语言(LISP、PROLOG)、专用开发工具等便应运而生。 10.1 符号和逻辑处理编程语言   在人工智能和智能系统的研究过程中,人们已开发出许多专用和通用程序设计语言。本节仅介绍几种通用编程语言,主要为PROLOG和LISP两种。大多数人工智能系统都是用这两种语言编写的。   1.对符号和逻辑处理编程语言的要求   符号和逻辑处理程序设计语言除了应具有一般程序设计语言的特性外,还必须具备下列特性或功能:   (1)具有表结构形式。LISP的处理对象和基本数据结构是S表达式(即符号表达式),具有一组用于表处理的基本函数,能对表进行比较自由的操作。PROLOG的处理对象是项。它是表的特例。由于这类语言都以结构数据作为处理对象,而且都具有对表的处理能力,因而特别适用于符号处理。   (2)便于表示知识和逻辑计算。例如,PROLOG是以一阶谓词为基础的,而一阶逻辑是一种描述关系的形式语言(Formal Language),很接近于自然语言的描述方式。智能控制(如专家控制)系统中的大量知识都是以事实和规则的形式表示的,所以用PROLOG表示知识就十分方便。   (3)具有识别数据、确定控制匹配模式和进行自动演绎的能力。PROLOG具有搜索、匹配和回溯等推理机制,在编制问题求解程序时,无需编写出专用搜索算法。当用LISP编程时,不仅要对问题进行描述,而且要编写搜索算法或利用递归来完成求解。   (4)能够建立框架结构,便于聚集各种知识和信息,并作为一个整体存取。   (5)具有以最适合于特定任务的方式把程序与说明数据结合起来的能力。   (6)具有并行处理的能力。   2.现有的符号和逻辑处理编程语言 ? 图10.1表示几种人工智能编程语言及其发展关系。 图 10.1 逻辑型编程语言的分类 图中: IPL  很早期的表处理语言 LISP 目前应用最广泛的符号和逻辑处理语言 INTERLISP 新近开发的一种LISP方言,比纯粹LISP的规模大,并提供更广泛的数组能力 SAIL 是ALGOL语言的变种,具有支持相关存储器等附加特性 PLANNER 一种便于目标定向处理的早期语言 KPL 一种能够支持复杂框架结构的语言 PROLOG 一种基于规则的语言,把程序写为提供对象关系的规则。 图10.1说明了上述各语言之间的相互关系。有两个起点:IPL和ALGOL。这些语言主要沿3个方向发展,即增加自动演绎功能、增加管理更复杂知识结构的机能以及提高句法灵活性等结构机能。各种编程语言在发展过程中都可能开发出多种型式和不同版本,以满足应用要求。例如,LISP语言就有原LISP、COMMON-LISP、GC-LISP;PROLOG语言就有原PROLOG、C-PROLOG、H-PROLOG、micro-PROLOG、Turbo-PROLOG和最近的Visual-PROLOG等型式。 10.2 LISP语言   LISP是最早和最重要的符号处理编程语言之一,它于1958年由美国的J. McCarthy提出,并于1960年发表了他的第一篇关于LISP的论文。之后,LISP很快受到人工智能工作者的欢迎,获得广泛应用。LISP是LISt Processing(表处理)的缩写。 10.2.1 LISP的特点和数据结构     1.LISP语言具有下列特点:   (1)主要数据结构是表(符号表达式),而不是作为算术运算对象的数。   (2)特性表简单,便于进行表处理。   (3)最主要的控制结构为递归,适于过程描述和问题求解。   (4)LISP程序内外一致,全部数据均以表形式表示。   (5)能够产生更复杂的函数和解释程序。   (6)对大多数事物的约束发生在尽可能晚的时刻。   (7)数据和过程都可以表示成表使得程序可能构成一个过程并执行这个过程。   (8)大多数LISP系统可以交互方式运行,便于开发各类程序,包括交互程序。   2.数据结构   在基本LISP中,仅有一种数据类型,即表结构。大多数LISP程序设计中,数据是以表或者原子为专门形式。   原子:原子是LISP中最小的符号单位。原子有标

文档评论(0)

rovend + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档