人工智能编程语言是一类适应于人工智能和知识工程领域的、具有符号处理和逻辑推理能力的计算机程序设计语言。能够用它来编写程序求解非数值计算、知识处理、推理、规划、决策等具有智能的各种复杂问题。
事实上,现在已经有多种对应于各种不同知识表示方式的人工智能编程语言。按所对应的知识表示方式不同。大体上可以区分为以下几类:
1.对应于产生式规则知识表示的语言。例如,由美国卡耐基·梅农大学的C·L·福基(C.L.Forgy)等人于1 977年开发的OPS(official production system),当时’就用它来为DEC公司开发了一个解决VAX计算机系统配置问题的专家系统X1/XCON。
2.对应于逻辑公式知识表示的语言。一种已广为应用的逻辑语言就是PROLOG。它是1 970年由法国马塞大学的 A.柯迈豪埃(Alain Colmerauer)所开发的。
3.对应于框架或语义网知识表示的语言。这是一类所谓“面向对象”的(object-oriented)语言。其中一个有代表性的语种就是Smalltalk。它是在1980年首创,后来发展了好几个版本,通常以发布的年份来标记,例如,第1个版本叫Smalltalk-80等等。
4.对应于函数知识表示或函数式程序设计风格的语言。首先是由计算机科学家J.巴科斯(J. Backus)在1978年发表的一篇获图灵奖的著名论文中提出。这篇论文的题目就叫做:“程序设计能够摆脱诺依曼风格吗?程序的函数风格及其代数”。它提出的函数式编程语言,虽然在理论上很完美,而且建立在坚实的数学基础之上,但是在常规计算机上很难实现。倒是早在20世纪50年代末、60年代初美国麻省理工学院的约翰·麦卡锡等人首先开发的列表处理语言LISP(LISt Processing)迄今仍然广泛用于编写人工智能应用程序,特别是用于开发专家系统。函数语言在解释执行机制上的特点是递归地由最内层向外层归约(reduction),而每次归约都是把一个函数“作用”,于它的变元而得出函数值的过程。所以又称这类语言为“作用式”(applicative)语言。
人工智能编程语言有一个共同的特点,那就是这些语言都是面向所要解决的问题、结合知识表示、完全脱离当代计算机的诺依曼结构特性而独立设计的;它们又处于比面向过程的高级编程语言更高的抽象层次。因此,用这些语言编写的程序,在现代计算机环境中,无论是解释或编译执行,往往效率很低。尤其当程序规模很大、很复杂时,将浪费大量系统资源(主要指处理机占用时间和存储空间占用量),使系统性能下降到难以容忍的地步。
人工智能是程序与数学相结合的充分体现人类智慧的复杂编程,一般的计算机编程简单一些
人工智能编程更加趋向于复杂,一般计算机编程算法较为简单
人工智能更贴近实际问题的解决,设计到的算法和函数较多,普通的计算机编程一般就是做系统,做网站,做app
计算机的编程相对的冷,人工智能比较的人性化