人工智能的 Lisp 和 Prolog? [英] Lisp and Prolog for Artificial Intelligence?

查看:21
本文介绍了人工智能的 Lisp 和 Prolog?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

自从我 3 年前在 A.I. 上过一堂课以来.我显然足够熟练地问这个问题......开玩笑吧开玩笑;)

Now since i've taken a class 3 years ago in A.I. im clearly proficient enough to ask this question......just kidding just kidding ;)

但说真的,是什么让这些语言如此受人工智能欢迎.研究.尽管 A.I.研究是陈旧的"......它可能是过去 5-10 年来最长的方式......是不是因为这些语言在某种程度上是围绕人工智能的概念设计"的?,或者只是我们现在没有什么更好的东西可以使用?

but seriously, what is it about these languages that make them so popular for A.I. research. Even though A.I. research is "old"...it's came probably the longest way in the past 5-10 years it seems like.... Is it because the languages were somewhat "designed" around the concept of A.I. , or just that we have nothing really better to use right now?

我问这个是因为我一直觉得它很有趣,而且我只是有点好奇.如果我完全错了并且他们使用不同的语言,我很想知道他们都使用什么.我的意思是我可以理解序言,尤其是 Sentient/Propositional Logic 和 Fuzzy logic.但我不明白为什么"我们会使用 Lisp……甚至还有什么 A.I.研究人员会用来做机器学习等.

I ask this because I've always found it quite interesting, and Im just kinda curious. If im entirely wrong and they use different languages I would love to know what all they use. I mean i can understand prolog, especially with Sentient/Propositional Logic and Fuzzy logic. but I dont understand "Why" we would use Lisp...and even what else A.I. researchers would use to do machine learning etc.

任何关于该主题的文章/书籍也很有帮助:)

Any articles/books on the subject matter is helpful too :)

推荐答案

无法真正与 Prolog 对话,但这就是 Lisp 的原因:

Can't really speak to Prolog, but here's why Lisp:

  • Lisp 是一种 homoiconic 语言,这意味着代码以与语言中的数据结构相同的形式(s-expressions).即代码就是数据".如果您正在编写修改/操作其他代码的代码,这将具有很大的优势,例如遗传算法或符号操作.

  • Lisp is a homoiconic language, which means that the code is expressed in the same form (s-expressions) as data structures in the language. i.e. "code is data". This has big advantages if you are writing code that modifies/manipulates other code, e.g. genetic algorithms or symbolic manipulation.

Lisp 的宏系统使其非常适合定义特定问题的 DSL.大多数 Lisp 开发人员有效地扩展语言"来做他们需要的事情.同样,Lisp 是同音符号的事实在这里也有很大帮助.

Lisp's macro system makes it well suited for defining problem-specific DSLs. Most Lisp developers effectively "extend the language" to do what they need. Again the fact that Lisp is homoiconic helps enormously here.

有一些历史联系,因为 Lisp 与许多早期的 AI 研究几乎同时流行起来.此线程中的一些有趣事实.

There is some historical connection, in that Lisp became popular at about the same time as a lot of the early AI research. Some interesting facts in this thread.

Lisp 作为一种函数式编程语言运行良好.这是非常适合 AI 的领域(您通常只是试图让机器学习如何为给定的输入生成正确的输出).

Lisp works pretty well as a functional programming language. This is quite a good domain fit for AI (where you are often just trying to get the machine to learn how to produce the correct output for a given input).

主观观点:Lisp 似乎对具有数学思维的人很有吸引力,而这恰好是许多现代 AI 所需要的……这是可能的,因为 Lisp 很漂亮与无类型 lambda 演算密切相关

Subjective view: Lisp seems to appeal to people with a mathematical mindset, which happens to be exactly whet you need for a lot of modern AI..... this is possible due to the fact that Lisp is pretty closely related to the untyped lambda calculus

我目前正在做一些人工智能/机器学习工作,并选择了 Clojure(一个现代的 Lisp on theJVM)几乎是出于上述原因.

I'm doing some AI/machine learning work at the moment, and chose Clojure (a modern Lisp on the JVM) pretty much for the above reasons.

这篇关于人工智能的 Lisp 和 Prolog?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆