acs
acs

Reputation: 836

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)?

Upvotes: 3

Views: 2903

Answers (4)

Drifter
Drifter

Reputation: 26

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.

Upvotes: 1

Rui Lopes
Rui Lopes

Reputation: 169

In my perspective the key is the definition of (intelligent) agent. S. Russel and P. Norvig in their "Artificial Intelligence: A Modern approach" defined:

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

So a multi-agent system will be formed by a collection of agents that perceive the environment and and act upon it but remain in some degree independent and decentralized, with a local view to the environment.

A distributed system is (usually) defined as a collection of nodes performing distributed calculations, linked together to multiply processing power.

In a way a MAS is a distributed system, but has some characteristics that make it unique. It depends on the usage and the particular implementation of the system but in some way those definitions overlap a bit.

Upvotes: 2

Atilla Ozgur
Atilla Ozgur

Reputation: 14721

When I think about Distributed Computing, load is distributed to multi parts, be it multi-thread or multi-computers. In the distributed computing, every part is parallel, that is they are almost the same. Some last computing parts that collects and summarizes results of others may be different than others.

Multi Agent Systems as its name implies has multiple agents that work together to accomplish a goal. Different than Distributed Computing, a multi agent system may work on single computer but it will certainly have more than one agent. These agents may be collector agent, reporter agent, computing agent, ....

Upvotes: 1

darlinton
darlinton

Reputation: 2131

It is a matter of abstraction and purpose. Multi-agent systems employ powerful high-level abstractions, based on complex (i.e. intelligent) components, which are usually not found in regular distributed system created only to split simple 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. Sure, there are similarities, but if you look close at their abstractions, they can profoundly contrast, leveraging from different algorithms and data structures.

Upvotes: 2

Related Questions