Search code examples
multithreadingparallel-processingmultiprocessingdistributed-computingmulti-agent

What is the difference between MultiAgent Systems and Distributed Computing


I'm curious about differences between distributed and multi-agent systems. I have seen many fundemental similarities and my mind is confused.

Similarities:

1- there are multiple processing units

2- both are used for computing and simulation applications

3- processing units interacting

4- processing units work collectively and become powerfull machine

5- units work with their own properties like own specific clock, own specific processor speed, own memory etc..

So what is the difference(s)?


Solution

  • The question is a bit old but I will still take a shot at it.

    We can start by looking at definitions.

    Distributed system [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.

    Multiagent system [2]:

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

    So, fundamentally, "Distributed" is concerned with the architecture of a system while "Multiagent" is concerned with a specific method of problem solving employed in a system.

    By virtue of being distributed, a system is made up of several networked computers. A multiagent system, on the other hand, can exist in a networked environment or on a single non-networked computer.

    References

    [1] G. Couloris, J. Dollimore, T. Kindberg, G. Blair, Distributed Systems Concepts and Design (Fifth Edition), 2012, Addison-Wesley.

    [2] Y. Shoham, K. Leyton-Brown, Multiagent Systems: Algorithmic Game-Theoretic and Logical Foundations (Revision 1.1), 2010, Cambridge Univ. Press.