【发布时间】:2012-04-10 20:29:05
【问题描述】:
我正在构建一个多代理系统 (MAS) 框架来描述 Haskell 中的 Beliefs-Desires-Intents (BDI) 代理(即代理是并发的,通信单子操作)。
我在网上搜索了一遍,但除了未完成作品的技术报告Specifying and Controlling Agents in Haskell之外,找不到任何类似作品的参考。
您知道任何现有的涉及 BDI 代理的实现或研究论文,可以用 Haskell 或任何其他函数式语言定义吗? 我的目标是找到可能的相关作品,所有可以管理以功能语言编写的并发智能代理系统的东西。我不需要任何具体的东西,我只是想看看我的工作是否与现有方法有共同之处。
edit:我设法找到了对Clojure 的引用,这是一种支持代理编程形式的lisp 方言,非常接近于actor 模型,但它并不意味着直接支持BDI 代理(我猜应该在它上面实现另一层来完成 BDI 部分)。
【问题讨论】:
-
clojure 示例或多或少是您想要的吗?另外,您能否更具体地提出您的问题?这样一来,可能不熟悉“代理”含义的人(我刚刚阅读的所有描述都非常随意,或者与某些特定语义相关联)可以提供帮助。
-
@jberryman:是的,Clojure 但我不会说它或多或少是我正在寻找的东西......相反,它包含在我正在寻找的东西中。我没有使用更具体的术语,因为我正在搜索关于使用函数式编程方法看起来像多代理系统的所有内容的文献和链接。我只是想弄清楚我的工作(用于处理 MAS 的 Haskell 库/框架)是否与已经存在的东西相似。感谢您帮助我更清楚地解释我的问题:)
-
酷,这听起来是一个有趣的主题,虽然我对它的全部内容没有很好的感觉。两个可能与您相关的链接:我写了一个基于actor模型并发抽象的小型库:hackage.haskell.org/packages/archive/simple-actors/0.1.0/doc/…,虽然它不是分布式系统,但可能会给您一些想法。另请参阅 Cloud Haskell (github.com/jepst/CloudHaskell),这是一种真正的分布式计算方法。
-
您是否尝试过寻找 Actors 的概念,它源于 Erlang,但已迁移到 Scala 和 Haskell。我认为您可以将演员视为经纪人。其行为是否遵循某些 BDI 模型可以在 Actor 模型之上实现。
-
@ziggystar:当然可能有很多通信库(即您指出的基于actor的)可以用来实现bdi风格的通信代理,但在我提出问题的时候,我是搜索允许指定 bdi 代理的已经完整的系统(以避免重新发明轮子)。现在,由于我想自己实现这样一个框架,我一定会看看重用一些代码的可能性,谢谢你的建议。
标签: haskell functional-programming artificial-intelligence agent