c++ - 设计模式、多代理系统、机器人

标签 c++ design-patterns multi-agent

简短描述:

有 5 个机器人,每个机器人运行一个名为“Planner”的程序。 每个机器人都有一个职位,他们必须根据该职位完成一项任务(从许多任务中选择)。主循环是(伪代码):

while(true)
{
   /*1*/ WorldModel::getSingelton()->update();
   /*2*/ Post post = selectAPost();
   /*3*/ Task task = selectATask(&post);
   /*4*/ task.run();
}

并且,一个任务可以运行另一个任务。事实上,在一个任务中有一个决策树。

我有很多组件,例如:HardwareInterface、VisionInterface、WorldModel、Configuration、NetworkInterface,...。他们都是这个系统的一部分。

我的问题不是关于算法,而是关于 C++ (或 Java) 中的多代理和机器人系统的设计模式。

这些系统*(多代理和机器人系统)*是否有任何设计模式? 还是我的问题有误?

注意:我当前的设计模式是单例模式,用于管理我的组件

最佳答案

是的,有很多!多代理设计设计模式的三个学术著作示例:

大号。 Sabatucci、M. Cossentino、S. Gaglio。代理设计模式的语义描述。在过程中。第六届国际研讨会“从代理理论到代理实现”(AT2AI-6)在第七届自治代理和多代理系统国际 union session (AAMAS 2008),葡萄牙埃斯托里尔。 2008 年 5 月。

多代理系统设计的设计模式 西尔万索维奇 MICAI 2004:人工智能的进步 计算机科学讲义,2004,第 2972​​/2004 卷,352-361,DOI:10.1007/978-3-540-24694-7_36 http://www.springerlink.com/content/bc32d3lda58rfxaj

自组织多智能体系统的设计模式 作者:Luca Gardelli、Mirko Viroli、Andrea Omicini 见:EEDA session 记录 http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.95.3098

如果你看过去AAMAS您可以找到更多的程序。

关于c++ - 设计模式、多代理系统、机器人,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7744710/

相关文章:

c++ - 无法访问类中声明的私有(private)成员

design-patterns - 设计模式和架构模式有什么区别?

c# - 为什么要在 Component 接口(interface)中声明复合方法?

artificial-intelligence - Multi-Agent系统应用思路

c++ bool 连接 |=

c++ - 显式调用时析构函数被调用两次

C++ 函数返回指针不会造成段错误

unit-testing - 测试类似的逻辑

java - 未加载内部操作错误 : java. lang.ClassNotFoundException

java - JADE 平台的错误