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

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

问题描述

现在,自3年前我在AI上过一堂课以来.我显然很熟练,可以问这个问题……只是在开玩笑而已;)

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 ;)

但认真的是,这些语言是什么使它们在AI中如此受欢迎?研究.即使AI研究是过时的" ...似乎是过去5-10年以来最长的一次. 是因为语言在某种程度上围绕AI概念进行了设计". ,或者仅仅是我们现在没有真正好用的东西了?

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?

我问这个是因为我一直觉得它很有趣,而我只是有点好奇.如果我完全错了,他们使用不同的语言,我很想知道他们使用了什么.我的意思是我可以理解序言,尤其是使用感觉/命题逻辑"和模糊逻辑".但我不明白为什么"我们会使用Lisp ...甚至其他AI.研究人员会用来进行机器学习等.

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表达式).即代码就是数据".如果您正在编写修改/操作其他代码的代码,例如,这具有很大的优势.遗传算法或符号操纵.

  • 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

我目前正在做一些AI/机器学习工作,并选择了 Clojure (出于上述原因).

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天全站免登陆