智能编程语言和人工智能编程语言有区别吗?什么是智能编程语言? 人工智能用什么语言编程
人工智能的编程和一般的计算机编程有什么不同?
人工智能编程语言是一类适应于人工智能和知识工程领域的、具有符号处理和逻辑推理能力的计算机程序设计语言。能够用它来编写程序求解非数值计算、知识处理、推理、规划、决策等具有智能的各种复杂问题。
事实上,现在已经有多种对应于各种不同知识表示方式的人工智能编程语言。按所对应的知识表示方式不同。大体上可以区分为以下几类:
1.对应于产生式规则知识表示的语言。例如,由美国卡耐基·梅农大学的C·L·福基(C.L.Fy)等人于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)语言。
人工智能编程语言有一个共同的特点,那就是这些语言都是面向所要解决的问题、结合知识表示、完全脱离当代计算机的诺依曼结构特性而独立设计的;它们又处于比面向过程的高级编程语言更高的抽象层次。因此,用这些语言编写的程序,在现代计算机环境中,无论是解释或编译执行,往往效率很低。尤其当程序规模很大、很复杂时,将浪费大量系统资源(主要指处理机占用时间和存储空间占用量),使系统性能下降到难以容忍的地步。
人工智能用的编程语言是哪些?
Python、Java、Lisp、Prolog、C ++、Yigo。
Python由于简单易用,是人工智能领域中使用最广泛的编程语言之一,它可以无缝地与数据结构和其他常用的AI算法一起使用。
Python之所以适合AI项目,其实也是基于Python的很多有用的库都可以在AI中使用,如Numpy提供科学的计算能力,Scypy的高级计算和Pybrain的机器学习。
Java也是AI项目的一个很好的选择。它是一种面向对象的编程语言,专注于提供AI项目上所需的所有高级功能,它是可移植的,并且提供了内置的垃圾回收。另外Java社区也是一个加分项,完善丰富的社区生态可以帮助开发人员随时随地查询和解决遇到的问题。
对于AI项目来说,算法几乎是灵魂,无论是搜索算法、自然语言处理算法还是神经网络,Java都可以提供一种简单的编码算法。另外,Java的扩展性也是AI项目必备的功能之一。
人工智能和一般的计算机程序最大区别是什么
人工智能(Artificial Intelligence) ,英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。 人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。“人工智能”一词最初是在1956 年Dartmouth学会上提出的。从那以后,研究者们发展了众多理论和原理,人工智能的概念也随之扩展。人工智能是一门极富挑战性的科学,从事这项工作的人必须懂得计算机知识,心理学和哲学。人工智能是包括十分广泛的科学,它由不同的领域组成,如机器学习,计算机视觉等等,总的说来,人工智能研究的一个主要目标是使机器能够胜任一些通常需要人类智能才能完成的复杂工作。但不同的时代、不同的人对这种“复杂工作”的理解是不同的。例如繁重的科学和工程计算本来是要人脑来承担的,现在计算机不但能完成这种计算, 而且能够比人脑做得更快、更准确,因之当代人已不再把这种计算看作是“需要人类智能才能完成的复杂任务”, 可见复杂工作的定义是随着时代的发展和技术的进步而变化的, 人工智能这门科学的具体目标也自然随着时代的变化而发展。它一方面不断获得新的进展,一方面又转向更有意义、更加困难的目标。目前能够用来研究人工智能的主要物质手段以及能够实现人工智能技术的机器就是计算机, 人工智能的发展历史是和计算机科学与技术的发展史联系在一起的。除了计算机科学以外, 人工智能还涉及信息论、控制论、自动化、仿生学、生物学、心理学、数理逻辑、语言学、医学和哲学等多门学科。人工智能学科研究的主要内容包括:知识表示、自动推理和搜索方法、机器学习和知识获取、知识处理系统、自然语言理解、计算机视觉、智能机器人、自动程序设计等方面。
计算机或者软件程序(通常简称程序)是指一组指示计算机或其他具有信息处理能力装置每一步动作的指令,通常用某种程序设计语言编写,运行于某种目标体系结构上。打个比方,一个程序就像一个用汉语(程序设计语言)写下的红烧肉菜谱(程序),用于指导懂汉语和烹饪手法的人(体系结构)来做这个菜。 通常,计算机程序要经过编译和链接而成为一种人们不易看清而计算机可解读的格式,然后运行。未经编译就可运行的程序,通常称之为脚本程序(script)。
什么是人工智能语言。
典型的人工智能语言主要有LISP、Prolog、Smalltalk、C++等。
一般来说,人工智能语言应具备如下特点:
·具有符号处理能力(即非数值处理能力);
·适合于结构化程序设计,编程容易;
·具有递归功能和回溯功能;
·具有人机交互能力;
·适合于推理;
·既有把过程与说明式数据结构混合起来的能力,又有辨别数据、确定控制的模式匹配机制。
在人工智能手册中介绍了七种人工智能语言:
LISP,PLANNER,CINNIVER,QLISP,POP-2,SAIL,FUZZY。近百种人工智能语言中,只有LISP和后起之秀Prolog是人工智能研究和应用中占重要地位的两种人工智能程序设计语言。虽然国内外对这两种AI语言曾有争议,褒贬不一,但LISP和PROLOG的重要性是都不可否认的。