|
近年来出现了具有人工智能特色面向对象程序设计,称为面向主体(Agent,亦称活体)程序设计。往一个对象中增加更多的智能,使它能根据环境的变化进行推理并规划自己的行为,就得到主体(Agent)。主体概念符合Minsky提出的“意念社会”认知模型,特别适用于分布环境。经典的面向对象程序设计语言是Smalltalk,面向主体的程序设计语言也已经有了一些,如OZ等,但还没被大家公认和普遍采用。也有基于PDP认知模型(Parallel Distributed Processing)的神经网络语言。第三来源是知识工程的实际需要。例如,为了开发各种领域的专家系统而设计的包含不精确推理或不确定推理功能,甚至包含多种不同推理机制的AI语言,例如Loops和TUILI。还有的是看到某一个专家系统做得比较成功,干脆抽去它的领域知识,留下它的表示方法,也成为一种语言,俗称专家系统外壳。例如,抽去医学专家系统MYSIN的领域知识就得到一个外壳语言Emycin。
在人工智能手册中介绍了七种人工智能语言: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型语言陈规的语言,
它鼓励程序编制者去描述情况和问题,而不是那些用来解决问题的详细步骤。”
(注:引自《应用于人工智能的PROLOG程序设计》P.H.温斯顿
1986年1月的 “序”。该书为[南斯拉夫]I.布拉特科著,夏莹,陈群秀译,黄昌宁校,科学出版社,1991年8月第1版。)
由以上论述可以看出LISP语言和Prolog语言对人工智能学科和人工智能学者的重要性。
一般来说,LISP可以称为人工智能的汇编语言, Prolog是人工智能更高级的语言。 |