10

我知道这听起来可能很奇怪,但我想知道在 Microsoft Visual F# 正在进入的这个新世界中的一件事。这种语言有很多应用,我要学习,关于解析、函数式编程、结构化编程……但是人工智能呢?

模糊逻辑有什么应用吗?F# 是用于模糊逻辑应用程序的好语言吗?

在大学里,我们正在学习 Prolog 和类似的语言。Prolog 能够以非常简单和简短的表达式创建复杂的查询(通过利用谓词和事实)。F# 能做到这一点吗?

先感谢您。

4

2 回答 2

8

模糊逻辑。F# 没有提供任何类型来实现开箱即用的模糊逻辑计算,但在这个领域中使用 F# 肯定是可能的。F# 的简洁性和定义自定义重载运算符的能力应该使基于模糊逻辑的代码非常好。我进行了快速搜索,发现了一些在 F# 中实现模糊逻辑的文章:

Prolog是一个有点不同的问题。Prolog 的强大(也是弱点)来自于它直接在语言中内置的回溯。这使得实现基于回溯的搜索算法非常好,但这也是一个限制。

F# 没有对回溯的任何直接支持,但是使用递归(这是 F# 和 Prolog 中的主要控制流机制)编写基于回溯的算法非常容易。

此外,还可以在 F# 中实现用于逻辑编程的领域特定语言。这意味着您将在 F# 中实现类似 Prolog 的东西,然后使用 F# 中的这种迷你语言编写搜索算法(可能根据需要使用其他 F# 功能)。您可以在此问题中找到有关类似问题的更多信息。

于 2010-11-29T00:34:13.960 回答
3

F# 是一种通用语言,具有一些不错的语言特性,例如计算表达式/Monad 和引用。您可以假设它具有与 C# 大致相同的功能。

它不像 Matlab 或 R,其中内置了许多预先实现的库。如果您想从头开始实现模糊逻辑库或其他 AI 算法,F# 对您来说是一门非常好的语言,因为它的语言特性让生活更轻松。

但是如果你只是想使用一个模糊逻辑库,那么使用其他语言或专门的系统会更合适,因为 F# 或 .Net 通常在这方面没有非常好的质量库。

于 2010-11-29T01:44:34.610 回答