欢迎来到天天文库
浏览记录
ID:19683948
大小:3.93 MB
页数:115页
时间:2018-10-05
《人工智能原理6》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、PartI人工智能语言PartII专家系统7/9/20211PartI人工智能语言由于人工智能研究的问题的特点和解决问题的方法的特殊性,为了能方便而有效地建立人工智能系统,需要发展专门的人工智能语言。7/9/20212人工智能语言一般来说,人工智能语言应具备如下特点:要有符号处理能力(即非数值处理能力);适合于结构化程序设计,编程容易;要有递归功能和回溯功能;要有人机交互能力;适合于推理;要有把过程与说明式数据结构混合起来的能力,又要有辨别数据、确定控制的模式匹配机制。7/9/20213人工智能语言在人工智能手册中介绍了七种人工智能语言:LISP,P
2、LANNER,CINNIVER,QLISP,POP2,SAIL,FUZZY。近百种人工智能语言中,只有LISP和后起之秀Prolog是人工智能研究和应用中占重要地位的两种人工智能程序设计语言。虽然国内外对这两种AI语言曾有争议,褒贬不一,但LISP和PROLOG的重要性是都不可否认的。7/9/20214人工智能语言函数型语言LISP和逻辑型语言PROLOG都适合作符号处理,都适合于结构化程序设计(LISP提供了函数定义,prolog提供了谓词定义),都具有递归功能(prolog还具有自动回溯功能),都具有人机交互能力(prolog还特别适合于推理),
3、也都具有把过程与说明式数据结构混合起来的能力以及辨别数据、确定控制的模式匹配机制(LISP将程序与数据均表示为表,因此可以把程序作为数据处理,也可将数据当作程序来执行。Prolog用一致的数据结构“项(term)”来构造数据和程序,事实、规则和询问的表现形式都为Horn子句,执行时作统一的操作匹配。LISP的匹配函数、prolog的合一运算自动匹配、自动搜索都具有很强的模式匹配机制。)因此可以说LISP和prolog是两种较为典型的人工智能语言。7/9/20215人工智能语言谈到LISP和PROLOG两种AI语言的重要性,我们还可以从美国AI界的权威
4、学者、麻省理工学院教授P.H.Winston(温斯顿)所说的一段话来体会。7/9/20216人工智能语言概括地说,计算机语言的发展正是一个从HOW型低级语言向WHAT型高级语言进化的过程.在HOW型语言中,程序编制者必须详细说明运算是怎样(HOW)一步一步进行的;而在WHAT型语言中,程序编制者只需简单说明要做的事情是什么(WHAT)。…现代的LISP语言是这些语言的佼佼者,因为采用CommonLisp格式的Lisp具有非凡的表现力,但是如何做某件事情仍然是有待于Lisp程序编制者来表达的东西.相反,Prolog是一种明显地冲破了HOW型语言陈规的语
5、言,它鼓励程序编制者去描述情况和问题,而不是那些用来解决问题的详细步骤。”7/9/20217LISP语言1、BackGround1959年,麦卡锡基于阿隆索.邱奇(AlonzoChurch)的λ-演算和西蒙、纽厄尔首创的"表结构",开发了著名的LISP语言(LIStProcessinglanguageorLIStProcessor),成为人工智能界第一个最广泛流行的语言。7/9/20218LISP语言2、LISP语言的特点a、计算用的是符号表达式而不是数;b、具有表处理能力,即用链表形式表示所有的数据;c、控制结构基于函数的复合,以形成更复杂的函数;
6、d、用递归作为描述问题和过程的方法;e、用LISP语言书写的EVAL函数既可作为LISP语言的解释程序,又可以作为语言本身的形式定义;f、程序本身也同所有其他数据一样用表结构形式表示。7/9/20219LISP语言2、LISP的符号表达式①符号:以字母开头不含规定的特殊字符的字符串,相当于其他语言中的变量。②原子:LISP中不可再分割的对象,如数、符号、空表。③表:若干个数或符号用括号括起来就构成一个表,表中的元素用空格分开,没有元素的表称为空表,用()或者nil表示。④符号表达式:原子和表的统称。7/9/202110LISP语言LISP的符号表达式
7、采用前缀表示形式,即表中第一个元素是函数符号名,其余的元素是这个函数要求的运算或处理的元素。例如:(setqy(*234))7/9/202111LISP语言3、LISP语言的基本函数(1)数值运算函数(2)求值与赋值函数(3)表处理函数(4)逻辑函数(5)条件函数(6)自定义函数与无名函数7/9/202112LISP语言(1)数值运算函数a、算术运算函数:+-*/1+1-等(setqa10)(/a22)b、超越函数:expexptlogsqrtabssignumc、数的逻辑运算函数:logiorlogxorlogandlognot(lognot12)
8、?7/9/202113LISP语言7/9/202114LISP语言(2)求值与赋值函数a、禁止求值函数quo
此文档下载收益归作者所有