Prolog的人工智能和iPhone开发

时间:2011-02-05 14:30:21

标签: iphone objective-c artificial-intelligence prolog

我想知道我是否应该花时间用Prolog来学习AI。决定很简单。如果它在我作为iPhone开发人员的职业生涯中有任何好处,我会这样做。否则,我会跳过它。

那么,使用Prolog为iPhone开发人员学习AI有什么好处吗? (特别是对于建立游戏)

如果是这样,怎么样?

谢谢!

4 个答案:

答案 0 :(得分:6)

这里有两个问题:

  1. 我应该使用Prolog学习AI吗?
  2. Prolog对我来说对iPhone有用吗?
  3. 我不知道第二个。我不熟悉iPhone开发。我的猜测是,很难为iPhone找到一个高效的Prolog编译器。

    至于第一个:Prolog通常被认为是一种AI语言,因为它提供了一种编写搜索例程的简便方法。 Prolog的本机控制流是深度优先搜索。它很酷,但人工智能不会以简单的搜索循环开始和结束。我建议您以与语言无关的方式学习AI技术,然后决定Prolog是否会帮助您满足您的特定需求。它适合某些东西的手套,并不适合其他东西。

    我是Prolog的忠实粉丝,我做了大量的Prolog黑客攻击。然而,Prolog并不是人工智能问题的灵丹妙药。它只是一种编写搜索例程更简单的语言,而且都是。

答案 1 :(得分:3)

这里非常简短的答案是 不,这两个问题完全无关。你的职业生涯没有任何好处。

就这么简单。

Bobby Tables的优秀答案为您提供了大量信息。

  1. 我真的没有看到任何证据表明“Prolog”是计算设备中持续寻求AI的关键。如果你说,一般来说(完全忘记iPhone问题),“我想成为一名人工智能研究员”,我并不特别看到你会急于学习Prolog。

  2. 我可以想到一些使用某种形式的精简版AI的知名iPhone应用程序(因为这句话通常用于“游戏中的AI”意义)。在每个应用程序中,与Prolog完全没有任何联系。无论如何。

  3. FWIW(不多)我每个月都会花几天时间“在iPhone / Mac上编写AI”,例如我从未成为Prolog程序员而且根本没有任何联系。

  4. 值得注意的是

    1. 说“AI”是一个不可思议的广阔领域。你能更具体地说明你想做什么吗?
    2. 谁是你的A.I.英雄?罗德布鲁克斯?什么样的“AI”让你感兴趣?

      希望它有所帮助!这里简单的答案是“不”,你走错了路。

答案 2 :(得分:2)

Greenspun's 10th rule的Prolog变体回答了你的问题。一个广泛的问题,既可以接受“是的,它将使您作为iPhone开发人员受益”和“不会不会”。事实的真相是,当你深入研究Prolog(或任何其他新的编程范式)时,你将作为一名程序员受益,但你从中获益的方式是你或任何其他人都无法预测的。 / p>

答案 3 :(得分:1)

我没有关于iPhone开发的经验。

我不认为您在开发iPhone时可以使用Prolog。但是,由于Prolog是声明性逻辑编程,你将学会以不同的方式思考,这将对你作为一般程序员有益。

修改

使用Prolog与编程完全不同于通常的程序方式。它类似于函数式编程(目前似乎有些时髦)也是如此。

通过以不同方式解决问题(或通过强制以不同方式解决问题),您可以更好地理解编程/解决问题的内容。在学习Prolog或Lisp之后,你会写出更好的Objective C代码。

关于学术AI:我建议学习一种函数式语言而不是Prolog,因为Prolog是一种适合特殊问题的小众编程语言。功能语言更全面。