- 1、本文档共59页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章人工智能程序设计语言课件.ppt
第2章 人工智能程序设计语言 2.1 综述 2.2 函数型程序设计语言LISP 2.3 逻辑型程序设计语言PROLOG 2.4 Turbo PROLOG程序设计 2.1 综述 2.1.1 函数型语言 LISP是一种函数型程序设计语言。LISP程序由一组函数组成,程序的执行过程就是一系列的函数调用和求值过程。 20世纪70年代:J.Backus还提出了一种纯函数型程序设计语言FP。但仅限于理论研究,实现上还存在一定困难。 2.1.2 逻辑型语言 逻辑型程序设计语言起源于PROLOG PROLOG, Programming in Logic。 PROLOG语言由法国马塞大学的Colmerauer和它的研究小组于1972年研制成功,在欧洲得到进一步发展。 1981年日本宣布要以PROLOG作为他们正在研制的新一代计算机——智能计算机的核心语言,更使PROLOG举世瞩目,迅速风靡世界。 PROLOG语言以Horn子句逻辑为基础,是目前最具代表性的一种逻辑程序设计语言。 早期PROLOG版本都是解释型的,1986年美国的Borland公司推出了编译型:Turbo PROLOG,很快在PC机上流行。 运行在Windows环境下的可视化编程语言Visual PROLOG也已面世(5.2/6.0v)。 (下载地址:) 2.1.3 面向对象语言 20世纪80年代以来,面OOP发展迅速,日渐成熟,成为主流程序设计方法。 面向对象程序以信息隐蔽、封装、继承、多态、消息传递等一系列优良机制改善了软件的复杂性、模块性、重用性和可维护性,有望从根本上解决软件的生产效率问题。 另一方面,由于面向对象程序设计的类、对象、继承等概念,与AI的知识表示理论与方法和知识库技术产生了天然的联系。 因此OOP语言也成为一种人工智能程序设计语言特别是知识工程、专家系统程序设计。 面向对象程序设计语言也种类繁多,已发展成为一个大家族。其中最纯正、最具面向对象风格的语言当推Smalltalk,而最流行的OOP语言是C++、Java。 2.1.4 混合型语言 以上三种语言都各有所长,但也都有其不足之处。为了扬长避短,于是便出现了基于这三种语言的混合型语言。 1. 函数型与逻辑型相结合的语言 函数型与逻辑型语言的结合方式有耦合型和统一型两类。统一型又可分为具有归结语义的函数型语言和集成式语言两个子类。 2. 函数型与面向对象相结合的语言 在LISP语言的基础上再扩充面向对象机制而产生的语言,称为函数型的面向对象程序设计语言(亦称为面向对象的LISP)。 3. 逻辑型与面向对象相结合的语言 2.3 逻辑型程序设计语言PROLOG 2.3.1 PROLOG的语句 PROLOG语言只有三种语句,分别称为事实、规则和问题。 ? 1.事实(fact) 格式 谓词名(项表). 其中谓词名是以小写英文字母打头的字母、数字、下划线等组成的字符串,项表是以逗号隔开的项序列。 PROLOG中的项包括: 由常量或变量表示的简单对象; 函数、结构、表 … 事实的形式是一个原子谓词公式。 例如: student(john). like( mary ,music). 事实的功能: 一般表示对象的性质或关系。特殊的,一个事实也可以只有谓词名而无参量。例如: abc. repeat. 也是允许的。 2. 规则(rule) 格式谓词名(项表):-谓词名(项表){,谓词名(项表)}. 其中“:-”号表示“if”(也可以直接写为if)。 左部的谓词是规则的结论(亦称为头),右部的谓词是规则的前提(亦称为体),{}表示零次或多次重复,逗号表示and(逻辑与),即规则的形式是一个逻辑蕴含式。
文档评论(0)