简短描述:
有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)中多代理和机器人系统的设计模式。
这些系统是否有任何设计模式*(多智能体和机器人系统)*? 或我的问题是错误的?
注意:我目前的设计模式是Singleton,用于管理我的组件
答案 0 :(得分:1)
是的,有很多!关于多智能体设计的设计模式的三个学术着作的例子:
升。 Sabatucci,M。Cossentino,S。Gaglio。代理设计模式的语义描述。在Proc。第六届国际研讨会“从代理理论到代理实施”(AT2AI-6)在第七届国际自治代理和多智能体系统联席会议(AAMAS 2008),葡萄牙埃斯托里尔举行。 2008年5月。
多智能体系统设计的设计模式 Sylvain Sauvage 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 IN:EEDA的会议记录 http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.95.3098
如果您查看过去的AAMAS会议录,您可以找到更多内容。