为什么Lisp用于AI?

我一直在学习Lisp扩展我的视野,因为我听说它被用于AI编程。 在做了一些探索之后,我还没有找到AI语言的例子或任何可以使它更倾向于使用的语言。

Lisp过去是否使用过,因为它可用,还是有一些我只是失踪?


直到20世纪80年代末,Lisp才被用于AI。 然而在80年代,Common Lisp作为“AI语言”被超卖到了商业世界。 反弹使大多数AI程序员在C ++工作了几年。 现在,原型通常是用年轻的动态语言(Perl,Python,Ruby等)编写的,成功研究的实现通常使用C或C ++(有时是Java)。

如果你对70年代好奇......好吧,我不在那里。 但我认为Lisp在AI研究方面取得成功有三个原因(按重要性排序):

  • Lisp是一个出色的原型工具。 这是很长一段时间最好的。 Lisp在解决一个你不知道如何解决的问题上仍然很棒。 这个描述完美地表征了AI。
  • Lisp很好地支持符号编程。 老AI也是象征性的。 这在很长一段时间里也是独一无二的。
  • Lisp非常强大。 代码/数据的区别比较弱,所以感觉比其他语言更具可扩展性,因为你的函数和宏看起来像内置的东西。
  • 我没有Peter Norvig的旧AI书,但它应该是学习在Lisp中编写AI算法的好方法。

    免责声明:我是计算语言学的研究生。 我知道自然语言处理的子领域比其他领域好得多。 也许Lisp在其他子领域使用得更多。


    Lisp被用于AI,因为它支持实现用符号计算的软件。 符号,符号表达式和计算是Lisp的核心。

    用符号计算的典型AI领域是:计算机代数,定理证明,计划系统,诊断,重写系统,知识表示和推理,逻辑语言,机器翻译,专家系统等等。

    因此,这些领域中许多着名的AI应用程序都是用Lisp编写的,这并不奇怪:

  • Macsyma作为第一个大型计算机代数系统。
  • ACL2作为广泛使用的定理证明器,例如AMD使用。
  • DART作为美国军方在第一次海湾战争中使用的后勤计划者。 据说这个Lisp应用软件当时已经在所有美国人工智能研究投资中得到回报。
  • SPIKE,哈勃太空望远镜的计划和调度应用程序。 也用于其他几个大型望远镜。
  • CYC是最大的软件系统之一。 在人类常识知识领域的表征和推理。
  • METAL是第一个商业化的自然语言翻译系统之一。
  • 美国运通的授权人助理,负责检查信用卡交易。
  • 这些领域中有数千个应用程序是用Lisp编写的。 对于那些人来说非常普遍的是,他们需要符号处理领域的特殊能力。 一个实现了在Lisp之上的特殊语言,这些语言在这些领域有特殊的解释器/编译器。 Lisp允许为符号数据和程序创建表示,并可以实现各种机制来操纵这些表达式(数学公式,逻辑公式,计划等)。

    (请注意,AI中也使用了很多其他通用编程语言,我试图回答为什么特别是AI中使用Lisp)。


    其中一个原因是,它允许您使用特定于您的域的结构来扩展语言,从而使其成为特定于域的语言。 这种技术非常强大,因为它可以让你推理你正在解决的问题,而不是关于洗牌的问题。

    链接地址: http://www.djcxy.com/p/60929.html

    上一篇: Why is Lisp used for AI?

    下一篇: Why should I learn Lisp?