多代理系统和分布式计算有什么区别

What is the difference between MultiAgent Systems and Distributed Computing

我很好奇分布式系统和多代理系统之间的区别。我看到了很多基本的相似之处,但我的头脑很混乱。

相似点:

1-有多个处理单元

2- 两者都用于计算和模拟应用

3 个处理单元交互

4个处理单元协同工作成为强大的机器

5- 单元使用它们自己的属性,如自己的特定时钟、自己的特定处理器速度、自己的内存等。

那么有什么区别呢?

这是一个抽象和目的的问题。多代理系统采用基于复杂(即智能)组件的强大的高级抽象,通常在仅为拆分简单 number crunching algorithms over different machines. Multi-agent systems can be used to solve problems that are difficult or impossible for an individual agent or a monolithic system to solve. Distributed computing can be used to solve problems that are embarrassingly parallel 而创建的常规分布式系统中找不到这些组件。当然,有相似之处,但如果你仔细观察它们的抽象,它们可以深刻对比,利用不同的算法和数据结构。

当我想到分布式计算时,负载分布到多个部分,无论是多线程还是多计算机。在分布式计算中,每一部分都是并行的,即几乎相同。最后一些收集和总结他人结果的计算部分可能与其他人不同。

顾名思义,多代理系统具有多个协同工作以实现目标的代理。与分布式计算不同,多代理系统可以在单台计算机上运行,​​但肯定会有多个代理。这些代理可能是收集代理、报告代理、计算代理、....

在我看来,关键是(智能)agent 的定义。 S. Russel 和 P. Norvig 在他们的 "Artificial Intelligence: A Modern approach" 中定义:

An agent is anything that can be viewed as perceiving is environment through sensors and acting upon that environment through actuators.

因此,多智能体系统将由感知环境并据此采取行动但在某种程度上保持独立和分散的智能体集合组成,并具有对环境的本地视图。

分布式系统(通常)被定义为执行分布式计算的节点集合,这些节点链接在一起以增加处理能力。

从某种意义上说,MAS 是一个分布式系统,但具有一些使其独一无二的特征。这取决于系统的使用和特定实现,但在某些方面这些定义有些重叠。

这个问题有点老,但我还是会尝试一下。

我们可以从定义开始。

分布式系统[1]:

We define a distributed system as one in which hardware or software components located at networked computers communicate and coordinate their actions only by passing messages. This simple definition covers the entire range of systems in which networked computers can usefully be deployed.

多代理系统 [2]:

Multiagent systems are those systems that include multiple autonomous entities with either diverging information or diverging interests, or both.

因此,从根本上说,"Distributed" 与系统架构有关,而 "Multiagent" 与系统中采用的特定问题解决方法有关。

由于分布式,一个系统是由几台联网的计算机组成的。另一方面,多代理系统可以存在于网络环境中或单台非网络计算机上。

参考资料

[1] G. Couloris、J. Dollimore、T. Kindberg、G. Blair,分布式系统概念和设计(第五版),2012 年,Addison-Wesley。

[2] Y. Shoham、K. Leyton-Brown,多智能体系统:算法博弈论和逻辑基础(修订版 1.1),2010 年,剑桥大学。按.