home.jpg (8189 bytes) back.jpg (5915 bytes)  forward.jpg (5884 bytes)
第二章:LISP语言程序设计
  2.1 人工智能语言
    2.1.2 人工智能语言的特点

由于人工智能研究的问题的特点和解决问题的方法的特殊性,为了能方便而有效地建立人工智能系统,需要发展专门的人工智能语言。人工智能语言的特点是什么,亦即人工智能语言应具备的特征是什么?

一般来说,人工智能语言应具备如下特点:  

  1. star6.gif (539 bytes)要有符号处理能力(即非数值处理能力);
  2. star6.gif (539 bytes)适合于结构化程序设计,编程容易;(要把系统分解成若干易于理解和处理的小单位的能力,从而既能较为容易地改变系统的某一部分,而又不破坏整个系统。)
  3. star6.gif (539 bytes)要有递归功能和回溯功能;
  4. star6.gif (539 bytes)要有人机交互能力;
  5. star6.gif (539 bytes)适合于推理;
  6. star6.gif (539 bytes)要有把过程与说明式数据结构混合起来的能力,又要有辨别数据、确定控制的模式匹配机制。

home.jpg (8189 bytes)  back.jpg (5915 bytes)  forward.jpg (5884 bytes)   

    函数型语言LISP和逻辑型语言PROLOG都适合作符号处理,都适合于结构化程序设计(LISP提供了函数定义,prolog提供了谓词定义),都具有递归功能(prolog还具有自动回溯功能),都具有人机交互能力(prolog还特别适合于推理),也都具有把过程与说明式数据结构混合起来的能力以及辨别数据、确定控制的模式匹配机制(LISP将程序与数据均表示为表,因此可以把程序作为数据处理,也可将数据当作程序来执行。Prolog用一致的数据结构“项(term)来构造数据和程序,事实、规则和询问的表现形式都为Horn子句,执行时作统一的操作匹配。LISP的匹配函数、prolog的合一运算自动匹配、自动搜索都具有很强的模式匹配机制。)因此可以说LISP和prolog是两种较为典型的人工智能语言。