文档章节

人工智能语言选择

 李劲辉
发布于 2017/07/01 09:39
字数 1189
阅读 152
收藏 0

最适合开发人工智能的编程语言有哪些

 

这两年,“一只狗”AlphaGo打遍天下棋手无对手,让我们认识了什么叫人工智能。在刚刚过去的IT领袖峰会上,BAT三位大佬都表示看好人工智能的未来发展。今年年初,百度就做了一个大动作,在医疗方面押宝人工智能,李彦宏也发声称互联网是道开胃菜,人工智能才是主菜。

 

  人工智能是一个很广阔的领域,很多编程语言都可以用于人工智能开发,很难说人工智能必须用哪一种语言来开发。选择多也意味着会有优劣之分,并不是每种编程语言都能够为开发人员节省时间及精力。但小编跟我们天瑞地安软件开发项目组经过讨论,也结合了相关“大佬”们的意见,整理了5种比较适用于人工智能开发的编程语言,

 

  最适合人工智能开发的5种编程语言

 

  Python

 

  Python由于简单易用,是人工智能领域中使用最广泛的编程语言之一,它可以无缝地与数据结构和其他常用的AI算法一起使用。Python之所以时候AI项目,其实也是基于Python的很多有用的库都可以在AI中使用,如Numpy提供科学的计算能力,Scypy的高级计算和Pybrain的机器学习。另外,Python有大量的在线资源,所以学习曲线也不会特别陡峭。

 

  Java

 

  Java也是AI项目的一个很好的选择。它是一种面向对象的编程语言,专注于提供AI项目上所需的所有高级功能,它是可移植的,并且提供了内置的垃圾回收。另外Java社区也是一个加分项,完善丰富的社区生态可以帮助开发人员随时随地查询和解决遇到的问题。对于AI项目来说,算法几乎是灵魂,无论是搜索算法、自然语言处理算法还是神经网络,Java都可以提供一种简单的编码算法。另外,Java的扩展性也是AI项目必备的功能之一。

 

  Lisp

 

  Lisp因其出色的原型设计能力和对符号表达式的支持在AI领域崭露头角。LISP作为因应人工智能而设计的语言,是第一个声明式系内函数式程序设计语言,有别于命令式系内过程式的C、Fortran和面向对象的Java、C#等结构化程序设计语言。Lisp语言因其可用性和符号结构而主要用于机器学习/ ILP子领域。著名的AI专家彼得·诺维奇(Peter Norvig)在其《Artificial Intelligence: A modern approach》一书中,详细解释了为什么Lisp是AI开发的顶级编程语言之一,感兴趣的朋友可以自行查看。

 

  Prolog

 

  Prolog与Lisp在可用性方面旗鼓相当,据《Prolog Programming for Artificial Intelligence》一文介绍,Prolog一种逻辑编程语言,主要是对一些基本机制进行编程,对于AI编程十分有效,例如它提供模式匹配,自动回溯和基于树的数据结构化机制。结合这些机制可以为AI项目提供一个灵活的框架。Prolog广泛应用于AI的 expert系统,也可用于医疗项目的工作。

 

  C ++

 

  C ++是世界上速度最快的编程语言,其在硬件层面上的交流能力使开发人员能够改进程序执行时间。 C ++对于时间很敏感,这对于AI项目是非常有用的,例如,搜索引擎可以广泛使用C ++。在AI项目中,C++可用于统计,如神经网络。另外算法也可以在C ++被广泛地快速执行,游戏中的AI主要用C ++编码,以便更快的执行和响应时间。

 

  其实为AI项目选择编程语言,其实很大程度上都取决于sub-field,对于编程语言的选择要从大局入手,不能只考虑部分功能。天瑞地安程序员明明认为:在这些编程语言中,Python因为适用于大多数AI sub-field,渐有成为AI编程语言之首的趋势,而Lisp和Prolog因其独特的功能,所以在部分AI项目中卓有成效,地位暂时难以撼动。而Java和C++的自身优势将在AI项目中继续保持。

 

学习世界上最好的编程语言,请认准千锋。

本文转载自:

共有 人打赏支持
粉丝 0
博文 21
码字总数 2602
作品 0
为什么Python成了开发AI的主流语言?Java系列、Ruby等编程语言不行吗?

导读 说道开发AI的语言,很多人说,不是Python吗?没错,Python是可以开发AI,但是不知道你们有没有想过,真的就只有Python才可以开发AI吗? 其实,像Java、Ruby也是开发AI很好的选择,但是为...

柯西带你学编程
05/29
0
0
百度推「一次包会」模型:「一次性」教会智能体认知新事物

雷锋网 AI 科技评论按:打造能够通过语言与人类自然交流并向人类学习的智能体,对 AI 科技的进步而言价值重大。百度 Research 研究人员的目标就是,开发能够通过自然交互来向人类学习的 AI 智...

刘鹏
05/21
0
0
编程学习将成为必然趋势,青少年编程,从哪里开始?

  “青年兴则国家兴,青年强则国家强”。青少年是推动未来社会发展变革的重要力量,而随着人工智能逐渐成为全球的共识,学习编程是必然的趋势!中国将来编程也要进入小学课本,这是青少年人...

bodasisiter
2017/11/01
0
0
AI翻译机卷土重来,但如何盈利仍是难题

  在全球科技公司进入AI人工智能研究后,翻译成为各大公司的兵家必争之地。究其原因,是因为“语言”在人工智能发展中具有相当高的重要性和必要性,一方面是机器如何理解人类语言的问题,这...

中国机器人
05/10
0
0
野蛮数据时代,企业和从业者如何应对变革焦虑?

     大数据文摘出品   大数据和人工智能正成为了这个时代的主题曲,与此同时,焦虑感也开始在行业中蔓延,从初创公司、行业巨头到从业者,都急切地想要跟上这股越来越热的浪潮。   ...

大数据文摘
09/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

MySQL SQL 常见用法

某字段重复记录 select a.fieldA from tableA a group by a.fieldA having count(a.fieldA)>1;==select * from (select a.fieldA, count(1) as faCount from tableA a group......

园领T
59分钟前
1
0
如何使用 iptables 和 firewalld 工具来管理 Linux 防火墙规则

以下是如何使用 iptables 和 firewalld 工具来管理 Linux 防火墙规则。 防火墙 防火墙是一组规则。当数据包进出受保护的网络区域时,进出内容(特别是关于其来源、目标和使用的协议等信息)会...

linuxprobe16
今天
1
0
发生系统错误 5 拒绝访问

1、使用命令net start *开启一个服务的时候,出现发生系统错误5,拒绝访问。 解决:切换到管理员模式执行此命令即可。

fang_faye
今天
1
0
devops 成长路线

https://36kr.com/p/5157249.html

swingcoder
今天
1
0
Java内存区域的划分和异常

行时数据区域 JVM在运行Java程序时候会将内存划分为若干个不同的数据区域。 程序计数器 线程私有。可看作是当前线程所执行的字节码的行号指示器,字节码解释器的工作是通过改变这个计数值来读...

架构师springboot
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部