人工智能怎么编程语言?vr属于人工智能吗?
-
典型的人工智能语言主要有LISP、Prolog、Smalltalk、C++等。
在人工智能手册中介绍了七种人工智能语言:
LISP,PLANNER,CINNIVER,QLISP,POP-2,SAIL,FUZZY。近百种人工智能语言中,只有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是人工智能更高级的语言。
2年前 -
人工智能用的比较多的语言有:Python、JAVA 和相关语言、C/C++、JavaScript、R语言。
从事人工智能,需要数学基础:高等数学,线性代数,概率论数理统计和随机过程,离散数学,数值分析。
需要算法的积累:人工神经网络,支持向量机,遗传算法等等算法;当然还有各个领域需要的算法,比如要让机器人自己在位置环境导航和建图就需要研究SLAM;总之算法很多需要时间的积累。
需要掌握至少一门编程语言:毕竟算法的实现还是要编程的;如果深入到硬件的话,一些电类基础课必不可少。有的还会需要了解域名比如com、top等等。
5年前 -
“人工智能”这个词一开始是在1956 年Dartmouth学会上提出的。从那以后,研究者们发展了众多理论和原理,人工智能的概念也随之扩展。人工智能是对人的意识、思维的信息过程的模拟。人工智能开发主要学哪门语言?
据了解,人工智能目前主要是机器学习实现的,而目前做机器学习和数据挖掘的主要语言是python。但主要原因并不是python效率高或者python和人工智能有什么不可分割的联系,而是因为python是一门很好的胶水语言,可以方便的调用别人(用各种语言)写的库,而且表达清晰灵活。
实际上,机器学习的核心知识和python并没有本质关系,python只是因为表达能力强,所以被广泛用于机器学习开发而已。因此目前来看,Python是人工智能的首选语言。
人工智能时代的到来,让人们不禁产生了一些思考,不管是好是坏。但是无论结果如何,这个时代究竟还是来了:
搭台,唱戏,台下的吃瓜群众懵懂生活、不知不觉间被卷入,在技术迭代发展的洪流中,向来如此。在基础技术维度,大数据管理和云计算技术已经在国内生根发芽,从IaaS、PaaS到SaaS,逐渐转变为大众化服务的基础平台:
腾讯、阿里、百度、华为等巨头们依托自身数据、算法、技术和服务器优势正着力构建各自的产业链闭环。而在应用技术维度,在机器学习、模式识别和人机交互三条技术路线下附着的机器视觉、指纹识别、人脸识别、智能搜索、语言和图像理解、遗传编程等众多领域,正蓬勃兴盛,也诞生了多家代表性企业。
也因为各企业的诞生,也有越来越多的企业需要人工智能人才。所以,如果大家掌握了Python,是否就能更好地在人工智能行业大展拳脚呢?5年前 -
人工智能用的编程语言:Python、Java、Lisp、Prolog、C ++、Yigo。
1、Python由于简单易用,是人工智能领域中使用最广泛的编程语言之一,它可以无缝地与数据结构和其他常用的AI算法一起使用。Python之所以时候AI项目,其实也是基于Python的很多有用的库都可以在AI中使用。
2、Java也是AI项目的一个很好的选择。它是一种面向对象的编程语言,专注于提供AI项目上所需的所有高级功能,它是可移植的,并且提供了内置的垃圾回收。另外Java社区也是一个加分项,完善丰富的社区生态可以帮助开发人员随时随地查询和解决遇到的问题。一。
3、Lisp因其出色的原型设计能力和对符号表达式的支持在AI领域崭露头角。LISP作为因应人工智能而设计的语言,是第一个声明式系内函数式程序设计语言,有别于命令式系内过程式的C、Fortran和面向对象的Java、C#等结构化程序设计语言
4、Prolog与Lisp在可用性方面旗鼓相当,据《Prolog Programming for ArTIficial Intelligence》一文介绍,Prolog一种逻辑编程语言,主要是对一些基本机制进行编程,对于AI编程十分有效。
5、C ++是世界上速度最快的编程语言,其在硬件层面上的交流能力使开发人员能够改进程序执行时间。 C ++对于时间很敏感,这对于AI项目是非常有用的,例如,搜索引擎可以广泛使用C ++。
在AI项目中,C++可用于统计,如神经网络。另外算法也可以在C ++被广泛地快速执行,游戏中的AI主要用C ++编码,以便更快的执行和响应时间。
6年前 -
Python、Java、Lisp、Prolog、C ++、Yigo。
Python由于简单易用,是人工智能领域中使用最广泛的编程语言之一,它可以无缝地与数据结构和其他常用的AI算法一起使用。
Python之所以适合AI项目,其实也是基于Python的很多有用的库都可以在AI中使用,如Numpy提供科学的计算能力,Scypy的高级计算和Pybrain的机器学习。
Java也是AI项目的一个很好的选择。它是一种面向对象的编程语言,专注于提供AI项目上所需的所有高级功能,它是可移植的,并且提供了内置的垃圾回收。另外Java社区也是一个加分项,完善丰富的社区生态可以帮助开发人员随时随地查询和解决遇到的问题。
对于AI项目来说,算法几乎是灵魂,无论是搜索算法、自然语言处理算法还是神经网络,Java都可以提供一种简单的编码算法。另外,Java的扩展性也是AI项目必备的功能之一。
7年前 -
人工智能是一种未来性的技术,目前正在致力于研究自己的一套工具。一系列的进展在过去的几年中发生了:无事故驾驶超过300000英里并在三个州合法行驶迎来了自动驾驶的一个里程碑;IBM Waston击败了Jeopardy两届冠军;统计学习技术从对消费者兴趣到以万亿记的图像的复杂数据集进行模式识别。这些发展必然提高了科学家和巨匠们对人工智能的兴趣,这也使得开发者们了解创建人工智能应用的真实本质。
谷歌的AI击败了一位围棋大师,是一种衡量人工智能突然的快速发展的方式,也揭示了这些技术如何发展而来和将来可以如何发展。
哪一种编程语言适合人工智能?
你所熟练掌握的每一种编程语言都可以是人工智能的开发语言。人工智能程序可以使用几乎所有的编程语言实现,最常见的有:Lisp,Prolog,C/C++,近来又有Java,最近还有Python.
LISP
像LISP这样的高级语言在人工智能中备受青睐,因为在各高校多年的研究后选择了快速原型而舍弃了快速执行。垃圾收集,动态类型,数据函数,统一的语法,交互式环境和可扩展性等一些特性使得LIST非常适合人工智能编程。
PROLOG
这种语言有着LISP高层和传统优势有效结合,这对AI是非常有用的。它的优势是解决“基于逻辑的问题”。Prolog提供了针对于逻辑相关问题的解决方案,或者说它的解决方案有着简洁的逻辑特征。它的主要缺点(恕我直言)是学起来很难。
C/C++
就像猎豹一样,C/C++主要用于对执行速度要求很高的时候。它主要用于简单程序,统计人工智能,如神经网络就是一个常见的例子。Backpropagation 只用了几页的C/C++代码,但是要求速度,哪怕程序员只能提升一点点速度也是好的。
JAVA
新来者,Java使用了LISP中的几个理念,最明显的是垃圾收集。它的可移植性使它可以适用于任何程序,它还有一套内置类型。Java没有LISP和Prolog高级,又没有C那样快,但如果要求可移植性那它是最好的。
Python
Python是一种用LISP和JAVA编译的语言。按照Norvig文章中对Lips和Python的比较,这两种语言彼此非常相似,仅有一些细小的差别。还有JPthon,提供了访问Java图像用户界面的途径。这是PeterNorvig选择用JPyhton翻译他人工智能书籍中程序的的原因。JPython可以让他使用可移植的GUI演示,和可移植的http/ftp/html库。因此,它非常适合作为人工智能语言的。
在人工智能上使用Python比其他编程语言的好处
优质的文档
平台无关,可以在现在每一个*nix版本上使用
和其他面向对象编程语言比学习更加简单快速
Python有许多图像加强库像Python Imaging Libary,VTK和Maya 3D可视化工具包,Numeric Python, Scientific Python和其他很多可用工具可以于数值和科学应用。
Python的设计非常好,快速,坚固,可移植,可扩展。很明显这些对于人工智能应用来说都是非常重要的因素。
对于科学用途的广泛编程任务都很有用,无论从小的shell脚本还是整个网站应用。
最后,它是开源的。可以得到相同的社区支持。
AI的Python库
总体的AI库
AIMA:Python实现了从Russell到Norvigs的“人工智能:一种现代的方法”的算法
pyDatalog:Python中的逻辑编程引擎
SimpleAI:Python实现在“人工智能:一种现代的方法”这本书中描述过的人工智能的算法。它专注于提供一个易于使用,有良好文档和测试的库。
EasyAI:一个双人AI游戏的python引擎(负极大值,置换表、游戏解决)
机器学习库
PyBrain 一个灵活,简单而有效的针对机器学习任务的算法,它是模块化的Python机器学习库。它也提供了多种预定义好的环境来测试和比较你的算法。
PyML 一个用Python写的双边框架,重点研究SVM和其他内核方法。它支持Linux和Mac OS X。
scikit-learn旨在提供简单而强大的解决方案,可以在不同的上下文中重用:机器学习作为科学和工程的一个多功能工具。它是python的一个模块,集成了经典的机器学习的算法,这些算法是和python科学包(numpy,scipy.matplotlib)紧密联系在一起的。
MDP-Toolkit这是一个Python数据处理的框架,可以很容易的进行扩展。它海收集了有监管和没有监管的学习算饭和其他数据处理单元,可以组合成数据处理序列或者更复杂的前馈网络结构。新算法的实现是简单和直观的。可用的算法是在不断的稳定增加的,包括信号处理方法(主成分分析、独立成分分析、慢特征分析),流型学习方法(局部线性嵌入),集中分类,概率方法(因子分析,RBM),数据预处理方法等等。 自然语言和文本处理库
NLTK 开源的Python模块,语言学数据和文档,用来研究和开发自然语言处理和文本分析。有windows,Mac OSX和Linux版本。
结论
python因为提供像 scikit-learn的好的框架,在人工智能方面扮演了一个重要的角色:Python中的机器学习,实现了这一领域中大多的需求。D3.js JS中数据驱动文档时可视化最强大和易于使用的工具之一。处理框架,它的快速原型制造使得它成为一门不可忽视的重要语言。AI需要大量的研究,因此没有必要要求一个500KB的Java样板代码去测试新的假说。python中几乎每一个想法都可以迅速通过20-30行代码来实现(JS和LISP也是一样)。因此,它对于人工智能是一门非常有用的语言。
案例
做了一个实验,一个使用人工智能和物联网做员工行为分析的软件。该软件通过员工情绪和行为的分心提供了一个有用的反馈给员工,从而提高了管理和工作习惯。
使用Python机器学习库,opencv和haarcascading概念来培训。建立了样品POC来检测通过安置在不同地点的无线摄像头传递回来基础情感像幸福,生气,悲伤,厌恶,怀疑,蔑视,讥讽和惊喜。收集到的数据会集中到云数据库中,甚至整个办公室都可以通过在Android设备或桌面点击一个按钮来取回。
开发者在深入分析脸部情感上复杂点和挖掘更多的细节中取得进步。在深入学习算法和机器学习的帮助下,可以帮助分析员工个人绩效和适当的员工/团队反馈。
7年前 -
虚拟现实是利用以现代高速电子计算机为核心的信息处理设备、相应的软件系统和微电子传感技术模拟或创造出来的、与现实的真实世界相同、相似或不相似的仿真图景。虚拟现实本质上主要是针对单个的个人而设计的模拟局部现实世界的技术系统,目前还没有一个得到广泛接受的关于虚拟现实的精确定义,研究它的人众说纷纭。人们大致上都认可一种描述性的定义:“虚拟现实是实际上而不是事实上为真实的事件或实体”。这样的定义有进行哲学讨论的空间。
虚拟现实有两大类,一类是对真实世界的模拟,如数字化地球,数字化城市或社区、虚拟故宫;另一类是虚构的,如网上新闻主持人安娜诺娃(Ananowa),以及名目繁多的三维立体动画游戏。无论哪一类虚拟现实,其实质都如尼葛洛庞帝(Nicholas Negroponte)所说,“虚拟现实背后的构想是,通过让眼睛接收到在真实情境中才能接受到的信息,使人产生‘身临其境’的感觉”。其实,虚拟现实所利用的不只是人的视觉,它把计算机处理出来的数据转化成视觉、听觉和触觉信号,再以适当方式直接输送到人的相应的感受器官,使人感受到计算机“需要”或“希望”他感受到的情景。
人们从技术角度把虚拟现实总结出7个特点:
模拟性:对现实世界的模仿,它来自人们已有的经验和认识;
交互作用:主体与技术系统之间存在着的互动关系,这里指人的精神体验甚至知识活动与机器系统的相互作用。没有这种互动虚拟现实就失去意义或者“趣味”;
人工性:与所有技术系统一样,虚拟现实也具有这种技术系统的根本特征,说到底,它是一种人造物或者人工自然;
沉浸性:相对于认识主体而言,指人在虚拟环境中的感官沉浸;
遥在:借助技术手段(如网络技术)克服主体与(虚拟)客体间的空间距离;
人—机共生:虚拟现实是人、机和软件三者互动才会发生的,缺一不可;
网络通讯:虚拟现实通过全球网络或宽带网实现的跨时空传输。
我国计算机科学家汪成为院士则概括得更为简单:“一个典型的虚拟现实环境是由人和虚拟现实系统两大部分组成的,而虚拟现实系统又由三部分组成。它们是基于先进传感器的人机接口、具有多媒体功能的计算机系统和面向虚拟现实的软件系统。”虚拟现实具有所谓I特性:沉浸、交互和构想。(见下图)
总之,虚拟现实利用技术手段全方位地在人和机器之间传送感觉信号,力图逼真地再现人类熟知的外部世界。
虚拟现实给哲学研究带来许多新问题,如虚拟现实现象本身的哲学解释;虚拟现实能否取代现实世界成为人的认识来源;虚拟现实中表现出来的人工智能究竟能够达到什么程度、会不会最终取代人类智能。此外,还有一些涉及到社会的、伦理的和文化的等方面的问题,这些已经有过许多研究文献。
关于对于虚拟现实的哲学解释,可以考虑这样一种意见:首先把人类的创造物(精神活动的产品)从客观世界和人类自身之中分离出来,这样我们有了三种客观实在:物质自然、人、以及人的精神活动产品。英国哲学家卡尔�凡ㄆ斩�丫�哉庵秩�鍪澜缱髁私仙钊氲睦砺垩芯浚��直鸪浦��澜?、世界2和世界3。波普尔指出,最先有世界1,经过长期自然进化和演化后产生出世界2,而人类知识特别是理论成就累积成为世界3。人类文明建立在三个世界共同发展的基础之上,特别是世界3的积累与扩展。这与道家的“道生一、一生二、二生三、三生万物”经典可谓异曲同工。1970年代,波普尔与澳大利亚脑科学家、诺贝尔奖获得者艾克尔斯合作,用三个世界理论较好地解释了发生在人类大脑中的认知过程,他们合著的《自我及其大脑》(The Self and Its Brain)至今仍是研究心理学、认知关系问题、身心关系和人工智能问题的必读著作。
波普尔是个实在论者,他的三个世界都有强烈的本体论特征,特别是他的世界3,其客观实在性和自主性是他所一贯坚持的。然而波普尔对三个世界之间的关系的意见不适合于今天的信息时代。他虽然认为世界3是客观的,甚至是自主的(即有其客观规律的),但是世界3并不能够直接与世界1进行相互作用,人(世界2)是世界3与世界1之间必须的和最为关键性的中介。这样的理论可以用以解释计算机发明以前的情况,但用来解释虚拟现实问题显然是不合适的,因为它武断地割裂了物理世界与人类精神活动产品之间可能会发生的联系与互动。
仔细考察以计算机为核心的信息处理技术系统,我们就必须承认,这样的系统由两大部分组成,服从物理运动规律的机器硬件系统(世界1)和人类的精神活动产品软件(计算机程序软件,它应当而且只能被看作是世界3)。仅就其技术系统而言,虚拟现实应当是软件和硬件二者相互作用的结果,即世界1与世界3的相互作用。那么当人参加到这样的虚拟现实中去的时候,所发生的情况就是三个世界的相互作用。
到这里我们就看到虚拟现实的最具有哲学意义的方面:它在人类文明历史上首次实现了三个世界的交互作用。这是一项带有根本性的突破,只有现代信息技术才能够实现这样的突破。
有了对于虚拟现实的哲学解释,就容易回答后两个问题了。我们认为,对于虚拟现实能否以及能在多大程度上成为人的经验和认识的来源问题,不能过于乐观。
首先,目前的技术发展水平只是展示了一种可能性,就其使人获得经验、体验或知识而言,它还处于很原始的阶段。虚拟现实已经在医学教育(如解剖)、飞行训练、核爆炸模拟等一些专门领域得到应用,效果得到广泛好评。但仅此而已,在可见的将来,还完全没有理由认为它会对基本的人与自然的认知关系提出带有根本性的挑战。
其次,毕竟虚拟现实是一种人工系统,建立在人对自然事物的已有认识基础之上,这样的人类认识集成在人们开发编写的相应的软件程序中,如大型数据库、专家系统。尽管发生有以下两种情形:一、整合新的技术系统时可以直接运用过去已有的软件和硬件;二、新的高性能计算机系统有自动编制软件(创造出新的世界3)能力,但这都不能改变机器系统(包括虚拟现实)是人工系统这一基本属性。因此,通过虚拟现实而获得的经验、认识是一种“次级”经验或认识,它并不能取代、至少不可能完全取代人对于自然的直接认识和经验。
第三,根据已经报道的许多实例,虚拟现实系统会产生出人类仅仅依靠大脑不可能做到的发现或发明,如混沌学中的洛伦兹吸引子,数学上关于四色图定理的证明,甚至虚拟生命体Tierra等,从人的角度来看这些意味着重要的发现,其创新之处是明显的,但对于机器而言,所有这些都只是计算机软、硬件互动合作的结果,尽管有许多结果并不使人可以预先预测到的。关键之处在于:机器的运算结果对于机器的意义、对于人的意义,都是从人的角度看到的,也就是说,机器运行的结果还是需要人来做出最终的价值判断。
最后,回到对虚拟现实的哲学解释,我们说世界3与世界1的直接互动,并不意味着人变得多余了。在虚拟现实的环境中,机器是由人制造出来的,程序是人编写的,机器输出的结果也是需要人来做出价值判断的,因此,世界3与世界1的直接互动是有条件的,人的参与对于机器系统而言是无条件的,正因为如此,讨论人工智能是否会超越人类智能,并没有特别的实际意义。目前国内外计算机科学专家和信息科学家比较一致的看法是,未来的人工智能还将会有长足的发展。并不存在人工智能能否超越人类智能的问题,然而,人工智能能够在某些方面补充人类智能的不足却是确定无疑的,未来最有希望的发展方向是将会产生一种“人—机共生体”,在其中,机器部分将进行复杂繁琐的数据运算和逻辑推理,而涉及到创造性、美感、情感、价值判断等方面的问题时,则由人脑完成。
7年前 -
Python,Java,Lisp,Prolog,C ++
Python因为适用于大多数AI sub-field,所以渐有成为AI编程语言之首的趋势,而Lisp和Prolog因其独特的功能,所以在部分AI项目中卓有成效,地位暂时难以撼动。而Java和C++的自身优势将在AI项目中继续保持。
7年前
