📜 ⬆️ ⬇️

Multi-agent systems - what is it?

I was rather surprised not to find a word about multi-agent systems (MAS), so I decided to fill this gap.

We first analyze the basic concepts, then we look a little towards the practice, and last but not least useful links for those interested.


')
Based on my own experience, I want to start with an example.

Supposed we have the task of recognizing the image in the picture. Without going into the implementation of a specific recognition mechanism, we can say that our algorithm is supplied to some algorithm, which works with this image, and then, upon completion of the work, gives us the result. This approach is classic.

And now let's imagine that we broke the original image into several parts and launched our algorithm for each part. What did it give us? First, taking into account the parallel work, the processing time is reduced, and second, we can simplify the structure of the algorithm itself. Already not bad. What else? It also requires us to introduce some entity that will act as a manager - i.e. collect data from various recognition processes, as well as create new processes. This approach is multi-agent.

Now let's look at the terminology. The basic concept underlying a multi-agent theory is that of an agent — in a general sense, any object capable of acting and perceiving. In line with this, each agent has an inherent set of sensors — that is, through which the agent perceives and the actuators, that which the agent acts on. What can an agent do? On other agents and the external environment - all that surrounds the agent.

Any agent has the following properties:


As noted above, each agent has a goal; a group of agents with the same goal is combined into a class of agents.

I think that we have dealt with the basic concepts (in fact, there are still a lot of subtleties regarding the internal structure of agents, types of environments, but it is impossible to contain everything in one article).

Where can I apply multi-agent systems.

Due to the fact that the structure of multi-agent systems is very close to the structures of the real world, the scope of the MAS is very wide:


Now let's digress from the theory and turn to the practical aspect, namely the development of the MAS.

Here, not everything is as good as I would like to see. There are several international standards for systems for developing MAS, however, some of them are obsolete, some - not complete.
In general, there are two options for developing a MAS - either using agent platforms (AP) (read the framework) or using the development environment. With the second, everything is much worse than with the first and I did not see anything worthy of attention.

Regarding agent platforms, there are several fairly good solutions. I will give a small table with a comparison of existing AP:

Jade
Coguaar
Aglobe
Jason
breve
application area
mobile networks, web, planning and logistics, research technology agents
mobile networks, web, industrial applications, military applications, huge distributed systems
industrial application, engineering systems modeling
Research projects
Virtual worlds, artificial life
technology
Java SE, Java, supports FIPA standards
Java SE, Java ME
Java SE
Java SE
extensibility
possibility of expansion at all levels
possibility of expansion at all levels
not
there is
there is
plugins available
a large number of
a large number of
not
there is
not
integration
Java EE (JMS, Web ...), CORBA,
Java EE (JMS, Web ...), CORBA,
Missing
Saci, Jade
-
availability of additional documentation
+
-+
+
license
LGPL
open-source (BSD-based) License
CPL
LGPL
open-source license
methodology
-----
availability of visualization tools
--+
-+
developer toolkit
are supported
main stages of development
are supported
main stages of development
minimum
are supported
main stages of development
minimum


Here, so to speak, at a gallop across Paris, is the basis of a multi-agent approach.

If anyone is interested in this subject, here is the list of references (links are provided as-is):
  1. Agents and multi-agent systems ( http://aivanoff.blogspot.com/2007/12/blog-post_18.html )
  2. Agent platforms: who is in the forest, who is for firewood ( http://aivanoff.blogspot.com/2007/12/blog-post.html )
  3. Gorodetsky, V.I. Multi-agent systems
  4. Russell, S. Artificial Intelligence: A Modern Approach
  5. Tarasov, V. B. Agents, multi-agent systems, virtual communities: a strategic direction in computer science and artificial intelligence
  6. My diploma :)


UPD.1 UFO - thank you for invite

Source: https://habr.com/ru/post/70446/


All Articles