人工智能程序设计语言主要有哪些
典型的人工智能语言主要有LISP、Prolog、Smalltalk、C++等。
一般来说,人工智能语言应具备如下特点:
·具有符号处理能力(即非数值处理能力);
·适合于结构化程序设计,编程容易;
·具有递归功能和回溯功能;
·具有人机交互能力;
·适合于推理;
·既有把过程与说明式数据结构混合起来的能力,又有辨别数据、确定控制的模式匹配机制。
在人工智能手册中介绍了七种人工智能语言:
LISP,PLANNER,CINNIVER,QLISP,POP-2,SAIL,FUZZY。近百种人工智能语言中,只有LISP和后起之秀Prolog是人工智能研究和应用中占重要地位的两种人工智能程序设计语言。虽然国内外对这两种AI语言曾有争议,褒贬不一,但LISP和PROLOG的重要性是都不可否认的。
谈到LISP和PROLOG两种AI语言的重要性,我们可以从美国AI界的权威学者、麻省理工学院教授P.H.Winston(温斯顿)所说的三段话来体会:
(1)温斯顿认为,LISP 语言是AI的数学,不仅对AI的机器实现有重要意义,而且是AI理论研究的重要工具。
(2)“在中世纪,拉丁文和希腊文的知识对所有学者来说,都是必不可少的。只懂一种语言的学者必然是一个残缺不全的学者,他缺乏从两个方面来观察世界所获得的那种理解力。同样地,现代的AI专业人员如果不能同时大致通晓LISP和Prolog,也犹如一个残疾人,因为就广义来说,这两种人工智能的主要语言的知识都是必不可少的。”
“我一直热衷于Lisp,Lisp是在MIT被制造并且在那儿成长起来的。”
(3)概括地说,计算机语言的发展正是一个从HOW型低级语言向WHAT型高级语言进化的过程.在HOW型语言中,程序编制者必须详细说明运算是怎样(HOW)一步一步进行的;而在WHAT型语言中,程序编制者只需简单说明要做的事情是什么(WHAT) 。 …现代的LISP语言是这些语言的佼佼者,因为采用Common Lisp格式的Lisp具有非凡的表现力,但是如何做某件事情仍然是有待于Lisp程序编制者来表达的东西.相反,Prolog是一种明显地冲破了HOW型语言陈规的语言, 它鼓励程序编制者去描述情况和问题,而不是那些用来解决问题的详细步骤。”
由以上论述可以看出LISP语言和Prolog语言对人工智能学科和人工智能学者的重要性。
一般来说,LISP可以称为人工智能的汇编语言, Prolog是人工智能更高级的语言。
人工智能的演进
第一阶段:50年代人工智能的兴起和冷落人工智能概念首次提出后,相继出现了一批显著的成果,如机器定理证明、跳棋程序、通用问题s求解程序LISP表处理语言等。但由于消解法推理能力的有限,以及机器翻译等的失败,使人工智能走入了低谷。这一阶段的特点是:重视问题求解的方法,忽视知识重要性。
第二阶段:60年代末到70年代,专家系统出现,使人工智能研究出现新高潮DENDRAL化学质谱分析系统、MYCIN疾病诊断和治疗系统、PROSPECTIOR探矿系统、Hearsay-II语音理解系统等专家系统的研究和开发,将人工智能引向了实用化。并且,1969年成立了国际人工智能联合会议(InternationalJointConferencesonArtificialIntelligence即IJCAI)。
第三阶段:80年代,随着第五代计算机的研制,人工智能得到了很大发展日本1982年开始了“第五代计算机研制计划”,即“知识信息处理计算机系统KIPS”,其目的是使逻辑推理达到数值运算那么快。虽然此计划最终失败,但它的开展形成了一股研究人工智能的热潮。
第四阶段:80年代末,神经网络飞速发展1987年,美国召开第一次神经网络国际会议,宣告了这一新学科的诞生。此后,各国在神经网络方面的投资逐渐增加,神经网络迅速发展起来。
第五阶段:90年代,人工智能出现新的研究高潮由于网络技术特别是国际互连网技术的发展,人工智能开始由单个智能主体研究转向基于网络环境下的分布式人工智能研究。不仅研究基于同一目标的分布式问题求解,而且研究多个智能主体的多目标问题求解,将人工智能更面向实用。另外,由于Hopfield多层神经网络模型的提出,使人工神经网络研究与应用出现了欣欣向荣的景象。人工智能已深入到社会生活的各个领域。