# Multiagent Systems One of the possible ways of achieving intelligence is so-called **emergent** (or **synergetic**) approach, which is based on the fact that combined behavior of many relatively simple agents can result in the overall more complex (or intelligent) behavior of the system as a whole. Theoretically, this is based on the principles of [Collective Intelligence](https://en.wikipedia.org/wiki/Collective_intelligence), [Emergentism](https://en.wikipedia.org/wiki/Global_brain) and [Evolutionary Cybernetics](https://en.wikipedia.org/wiki/Global_brain), which state that higher-level systems gain some sort of added value when being properly combined from lower-level systems (so-called *principle of metasystem transition*). The direction of **Multi-Agent Systems** has emerged in AI in 1990s as a response to growth of Internet and distributed systems. On of the classical AI textbooks, [Artificial Intelligence: A Modern Approach](https://en.wikipedia.org/wiki/Artificial_Intelligence:_A_Modern_Approach), focuses on the view of classical AI from the point of view of Multi-agent systems. Central to Multi-agent approach is the notion of **Agent** - an entity that lives in some **environment**, which it can perceive, and act upon. This is a very broad definition, and there could be many different types and classifications of agents: * By their ability to reason: - **Reactive** agents usually have simple request-response type of behavior - **Deliberative** agents employ some sort of logical reasoning and/or planning capabilities * By the place where agent execute its code: - **Static** agents work on a dedicated network node - **Mobile** agents can move their code between network nodes * By their behavior: - **Passive agents** do not have specific goals. Such agents can react to external stimuli, but will not initiate any actions themselves. - **Active agents** have some goals which they pursue - **Cognitive agents** involve complex planning and reasoning Multi-agent systems are nowadays used in a number of applications: * In games, many non-player characters employ some sort of AI, and can be considered to be intelligent agents * In video production, rendering complex 3D scenes that involve crowds is typically done using multi-agent simulation * In systems modeling, multi-agent approach is used to simulate the behavior of a complex model. For example, multi-agent approach has been successfully used to predict the spread of COVID-19 disease worldwide. Similar approach can be used to model traffic in the city, and see how it reacts to changes in traffic rules. * In complex automation systems, each device can act as an independent agent, which makes the whole system less monolith and more robust. ## NetLogo