谷歌的ai击败了一位围棋大师,是一种衡量人工智能突然的发展的方式,也揭示了这些技术如何发展而来和将来可以如何发展。
人工智能是一种未来性的技术,目前正在致力于研究自己的一套工具。一系列的进展在过去的几年中发生了:无事故驾驶超过300000英里并在三个州合法行驶迎来了自动驾驶的一个里程碑。
ibm waston击败了jeopardy两届;统计学习技术从对消费者兴趣到以万亿记的图像的复杂数据集进行模式识别。
这些发展必然提高了科学家和巨匠们对人工智能的兴趣,这也使得开发者们了解创建人工智能应用的真实本质。开发这些需要注意的件事是:
哪一种编程语言适合人工智能?
你所熟练掌握的每一种编程语言都可以是人工智能的开发语言。
人工智能程序可以使用几乎所有的编程语言实现,常见的有: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脚本还是整个网站应用。
后,它是开源的。可以得到相同的社区支持。
结论
python因为提供像 scikit-learn的好的框架,在人工智能方面扮演了一个重要的角色:python中的机器学习,实现了这一领域中大多的需求。d3.js js中数据驱动文档时可视化强大和易于使用的工具之一。
处理框架,它的原型制造使得它成为一门不可忽视的重要语言。ai需要大量的研究,因此没有必要要求一个500kb的java样板代码去测试新的假说。
python中几乎每一个想法都可以迅速通过20-30行代码来实现(js和lisp也是一样)。因此,它对于人工智能是一门非常有用的语言。
南京兄弟连IT培训学校