Common Lisp、Python 和 Prolog 等编程语言的优点/优点和缺点/缺点是什么?为什么这些语言被用于人工智能领域?使用这些语言可以解决哪些与 AI 相关的问题?
请给我有关上述主题的论文或书籍的链接。
Common Lisp、Python 和 Prolog 等编程语言的优点/优点和缺点/缺点是什么?为什么这些语言被用于人工智能领域?使用这些语言可以解决哪些与 AI 相关的问题?
请给我有关上述主题的论文或书籍的链接。
如果我们谈论应用人工智能,人工智能应用程序的编程语言选择与任何其他软件领域一样需要考虑:生成代码的速度、表达能力、可重用性等。
例如,由于在 CPU 中训练神经网络非常昂贵,因此生成非常优化的代码的 C/C++ 等语言非常方便。此外,C/C++ 中的 GPU 库管理员允许使用强并行性。
具有一定复杂性的系统将结合多种语言,以便在需要的地方使用最好的语言。
但回到问题中出现的语言列表。因为它们都是图灵完备的,所以比较它们意味着谈论它的范式、特性、语法和可用的编译器/解释器。显然,这超出了简单答案的可能性。只是为了展示一些关于问题中提到的关键点:
Prolog本身就是一种编程范式。它的主要优点是 Prolog 语句独立于其余语句并且接近概念的数学定义。而且,它本身就是一个数据库。它的缺点也是众所周知的:速度很慢,i/o 缺乏图书馆员,...。了解 Prolog 中的一些算法示例非常有趣(甚至是强制性的),但我怀疑现在没有人使用它,除非在过时的大学课程中(当你到达“!”时,停止学习)。
Lisp也是僵尸。它的功能范式现在已包含在许多更现代的语言中,并将其与面向对象的范式相结合:scala、haskell、ocaml/F#、...。功能性允许语法更容易将逻辑概念表达为逻辑或类型的递归定义,...。人工智能中非常有趣的东西。
在面向对象范式的类别中并且适用于所有应用程序,我们有Python(易于学习,快速原型设计,速度慢,...) C/C++(非常优化的代码),Java,...。或多或少,它们都采用了最新标准中的功能特性。
在 AI 中,还需要考虑许多非常有趣的语言特性:基于规则的系统,...。可以在所有主要语言中找到他们的图书馆员。
最后,关于 AGI(强人工智能)的一些话:你不需要电脑。在最好的时刻,我们处于铅笔和纸的阶段,其余的则在看天花板。