Lisp在人工智能中的应用:自修改代码和领域特定抽象层次

人工智能在多种不同的编程语言中实现,例如Python、C/C++、Java,那么能否请有人解释一下使用Lisp如何能够实现Peter Norvig在这里提到的第5点:

  1. [Lisp允许…] 一个宏系统,让开发者能够创建一个领域特定的抽象层次,用于构建下一级别。…如今,(5)是Lisp相较于其他语言唯一仍然出色的功能。

来源:https://www.quora.com/Is-it-true-that-Lisp-is-highly-used-programming-language-in-AI

我基本上对创建领域特定抽象层次的含义感到困惑。能否请有人提供一个具体的例子/应用,说明这在什么时候/如何有用,以及它总体上意味着什么?我尝试阅读了http://lambda-the-ultimate.org/node/4765,但并没有真正“理解大局”。然而,我感觉这里似乎有某种魔法存在,即Lisp允许你编写其他过程式/OOP/函数式语言所不允许的代码类型。然后我看到了这个帖子:https://www.quora.com/Which-programming-language-is-better-for-artificial-intelligence-C-or-C++,其中最佳回答指出:

对于通用人工智能,我不会选择C或C++,而是选择用Lisp编程。一个真正的AI会有很多自修改代码(你不会认为一个真正的AI会把程序员写的代码视为最终答案,对吗?)。

这让我更加好奇,进而让我思考:

AI拥有“自检、自修改代码”(来源:为什么Lisp用于AI?)到底意味着什么,以及为什么/如何这有用?这听起来非常酷(几乎像是AI对自己的操作有自我意识一样),而且听起来使用Lisp可以实现这些事情,而其他语言甚至不会梦想做到(如果这听起来有点天真地高兴,请原谅,我完全没有Lisp的经验,但很兴奋要开始)。我读了一点:自修改代码的用途是什么?,并立即对特定AI应用和自修改代码的未来前沿产生了兴趣。

无论如何,我确实可以看到编写自修改代码的能力与根据特定研究问题领域定制语言的能力之间的联系(我假设这是Peter Norvig在他的帖子中暗示的),但我确实不太确定这到底意味着什么,我希望能以清晰的方式理解上述两个方面(“领域特定抽象层次”和“自检、自修改代码”)的本质或核心内容。


回答:

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注