AI /机器学习项目使用什么语言

时间:2014-03-28 17:49:41

标签: function functional-programming machine-learning artificial-intelligence

我正在编写一个个人项目,该项目旨在拥有一个可以进化的类或对象,让我们称之为“机器人”。"在给定命令的情况下,机器人需要能够创建类,字段和函数,以及将逻辑写入这些对象以进行操作的能力(但一般都是这样做)。

为此,我发现自己编写了类if语句和while语句等类。然后我有一个对象代表一个名为" Method"的函数类型。将任意数量的逻辑语句作为其自身执行逻辑的参数。我觉得我正在做的事情是多余的,或者我在编写这台可以编写自己代码的机器的过程中不小心编写了一种编程语言。

我意识到这是一个模糊的描述。我正在学习开发它的要求,但我可以回答任何有助于解释的问题。我的主要问题是,如果有人认识到这个过程并且可以识别它(或者它是多余的),并且Java之外的语言是否特别适合这种类型的项目。

我还需要能够将函数作为参数传递(目前使用接口Executable来执行此操作)。

编辑:我已经决定继续使用C语言,因为指针和函数指针提供了我需要的功能,而不能用Java实现。

2 个答案:

答案 0 :(得分:1)

Peter Novig写了很多关于人工智能主题的书籍,他在AI中提出了retrospect page关于LISP状态的问题,他想知道Lisp是否仍然是这项工作的工具。

像Lisp方言之一这样的动态和可扩展的语言擅长为工作制作正确的工具,但我记得Peter Norvig对AI programmers choose today(或何时写作)有所了解。也许你可以搜索谷歌,看看它是否已经改变了。

答案 1 :(得分:1)

正如其他答案提示Lisp(理所当然),我建议将Clojure编程语言作为您项目的基础。

Clojure是一种在JVM上运行的现代Lisp方言。这意味着您的项目将在经过实战考验的运行时运行,并且您可以访问庞大的图书馆生态系统。

  

我还需要能够将函数作为参数传递(目前使用接口Executable来执行此操作)。

如果你使用Clojure,你将拥有你想要的东西以及大量的功能。

  

在给定命令的情况下,机器人需要能够创建类,字段和函数,并能够将逻辑写入这些对象以进行操作(但一般都是这样做)

Clojure将在这方面为您提供帮助。

相关问题