两个代理如何通过多代理系统中的内存共享直接进行通信

时间:2018-03-09 22:42:52

标签: shared-memory data-sharing multi-agent

多代理系统MAS中的代理之间的通信可以直接通过消息更改(发送和接收)来完成,或间接通过内存共享来完成,因此代理可以从内存中写入和读取信息。 我必须实现第二种通信类型,我不知道...... :( 谢谢你的帮助。

2 个答案:

答案 0 :(得分:0)

您应该避免间接通信,代理通信最常用的方法是使用FIPA-ACL协议。

您可以在其网站上查看有关FIPA-ACL的更多信息:http://www.fipa.org/repository/aclspecs.html

答案 1 :(得分:0)

感谢您的兴趣,这里我有义务与所有代理一起对内存中的对象进行合作访问,所以让我们举一个例子:我有两个代理A,B,他们只需要处理一个对象列表(假设一个名为yassine的整数列表在0)初始化,如果两个代理找到yassine [x] == 0,则代理A将其更改为1,B更改为2;但如果它与0不同,则代理传递给下一个:(对内存中相同对象的conccurent访问)。 如果我使用FIPA-ACL通信,每个代理都在它的列表上工作,我们在内存中有两个列表。 我希望我澄清我的问题??