Artificial intelligence 如何为人工智能编程选择一种语言?

Artificial intelligence 如何为人工智能编程选择一种语言?,artificial-intelligence,machine-learning,neural-network,Artificial Intelligence,Machine Learning,Neural Network,人工智能的最佳编程语言是什么 请注意,使用建议的语言,我必须能够使用任何人工智能技术(或至少大多数人工智能技术)。这实际上取决于您所看到的问题类型。还有,你想深入到人工智能领域有多深。如果你想从基础知识中学习,只需要实现理论上的人工智能,那么就可以使用更高级的语言——比如函数式编程(并在人工智能中得到验证),比如lisp或prolog。如果你知道你正在处理什么问题,并且想要效率,那么就去用java、C++之类的工具,使用工具箱来做这些事情。 既然您提到了机器学习,那么就看看Java中的Weka工

人工智能的最佳编程语言是什么


请注意,使用建议的语言,我必须能够使用任何人工智能技术(或至少大多数人工智能技术)。

这实际上取决于您所看到的问题类型。还有,你想深入到人工智能领域有多深。如果你想从基础知识中学习,只需要实现理论上的人工智能,那么就可以使用更高级的语言——比如函数式编程(并在人工智能中得到验证),比如lisp或prolog。如果你知道你正在处理什么问题,并且想要效率,那么就去用java、C++之类的工具,使用工具箱来做这些事情。
既然您提到了机器学习,那么就看看Java中的Weka工具包,了解其中的一些内容。

没有“最佳”语言。每一种都有其优点。当我学习人工智能时,我们主要使用lisp和prolog,但我在使用Java/C时在人工智能方面效率最高,而F#有很多可以提供的功能。

所有在人工智能研究领域留下来的冷静大师都使用lisp:)

有两大阵营:CommonLisp和Scheme。它们有不同的语法,等等。为这两种语言编写了很多好东西

Java是一种非常流行的通用语言,但在人工智能/函数式编程中,许多有趣的东西,比如将闭包作为一阶对象传递,在Java中做起来很笨拙

我个人的偏好是远离像C和F这样的窗口语言。酷的人在Unix下开发。或者Linux,如果它们很酷但很差的话

哈斯凯尔的一些很酷但很怪异的人节目。一种性能良好的现代FP语言。我试过一次,它使我的大脑受伤;但你可能比我聪明


更新:史蒂夫问题的答案

  • 我不会是那个为Unix变体付费的人;公司和研究机构就是这样做的。这个想法是,你想为一家公司做人工智能研究,这家公司将数百万美元投入到他们的硬件中,并且不会犹豫为一个操作系统支付几千美元。这是一种很可能在自助餐厅里吃到美味佳肴和/或因为做有趣的工作而获得丰厚报酬的服装。但我肯定不是在抨击Linux

  • F#可能很酷,但我看到在Linux或任何其他Unix上运行它会有一大堆问题(这就是我所说的“windowsy”),我不想在Windows下工作(这就是我所说的“个人偏好”)

  • 详细说明“窗口”主题:您提到F#是OCaml的一个变体。从我自己公认的简短研究来看,F#似乎缺少了函子、OCaml风格的对象、多态变体和camlp4预处理器。没有函子的函数语言?真正地如果有人不喜欢微软,正如我承认的那样,那么可以得出这样的结论:他们已经采取了行动,将一种非常好的函数式语言OCaml硬塞进了他们可以在CLR中运行的东西中,这样他们就可以声称“拥有”一种函数式语言。最后,因为我不怀疑,我知道微软总是把市场主导地位放在产品质量之上,所以我不打算碰F#。但是这是我个人的偏好,并且明确地表明了这一点,而我们实际上更关心的是为玛丽做一个好的推荐

  • 我有更好的理由推荐Lisp而不是F#,甚至是OCaml和Haskell。这些主要是基于Lisp在人工智能领域的历史优势

    • 大部分人工智能文献都基于用Lisp或Prolog编写的程序。如果没有别的,良好的Lisp知识将允许学生理解示例程序。我个人最喜欢的AI megaproject,Cyc,在您选择的Common Lisp或C中有运行时

    • 在编程语言的TIOBE索引中(正如在工业中看到和使用的那样),Lisp排在第15位,Haskell排在第43位,F#和OCaml排在第50位以下。当然,市场的存在与就业机会相关

    这就是说,很有可能一些年轻的“人工智能有趣”语言正准备飞速发展。如果一些主要的研究机构发表了一些开创性的,定义了领域研究,比如Scala,你会看到Scala在研究界的受欢迎程度急剧上升,在工业界也有一些滞后


    我(显然)不能评论F#的其他品质,但欢迎你和我一样提出建议。

    用人工智能技术选择编程语言,就像你为任何其他项目选择语言一样:

    • 你想解决的问题是什么 解决

    • 语言
    • 客户的要求是什么

    我推荐Prolog作为一种非常好的编程语言,用于实现人工智能系统。

    我将把Scala扔进锅里

    • 它可用于函数式编程
    • 它的速度可以和Java一样快
    • 这是一种现代语言,有很多好的方面
    • Java在AI中似乎也有点流行,因此您可以使用Scala中的所有Java库

    我已经解决了Scala基础AI课程中的所有练习。它工作得非常好。

    Python似乎在一般的科学界被大量使用。它有很多可用的库,而且很容易学习。

    < P>还有一个java框架,叫做怀卡托大学开发的。我不知道这是否适合你的问题,但这可能会有帮助


    引用:«Weka支持多个标准数据挖掘任务,更具体地说,是数据预处理、聚类、分类、回归、可视化»等等。

    如果“所有人工智能”也指机器学习,我猜是Matlab,应该明确提到R和Python+Scipy。

    编程环境是否具有学术性可能很重要,但对于大多数非学术性AI应用程序开发,我建议坚持使用mains