最适合人工智能的5种编程语言
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
最适合⼈人⼯工智能的5种编程语⾔言
⾃自⾕谷歌的AI击败了了⼀一位围棋⼤大师后,⼈人⼯工智能的概念轰轰烈烈烈烈出现,各种⼈人⼯工智能科技公司如⾬雨后春笋般冒出。2017年年年年初BAT⼤大佬们也纷纷出声看好⼈人⼯工智能未来发展,揭示了了这些技术的发展潜⼒力力和将来可以如何发展的途径。
⾸首先,你所熟练掌握的每⼀一种编程语⾔言都可以是⼈人⼯工智能的开发语⾔言。
其次,⼈人⼯工智能是⼀一个很⼴广阔的领域,很多编程语⾔言都可以⽤用于⼈人⼯工智能开发。但相对,有些编程语⾔言确实能够为开发⼈人员节省时间及精⼒力力。
最后⻮齿轮君将分别简单介绍⼀一下5种最合适⼈人⼯工智能的编程语⾔言,以及它们各⾃自的特点和优势,有需要的⼩小伙伴可以从中选择。
⼈人⼯工智能领域⾥里里,编程语⾔言中最常⻅见的有:Lisp、Prolog、C/C++、Java、Python。 —————————————————————————————— LISP
Lisp因其出⾊色的原型设计能⼒力力和对符号表达式的⽀支持在AI领域崭露露头⻆角。
LISP作为应⼈人⼯工智能⽽而⽣生的语⾔言,是第⼀一个声明式系内函数式程序设计语⾔言,有别于命令式系内过程式的C、Fortran和⾯面向对象的Java、C#等结构化程序设计语⾔言。加上垃圾收集,动态类型,数据函数,统⼀一的语法,交互式环境和可扩展性等⼀一些特性使得LIST⾮非常适合⼈人⼯工智能编程。
著名的A I专家彼得·诺维奇(P e t e r N o r v i g)在其《A r t ific i a l Intelligence: A modern approach》⼀一书中,详细解释了了为什什么Lisp 是AI开发的顶级编程语⾔言之⼀一,感兴趣的朋友可以翻阅查看。 PROLOG
Prolog与Lisp能够有效结合,优势是解决“基于逻辑的问题”。因此,Prolog⼴广泛应⽤用于AI的 expert系统,也可⽤用于医疗项⽬目的⼯工作。
据《Prolog Programming for Artificial Intelligence》⼀一⽂文介绍,Prolog⼀一种逻辑编程语⾔言,主要是对⼀一些基本机制进⾏行行编程,对于AI 编程⼗十分有效,例例如它提供模式匹配,⾃自动回溯和基于树的数据结构化机制。结合这些机制可以为AI项⽬目提供⼀一个灵活的框架。
但是Prolog学起来偏难。
C/C++
C/C++是世界上速度最快的⾯面向对象编程语⾔言,有技术⼯工作者称他为猎豹般的速度。C/C++能够很好满⾜足⾼高执⾏行行速度要求,因此⼴广泛应⽤用于搜索引擎。
在AI项⽬目中,C++可⽤用于统计,如神经⽹网络。另外算法也可以在C ++被⼴广泛地快速执⾏行行,游戏中的AI主要⽤用C ++编码,以便便更更快的执⾏行行和响应时间。
JAVA
Java也是AI项⽬目不不错的语⾔言选择。它是⼀一种⾯面向对象的编程语⾔言,专注于提供AI项⽬目上所需的所有⾼高级功能。
虽然Java不不具备LISP和Prolog的⾼高级逻辑计算,⼜又没有C/C++的⾼高执⾏行行速度,但它可以被移植,能够很好的匹配程序,并且提供内置的垃圾回收。另外Java社区也是⼀一个加分项,完善丰富的社区⽣生态可以帮助开发⼈人员随时随地查询和解决遇到的问题。
另外,Java的扩展性也是AI项⽬目必备的功能之⼀一。
PYTHON
Python是⼈人⼯工智能中最⼴广泛使⽤用的编程语⾔言之⼀一,本质为由LISP和JAVA编译的语⾔言,可以⽆无缝对接其它AI算法和结构。
Lips和Python⾮非常相似,仅有⼀一些细⼩小的差别。还有JPthon,提供了了访问Java图像⽤用户界⾯面的途径。这是PeterNorvig选择⽤用JPyhton 翻译他⼈人⼯工智能书籍中程序的的原因。JPython可以让他使⽤用可移植的GUI演示,和可移植的http/ftp/html库。因此,它⾮非常适合作为⼈人⼯工智能语⾔言的。
并且,对于学习者来说,Python有⼤大量量的在线资源,也许算得上⼀一个很好的优势。
其实在实际⼯工作中,如果想成为专业的⾼高级⼯工程师,所有语⾔言都必须了了解,所有语⾔言不不是单独存在的。其它的具体看你所在的⼈人⼯工智能企业或所做的产品主要使⽤用哪种语⾔言,哪些语⾔言作为辅助。
⽐比如说,⻮齿轮君的⼯工程师们就曾使⽤用Java为游戏⾏行行业的客户开发过⼈人⼯工智能游戏架构,也使⽤用过Python作为主要语⾔言为法律律和医疗的客户们设计开发过智能系统。